7. На рисунке представлена схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К, Л, М. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой.
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('Скидка не предоставляется') else if (A>=5)and(A<10) then Write('Скидка: 0.5%') else if (A>=10)and(A<20) then Write('Скидка: 2%') else Write('Скидка: 5%') End.
б)
Var A,i:integer; Begin For i:= 1 to 10 do Begin Write('Введите сумму покупок: '); ReadLn(A); if A<5 then WriteLn('Скидка не предоставляется') else if (A>=5)and(A<10) then WriteLn('Скидка: 0.5%') else if (A>=10)and(A<20) then WriteLn('Скидка: 2%') else WriteLn('Скидка: 5%') End End.
x0, xk, dx, x: real;
function f(x: real): real;
begin
f := exp(-x) + cos(3 * x);
end;
begin
write('Введите промежуток и шаг ([a,b] h) ');
readln(x0, xk, dx);
x := x0;
writeln(' x ':10, ' | ', ' f(x) ':10);
repeat
writeln(x:10:3, ' | ', f(x):10:3);
x := x + dx;
until x > xk;
end.
Пример вывода
Введите промежуток и шаг ([a,b] h) -1 4 0.5
x | f(x)
-1.000 | 1.728
-0.500 | 1.719
0.000 | 2.000
0.500 | 0.677
1.000 | -0.622
1.500 | 0.012
2.000 | 1.096
2.500 | 0.429
3.000 | -0.861
3.500 | -0.445
4.000 | 0.862