Olesya
?>

Напишите программу, которая вычисляет арифметическое выражение, введённое в виде символьной строки. выражение содержит только целые числа и знаки сложения. входные данные входная строка содержит запись арифметического выражения. выходные данные программа должна вывести результат вычисления переданного ей выражения. примеры входные данные 12+32+43+5 выходные данные 92

Информатика

Ответы

strannaya2018
Вот решение на f# open system; [< entrypoint> ] let main argv =       let line = console.readline();     let result = line.split('+') |> array.fold (fun sum el -> sum + int32.parse(el)) 0;           printf "%d" result;     0
Sidorenko
Рассмотрим фрагмент поблочно. for i=1 to 10 a(i)=5+i next iздесь в цикле для i, меняющегося от 1 до 10, в массив а помещаются значения i+5, т.е. 6, 7, 8, .. 15. for i=1 to 10 if (a(i)+i > 12) then a(i)=a(i)+ i endif next iв этом цикле i также меняется от 1 до 10. для всех значений элементов массива, которые в сумме со своим порядковым номером в массиве (индексом) превысят 12, значение элемента будет увеличено на этот номер. a[1]+1=6+1=7. это число меньше 12 и a[1] остается прежним. так же, a[2]+2=9, a[3]+3=11 и они тоже не изменятся. начиная с a]4]+4=13 значения будут изменяться на новые и в результате мы получим семь новых значений: 13, 15, 25. все они будут нечетными. и еще одно нечетное значение (7) имеет a[2]. итого, нечетные значения будут иметь 8 элементов.
Nertman45
Итак,начинается цикл for от 1 до 10, каждому i-тому элементу массива присваивают значение: 5+i(т.е. к пяти прибавляют число равное тому, сколько раз повторился цикл) дальше цикл закрывается и начинается новый цикл for всё так же от 1 до 10. в нем выполняется условие: если i-тый элемент массива + индекс элемента больше 12, то к i-тому элементу массива прибавляют индекс элемента. итак, результаты циклов: 1-вый цикл:   5+1=6 5+2=7 5+3=8 5+4=9 5+5=10 5+6=11 5+7=12 5+8=13 5+9=14 5+10=152-ой цикл:   6+1=7 7+2=9 8+3=11 9+4=13 10+5=15 11+6=17 12+7=19 13+8=21 14+9=23 15+10=25 ну и теперь смотрим, какие результаты из второго цикла больше 12: все кроме 7,  9 и 11. отбрасываем их и смотрим, какие из чисел нечётные: все оставшиеся результаты нечетные, а всего их 7 и элемент a[2] имеет значение 7, значит его тоже считаем, следовательно - ответ: 8 элементов будут нечетными.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Напишите программу, которая вычисляет арифметическое выражение, введённое в виде символьной строки. выражение содержит только целые числа и знаки сложения. входные данные входная строка содержит запись арифметического выражения. выходные данные программа должна вывести результат вычисления переданного ей выражения. примеры входные данные 12+32+43+5 выходные данные 92
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Зинина-Олесия
Роман_Гречина
krimenu5033
Pavel1545
lanac3po
P7Y7V7
Yurii537
platonovkosty
e-liza-k
sergeykirushev
chetverikovalex3738
По информатике. Pascal graph abc
latoyan817
bagrjashv41
msk-academ
al2nik2ol