|
|
|||||||||||
|
На главную | |||||||||||
Задания.
Procedure P(x:vest; var y:integer); const z='*'; var c:index; begin y:=0; for c:=a to b do if x[c]>z then y:=y+1; end;
2. Что будет напечатано следующей программой: a) Program print (output); var x,y:char; procedure P(x:integer); const y=true; begin writeln(x,' ',y); end; procedure Q; var x:char; begin x:=succ(y); y:='*'; writeln(x,' ',y); end; begin x:='a'; y:='5'; P(8); writeln(x,' ',y); Q; writeln(x,' ',y); end.
б) Program print (output); Type string=packed array [1..5] of char; var i:integer; t:string; procedure P(var s:string); const y=true; begin i:=1; While s[i]<'9' do begin s[i]:=succ(s[i]); i:=i+1; end; end; begin i:=1; t:='12945'; P(t); writeln(t[i]); end.
в) Program print (output); var a,b,c,d:integer; procedure P(var b:integer; c:integer); var d:integer; begin a:=5; b:=6; c:=7; d:=8; writeln(a,b,c,d); end; begin a:=1; b:=2; c:=3 d:=4; P(a,b); writeln(a,b,c,d); end.
3. Определить, что будет выдано на печать: c:=2; d:=0; P(sqr(c)+c,d); writeln(d); c:=2; d:=0; Q(sqr(c)+c,d); writeln(d);
R(sqr(c)+c,d) и R(c,d)?
5. Какие из следующих описаний функции f(n), которая должна вычислять факториал числа n, правильны: а) function f(n:integer):integer; begin f:=n*f(n-1); end;
б) function f(n:integer):integer; begin if n=0 then f:=1 else f:=f(n+1)/(n+1); end;
в) function f(n:integer):integer; begin if n=0 then f:=1 else f:=n*(n-1)*f(n-2); end;
г) function f(n:integer):integer; begin if n=0 then f:=1 else f:=n*f(n-1); end;
6. Вычислить f(106), f(99), f(85). function f(n:integer):integer; begin if n>100 then f:=n-10 else f:=f(f(n+11)); end;
Решения (ответы)
1. Локальные: х, у, z, c. Глобальные: vest, index, a, b.
2. a) 8 true; a 5; 6 *; a*. б) 9. в) 6 6 7 8; 6 2 3 4.
3. 0 и 7.
4. обращение R(sqr(c)+c,d) - недопустимо
5. Все неверны, кроме г).
6. При n>100 ----- f(n)=n-10, иначе 91
|