дипломы,диссертации,курсовые,контрольные,рефераты,отчеты на заказ

Информационные технологии обработки данных
для специальности 061000
Петкун Т.А.
Кафедра АОИ
Томск-2005

Указаны только правильные ответы, другие варианты можно узнать скачав файл из архива → Инф_ТОД.АОИ.

Тема: Структура программы.
дипломы,курсовые,рефераты,контрольные,диссертации,отчеты на заказ

Укажите, сколько ошибок имеется в следующих программах?

№ 1

Programm Prim;
   Var
         a, b : Integer;
Begin
a := Pi;
       b:=1;
       c:=a+b;
       Writeln (c);
End.
Ответ: (3)

№ 2

Program Prim 1;
        Var
        x, y, z : Integer;
Begin
x := 18000;
        y:= 4;
        z:= (x/y);
        Writeln (z :8:2);
End;
Ответ: (4)

№ 3

Program  Prim1;
   Var
        x, y: Integer;
Begin
x := 300
        y:= 45;
        x:= x/y;
        Writeln (x);
End;
Ответ: (3)

№ 4

Program  Prim4;
   Var
        x, y: Byte;
Begin
x := 300;
        y:= 45;
        x:= Round(x/y);
        Writeln (x:4:1);
End;
Ответ: (3)

№ 5

Program  Prim5;
   Var
         x, y: Word;
Begin
x := -300;
        y:= 45;
        z:= x*y;
        Writeln (z);
End.
Ответ: (2)

№ 6

Program  Prim1;
   Var
         x, y: Real;
Begin
        x := 300;
        y:= 45,12;
        z:= Trunc(x/y);
        Writeln (z);
End.
Ответ: (2)

№ 7

Program  Prim1;
   Var
         x, y: Real;
Begin
x := 300
        Inc(x);
        x:= x/y;
        Writeln (x);
End.
Ответ: (3)

№ 8

Program  Prim1;
   Var
         x: Real;   y: Integer;
Begin
x := 30,12;
        y:= Frac(x);
        x:= x/y;
        Writeln (x);
End.
Ответ: (2)

№ 9

Program  Prim9;
   Var
         x, y: Integer, c: Boolean;
Begin
        Read (x, y)
        c := x>5 OR x+y<10;
        Writeln (c);
End;
Ответ: (4)

№ 10

Program  Prim 10;
Const  z=12;   
Var
         x, y: Integer, c: Boolean;
Begin
        Read (x,y);
            c:=z>y;
        If (x>y) AND c then  z:=x+y; else c:=false;
           Write(c);
End.
Ответ: (3)

Тема: Типы данных.

№ 11
Укажите, какие типы используются для описания целочисленных данных.
• ShortInt
• Byte
• Integer
• Word

№ 12
Укажите, какие из перечисленных типов используются для описания вещественных данных.
• Comp
• Single
• Real
• Extended

№ 13
Укажите, какие из перечисленных типов могут использоваться в операторе Case.
• Char
• Byte
• Boolean

№ 14
В разделе описаний описаны следующие переменные:

 Var
     x : byte;
     i : string;
     z : char;
     j : real;
Какие из этих переменных не могут быть использованы в качестве параметра цикла For?
Ответ: (i;j)

№ 15
Укажите, какие из перечисленных типов используются для описания численных данных.
• Real
• Byte
• Extended

№ 16
Какое значение примет переменная z после выполнения следующих операторов?

y:=5;
x:=y>3;
z:=not x  AND (y=5);
Ответ: (false)

№ 17
Какое значение примет переменная z после выполнения следующих операторов?

y:=5;
x:=y<7;
z:=not( x  AND (y>15));
Ответ: (true)

№ 18
Укажите номера правильно оформленных операторов описания данных:
1. c : char;
2. x : array [1:5] of byte;
3. a; b : real;
4. s : string;
5. st : string[30];
6. z : record
fio : string[20];
year : 1900..2004;
end;
Ответ: (1;4;5;6)

№ 19
В разделе описаний описаны следующие переменные:

 Var
     x : byte;
     i : string;
     z : char;
     j : real;
Какие из этих переменных не могут быть использованы в качестве параметра оператора выбора Case?
Ответ: (i;j)

№ 20
В разделе описаний описаны следующие переменные:

 Var
     x : boolean;
     i : string;
     z : char;
     j : real;
Укажите, какие из этих переменных могут быть использованы в функции ord() в качестве аргумента.
Ответ: (x;z)

