Задана последовательность символов, имеющая следующий вид: p1q1p2q2p3...qn–1pn , где pi — число, а qi — знак арифметического действия из набора {+, –, *}. Вычислите значение выражения, предполагая, что действия выполняются согласно правилам арифметики.
Входные данные: На вход программе подается строка указанного вида, состоящая не более чем из 9 чисел, разделенных символами арифметических операций.
Выходные данные: Выведите значение арифметического выражения.
На вход вашей программы подается строка вида:
5 + 6 -34 + 56 - 7 + 2
("сколько угодно" чисел с операциями суммы и разности в любом порядке). Вычислите результат (пробелов между символом операции и числом может и не быть)
var
i,m:integer;
begin
i:=1;
m:=1;
repeat
repeat
write('# ');
m:=m+1;
until(m=13);
i:=i+1;
writeln();
until(i=9);
readln();
end.
-- в нем сделана попытка вывести квадрат символов # размерами 13 на 9.
Но цикл оказывается бесконечным, разберитесь почему (напишите текстовое описание причины) и исправьте ошибку в коде.
It is possible to leave out the middle part of the ternary operator. Expression expr1 ?: expr3 evaluates to the result of expr1 if expr1 evaluates to true, and expr3 otherwise. expr1 is only evaluated once in this case.
Решите с помощью цикла while:
Выведите на экран, все четные числа от 35 до 117 и нечетные числа, лежащие в диапазоне от 45 до 99.
Указание: сначала можно решить задачу двумя циклами, но потом перепишите с использованием одного цикла, в теле которого составьте логическое выражение, описывающее подходящие числа (используйте логические операции).
Пользователь вводит целые числа. Пока он не введёт число большее 15, в ответ на каждое введённое число выводите сумму этого числа и предыдущего введённого им числа, если же введённое число больше 15, то цикл необходимо завершить, не выводя в ответ сумму.
Первое введенное пользователем число можно сложить с единицей.