Else begin

max:= y;

min:= x;

end;

if x * y>0 then

f:=max

Else

f:=min;

writeln(f);

End.

2. Нарисуйте область на плоскости, при попадании в которую точки с координатами x, y программа выводит значение True.

program exam2_2;

Var

x, y: integer;

b:boolean;

Begin

readln(x,y);

b:= (abs(x-y)<=1) and (abs(x+y)<=1);

writeln(b);

End.

3. Определите, в какие интервалы должно «попасть» значение х, чтобы программа выводила значение 0.

program exam2_3;

Var

f, x: integer;

Begin

readln(x);

if (x>=-1) and (x<=4) or (x>=5) and (x<=10) then

f:= 1

Else

f:= 0;

writeln(f);

End.

4. Пользователь ввел с клавиатуры значение переменной х. Определите, какое значение выведет компьютер на дисплей, если х равно: 3; 4; -2; -4; 15.

program exam2_4;

Var

f, x: integer;

Begin

readln(x);

Case x of

1, 3, 5, 7, 9: f:=2 * x+1;

2, 4, 6, 8: f:=2 * x;

10..100: f:=x * 10;

-3..-1: f:=-1;

Else

f:=0;

end;

writeln(f);

End.

5.Выполните трассировку программы и определите результат.

program exam2_5;

Var

s, i, k: integer;

Begin

s:= 0;

k:= 1;

for i:=1 to 5 do begin

s:=s+i;

k:=k*i;

end;

writeln(s+k);

End.

6.Выполните трассировку программы и определите результат.

program exam2_6;

Var

s, i, k: integer;

Begin

s:= 0;

k:= 1;

for i:=1 to 5 do begin

s:=s+i;

k:=k * i;

if s+k>25 then

break;

end;

writeln(s:5, k:5);

End.


7. Выполните трассировку программы и определите результат, если пользователь ввел с клавиатуры значения: 1, 7, 2.

Дайте геометрическую интерпретацию работы программы, если значение переменной s рассматривать, как площадь геометрической фигуры.

program exam2_7;

Var

s, x, x0, x1, d: integer;

n: integer;

Begin

readln(x0, x1, d);

n:= (x1-x0) div d;

x:= x0;

s:= 0;

while n>0 do begin

s:=s+d * x;

x:=x+d;

n:=n-1;

end;

writeln(s:5);

End.

8. Пользователь ввел с клавиатуры значение переменной х. Выполните трассировку программы и определите результат, если х равно: 5; 8.

Можно ли использовать программу для определения, простое число или нет?

program exam2_8;

Var

n, f, i: integer;

Begin

readln(n);

i:=2;

f:=1;

while i<=sqrt(n) do begin

if n mod i = 0 then begin

f:=0;

break;

end;

i:=i+1;

end;

writeln(f);

End.

9. Программа должна вычислять значение наибольшего общего делителя.

Выполните трассировку и проверьте работу программы для значений m и n: 4, 2; 12, 8.

program exam2_9;

Var

m, n, p: integer;

Begin

readln(m, n); {m>n}

Repeat

p:= m mod n;

if p<>0 then begin

m:= n;

n:= p;

end;

until p=0;

writeln(n);

End.

10. Выполните трассировку и определите вид арифметического выражения, значение которого (переменная р) вычисляет программа.

program exam2_10;

Var

s, i, k, n, p: integer;

Begin

p:= 1;

k:= 1;

n:= 1;

for i:=1 to 4 do begin

s:=0;

while k<=n do begin

s:= s+k;

k:= k+1;

end;

n:=i+k;

p:=p*s;

end;

writeln(p);

End.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: