| Ответы на задачи государственного экзамена – PASCAL |
|
|
Sunday, 26 February 2006 | Зэев Фрайманб д-р Евгений Канель для раздела Ученье – свет Задачи опубликованы в переводе на русский язык в предыдущей статье, а все права на задачи, разумеется, принадлежат министерству образования Израиля.Мы не даем ответ на некоторые задачи, поскольку в них надо было "всего лишь" построить таблицу ручной прокрутки, что не связано напрямую с обсуждаемой нами темой.
Задача №2
Задача №3
writeln(st1[5]);
Задача №4
For I := 1 to 57 do
Begin
A := m[I] div 100;
B := m[I] mod 10;
If A = B*2 then writeln( m[I]);
End;
Задача №7
Program Test7;
Var
I,a,b,c : integer;
Avg : real;
Name : string;
BEGIN
Count := 0;
For I := 1 to 30 do
Begin
Readln(name,a,b,c);
Avg := (a+b+c)/3;
If c>85 then avg := avg +5;
If avg>100 then avg := 100;
If avg=100 then count := count+1;
Writeln(name,avg);
End;
Writeln(count);
END.
Задача №8
Первая часть задачи
Function F (a,b : integer) : integer;
Var sel : integer;
Begin
Sel := a*b;
If sel < 8 then F := 0;
If (sel >= 8) and (sel <= 15) then F := 1;
If sel >15 then F := 2;
End;
Вторая часть задачи
Program Test8;
Var
Здесь должна располагаться функция, написанная в предыдущей части задачи
BEGIN
Count := 0;
For I :=1 to 100 do
Begin
Readln(a,b);
If F(a,b)=2 then count := count + 1;
End;
Writeln (count);
END.
Задача №9
Type
Const N=15; M=18;
Arr=array[1..N, 1..M] of integer;
Первая часть задачи
Function Lev( A: arr; Row, Col: integer):integer;
VaR
Temp: integer;
Begin
If (Row N-1) or (ColM-1) then Lev:=0
Else
Begin
Temp:=a[Row-1,Col-1]+a[Row+1, Col-1]+a[Row-1,Col+1]+a[Row+1, Col+1];
If Temp = a[Row, Col] then Lev:=1 else Lev:=0;
End;
End;
Вторая часть задачи
Procedure Pirhoni (A:arr);
Var
Col, Row:integer;
Count:integer;
Begin
Count:=0;
For Row:=2 to Row-1 do
For Col:=2 to M-1 do
If Lev(A,Row, Col)=1 then Count:=Count+1:
If Count>=5 then writeln(“Цветочный”) else writeln(“Не цветочный”);
End;
Задача №10
Program Test10;
Var
N, total, bad, red, green, yellow : integer;
Procedure work (n : integer; var red, green, yellow : integer);
Var
I : integer;
X : string;
Begin
For I := 1 to n do
Begin
Readln (x);
If x=’red’ then red := red +1;
If x=’green’ then green := green +1;
If x=’yellow’ then yellow := yellow +1;
End;
End;
BEGIN
Readln (N);
Total := 0;
Bad := 0;
While N>0 do
Begin
Red := 0;
Green := 0;
Yellow := 0;
Work (n, red, green, yellow);
If (red green) or (red yellow) or (green yellow) then bad := bad+1;’
Total := total+1;
Readln(N);
End;
Writeln(total,bad)
END.
|