Тема: Условный оператор. Оператор выбора.

Что будет напечатано в результате выполнения следующих фрагментов программ?

№ 21

 x := 7.9;  y := -5.123; 
 If x > y Then m := x-5  Else if x=y then m := y else  m := 0;
             Writeln(m:3:1);
Ответ: (2.9)

№ 22

x0 := 1; y0 := 1; r := 2; x := -2; y := -0.3;
If (x <= x0) And (sqr(x - x0) + sqr(y - y0) <= r*r) Then
     Writeln('Точка принадлежит фигуре')
Else
     Writeln('Точка не принадлежит фигуре');
Ответ: (Точка не принадлежит фигуре)

№ 23

 x := -3.1; y := 1;
 If (x < 0) And (y < 0) Then
  begin   
    x := -x;
    y := -y;
   end
 Else
  If Not ((x >= 0.5) And (x <= 2)) And Not ((y >= 0.5) And (y <= 2)) Then
   begin      
     x := x/10;
     y := y/10
   end;
 Writeln('После преобразований: x=',x:4:1,' y=',y:1:0);
Ответ: (После преобразований: x=-3.1 y=1)

№ 24

 m := 128; n := 67;
 If m <> n Then  If n > m Then m := n Else n := m
               Else begin n := 0; m := 0 end;
 Writeln('n=',n, ' m=',m);
Ответ: (n = 128 m = 128)

№ 25

x := 5; y := 4; z := 8;
If x > y Then max := x Else max := y;
If z > max Then max := z;
If (2 * max) < (x + y + z) Then
 begin  
   d := x*x + y*y + z*z - 2 * max*max;
   If d > 0 Then Writeln('Треугольник остроугольный');
   If d = 0 Then Writeln('Треугольник прямоугольный');
   If d < 0 Then Writeln('Треугольник тупоугольный');
end
Else Writeln('Треугольник не существует');
Ответ: (Треугольник тупоугольный)

№ 26

x := 5; y := 4; z := 2;
s := x + y + z;
If s < 1 Then
begin
  If (x < y) And (x < z) Then x := (y + z) / 2;
  If (y < x) And (y < z) Then y := (x + z) / 2;
  If (z < x) And (z < y) Then z := (x + y) / 2;
end
Else
  If x < y Then x := (z + y) / 2 Else y := (x + z) / 2;
  Writeln(x:1:0,' ', y:3:1, z:1:0);
Ответ: (53.52)

№ 27
если x=6

x1 := 14; x2 := 7; x3 := 3;
y1 := 6; y2 := 1; y3 := 5;
Case x of
   2: begin xs := x1;  ys := y3; end;
   7: begin xs := x1;  ys := y2; end;
   4: begin xs := x3;  ys := y2; end;
   5: begin xs := x2;  ys := y2; end;
      Else
        begin xs := x3;  ys := y1;
End;
Writeln( (xs + ys) div 2);
Ответ: (4)

№ 28

x := 2;
If x <= 0 Then   f := 0
              Else   If x <= 1 Then  f := x
                                     Else f := sqr(sqr(x));
  Writeln(f);
Ответ: (16)

№ 29

x := 7; y := 4; z := -2;
s := x + y + z;
p := x * y * z;
If s > p Then Writeln(s,'>',p)
            Else  If s < p Then Writeln(s,'<',p)
                                Else Writeln(s,'=',p);
Ответ: (9>-56)

№ 30

y := 3.5;
If y > 7 Then   f := 5
            Else    If  y > 0 Then  f := y
                                   Else   f := -3 * y;
 Writeln(f:3:1);
Ответ: (3.5)

Тема: Операторы цикла.

№ 31
Нижеприведенный текст программы вычисляет количество членов последовательности a1, a2, ..., an
• кратных 3;

 k:=0;
 For i:=1 to n do begin
   If  a[i] mod 3=0 then k:=k+1;   
 End;

№ 32
Нижеприведенный текст программы вычисляет сумму членов последовательности a1, a2, ..., an, (ai - положительные числа целого типа)
• являющимися квадратами четных чисел;

 k:=0;
 For i:=1 to n do begin
   If ( a[i] mod 2 =0) and (sqr(trunc(sqrt(a[i])))=a[i]) then k:=k+1;   
 End;

