СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

18_Контрольная работа "Массивы"_10 класс _уч. Полякова К.

Категория: Информатика

Нажмите, чтобы узнать подробности

Контрольная работа "Массивы"_10 класс (2 часа в неделю) _уч. Полякова К. содержит задания уровня А, В и С (ЕГЭ) из 9 вариантов. Задания части А содержат 5 теоретических вопроса (два с выбором из готовых вариантов, 3 задания с кратким ответом) и одно задание практическое: написать программу, если известен блок обработки. Отметка за выполнение "3". Уровень В содержит 3 теоретических задания с кратким ответом и одно практическое задание - написать программу обработки массива. Отметка за выполнение уровня В - "4". Задания части С - 3 задачи. Первая задача - обычная, вторая - из материалов ЕГЭ и третья - олимпиадная. Отметка за выполнения этой части - "5".

Просмотр содержимого документа
«18_Контрольная работа "Массивы"_10 класс _уч. Полякова К.»

9 класс

Контрольная работа № 2 «Массивы»

Вариант 1

Уровень А. (отметка «3»)

1. Отметьте все правильные объявления массива в языке Паскаль.

  1. var A[1..20] of integer;


  1. var A: array [1.. 20] of integer;


  1. var A: array [8...10] of integer;


  1. var A: array [8..10];


  1. var A[1..10];


2. Массив данных имеет

  1. Общее имя;

  2. Один тип;

  3. Общее имя и один тип;

  4. Общее имя и разный тип

3. Дан массив S: 2 3.3 0 12 3 5 6 8 9

Определить тип его элементов и размерность. Подсчитать значение Х

Х:= S[1] + S[2] - S[8]*S[9].

4. Задан массив X[1..N]. Какой оператор надо поставить вместо многоточия, чтобы найти сумму всех элементов массива в переменной Sum?

Sum := 0;
for k := 1 to N do
Sum := ……………………………....
5. Задан массив X[1..N]. Какое условие надо поставить вместо многоточия, чтобы найти количество четных элементов массива в переменной count?

count:= 0;
for j:=1 to N do
if X[j] mod 2 = .... then count := count + 1;

6. Напишите программу: заменить отрицательные элементы массива на противоположные по знаку, используя данный фрагмент программы:


For i:=1 To 8 Do

If A[i]


Уровень B. (отметка «4»)

1. Что определяет для массива X[1..n] следующий алгоритм

         For i:= 1 to n do

              if X[i] mod 2 = 0 then X[i] = A; 


2. Требуется поменять местами значения элементов массива X[a] и X[b]. Какой оператор нужно добавить вместо многоточия?

p := X[a];
...
X[b] := p;

3. Задан массив X[1..N]. Какое условие надо поставить вместо многоточия, чтобы найти сумму положительных элементов массива в переменной S?

S := 0;
for k := 1 to N do begin
if . . ………………………… then S := S + X[k];
end;

4. Определить сумму и количество отрицательных элементов в двух одномерных массивах разной длины.

Вариант № 1

Уровень C. (отметка «5»)

1. Заполните массив случайными числами в интервале [0,1000] и выведите номера всех элементов, которые равны последнему элементу.


2*. (ЕГЭ) Дан це­ло­чис­лен­ный мас­сив из 30 эле­мен­тов. Эле­мен­ты мас­си­ва могут при­ни­мать зна­че­ния от 0 до 1000. Опи­ши­те на рус­ском языке или на одном из язы­ков  про­грам­ми­ро­ва­ния ал­го­ритм, ко­то­рый поз­во­ля­ет под­счи­тать и вы­ве­сти сред­нее ариф­ме­ти­че­ское эле­мен­тов мас­си­ва, име­ю­щих не­чет­ное зна­че­ние. Га­ран­ти­ру­ет­ся, что в ис­ход­ном мас­си­ве хотя бы один эле­мент имеет не­чет­ное зна­че­ние.

Ис­ход­ные дан­ные объ­яв­ле­ны так, как по­ка­за­но ниже. За­пре­ща­ет­ся ис­поль­зо­вать пе­ре­мен­ные, не опи­сан­ные ниже, но раз­ре­ша­ет­ся не ис­поль­зо­вать часть из них.

 Си

Пас­каль

#include

