проверочная работа по теме «одномерные массивы»
вариант 2
1. отметьте верные высказывания:
массивы - это организации данных
размерность массива - количество элементов в массиве
одномерный массив имеет размерность 1
массивы позволяют использовать циклы для своей обработки
тип массива определяется типом своих элементов
таблица умножения - одномерный массив
2. массив состоит из 3-х элементов, которые определяются по формуле с[i]: =i-5. определите с[3]:
-2
3
2
-3
3. какие типы циклов существуют в языке паскаль?
for
while
loop
4. массив d состоит из нечетных чисел от 11 до 21. установите количество элементов массива:
0
2
5
6
5. элементы массива f[1..6] равны соответственно 6, 5, 4, 3, 2, 1.
укажите значение выражения f[ f[ f[ 3 ] ] ] – f[ f[ 2 ] – f[ 4 ] ] .
6. пусть в массиве а хранятся следующие числа: 2,7,10,2,5. какое число будет выведено на экран в результате выполнения этого фрагмента:
n: =1;
for i: =1 to 5 do
if a[i] mod 2=0 then n: =n*2;
write(n);
3
6
8
0
7. вводится одномерный массив размерностью 40 для обработки данной программой. что делает программа?
program pr;
var a: array [1..40] of integer;
i,p,n: integer;
begin
for i: =1 to 40 do
readln (a [i] ) ;
for i: =1 to 40 div 2 do
begin
p: =a[i] ;
a[i]: =a[n-i+1] ;
a[n-i+1]: =p;
end;
for i: =1 to n do
writeln (a [i] ) ;
end.
данная программа осуществляет:
перестановку наибольшего и наименьшего значений;
меняет местами значения элементов, стоящие на четных местах, со значениями элементов, стоящими на нечетных местах;
меняет порядок следования значений элементов в массиве на обратный порядок.
в следующих запишите ответ (число, слово или команду)
8. что определяет количество индексов массива?
9. запишите имя массива, если он имеет элементы mas[1],
10. задавая разные значения элементам массива, можно изменить размерность массива?
в следующих запишите программы.
11.
дана программа нахождения суммы всех элементов массива. изменить программу таким образом, чтобы:
1) массив состоял из 25 элементов целого типа;
2) значения элементов массива должны меняться в интервале от 1 до 30;
3) в результате выполнения программы должна быть найдена сумма квадратов всех элементов массива.
program massiv;
const n=10;
var a: array[1..n] of real;
s,i: integer;
begin
writeln('исходный массив: ');
for i: =1 to n do
begin
a[i]: =random(10);
write('a[',i,']=',a[i],' ');
end;
s: =0;
for i: =1 to n do
s: =s+a[i];
writeln('сумма всех элементов массива s=',s);
end.
12.
напишите программу получения из заданного целочисленного массива размером 30 элементов другого массива, который будет содержать модули значений элементов первого массива (не используя специальной функции, вычисляющей модуль числа).
1) Верные высказывания:
- Массивы - это организации данных (верно, массив - это структура данных, которая содержит набор элементов одного типа)
- Размерность массива - количество элементов в массиве (верно, размерность массива определяется количеством элементов в нём)
- Одномерный массив имеет размерность 1 (неверно, размерность одномерного массива определяется количеством элементов, а не равна 1)
- Массивы позволяют использовать циклы для своей обработки (верно, циклы используются для обработки массивов и применения определенной логики к каждому элементу массива)
- Тип массива определяется типом своих элементов (верно, тип массива определяется типом данных, которые содержатся в его элементах)
- Таблица умножения - одномерный массив (неверно, таблица умножения - это двумерный массив, так как она содержит элементы, упорядоченные по двум параметрам: индексу строки и индексу столбца)
2) Определение элемента массива с[3]:
Для определения значения элемента с[3] воспользуемся формулой c[i] = i - 5:
c[3] = 3 - 5 = -2
Ответ: -2
3) Типы циклов в языке Паскаль:
- for
- while
- loop (неверно, такого типа цикла в языке Паскаль не существует)
4) Количество элементов массива d:
Массив d состоит из нечетных чисел от 11 до 21. Чтобы найти количество элементов массива, нужно вычислить, сколько нечетных чисел в этом диапазоне.
11, 13, 15, 17, 19, 21 - всего 6 нечетных чисел.
Ответ: 6
5) Выражение f[f[f[3]]] - f[f[2] - f[4]]:
По заданию, элементы массива f[1..6] равны 6, 5, 4, 3, 2, 1.
Вычислим значение выражения:
f[f[f[3]]] - f[f[2] - f[4]] = f[f[4]] - f[3 - 1] = f[1] - f[2] = 6 - 5 = 1
Ответ: 1
6) Вывод значения в результате выполнения фрагмента программы с массивом а:
Данный фрагмент программы проходит по элементам массива а и проверяет, является ли каждое число четным (a[i] mod 2 = 0). Если число четное, то переменная n умножается на 2. В конце программы выводится значение переменной n.
Массив а содержит числа 2, 7, 10, 2, 5.
Первое число, 2, является четным, поэтому в переменной n будет храниться результат n = 1 * 2 = 2.
Следующее число, 7, не является четным, поэтому переменная n остается без изменений.
Число 10 является четным, поэтому переменная n получает значение n = 2 * 2 = 4.
Следующее число, 2, является четным, поэтому переменная n получает значение n = 4 * 2 = 8.
Последнее число, 5, не является четным, поэтому переменная n остается без изменений.
Ответ: 8
7) Действия, выполняемые программой, вводящей массив а размерностью 40:
Программа считывает 40 чисел с помощью оператора readln и сохраняет их в массиве а. Затем выполняется цикл, в котором происходит перестановка элементов массива. После этого происходит вывод элементов массива на экран.
Ответ: меняет порядок следования значений элементов в массиве на обратный порядок.
8) Количество индексов массива определяет его размерность или количество значений, которые могут быть использованы для индексации элементов массива. Если массив имеет размерность n, то для индексации элементов нужно использовать значения от 1 до n.
Ответ: размерность массива
9) Если у массива только один элемент mas[1], то имя массива также будет mas.
Ответ: mas
10) Нет, изменение значений элементов массива не влияет на его размерность. Размерность массива определяется его объявлением и не может быть изменена в ходе выполнения программы.
Ответ: нет, изменение значений элементов массива не меняет размерность массива.
11) Измененная программа для нахождения суммы квадратов всех элементов массива:
program massiv;
const n = 25; // размер массива
var a: array[1..n] of integer; // массив целых чисел
s, i: integer; // переменные для суммы и счетчика
begin
writeln('исходный массив: ');
for i := 1 to n do
begin
a[i] := random(30) + 1; // значения элементов в интервале от 1 до 30
write('a[', i , '] = ', a[i], ' ');
end;
s := 0; // обнуляем сумму
for i := 1 to n do
s := s + sqr(a[i]); // суммируем квадраты элементов
writeln('сумма квадратов всех элементов массива s = ', s);
end.
12) Программа получения модулей значений элементов массива:
program get_abs;
const n = 30; // размер массива
var a: array[1..n] of integer; // входной массив
abs_a: array[1..n] of integer; // массив модулей значений элементов
i: integer; // счетчик
begin
// заполнение массива случайными значениями
for i := 1 to n do
a[i] := random(200) - 100; // случайное число от -100 до 99
// вычисление модулей значений элементов массива
for i := 1 to n do
begin
if a[i] < 0 then
abs_a[i] := -a[i]
else
abs_a[i] := a[i];
end;
// вывод модулей значений элементов
for i := 1 to n do
writeln('abs_a[', i, '] = ', abs_a[i]);
end.