№ 33
Нижеприведенный текст программы вычисляет сумму членов последовательности a1, a2, ..., an, (ai - числа целого типа)
• удовлетворяющих условию 3<ai<5.

 k:=0;
 For i:=1 to n do begin
  If ( a[i]>3) and (a[i]<5) then k:=k+1;   
 End;

№ 34
Сколько раз проработает следующий цикл?

k:=2;
While k<=15 do begin
    S:= S + a[k];
    k := k+4;
End;
Ответ: (4 раза)

№ 35
В программе описан одномерный массив следующим образом
a:array[1..16] of integer;
Что будет выведено на экран после выполнения следующего фрагмента программы, если в исходном массиве записаны следующие числа?
5 3 2 2 4 8 2 4 4 3 6 4 8 8 1 4

k:=3;
S:=1;
While k<=15 do begin
    S:= S + a[k];
    k := k+4;
End;
Writeln(S);
Ответ: (12)

№ 36
Сколько раз проработает следующий цикл?

k:=2;
While k<=1 do begin
    S:= S + a[k];
    k := k+4;
End;
Ответ: (0)

№ 37
Сколько раз проработает следующий цикл?

k:=13;
Repeat
    S:= S + a[k];
    k := k+4;
Until k>12;
Ответ: (1)

№ 38
Сколько раз проработает следующий цикл?

k:=0;
Repeat
    S:= S + a[k];
    k := k+4;
Until k=12;
Ответ: (3)

№ 39
Следующий фрагмент программы вычисляет:
P:=1;
For i:=1 to n do p:=p*i;
• n!

№ 40
Сколько раз проработает следующий цикл?

k:=13;
While k <0 do begin
    S:= S + a[k];
    k := k+4;
end;
Ответ: (0)

Тема: Одномерные массивы.
В программах описаны одномерные массивы следующим образом:

№ 41
A:array [1..12] of integer;
Какому значению будет равен элемент массива A[5] после выполнения процедуры Massiv, если в исходном массиве записаны следующие числа?
5.51 3.81 2.92 2.22 0.52 4.58 2.64 4.4 3.46 4.88 -0.01 1.14

Procedure Massiv;
   Var i,j: integer;
         k: real;
Begin
 For i:=1 to 11 do 
   For j := 1 To 11 do
    If A[j] > A[j+1] Then 
    begin
     k := A[j]; A[j] := A[j+1]; A[j+1] := k;
    end;
end;
Ответ: (2.64)

№ 42
A:array [1..15] of integer;
Какому значению будет равна сумма элементов массива A[7] + А[1] после выполнения процедуры Massiv, если в исходном массиве записаны следующие числа?
18 9 0 -6 4 -3 20 -6 -9 0 6 18 6 2 15

Procedure Massiv;
   Var i,n, k: integer;
Begin
  n := 15;
  For i := 1 To (n div 2) do
  begin
   k := A[i]; 
   A[I] := A[n-i+1]; 
   A[n-i+1] := k:
  end;
End;
Ответ: (6)

№ 43
A:array [0..19] of integer;
Какие значения будут записаны в последних четырех элементах массива после выполнения процедуры Massiv, если в исходном массиве записаны следующие числа?
15 9 10 0 1 17 -10 17 19 15 -8 4 20 18 3 24 21 -8 23 3

Procedure Massiv;
   Var i,n, k: integer;
Begin
    n := 20;
    For i := 0 To (n div 2-1) do 
    begin
      k := A[2*i];
      A[2*i] := A[2*i+1];
      A[2*i+1] := k;
    end;
End;
Ответ: (-8;21;3;23)

№ 44
A:array [1..10] of integer;
Чему равно произведение элементов массива A[5] и A[8] после выполнения процедуры Massiv, если в исходном массиве записаны следующие числа?
-2 -1 3 -1 -3 6 8 6 11 -2

Procedure Massiv;
   Var i, j, m, max  : integer;
Begin
   i :=3;
   j :=2;
   max :=0;
   While j<10 do begin
       If max <= A[j] Then begin max := A[j]; m :=j; end;
       End;
       Inc(i,2);
       A[m] := A[i]; 
       A[i] := max;
End;
Ответ: (6,-3)

№ 45
A:array [1..17] of integer;
Что будет выведено на экран после выполнения процедуры Massiv, если в исходном массиве записаны следующие числа?
6 18 33 12 29 16 13 33 24 24 17 6 22 26 33 31 4

Procedure Massiv;
   Var i, m1, m2: integer;
