Тест по теме «МАССИВЫ»
Вариант 1
1.Выберите ошибочное утверждение:
a) Если каждый элемент массива определяется с помощью одного номера, то такой массив называется одномерным;
b) в двумерных массивах первый номер указывает на строку, в торой - на положение элемента в строке;
c) номер элемента в массиве называют индексом;
d) строки двумерного массива могут иметь неодинаковую длину.
2. Выберите из приведенного списка ошибочные записи одномерных массивов:
a) Type mas=array [1..n] of byte; var a:mas;
b) Var a: array [-7..-7] of integer;
c) Var a: array [10] of integer;
d) Const n=10; Var a: array [1..n] of integer.
3. Выберите из списка ложное обращение к элементам массива: a:array [1..3, 1...4] of real;
a) A [i];
b) A[1,4];
c) A[4,3];
d) A [3,3].
4. Выберите заголовок алгоритма, который определял бы три действительные
табличные величины, которые имеют по 50 элементов и элементы которых
пронумерованы, начиная соответственно с 1, 10, 105:
a)Var a,b,c: array [1..50] of real;
a) Var a: array [1..50] of real; b: array [10..59] of real; c: array [105..154] of real;;
b) Var a: array [1..50] of real; b: array [10..60] of real; c: array [105..155] of real;;
c) Var a,b,c: array [1..50, 10..59, 105..154] of real;.
5.Пусть нижняя и верхняя границы индексов одномерного
массива С равны соответственно -3 и 13. Выберите порядковый номер следующего
элемента С[5]:
a) 5; b) 6; c)8;
d) 9.
6. Пусть элементы одномерного массива А[1..10] приобретают значения соответственно -5, -3, -1, 1, 3, 5, 7, 9, 11, 13. Выберите какие значения будут напечатаны в результате выполнения таких операторов:
i:=1; repeat write ( a[i], ‘ ‘); i:=i+1 until a[i]<0;
a) -5;
b) -5 -3 -1;
c) никакие значения не будут напечатаны;
d) -5 -3.
7. Дана программа, составленная для решения задачи. Дано натуральное число N и последовательность действительных чисел а1,…an. Определить в этой последовательности количество соседств нулевых чисел. Выберите пропущенную строку:
Type mas=array [1..100] of real;
Var a: mas;
i, n, k: integer;
Begin
Readln (n);
For i:=1 to n do
Read (a[i]);
k:=0;
For i:=1 to n-1 do
_____________________
Then k:=k+1;
Writeln (‘k=’, k);
End.
a) If a[i]*a[i+1]=0;
b) If a[i]=a[i+1];
c) If (a[i]=0) and (a[i+1]=0);
d) If a[i]+a[i+1]=0.
8. Дана программа, составленная для решения задачи. Даны действительные числа а1, …, а30, в1, …, в30. Вычислить а1в2+а3в4+…+а29в30. Выберите пропущенную строку:
Type mas=array [1..30] of real;
Var a, b: mas;
i: byte; y: real;
Begin
For i:=1 to 30 do read (a[i]);
For i:=1 to 30 do read (b[i]);
y:=0;
______________________
Writeln (‘y=’, y:8:4);
End.
a) For i:=1 to 29 do for j:=2 to 30 do y:=y+a[i]*b[j];;
b) i:=1; while i<=29 do begin j:=2; while j<=30 do begin y:=y+a[i]*b[j]; j:=j+2; end; i:=i+2; end;;
c) i:=1; while i<=29 do begin y:=y+a[i]*b[i+1]; i:=i+2; end;;
d) y:=(a[1]]*b[2])+ (a[3]*b[4])+… (a[29]]*b[30]);.
9. Дана программа, составленная для решения задачи. В двумерном массиве A [1..4, 1..4] вычислить сумму положительных элементов, расположенных на главной диагонали. Выберите, какая строка содержит ошибку:
Var a; array [1..4, 1..4] of real;
i, j :byte; s: real;
Begin
For i:=1 to 4 do
For j:=1 to 4 do read (a[i, j]);
s:=0;
For i:= 1 to 4 do For j:=1 to 4 do
If a[i, i]>0 then
s:=s+ a[i, i];
Writeln (s:8:4);
End.
a) For i:= 1 to 4 do For j:=1 to 4 do ® For i:=1 to 4 do;
b) If a[i, i]>0 then ® не требуется;
c) a[i, i] ® a[i, j];;
d) s: real; ® s: byte;.
Вариант 2
1.Выберите ошибочное утверждение:
a) доступ к какому-либо элементу массива осуществляется по его номеру;
b) каждый элемент массива определяется по собственному имени;
c) если в программе несколько массивов одного размера и типа, тои имена можно дать через запятую, а потом после двоеточия указать описание массива;
d) одномерный массив имеет в описании одну пару индексов.
2. Выберите из приведенного списка ошибочные описи одномерных массивов:
a) Var a: array [1..20] of real;
b) Type mas=array [‘a’..’z’]; var a:mas;
c) Const n=10; Var a: array [1..n] of char;
d) Var mas=array [-5..-15] of integer;.
3. Выберите из списка ложное обращение к элементам массива: a:array [-5..5] of integer;
a) A [-5..5];
b) A[-5];
c) A[-5,5];
d) A [0].
4. Выберите заголовок алгоритма, который определял бы две целочисленные переменные, одну табличную целочисленную величину, элементы которой пронумерованы от 1 до 10:
a)Var a,b: integer; c: array [1..10] of integer;
d) Var a: array [1..10] of real; b, c: integer;;
e) Var a: integer; c ,b: array [1..10] of integer;;
f) Var a,b,c: array [1..10] of integer;.
5.Пусть нижняя и верхняя границы индексов одномерного
массива B равны соответственно
-5 и 10. Выберите порядковый номер следующего элемента В[8]:
a) 8; b) 14; c)13;
d) 15.
6. Пусть элементы одномерного массива А[1..10] приобретают значения соответственно -5, -3, -1, 1, 3, 5, 7, 9, 11, 13. Выберите какие значения будут напечатаны в результате выполнения таких операторов:
For i:=1 to 5 write ( a[i+5], ‘ ‘);
a) -5 -3 -1 1 3;
b) 0 2 4 6 8;
c) 5 7 9 11 13;
d) 10 12 14 16 18.
7. Дана программа, составленная для решения задачи. Дано натуральное число N и последовательность действительных чисел а1,…an. Определить в этой последовательности количество соседств положительных чисел. Выберите пропущенную строку:
Соnst n1=100;
Var a: array [1..n1] of real;
i, n, k: integer;
Begin
Readln (n);
For i:=1 to n do
Read (a[i]);
k:=0;
For i:=1 to n-1 do
_____________________
Then k:=k+1;
Writeln (‘k=’, k);
End.
a) If a[i]=a[i+1];
b) If a[i]>0 and a[i+1]>0;
c) If a[i] and a[i+1]>0;
d) If (a[i]>0) and (a[i+1]>0).
8. Дана программа, составленная для решения задачи. Даны действительные числа а1, …, а30, в1, …, в30. Вычислить (а1+в30)(а2+в29)…(а30+в1). Выберите пропущенную строку:
Type mas=array [1..30] of real;
Var a, b: mas;
i: byte; y: real;
Begin
For i:=1 to 30 do read (a[i]);
For i:=1 to 30 do read (b[i]);
y:=1;
______________________
Writeln (‘y=’, y:8:4);
End.
a) For i:=1 to 30 do for j:=1to 30 do y:=y*(a[i]+b[j]);;
b) y:=(a[1]+b[30])*(a[2]+b[29])*..*(a[30]+b[1]);;
c) for i:=1 to 30 do y:=y*(a[i]+b[31-i]);;
d) for i:=1 to 30 do y:=y*(a[i]+b[30-i]);.
9. Дана программа, составленная для решения задачи. В двумерном массиве A [1..10, 2..5] вычислить сумму четных элементов. Выберите, какая строка содержит ошибку:
Var a; array [1..10, 2..5] of real;
i, j :byte; s: real;
Begin
For i:=1 to 10 do
For j:=2 to 5 do read (a[i, j]);
s:=0;
For i:=1 to 10 do For j:=2 to 5 do
If (i mod 2=0) and (j mod 2=0) then
s:=s+ a[i, i];
Writeln (s:8:4);
End.
a) s: real;® s: byte;
b) If (i mod 2=0) and (j mod 2=0) then® if a[i, j] mod 2=0 then;
c) s:=s+ a[i, j]® s:=s+ a[2*i,2* j];;
d) s:=0; ® s:=1;.
Ключи к заданиям:
№ варианта |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
1 |
d |
a, c |
a, c |
b |
d |
a |
c |
c |
a |
2 |
b |
b, d |
a, c |
a |
b |
c |
d |
c |
b |
Каждое правильно решенное задание оценивается 1 баллом.
9 баллов – оценка «5»; 8-7 баллов – оценка «4»;
6-5 баллов – оценка «3»; менее 5 баллов – оценка «2».
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.