1)
abs(x*x - 20) / Cos(y) + 5*x*sqrt(y)
2)
t :=1
if r >10then r:=r+1;t:=8;
a)
При r=17 условие выполняется, значит r увеличится на единицу.
Команды не связаны операторными скобками (begin r:=r+1;t:=8; end),
поэтому t:=8; выполнится безусловно.
r=18; t=8;
б)
При r = 9 условие не выполняется, поэтому значение r останется неизменным.
r = 9; t = 8;
3)
for i:= - 10 to - 9 do
begin k:=i;write(k);end.
Цикл For не выполнится ни разу. На экран не будет выведено ничего.
Цикл "For i:= A to B do" выполняется B-A+1 раз, при условии, что B>=A.
В нём значение i меняется от A до B, с каждой итерацией прибавляется единица.
Цикл "For i:= A downto B do" выполнится A-B+1 раз, при условии, что A>=B
В нём значение i тоже меняется от A до B, но с каждой итерацией от i отнимается единица.
4)
а)
Var
A:integer;
Begin
Write('Введите сумму покупок: ');ReadLn(A);
if A<5 then Write('Скидка не предоставляется')<br>else if (A>=5)and(A<10) then Write('Скидка: 0.5%')<br> else if (A>=10)and(A<20) then Write('Скидка: 2%')<br> else Write('Скидка: 5%')
End.
б)
Var
A,i:integer;
Begin
For i:= 1 to 10 do
Begin
Write('Введите сумму покупок: ');
ReadLn(A);
if A<5 then WriteLn('Скидка не предоставляется')<br>else if (A>=5)and(A<10) then WriteLn('Скидка: 0.5%')<br> else if (A>=10)and(A<20) then WriteLn('Скидка: 2%')<br> else WriteLn('Скидка: 5%')
End
End.