Begin
  m1 := A[1]; m2 := A[1];
  For i := 1 To 17 do begin
   If A[i] Mod 2 = 0 Then If m1 < A[i] Then m1 := A[i];
   If A[i] Mod 3 = 0 Then If m2 > A[i] Then m2 := A[i];
  End;
   Writeln(m1:4, m2:4);
End;
Ответ: (26;6)

№ 46
A:array [1..6] of integer;
Что будет выведено на экран после выполнения процедуры Massiv, если в исходном массиве записаны следующие числа?
1 3 2 1 2 2

Procedure Massiv;
   Var i, m1, m2: integer;
Begin
  m1 := 0; m2 := 1;
  For i := 1 To 6 do
  begin
   m1 := m1+A[i];
   m2 := m2 * A[i];
  end;
  Writeln(m1:2, (m2 div 2):3); 
End;
Ответ: (11;12)

№ 47
A:array [1..10] of integer;
Что будет выведено на экран после выполнения процедуры Massiv, если в исходном массиве записаны следующие числа?
12 16 1 1 11 6 8 10 15 9

Procedure Massiv;
  Const n = 10;
  Var i, k, Sa : integer;
Begin
  Sa:=0;
  For i := 1 To n do 
    Sa := Sa + A[I] div n;
  k := 0;
  For i := 1 To n do 
     If A[I] < Sa Then  Begin A[i] := Sa; k := k + 1; end;
  Writeln(Sa:4, k:4);
End;
Ответ: (5;2)

№ 48
A:array [1..15] of integer;
Что будет выведено на экран после выполнения процедуры Massiv, если в исходном массиве записаны следующие числа?
11 13 11 17 2 4 14 9 7 3 14 19 11 2 15, а переменная m=11?

Procedure Massiv;
  Const n = 15;
  Var i, k, m : integer;
Begin
  Readln(m);
  For i := 1 To n do 
  If A[i] = m Then k := i;
  For i := k To n-1 do A[i] := A[i+1];
  Writeln(A[1]);
End;
Ответ: (11)

№ 49
A:array [1..10] of integer;
Что будет выведено на экран после выполнения процедуры Massiv, если в исходном массиве записаны следующие числа?
6 8 6 19 20 8 6 3 3 13, а переменная k=6?

Procedure Massiv;
  Const n = 9;
  Var i, k, m : integer;
Begin
 m := A[1];
 For i := 1 To n do 
   If A[i] < m Then m := A[i];
 Readln(k);
 i := n+1;
 While i >= k do begin
   A[i] := A[i-1];
   i := i-1;
 End;
 A[k] := m;
 Writeln( A[8] + A[2]);
End;
Ответ: (14)

№ 50
A:array [1..10] of integer;
Что будет выведено на экран после выполнения процедуры Massiv, если в исходном массиве записаны следующие числа?
13 13 10 16 10 4 11 16 5 9, а переменная k=13?

Procedure Massiv;
  Const n = 10;
  Var i, k, m : integer;
      F : Boolean;
  Begin
  f := False; 
  Readln(k);
  m := 0;
  For i := 1 To n do  If A[i] > k Then m := A[i] + m;
  If (m Mod 2 = 0) Then f := True;
  Writeln(f);
  End;
Ответ: (true)

Тема: Матрицы.
Что будет выведено на экран после выполнения процедуры Massiv для заданного двумерного массива?

№ 51
Matr=-23
74
52
-14
48

Const n = 5;  m = 2;
Var  Matr : array [1..5, 1..2] of Integer;
Procedure Massiv;
var i, j : Byte;
    f : Integer;
Begin
f := 0;
For i := 1 To n do begin
  For j:=1 To m do
  If Matr[i, 1]<0 then f := f + Matr[i, j]* 3 +i;
End;
Writeln(f);
         End;
Ответ: (22)

№ 52
Matr=12132110197
617314268
23129271919
13417202724
21627132015

Const n = 5;  m = 6;
Var  Matr : array [1..n, 1..m] of Integer;
Procedure Massiv;
var i, j : Byte;
      S : Integer;
Begin
  S := 0;
  For j := 1 To m do 
     For i :=1 to n do if (j mod 3 =0) and (i  mod 2 =0) then S :=S+ Matr[i, j];
  Writeln(S);
         End;
Ответ: (52)

№ 53
Matr=1627161225
2420212911
151320613
1624161315
718152026

Const n = 5;  m = 5;
Var  Matr : array [1..n, 1..m] of Integer;
Procedure Massiv;
var i, j : Byte;
      S : Integer;
