Next:5.3
Программы обработки векторов
Up:5.2
Структурированные типы данных
Previous:5.2.4
Доказательство свойств программ
(1) type X = array10 of integer;
(2) type X = array N of real;
(3) type X = array Char of Integer;
(4) type X = array Month of boolean;
(5) type X = array NumberKind, 200 of array
M+N
of real;
2. Укажите, какие из приведенных ниже записей нельзя рассматривать в качестве совокупности описаний переменных:
(1) X,Y = array10 of real;
(2) X,Y,Z:array 20 of boolean end; E: array
20
of real;
(3) X : array 10 of real;
3. Укажите, какие из приведенных ниже программ не содержат ошибок:
(1) module A;
const N = 30; M = 20;
type НомерСтроки = integer; НомерСтолб =
integer;
СТРОКА = array N of Real; МАССИВ = array M of
СТРОКА ;
var A: МАССИВ ; В: СТРОКА ; I: НомерСтроки;
J: НомерСтолб;
begin
for I := 0 to N-1 do for
J := M-1 to 0 by -1 do read(A[I][J]) end
end;
B := A[1];
for I := 1 to N-1 do if
A [I][1] > B[1] then B := A[I] end end;
for J := 0 to M-1 do write(B[J])
end;
end A.
(2) module B;
const N = 365;
type ДеньНедели = (ПН,ВТ.СР,ЧТ,ПТ,СУ,ВО)
;
ТАБЛ = array 7 of integer;
var МАКСДЕНЬ : ДеньНедели; Т:ТАБЛ; М.К :
integer;
begin
for K := 0 to 6 do Т[K ] :=
0 end;
for K := 1 to N do
M :=
K mod 7; T[M] := T[M] + 1
end;
K:=T[1]; МАКСДЕНЬ := ПО ;
for M := 6 to 0 by -1 do
if T[M] > K then
K := T [M]; МАКСДЕНЬ := ДеньНедели(M)
end;
Write('НАИБОЛЕЕ ЧАСТЫЙ:')
case МАКСДЕНЬ of
ПН :writeln('ПОНЕДЕЛЬНИК');
ВТ :writeln('ВТОРНИК');
CP :writeln( 'СРЕДА' );
ЧЕ :writeln( 'ЧЕТВЕРГ' );
ПЯ :writeln( 'ПЯТНИЦА' );
СУ :writeln( 'СУББОТА' );
ВО :writeln( 'ВОСКРЕСЕНЬЕ'
)
end
end B.
4. Опишите те задачи, которые могли бы решаться программами из предыдущего упражнения. Исходя из решаемых задач измените программы, если это необходимо.
5. Докажите справедливость следующего утверждения:
X := A[1]; I := 1;
while I
N do I := I+1; if A[I]
X then X = A[I] end end
{
}.
6. Даны два целочисленных вектора A и B длины 200, такие, что
.
Напишите программу для определения значений, встречающихся как в A,
так и в B, т.e. для вычисления значения
.
7. Пусть имеется целая переменная M и задан массив M, элементами которого являются литеры, а индекс принадлежит отрезку . Написать фрагмент программы , для которого справедливы следующие свойства:
(1)S {
},
(2) S {
},
(3) S{
},
(4) S{
: Ord(A[I]) mod 7 = 0) },
(5) S{
: Odd(Ord(A[I]))) }.
Next:5.3
Программы обработки векторов
Up:5.2
Структурированные типы данных
Previous:5.2.4
Доказательство свойств программ