Постфиксное выражение – это числовое выражение, в котором сначала записываются операнды, а затем знак операции. Например: 3 5 + означает 3+5.
10-11 класс
|
Особенностью постфиксных выражений является то, что при их записи скобки не нужны. Например, выражение (3+4*2)/3-1 можно записать так: 3 4 2 * + 3 / 1 -. Написать программу вычисления постфиксного выражения, содержащего цифры и знаки арифметических операций. Операнды и операции разделяются пробелами.
Программа написана на паскале авс. Считывает из файла строку (выражение в постфиксальной форме), после чего спрашивает пользователя счтать значение выражения или нет. Если вводишь "д" (то есть для программы это да), то она просит ввести значения для переменных х и у, которые могут быть задействованы в выражении и считает значение
var
stack : array [1..1000] of double;
op1, op2 : double;
i : integer;
c : char;
begin
i := 0;
while not eoln do
begin
read (c);
if c in ['0'..'9'] then
begin
inc (i);
stack[i] := ord (c) - ord ('0');
end
else if c <> ' ' then
begin
if i < 2 then
begin
writeln ('Error!'); halt;
end;
op2 := stack[i];
dec (i);
op1 := stack[i];
case c of
'+' : stack[i] := op1 + op2;
'-' : stack[i] := op1 - op2;
'*' : stack[i] := op1 * op2;
'/' : stack[i] := op1 / op2;
end;
end;
end;
if i <> 1 then
writeln ('Error!')
else
writeln (stack[i]);
end.
Другие вопросы из категории
льники из этого сообщения?
целое число N (> 0). Используя операции деления нацело и взятия остатка от
деления, найти количество и сумму его цифр. решить в паскале. написать программу от начала до конца
объем текста в килобайтах
этажного дома. В доме 4 подъезда. На каждом этаже 4 квартиры».
Какое количество информации Вы получили
Читайте также
№2 Начальный вклад в сберкассу составил А руб. Через сколько лет удастся накопить В руб. без учета дополнительных вкладов, если каждый год вклад увеличивается на 3%.
№3 Определите число суток с 1900 по 1999 года, если известно, что високосные годы - это те, у которых номер делится на 400 или те, у которых номер делится на 4, но не делится на 100.
вычисления этого выражения и записанного также в шестнадцатиричной системе. 8(16)^F + 4(16)^E-2(16)^D
Указания: Заполните одномерный числовой массив А[15] случайными целыми числами в интервале [18;15].Выведите значения элементов массива сначала в столбик,а затем в строку,причем на каждый элемент отведите 4 позиции.
Задача: Заменить элементы массива,которые кратны пяти,на значение максимального элемента массива.
ических расчетов.
Цикл - это последовательность операторов, которая может автоматически выполняться более одного раза. Если количество повторов известно заранее (или может быть однозначно вычислено), используется оператор Цикл_с_параметром (DO «UNTIL»). Если количество повторов неизвестно, применяется оператор Цикл_с_Пред_условием (DO «WHILE»).
Вычислить сумму ряда:
a) с заданной точностью ξ и вывести количество итераций;
b) для 20-ти членов ряда.
Σ = 1/(1*3) + 1/(3*5) + 1/(5*7) + … ξ=0.0001 Ответ: 0.500