Begin
  S := 0;
     For i :=1 to n do if (i  mod 2 =0) then S :=S+ Matr[i, i];
  Writeln(S);
         End;
Ответ: (33)

№ 54
Matr=1627161225
2420212911
151320613
1624161315
718152026

Const n = 5; 
Var  Matr : array [1..n, 1..n] of Integer;
Procedure Massiv;
var i, j : Byte;
      S : Integer;
Begin
  S := 0;
     For i :=1 to n do  S :=S+ Matr[i, n-i+1];
  Writeln(S);
         End;
Ответ: (105)

№ 55
Matr=17714222212
2622319211
13129292320
13229111327
41911463

Const n = 5;  m=6;
Var  Matr : array [1..n, 1..m] of Integer;
Procedure Massiv;
var i, j : Byte;
      S : Integer;
Begin
  S := 0;
     For i :=1 to n do  
          For j:=1 to m do        
             If (i mod 3=0) and (Matr[i, j] mod 2=0) then  S :=S+ Matr[i, j];
  Writeln(S);
         End;
Ответ: (32)

№ 56
Matr=1514241-2
14669-711
-2-7-11809
110-3-33
8-21088-7
-8-5-227-1

Const n = 6;  m=6;
Var  Matr : array [1..n, 1..m] of Integer;
        V : array [1..n] of Boolean;
Procedure Massiv;
var i, j : Byte;
Begin
     For i :=1 to n do  
             If Matr[i, i]>0 Then V[i] :=true else v[i] :=false;;
    For i :=1 to n do   Write(V[i],' ');
         End;
Ответ: (true,true,false,false,true,false)

№ 57
Matr=-81319-4
3-518-1-714
11-2131519-1
417175167
3141116-513
10171413134

Const n = 6; 
Var  Matr : array [1..n, 1..n] of Integer;
Procedure Massiv;
var i, j, k : Integer;
Begin
     For i :=1 to n do  begin
           k:= Matr[i,1];
           For j := 1 to n do 
               If Matr[i, j]<0 Then Matr[i, i] := Matr[i, j]*k;
      End;
    For i :=1 to n do   Write(Matr[i, i],' ');
         End;
Ответ: (32,-21,-11,5,-15,4)

№ 58
Matr=534-10
-25441
22430
01312
13-220

Const n = 5; 
Var  Matr : array [1..n, 1..n] of Integer;
Procedure Massiv;
var i, j, m1, m2 : Integer;
Begin
   m1 := 0; m2 := 1;
     For i :=1 to n div 2+1 do  
           For j := i to n-i+1 do m1 := Matr[i, j]+m1;

    For i :=n div 2 +1  to n do
         For j := n-i+1 downto i  do m2 :=Matr[i, j]*m2;
            Writeln (m1:4, m2:4);
       End;
Ответ: (28,4)

№ 59
Matr=363343424
1124544568
5840431563
2443435451
4954203937

Const n = 5; 
Var  Matr : array [1..n, 1..n] of Integer;
Procedure Massiv;
var i, j, k, s : Byte;
Begin
     s := 0;   
      For j :=1 to n  do begin
           K := Matr[n, j];  
           For i := 1 to n do begin
             s :=Matr[I, j] mod 10;
             If s mod 2 = 0  Then begin Matr[I,j] := Matr[I,j]*k; s :=s+1;  end;
        End;
     End;      
Writeln (s:5, Matr[2, 3]:6);
End;
Ответ: (7,1080)

№ 60
Что будет напечатано в окне отладки программы после выполнения процедуры Massiv_2D() для заданного двухмерного массива?
Matr=46272724171631
441849424375
12192942225963
3828219134669
23186211414343
4960929582048
29593159175263

Const n = 7; 
Var  Matr : array [1..n, 1..n] of Integer;
Procedure Massiv;
var i, j,  s : Byte;
Begin
     s := Matr[1,1];   
      For i :=1 to n  do 
           For j := 1 to n do 
              If (j mod 2 = 0) and (s<Matr[i,j])  Then  s :=  Matr[i,j];
Writeln (s);
End;
Ответ: (60)

Тема: Процедуры и функции.

№ 61
В программе описаны процедура и переменные следующим образом:

Var 
     a, b, d, n :integer;
     f, t : real;
Procedure MyProc(x, y, n : integer; var S: real);
  Begin
       S := (x+y)/n; 
  End;
