Задания уровня 1

Упражнение 1.
     Найти в массиве элементы, равные числу, заданному пользователем. Подсчитать их количество и вывести номер первого найденного элемента. Массив задается при помощи ввода с клавиатуры.

1. Наберите текст программы:


Program MAS_1;
const count=10;
var n, {Число для поиска}
a, {Номер первого элемента}
b, {Количество элементов}
i: integer;
m: array [1..count] of integer;
begin
writeln('Ввод исходного массива: ');
for i:=1 to count do
begin
write('Элемент №', i, ': ');
readln(m[i]);
end;
a:=0; b:=0;
write('Введите число для поиска > '); readln(n);
for i:=1 to count do {Поиск элемента, равного n}
if m[i]=n then
begin
if b=0 then a:=i; {Запомним номер первого элемента, равного n}
b:=b+1; {Увеличить число найденных элементов на 1}
end;
if b=0 then writeln('Нет таких элементов в массиве? ')
else
begin
writeln('Количество элементов массива, имеющих значение ', n, ' =', b:3);
writeln('Первый элемент имеет номер ', a:3);
end
end.

2. Запустите программу на выполнение и проверьте её работу: Ctrl-F9
3. Для просмотра результатов выполненной программы необходимо нажать: Alt-F5
4. Сохраните программу на своем диске: A:\P6PR1

Упражнение 2.
     Сформировать матрицу случайных чисел и транспонировать ее. При транспонировании элементы матрицы переставляются таким образом, что строки исходной матрицы становятся столбцами транспонированной матрицы. При этом элементы, расположенные на главной диагонали исходной и транспонированной матриц, одни и те же. Операция транспонирования сводится к обмену элементов матрицы, расположенных симметрично относительно главной диагонали.

1. Наберите текст программы:


Program MAS_2;
const row=3; col=row;
var a: array [1..row, 1..col] of integer;
i, j, buf: integer;
begin
randomize; {Инициализация датчика случайных чисел}
writeln('Исходная матрица случайных чисел: ');
for i:=1 to row do
begin
for j:=1 to col do
begin
a[i, j]:=random(100); {Случайное значение элемента}
write(a[i, j]:4); {Вывод элемента массива на экран}
end;
writeln;
end;
{Транспонирование матрицы}
for i:=1 to row do {Просмотр всех строк матрицы}
{Просмотр элементов в строке, расположенных выше главной диагонали}
for j:=1 to col do
begin
buf:=a[i, j]; a[i, j]:=a[j, i]; a[j, i]:=buf;
end;
writeln('Результат транспонирования матрицы: ');
for i:=1 to row do
{Обмен элементов, симметричных относительно главной диагонали}
begin
for j:=1 to col do write(a[j, i]:4);
writeln;
end
end.

2. Запустите программу на выполнение и проверьте её работу: Ctrl-F9
3. Для просмотра результатов выполненной программы необходимо нажать: Alt-F5
4. Сохраните программу на своем диске: A:\P6PR2

Задания уровня 2

1. В одномерном массиве выполнить поиск максимального элемента массива, а затем вывести на экран его значение и порядковый номер в массиве. Массив задается с помощью датчика случайных чисел. Записать программу под именем P6PR3.
2. Требуется вывести на экран сумму четных элементов массива из 10 чисел. Массив заполняется случайными числами. Записать программу под именем P6PR4.
3. Требуется переписать элементы массива a в массив b в обратном порядке. Массив a заполняется случайными числами. Сохранить программу под именем P6PR5.
4. Задана матрица A размера 5?7. Требуется вывести ее на экран так, чтобы каждая строка матрицы выводилась на экран с новой строки. Сохранить программу под именем P6PR6.

Задания уровня 3

5. Требуется переписать элементы массива a в массив b, удвоив все элементы, меньшие первого элемента, остальные переписать без изменения. Массив a заполняется случайными числами. Сохранить программу под именем P6PR7.
6. Транспонировать целочисленную матрицу 5х5. Массив задается при помощи ввода с клавиатуры. Сохранить программу под именем P6PR8.
7. Составить программу, которая вводит с клавиатуры квадратный массив целых чисел и формирует два вектора. В первый записываются элементы исходного массива, расположенные на главной диагонали и выше, а во второй – элементы, лежащие ниже главной диагонали. Предусмотреть вывод на экран. Сохранить программу под именем P6PR9.
8. В каждой строке матрицы C размера M?N найдите минимальный элемент и поменяйте его с первым элементом в этой строке. Сохранить программу под именем P6PR10.
9. Составьте программу вычисления среднего арифметического элементов в каждом столбце матрицы B размера N ?N и запишите полученные значения в главную диагональ этой матрицы. Сохранить программу под именем P6PR11.


Контрольные вопросы:
1. Что такое массив?
2. Что такое одномерный массив?
3. Что представляет собой двумерный массив?
4. Как обозначаются массив и элемент массива?
5. Как описываются массивы в программах?
6. Как производится ввод и вывод данных в массивах?
7. Перечислите характеристики массивов.
8. Какие типы адресации существуют при обращении к элементам массива?