#define N 30

void main(void)

{int a[N];

int i, x, y;

float s;

for (i=0; i

scanf("%d", &a[i]);…}

const

N=30;

Var a: array [1..N] of integer;

i, x, y: integer;

s: real;

begin

for i:=1 to N do readln(a[i]);

… end.

 

В ка­че­стве от­ве­та Вам не­об­хо­ди­мо при­ве­сти фраг­мент про­грам­мы (или опи­са­ние ал­го­рит­ма на есте­ствен­ном языке), ко­то­рый дол­жен на­хо­дить­ся на месте мно­го­то­чия.


3**. (олимпиадная задача) Введите массив из 5 элементов с клавиатуры и найдите количество элементов, запись которых в двоичной системе – палиндром (например, 101012 = 21).





























Контрольная работа № 2 «Массивы»

Вариант 2

Уровень А. (отметка «3»)

1. Укажите правильное описание массива:

  1. var a: array [1..n] of real;

  2. var a: array {1..n} of  integer;

  3. var a: array [1...n] of real;

  4. var a  [1..n] of integer.

2. Индексом элемента называется…

  1. Значение элемента массива;

  2. Последний элемент в массиве;

  3. Номер элемента в массиве;

  4. Тип элемента

3. Как изменится массив T: 2 3 4 4 7 -8 0 -1

T[2]:=T[1] – T[3]

T[3]:=T[3] – T[2]

T[4]:=-T[6]

Определить тип его элементов и размерность. Запишите измененный массив Т.


4. Требуется заполнить массив случайными числами в интервале от 0 до 50:

Какой оператор надо поместить в тело цикла вместо многоточия?

for k:=1 to 6 do
X[k] := .................................................................;


5. Что надо написать вместо многоточия, чтобы вывести элементы массива X[1..N] ?

for k:=1 to N do
writeln (…………………);

6. Напишите программу: прибавить к каждому элементу массива число 25, используя данный фрагмент программы:

For i:=1 To 10 Do

A[i] :=A[i] + 25;


Уровень B. (отметка «4»)

1. Что определяет для массива X[1..n] следующий алгоритм

         S:= 0;

          For i:= 1 to n do 

                 If  X[i] 0  then S:=S+X[i]; 


2. Требуется заполнить массив именно так:

X = [1 3 9 27 81]

Какой оператор надо поместить в тело цикла вместо многоточия?

X[1] := 1;
for k:=2 to 5 do
X[k] := …………………………………....

3. Задан массив X[1..N]. Какой оператор надо поставить вместо многоточия, чтобы найти номер максимального элемента массива в переменной M?

M:=1;
for k:=2 to N do
if X[k]X[M] then .......................

4. Переставить в массиве первый элемент и максимальный в одномерном массиве произвольной длины






Вариант 2

Уровень C. (отметка «5»)

1. Введите массив из 5 элементов с клавиатуры и найдите количество элементов, которые оканчиваются на 8 и делятся на 3.


2*( ЕГЭ). Дан це­ло­чис­лен­ный мас­сив из 30 эле­мен­тов. Эле­мен­ты мас­си­ва могут при­ни­мать целые зна­че­ния от 0 до 10000 вклю­чи­тель­но. Опи­ши­те на есте­ствен­ном языке или на одном из язы­ков про­грам­ми­ро­ва­ния ал­го­ритм, поз­во­ля­ю­щий найти и вы­ве­сти про­из­ве­де­ние дву­знач­ных эле­мен­тов мас­си­ва, с сум­мой цифр, крат­ной 6. Га­ран­ти­ру­ет­ся, что в ис­ход­ном мас­си­ве есть хотя бы один эле­мент, зна­че­ние ко­то­ро­го яв­ля­ет­ся дву­знач­ным чис­лом, и при этом сумма его цифр де­лит­ся на 6. Ис­ход­ные дан­ные объ­яв­ле­ны так, как по­ка­за­но ниже на при­ме­рах для не­ко­то­рых язы­ков про­грам­ми­ро­ва­ния и есте­ствен­но­го языка. За­пре­ща­ет­ся ис­поль­зо­вать пе­ре­мен­ные, не опи­сан­ные ниже, но раз­ре­ша­ет­ся не ис­поль­зо­вать не­ко­то­рые из опи­сан­ных пе­ре­мен­ных. Ис­ход­ные дан­ные все­гда по­до­бра­ны так, что ре­зуль­тат про­из­ве­де­ния не вы­хо­дит за пре­де­лы объ­яв­лен­ных типов дан­ных.

 Си

Пас­каль

#include

#define N 30

void main() {

long a[N];

long i, j, p;

for (i = 0; i

scanf("% ld", &a[i]);

...}

 

const

N = 30;

Var a: array [1..N] of longint;

i, j, p: longint;

begin

for i := 1 to N do

readln(a[i]);

... end.

В ка­че­стве от­ве­та Вам не­об­хо­ди­мо при­ве­сти фраг­мент про­грам­мы (или опи­са­ние ал­го­рит­ма на есте­ствен­ном языке), ко­то­рый дол­жен на­хо­дить­ся на месте мно­го­то­чия.


3** (олимпиадная). Заполните массив случайными числами в интервале [0,1000] и выведите номера трёх различных минимальных элементов. Разрешается сделать только один проход по массиву.
























Контрольная работа № 2 «Массивы»

Вариант 3

Уровень А. (отметка «3»)

1. Укажите правильное описание массива:

  1. var a: array {1…n} of real;

  2. var a: array {1..n} of  integer;

  3. var a: array [1..n] of real;

  4. var a: aray  [1..n] of integer.


2. Что такое массив?

  1. Совокупность однотипных данных, хранящихся в последовательных ячейках памяти;

  2. Табличные данные;

  3. Набор данных, которые имеют порядковый тип;

  4. Последовательность случайных чисел.

3. Дан массив S: 3 4 0 1 -3 -5 6 -2 4

Определить тип его элементов и размерность. Подсчитать значение Х

Х:= S[1] - S[2] + S[7]*S[9].

4. Требуется заполнить массив, вводя значения с клавиатуры. Какой оператор надо поместить в тело цикла вместо многоточия?

for k:=1 to 6 do
readln( ............................);

5. Задан массив X[1..N]. Какое условие надо поставить вместо многоточия, чтобы найти сумму положительных элементов массива в переменной S?

S := 0;
for k := 1 to N do
if X[k] ………. then S := S + X[k];

6. Напишите программу: все четные элементы массива возвести в квадрат, используя данный фрагмент программы:

For i:=1 To 8 Do

If A[i] Mod 2 =0 Then A[i] := A[i] * A[i];

Уровень B. (отметка «4»)

1. Что определяет для массива X[1..n] следующий алгоритм

   S:=0;

          For i:= 1 to n do

                  If  i mod 2 = 1   then  S: = S+X[i];


2. Задан массив X[1..N]. Какое условие надо поставить вместо многоточия, чтобы найти минимальный элемент массива в переменной Min?

M := X[1];
for k:=2 to N do
if …………………………….. then Min := X[k];

3. Задан массив X[1..N]. Какой оператор надо поставить вместо многоточия, чтобы в результате в переменную NR было записано количество элементов, равных R?

NR := 0;
for k:=1 to N do
if X[k] = R then ………………..;

4. Определить минимальный элемент среди положительных элементах в двух одномерных массивах одинаковой длины.



Вариант 3

Уровень C. (отметка «5»)

1. Введите массив из 5 элементов с клавиатуры и найдите количество элементов, старшая цифра которых равна 8.


2*(ЕГЭ). Опи­ши­те на рус­ском языке или на одном из язы­ков про­грам­ми­ро­ва­ния ал­го­ритм под­сче­та про­из­ве­де­ния всех от­ри­ца­тель­ных эле­мен­тов за­дан­но­го це­ло­чис­лен­но­го мас­си­ва раз­ме­ром 30 эле­мен­тов, в пред­по­ло­же­нии, что в мас­си­ве есть хотя бы один от­ри­ца­тель­ны эле­мент.


3** (олимпиадная задача). Введите массив из 5 элементов с клавиатуры и найдите количество элементов, запись которых в двоичной системе – палиндром (например, 101012 = 21).













































Контрольная работа № 2 «Массивы»

Вариант 4

Уровень А. (отметка «3»)

1. В записи D[4]=3.5, D обозначает…

    1. Имя ячейки;

    2. Номер элемента в массиве;

    3. Обозначение типа;

    4. Имя массива

2. Найдите правильное описание массива.

  1. D: array[1..5] of real;

  2. Array D: [1..5] of real;

  3. D[1..5]:array of integer;

  4. D= array[1..5] of real;

3. Как изменится массив T: 2 3 4 4 7 -8 0 -1

T[2]:=T[1] – T[3]

T[3]:=T[3] – T[2]

T[4]:=-T[6]

Определить тип его элементов и размерность. Запишите измененный массив Т.

4. Требуется заполнить массив числами: 7, 14, 21, 28, ….

Какой оператор надо поместить в тело цикла вместо многоточия?

X[1]  := 7;

for k:=1 to 6 do
X[k] := k * ....;

5. Что надо написать вместо многоточия, чтобы вывести элементы массива X[1..N]  в строчку через пробел?

for k:=1 to N do
write (X[k] , …………);

6. Напишите программу: все нечетные элементы массива удвоить, используя данный фрагмент программы:

For i:=1 To 6 Do

If A[i] Mod 2 =1 then A[i] := 2*A[i];


Уровень B. (отметка «4»)

1. Что определяет для массива X[1..n] следующий алгоритм

For i:=1 to N do

write (a[ i ]);

2. Задан массив X[1..N]. Какое условие надо поставить вместо многоточия, чтобы найти количество нечетных элементов массива в переменной S?

S := 0;
for j:=1 to N do
if …………………….... then S := S + 1;

3. Задан массив X[1..N]. Какое условие надо поставить вместо многоточия, чтобы найти максимальный элемент массива в переменной M?

M:=X[1];
for k:=2 to N do
if …………………………….. then M := X[k];


4. Заменить каждое отрицательное число его положительным значением в четных элементах двух одномерных массивах разной длины.







Вариант 4


Уровень C. (отметка «5»)

1. Заполните массив случайными числами в интервале [0,1000] и выведите номер и значение минимального элемента.


2* (ЕГЭ). Дан це­ло­чис­лен­ный мас­сив из 20 эле­мен­тов. Эле­мен­ты мас­си­ва могут при­ни­мать целые зна­че­ния от 0 до 10000 вклю­чи­тель­но. Опи­ши­те на есте­ствен­ном языке или на одном из язы­ков про­грам­ми­ро­ва­ния ал­го­ритм, поз­во­ля­ю­щий найти и вы­ве­сти мак­си­маль­ное зна­че­ние среди эле­мен­тов мас­си­ва, ко­то­рые имеют чётное зна­че­ние и яв­ля­ют­ся трёхзнач­ны­ми. Если в ис­ход­ном мас­си­ве нет эле­мен­та, зна­че­ние ко­то­ро­го яв­ля­ет­ся чётным трёхзнач­ным чис­лом, то вы­ве­сти со­об­ще­ние «Не най­де­но».

Ис­ход­ные дан­ные объ­яв­ле­ны так, как по­ка­за­но ниже на при­ме­рах для не­ко­то­рых язы­ков про­грам­ми­ро­ва­ния и есте­ствен­но­го языка. За­пре­ща­ет­ся ис­поль­зо­вать пе­ре­мен­ные, не опи­сан­ные ниже, но раз­ре­ша­ет­ся не ис­поль­зо­вать не­ко­то­рые из опи­сан­ных пе­ре­мен­ных.

 

Си

Пас­каль

#include

#define N 20

void main() {

    int a[N];

    int i, j, max;

    for (i = 0; i

        scanf("%d", &a[i]);

...

}

const

    N = 20;

var

    a: array [1..N] of integer;

    i, j, max: integer;

begin

    for i := 1 to N do

        readln(a[i]);

    ...

end.

 

В ка­че­стве от­ве­та Вам не­об­хо­ди­мо при­ве­сти фраг­мент про­грам­мы (или опи­са­ние ал­го­рит­ма на есте­ствен­ном языке), ко­то­рый дол­жен на­хо­дить­ся на месте мно­го­то­чия.


3** (олимпиадная). Заполните массив случайными числами в интервале [0,1000] и выведите номера трёх различных минимальных элементов. Разрешается сделать только один проход по массиву.























Контрольная работа № 2 «Массивы»

Вариант 5

Уровень А. (отметка «3»)

1. Какой ряд данных можно назвать вещественным массивом?

  1. а, 4, б, 5, с, 6;

  2. 2, 5.7, 1.89, 6.7;

  3. 3, 6, 3, 2, 9;

  4. 4, 8, 8, 9, 19

2. Найдите правильное описание массива.

  1. А: aray[1..10] of real;

  2. А: array[10..1] of real;

  3. А: array[1..10] of real;

  4. A:= array[1..10] of real

3. Для подсчета суммы элементов массива в цикле используем следующую запись…

  1. Sum:=sum+a(i);

  2. Sum:=a[i]+a[i+1];

  3. Sum:=a[i]+sum;

  4. Sum:=sum + i;

4. Требуется заполнить массив случайными числами в интервале от 0 до 520:

Какой оператор надо поместить в тело цикла вместо многоточия?

for k:=1 to 9 do
X[k] := .................................................................;

5. Задан массив X[1..N]. Какое условие надо поставить вместо многоточия, чтобы найти количество отрицательных элементов массива в переменной count?

count := 0;
for j:=1 to N do
if X[j] …….... then count := count + 1;

6. Напишите программу: проверить, если элемент массива положительный, то прибавить к нему первый элемент массива, используя данный фрагмент программы:


For i:=1 To 8 Do

If A[i] 0 then A[i] := A[i] + A[1];


Уровень B. (отметка «4»)

1. Что надо написать вместо многоточия, чтобы вывести положительные элементы массива X[1..N]?

for k:=1 to N do
if …………………....... then writeln (x[k]);


2. Задан массив X[1..N]. Какое условие надо поставить вместо многоточия, чтобы найти сумму четных элементов массива в переменной S?

S := 0;
for k := 1 to N do b
if ………………………….. . . then S := S + X[k];


3. Что определяет для массива X[1..n] следующий алгоритм

         For i:= 1 to n do

              if X[i] mod 2 = 1 then X[i] = 2*X[i]; 


4. Заменить элементы, кратные 5, нулем в нечетных элементах одномерного массива.







Вариант 5


Уровень C. (отметка «5»)

1. Заполните массив случайными числами в интервале [0,1000] и выведите номера двух соседних элементов, произведение которых наибольшее.


2* (ЕГЭ). Дан мас­сив. Не­об­хо­ди­мо найти ко­ли­че­ство со­сед­них пар эле­мен­тов таких, что оба числа из пары де­лят­ся на­це­ло на 4. Объявлены пе­ре­мен­ные N, k, i, мас­сив а из N эле­мен­тов.


3** (олимпиадная задача). Введите массив из 5 элементов с клавиатуры и найдите количество элементов, запись которых в двоичной системе – палиндром (например, 101012 = 21).












































Контрольная работа № 2 «Массивы»

Вариант 6

Уровень А. (отметка «3»)

1. Какой ряд данных можно назвать целочисленным массивом?

1. а, 4, б, 5, с, 6;

2. 2, ав, 1.89, 6.7;

3. х[1], 6, 3, 2, 9;

4. 4, 8, 8.1, 9, 19

2. Найдите правильное описание массива.

1. А: aray[1..10] of real;

  1. А: array[10..100] of real;

  2. А: array[1...10] of real;

  3. A:= array[1..10] of real

3. Для подсчета суммы элементов массива а в цикле используем следующую запись…

1. Sum:=sum + i;

  1. Sum:=a[i]+sum;

  2. Sum:=a[i]+a[i+1];

  3. Sum:=sum+a(i);

4. Требуется заполнить массив, вводя значения с клавиатуры. Какой оператор надо поместить в тело цикла вместо многоточия?

for k:=1 to 6 do
………( X[k]);

5. Задан массив X[1..N]. Какое условие надо поставить вместо многоточия, чтобы найти сумму отрицательных элементов массива в переменной S?

S := 0;
for k := 1 to N do
if X[k] ………. then S := S + X[k];

6. Напишите программу: все нечетные элементы массива заменить последним элементом массива, используя данный фрагмент программы:

For i:=2 To 9 Do

If A[i] Mod 2=1 Then A[i] :=A[9];



Уровень B. (отметка «4»)

1. Что определяет для массива X[1..n] следующий алгоритм

         V:= X[1];

          For k:= 2 to n do 

                 If  X[k]

2. Требуется заполнить массив именно так:

X = [1 4 16 64 256]

Какой оператор надо поместить в тело цикла вместо многоточия?

X[1] := 1;
for k:=2 to 5 do
X[k] := …………………………………....

3. Задан массив X[1..N]. Какой оператор надо поставить вместо многоточия, чтобы найти номер максимального элемента массива в переменной M?

M:=1;
for k:=2 to N do
if X[k]X[M] then .......................

4. Заменить элементы с нечетными номерами на квадрат их номера в двух одномерных массивах одинаковой длины.




Вариант 6


Уровень C. (отметка «5»)

1. Заполните массив случайными числами в интервале [-10,10] и выведите номера двух соседних элементов, сумма которых наименьшая.


2* (ЕГЭ). Дан мас­сив. Не­об­хо­ди­мо найти ко­ли­че­ство со­сед­них пар эле­мен­тов таких, что оба числа из пары де­лят­ся на­це­ло на 4. Объявлены пе­ре­мен­ные N, k, i, мас­сив а из N эле­мен­тов.


3** (олимпиадная). Заполните массив случайными числами в интервале [0,1000] и выведите номера трёх различных минимальных элементов. Разрешается сделать только один проход по массиву.













































Контрольная работа № 2 «Массивы»

Вариант 7

Уровень А. (отметка «3»)

1. Укажите правильное описание массива:

    1. var a: araе [1..n] of real;

    2. var a: array {1..n} of  integer;

    3. var a: array [1..n] of real;

    4. var a  [1..n] of integer.

2. В записи D[4]=3.5, 4 обозначает…

  1. Имя ячейки;

  2. Номер элемента в массиве;

  3. Обозначение типа

  4. Имя массива

3. Как изменится массив T: 2 3 4 4 7 -8

T[2]:=T[4] – T[3]

T[3]:=T[6] + T[2]

T[4]:=-T[1]

Определить тип его элементов и размерность. Запишите измененный массив Т.

4. Требуется заполнить массив числами: 3, 7, 11, 15, …:

Какой оператор надо поместить в тело цикла вместо многоточия?

X[1]  := 3;

for k:=1 to 6 do
X[k] := X[k-1] + ....;

5. Что надо написать вместо многоточия, чтобы ввести элементы массива X[1..N]  случайным образом в интервале от 0 до 39?

for k:=1 to N do
X[k] := ………………;

6. Напишите программу: все нечетные элементы массива заменить на число 888, используя данный фрагмент программы:

For i:=1 To 6 Do

If A[i] Mod 2 =1 then A[i] := 888;



Уровень B. (отметка «4»)

1. Что определяет для массива X[1..m] следующий алгоритм

         For i:= 1 to m do

                 If  i mod 2 0 then X[i] = A;

2. Задан массив X[1..N]. Какое условие надо поставить вместо многоточия, чтобы найти количество отрицательных элементов массива в переменной S?

S := 0;
for j:=1 to N do
if …………………….... then S := S + 1;

3. Задан массив X[1..N]. Какое условие надо поставить вместо многоточия, чтобы найти сумму положительных элементов массива в переменной M?

M:=X[1];
for k:=2 to N do
if …………………………….. then M := М + X[k];


4. Заменить все элементы, кратные 3, на первый элемент массива в двух одномерных массивах разной длины.






Вариант 7

Уровень C. (отметка «5»)

1. Введите массив из 5 двухзначных элементов с клавиатуры и найдите количество элементов, которые заканчиваются на 0 и не делятся на 8.


2* (ЕГЭ). Опи­ши­те на рус­ском языке или на одном из язы­ков про­грам­ми­ро­ва­ния ал­го­ритм под­сче­та суммы всех от­ри­ца­тель­ных эле­мен­тов за­дан­но­го це­ло­чис­лен­но­го мас­си­ва раз­ме­ром 30 эле­мен­тов. Если от­ри­ца­тель­ных эле­мен­тов нет, со­об­щи­те об этом.


3** (олимпиадная задача). Введите массив из 5 элементов с клавиатуры и найдите количество элементов, запись которых в двоичной системе – палиндром (например, 101012 = 21).












































Контрольная работа № 2 «Массивы»

Вариант 8

Уровень А. (отметка «3»)

1. Укажите правильное описание массива:

1. var a: array {1…n} of real;

2. var a: array {1..n} of  integer;

3. var a: array [1...n] of real;

4. var a: array  [1..n] of integer;


2. Что такое массив?

1. Табличные данные;

2. Набор данных, которые имеют порядковый тип;

3. Совокупность однотипных данных, хранящихся в последовательных ячейках памяти;

4. Последовательность случайных чисел.

3. Дан массив S: 34 0 1 -35 6 -2 4

Определить тип его элементов и размерность. Подсчитать значение Х

Х:= S[3] *S[2] + S[74]+S[1].


4. Требуется заполнить массив случайными числами в интервале от 0 до 97:

Какой оператор надо поместить в тело цикла вместо многоточия?

for k:=1 to 7 do
X[k] := .................................................................;

5. Задан массив X[1..N]. Какое условие надо поставить вместо многоточия, чтобы найти количество положительных элементов массива в переменной count?

count := 0;
for j:=1 to N do
if X[j] …….... then count := count + 1;

6. Напишите программу: проверить, если элемент массива четный, то прибавить к нему последний элемент массива, используя данный фрагмент программы:


For i:=1 To 8 Do

If A[i] mod 2 = 0 then A[i] := A[i] + A[9];



Уровень B. (отметка «4»)

1. Что определяет для массива X[1..n] следующий алгоритм 

          R:= 0;

          For i:= 1 to n do 

                 If  X[i] T  then  R:=R+1;        

  

2. Что надо написать вместо многоточия, чтобы вывести отрицательные элементы массива X[1..N]?

for k:=1 to N do
if …………………....... then writeln (x[k]);


3. Задан массив X[1..N]. Какое условие надо поставить вместо многоточия, чтобы найти произведение нечетных элементов массива в переменной S?

S := 1;
for k := 1 to N do b
if ………………………….. . . then S := S * X[k];

4. Определить среднее арифметическое всех отрицательных элементов в четных элементах двух одномерных массивах одинаковой длины.


Вариант 8


Уровень C. (отметка «5»)

1. Введите массив из 5 элементов с клавиатуры и найдите количество положительных элементов и четных.


2* (ЕГЭ). Дан мас­сив, со­дер­жа­щий 2016 целых чисел. Не­об­хо­ди­мо найти и вы­ве­сти сумму тех эле­мен­тов этого мас­си­ва, чётность ко­то­рых сов­па­да­ет с чётно­стью мак­си­маль­но­го эле­мен­та.

На­при­мер, в мас­си­ве из 6 эле­мен­тов, рав­ных со­от­вет­ствен­но 2, 3, 1, 5, 6, 4, мак­си­маль­ный эле­мент чётный (6), зна­чит, от­ве­том будет сумма чётных эле­мен­тов этого мас­си­ва 2 + 6 + 4 = 12.

На­пи­ши­те на одном из язы­ков про­грам­ми­ро­ва­ния про­грам­му для ре­ше­ния этой за­да­чи. Ис­ход­ные дан­ные объ­яв­ле­ны так, как по­ка­за­но ниже. За­пре­ща­ет­ся ис­поль­зо­вать пе­ре­мен­ные, не опи­сан­ные ниже, но раз­ре­ша­ет­ся не ис­поль­зо­вать часть из опи­сан­ных пе­ре­мен­ных.

 

Пас­каль

Си

const

  N=2016;

Var   a: array [1..N] of integer;

  i, m, s, p: integer;

begin

  for i:=1 to N do

    readln(a[i]);

  …

end.

#include

#define N 2016

int main(){

  int a[N];

  int i, m, s, p;

  for (i=0; i

    scanf("%d", &a[i]);

  …   return 0; }

В ка­че­стве от­ве­та Вам не­об­хо­ди­мо при­ве­сти фраг­мент про­грам­мы, ко­то­рый дол­жен на­хо­дить­ся на месте мно­го­то­чия.


3** (олимпиадная). Заполните массив случайными числами в интервале [0,1000] и выведите номера трёх различных минимальных элементов. Разрешается сделать только один проход по массиву.



























Контрольная работа № 2 «Массивы»

Вариант 9

Уровень А. (отметка «3»)

1. В записи D[4]=3.5, 3.5 обозначает…

    1. Имя ячейки;

    2. Номер элемента в массиве;

    3. Обозначение типа;

    4. Имя массива

2. Найдите правильное описание массива.

    1. D: array[1…5] of real;

    2. Array D: [1..5] of real;

    3. D[1..5]:array of integer;

    4. D: array[1..5] of real;

3. Как изменится массив T: 23 44 78 0 -1

T[2]:=T[1] – T[5]

T[3]:=T[2] – T[3]

T[4]:=-T[5]

Определить тип его элементов и размерность. Запишите измененный массив Т.


4. Требуется заполнить массив, вводя значения с клавиатуры. Какой оператор надо поместить в тело цикла вместо многоточия?

for k:=1 to 6 do
………( X[k]);

5. Задан массив X[1..N]. Какое условие надо поставить вместо многоточия, чтобы найти сумму положительных элементов массива в переменной S?

S := 0;
for k := 1 to N do
if X[k] ………. then S := S + X[k];

6. Напишите программу: все положительные элементы массива заменить 4848, используя данный фрагмент программы:

For i:=2 To 9 Do

If A[i] 0 Then A[i] :=4848;



Уровень B. (отметка «4»)

1. Что определяет для массива X[1..n] следующий алгоритм

       For  i:=1 to n do

              X[i]: = X[i] + Y;


2. Требуется заполнить массив именно так:

X = [80 70 60 50 40]

Какой оператор надо поместить в тело цикла вместо многоточия?

X[1] := 80;
for k:=2 to 5 do
X[k] := …………………………………....

3. Задан массив X[1..N]. Какой оператор надо поставить вместо многоточия, чтобы найти максимальный элемент массива в переменной M?

M:= X[1];
for k:=2 to N do
if X[k] M then .......................;

4. Определить минимальный элемент среди положительных и его индекс в двух одномерных массивах разной длины.




Уровень C. (отметка «5»)

1. Заполните массив случайными числами в интервале [0,100] и выведите номера и значение нечетных элемента.


2* (ЕГЭ). Дан це­ло­чис­лен­ный мас­сив из 28 эле­мен­тов. Эле­мен­ты мас­си­ва могут при­ни­мать зна­че­ния от 0 до 100 — про­цент вы­пол­не­ния уча­щи­ми­ся до­маш­них за­да­ний по ин­фор­ма­ти­ке. Для по­лу­че­ния по­ло­жи­тель­ной оцен­ки за год тре­бо­ва­лось на­брать не менее 40 бал­лов. Опи­ши­те на рус­ском языке или на одном из язы­ков про­грам­ми­ро­ва­ния ал­го­ритм, ко­то­рый на­хо­дит и вы­во­дит ми­ни­маль­ный балл среди уча­щих­ся, по­лу­чив­ших за год по­ло­жи­тель­ную оцен­ку. Га­ран­ти­ру­ет­ся, что в клас­се хотя бы один уча­щий­ся по­лу­чил за год по­ло­жи­тель­ную оцен­ку.

Ис­ход­ные дан­ные объ­яв­ле­ны так, как по­ка­за­но ниже. За­пре­ща­ет­ся ис­поль­зо­вать пе­ре­мен­ные, не опи­сан­ные ниже, но раз­ре­ша­ет­ся не ис­поль­зо­вать часть из них.

 Пас­каль

СИ

const

N = 28;

var

a: array [1..N] of integer;

i, j , min: integer;

begin

for i := 1 to N do

readln(a[i]);

...

end.

#include

#define N 28

void main(void)

{int a [N];

int i, j, min;

for (i = 0; i

scanf ("%d", &a[i] ) ;

...

}

 В ка­че­стве от­ве­та вам не­об­хо­ди­мо при­ве­сти фраг­мент про­грам­мы (или опи­са­ние ал­го­рит­ма на есте­ствен­ном языке), ко­то­рый дол­жен на­хо­дить­ся на месте мно­го­то­чия


3** (олимпиадная задача). Введите массив из 5 элементов с клавиатуры и найдите количество элементов, запись которых в двоичной системе – палиндром (например, 101012 = 21).


Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!