Неправильно оформленный вызов процедуры из основной программы.
• MyProc(4,5,d,n);
• MyProc(f,t,d,f);
• MyProc(a,b,4,5);
• MyProc(4,5,d,n,f);

№ 62
В программе описаны процедура и переменные следующим образом:

Var 
     a, b, n : real;
Procedure MyProc( x, y, n : real);
  Begin
       n := (x+y)*(x-y); 
  End;
Какое значение примет переменная n после того, как проработает следующий фрагмент программы?
a  := 5;
b :=  3;
n:=0;
MyProc(a, b, n);
Ответ: (0)

№ 63
В программе описаны подпрограмма-функция и переменные следующим образом:

Var 
     a, b :integer;
     f, t : real;
function MyFunc (x, y : real) : real;
  Begin
       MyFunc :=  sqr(x-y);
  End;
Правильно оформленные обращения к функции в основной программе.
• Writeln(MyFunc(4.2, 5.0):6:2);
• t:=MyFunc(f,5.2);
• t:=MyFunc(3.0, 5.2)/3;
• t:=MyFunc(f,t);

№ 64
В программе описаны подпрограмма-функция и переменные следующим образом:

Var 
     a, b :integer;
     f : real;
     t: char;
function MyFunc (x, y : real) : Integer;
  Begin
       MyFunc :=  Trunc(sqr(x-y));
  End;
Неправильно оформленные обращения к функции в основной программе.
• t:=MyFunc(f,5.2);
• t:=MyFunc(3.0, 5.2)/3;;
• t:=MyFunc(f,t);
• t:=MyFunc(a,t);

№ 65
В программе описаны процедура и переменные следующим образом:

Var 
     S, b, d : real;
     f  : boolean;
Procedure MyProc(x, y: real; var S: Boolean);
  Begin
       S := x>y; 
  End;
Какое значение примет переменная f после того, как проработает следующий фрагмент программы?
f  := false; 
b :=5; 
d := 2;
MyProc(b, d, f);
Ответ: (true)

№ 66
В программе описаны процедура и переменные следующим образом:

Var 
     S, b, d : real;
     f  : boolean;
Procedure MyProc(x, y: real;  S: Boolean);
  Begin
       S := x>y; 
  End;
Какое значение примет переменная f после того, как проработает следующий фрагмент программы?
f  := false; 
b :=5; 
d := 2;
MyProc(b, d, f);
Ответ: (false)

№ 67
В программе описаны процедура и переменные следующим образом:

Var
     x, y :integer;
     f, t : real;
Procedure MyProc(a, b : integer; var S: real);
  Begin
       S := (a+b)/(a-b); 
  End;
Неправильно оформленные вызовы процедуры из основной программы.
• MyProc(4,5;f);
• MyProc(x,y,y);
• MyProc(t,x,4);

№ 68
Неправильно оформленные описания заголовков процедур.
• Procedure Min X (a,b:real, Var z: real);
• Procedure Proc2(var y: Boolean; x,y: real): real;
• Procedure Proc3(y: Boolean; x;y: real);

№ 69
Даны действительные числа s, t. Получить f(t, 1.17, -2s)-f(2.2, t, t-s), где f(a, b, c)=2a-b-sin(c).
Для решения задачи, сформулированной выше, целесообразно оформить:
• подпрограмму-функцию.

№ 70
Даны вещественные числа a1, a2, ..., a20. Найти минимальное и максимальное значения этих чисел.
Для решения этой задачи целесообразно оформить:
• подпрограмму-процедуру.

Тема: Записи.
В программах имеются следующие описания:

№ 71

    Type 
         Person = record
            Fio : string [20];
            Ball : array [1..4] of  3..5;
            x : Byte;
          End;
Var
       a : Person;
Правильно записанные операторы присваивания.
• a.Fio := 'Иванов';
• a.Ball[3]:=4;
• a.x:=a.x+2.

№ 72

    Type 
         Person = record
            Fio : string [20];
            Ball : array [1..4] of  3..5; 
            x : Byte;
          End;
Var
       a :  array [1..10] of Person;
Неправильно записанные операторы присваивания.
• a.Fio := 'Иванов';
• a.Ball[4]:=5;
• a[2].Ball[7]:=5;
• a.x:=a.x+2.

№ 73

    Type 
         Figura = record
            Name : string [20];
            l : real;
            coord : record  x, y: real end;
          End;
Var
       a : array [1..5] of Figura;
