Ціна на бензин у вересні сягала k грн. Поступово вона знижувалась щомісяця на 1 грн 25 коп. протягом півроку. Завдання: написати програму, що спрогнозує ціну на бензину квітні (через 6 міс.) та виведе результат із округленням до тисячних.
Цена на бензин в сентябре достигала k грн. Постепенно она снижалась ежемесячно на 1 грн 25 коп. в течение полугода.
Задача: написать программу, спрогнозирует цену на бензина апреле (через 6 мес.) И выведет результат с округлением до тысячных.
Префиксная форма записи заключается в том, что сначала записывается операция, потом префиксная запись её первого аргумента, потом второго аргумента. Это соответствует обходу дерева сверху вниз и слева направо, записываем, что сверху, потом идем вниз. Вот что получится в итоге:
а) * + a b + c * 2 d
б) + * - * 2 a * 3 d c * 2 b
в) - * 3 a * + * 2 b c d
В постфиксной записи, наоборот, записываются сначала аргументы, потом операция. Это соответствует обходу дерева снизу-вверх.
а) a b + c 2 d * + *
б) 2 a * 3 d * - c * 2 b * +
в) 3 a * 2 b * c + d * -
Var a:array [0..2,0..2] of integer;
Position:array[0..1,0..1] of byte;
i,j,max,min:integer;
Procedure print(a:array of array of integer);
Begin
For i:integer:=low(a) to high(a) do begin
For j:integer:=low(a[i]) to high (a[i]) do
Write(a[i,j],' ');
Writeln;
End;
End;
Begin
Max:=integer.minvalue;
min:=integer.maxvalue;
for i:=low(a) to high(a) do
For j:=low(a[i]) to high(a[i]) do
A[i,j]:=random(10);
Print(a);
for i:=low(a) to high(a) do
For j:=low(a[i]) to high(a[i]) do
Begin
If (a[i,j]<min) then begin
Min:=a[i,j]; position [0,0]:=i; position [0,1]:=j;
End;
If (a[i,j]>max) then begin
Max:=a[i,j]; position [1,0]:=i; position [1,1]:=j;
End;
End;
Swap(a[position[0,0], position [0,1]],a[position [1,0]],a[position [1,1]]);
Print(a);
End.