Неправильно записанные операторы присваивания.
• a.Name := 'Правильный треугольник';
• a[2].coord:=4.3;
• a.l:='5'.

№ 74

    Type 
         Figura = record
            Name : string [20];
            l : real;
            coord : record  x, y: real end;
          End;
Var
       a, b :  Figura;
Правильно записанные операторы присваивания.
• a.Name := 'Круг';
• b.coord.x:=-3.2;
• a :=b;
• b.l := a.l.

№ 75

    Type 
         Figura = record
            Name : string [20];
            l : real;
            coord : record  x, y: real end;
          End;
Var
       a,  b :  Figura;
Правильно записанные операторы.
• a.Name := 'Круг';
• a.coord.x: = 0.3;
• a :=b;
• b.l := a.l.

№ 76

    Type 
         Person = record
            Fio : string [20];
            Ball : array [1..4] of  3..5; 
            x : Byte;
          End;
Var
       a :  array [1..10] of Person;
Правильно записанные операторы присваивания.
• a[5].Fio := 'Иванов';
• a[3].x:=34;
• a[2].Ball[3]:=5;

№ 77

    Type 
         Person = record
            Fio : string [20];
            Ball : array [1..4] of  3..5;
            x : Byte;
          End;
Var
       a : Person;
Правильно записанные операторы присваивания.
• a.Fio := 'Иванов';
• a.Ball[3]:=4;
• a.x:=a.x+2;

№ 78

    Type 
         Person = record
            Fio : string [20];
            Ball : array [1..4] of  Byte; 
            x, y : Byte;
          End;
Var
       a :  array [1..10] of Person;
       b : Person;
Правильно записанные операторы присваивания.
• With a[5] do Fio := 'Иванов';
• b.Ball[3]:=5;
• b.x:=b.x+2;

№ 79

    Type 
         Person = record
            Fio : string [20];
            Ball : array [1..4] of  char;
            x : Byte;
          End;
Var
       a : Person;
      b : array [1..10] of Person;
Неправильно записанные операторы присваивания.
• a[8].Ball[3]:=4;
• a.x:=-3;
• b.Ball[2[:='5';
• a.Ball[7]:=5;

№ 80

    Type 
         Figura = record
            Name : string [20];
            l : real;
            coord : record  x, y: real end;
          End;
Var
       a,  b :  Figura;
       c : array [1..15] of Figura;
Отметьте правильно записанные операторы.
• c[4].coord.x: = 0.3;
• a :=b;
• b := c[8];
• c[7].l := a.l.

Тема: Файлы.
В файле целого типа данные расположены следующим образом:
3 4 -5 6 -12 -4 0 -3 -6 1 23 -12
Какое значение примет переменная P после работы следующего фрагмента программы?

№ 81

Var
     F : file of integer;
     P, x : integer;
Begin
...
  P :=0;
  Assign(F, 'Dan.dat');
  Reset(F);
  While not eof (F) do begin
     Read(F, x);
      If x>0 then P := P+x;
   End;
...
End;
Ответ: (37)

№ 82

Var
     F : file of integer;
     P, x : integer;
Begin
:
  P :=0;
  Assign(F, 'Dan.dat');
  Reset(F);
  Seek(F, 5);  
  While not eof (F) do begin
     Read(F, x);
     P := P+x;
   End;
:
End;
Ответ: (11)

№ 83

Var
     F : file of integer;
     P, x, n, i : integer;
Begin
:
  P :=0;
  Assign(F, 'Dan.dat');
  Reset(F);
  n := Filesize(F);
  For i := 1 to n div 2 do begin
     Read(F, x);
     If x mod 2 =0 then  P := P+abs(x);
   End;
:
End;
Ответ: (16)

№ 84

Var
     F : file of integer;
     P, x, n, i : integer;
Begin
...
  P :=0;
  Assign(F, 'Dan.dat');
  Reset(F);
  n := Filesize(F);
  For i := 1 to n do begin
     Read(F, x);
     If i mod 3 =0 then  P := P+abs(x);
   End;
...
End;
Ответ: (27)

№ 85
В программе имеются следующие описания:

    Type 
         Figura = record
            Name : string [20];
            l : real;
            coord : record  x, y: real end;
          End;
Var
       A, b :  Figura;
       f : file of Figura; 
Правильно записанные операторы.
• a.Name := 'Круг';
• Write(f, a);
• a :=b;
• b.l := a.l;

В программе имеются следующие описания переменных:

№ 86

     Var
        f : file of  real;  
        x: real;
Правильно записанные операторы.
• seek(f,5);
• Write(f,x);
• Write(f,x,x*2);
• Truncate(f);

№ 87

     Var
        f : Text;  
        x: string;
Правильно записанные операторы.
• Writeln(f,x);
• Writeln(f,'Hello');
• Append(f);

№ 88

      Type 
         Figura = record
            Name : string [20];
            l : real;
            coord : record  x, y: real end;
          End;
Var
       b :  Figura;
       f : file of Figura;  
       f1 : file of  real;  
       x: real;
Правильно записанные операторы.
• seek(f,5);
• Write(f,b);
• Truncate(f);

№ 89

  Var
       b :  String;
       f : Text;
       f1 : file of  real;  
       x: real; n : Integer;
Правильно записанные операторы.
• Write(f,x);
• n:=FileSize(f1);
• n:=FilePos(f1);
• Write(f1,x);

№ 90

  Var
       b :  Char;
       f : Text;
       f1 : file of  Byte;  
       x: Byte; n : Integer;
Неправильно записанные операторы.
• n:=SeekEof(f)';
• Append(f1);
• n:=FilePos(f);

Тема: Работа с динамической памятью.
В программах имеются следующие описания переменных:

№ 91

 Type matr=Array [1..10] of real;
  Var
       a : ^matr;
       b : Array [1..20] of ^Byte;
       p : Pointer;
Неправильно записанные операторы.
• b^[3] :=7.5;
• a:=b;
• a[7] := 5.2;
• a[5]^:=p;

№ 92

  Var
       a, c : ^Integer;
       b :  ^Real;
       p : Pointer;
Правильно записанные операторы.
• a :=c;
• a:=p;
• a^ := 2;
• p:=b;

№ 93

 Type matr=Array [1..10] of real;
  Var
       a : ^matr;
       b : Array [1..20] of ^Byte;
       p : Pointer;
Правильно записанные операторы.
• b[3] :=nil;
• b[5]^:=32;

№ 94

  Var
       a, c : ^Integer;
       b : Array [1..20] of ^Byte;
       p : Pointer;
Правильно записанные операторы.
• a :=p;
• New(a);
• b[7]:=p;

№ 95

 Type matr=Array [1..10] of real;
  Var
       a : ^matr;
       b :  ^Byte;
       p : Pointer;
Правильно записанные операторы.
• Dispose(b);
• New(a);
• GetMem(a, 10*sizeof(Real));
• b :=nil;

№ 96

  Var
       a, c : ^Real;
       b : Array [1..20] of ^Real;
       p : Pointer;
Правильно записанные операторы.
• FreeMem(c, sizeof(Real));
• Dispose(a);
• b[7]:=p;

№ 97

  Type
      Ref = ^ MRec;
      MRec=record
          Inf : byte;
          Next : Ref;
End;
Var
    p, p1, p2 : Ref;
Begin
   :
     New (p);
     p^.Inf :=5;
     p^.Next := nil;
     New (p1);
     p1^.Inf :=2;
     p1^.Next := p;
   :
End;
Приведенный фрагмент:
• cоздает связный список из двух элементов.

№ 98
В памяти хранится следующий список:

Какое значение будет выведено на экран после работы следующего фрагмента программы?

...
p1 :=p^.Next^.Next;
Writeln(p1^.Inf, ',' , p^.Inf); 
Ответ: (6,4)

№ 99
В программе создан следующий список:

Какое значение будет выведено на экран после работы следующего фрагмента программы?

p1 := p;
p1^.Next := p1^.Next^.Next;
Writeln(p1^.Inf-10);
Ответ: (5)

№ 100
В программе создан следующий список:

Какое значение будет выведено на экран после работы следующего фрагмента программы?

p1 := p^.next;  s := 0;
While p1<> Nil do begin
   s:= s + p1^.Inf;    
   p1 := p1^.Next;
end;
Writeln(s);
Ответ: (37)

№ 101
В программе создан следующий список:

Какое значение будет выведено на экран после работы следующего фрагмента программы?

p1 := p^.next;  s := 0;
While p1<> Nil do begin
  If (p1^.Inf >0)  and (p1^.Next<>nil) then   s:= s + p1^.Inf;    
   p1 := p1^.Next;
end;
Writeln(s); 
Ответ: (5)


на главную база по специальностям база по дисциплинам статьи