Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР4 (Массивы).doc
Скачиваний:
17
Добавлен:
12.11.2018
Размер:
117.76 Кб
Скачать

4 Содержание работы

 4.1 Составьте и отладьте программу решения следующей задачи: Задан массив из 6 целых чисел. Найдите сумму его элементов.

Указание: Соответствующий фрагмент программы имеет вид:

s:=0;

for i:=1 to 6 do

begin

writeln('Введите элемент массива');

readln(a[i]);

s:=s+a[i]

end;

writeln('сумма s=', s);

...

4.2 Дополните созданную программу. Добавьте фрагмент, позволяющий найти количество неотрицательных элементов в описанном выше массиве.

Возможный вид решения:

k:=0;

for i:=1 to 6 do

if a[i]>=0 then k:=k+1;

writeln('количество k=', k);

...

4.3 Дополните программу. Найдите наименьший элемент в заданном массиве.

Пример возможного решения:

min:=a[1];

for i:=2 to 6 do if a[i]<min then min:=a[i];

writeln('min=', min);

4.4 Дополните созданную программу. Поменяйте местами первый и последний элемент исходного массива.

Указание: Используйте алгоритм следующего вида:

c:=a[1];

a[1]:=a[6];

a[6]:=c;

for i:= 1 to 6 do write (a[i]:5);

...

4.5 Выполните задание в соответствии с указанным преподавателем вариантом из приложения А.

4.6 Составьте и отладьте программу решения следующей задачи: Задана целочисленная матрица из 3 строк и 4 столбцов. Найти сумму всех элементов данной матрицы. Указание: Используйте фрагмент программы следующего вида:

s:=0;

for i:=1 to 3 do

for j:=1 to 4 do

begin

writeln('Введите элемент массива');

readln(a[i,j]);

s:=s+a[i,j]

end;

writeln('сумма s=', s);

4.7 Дополните полученную программу. Найдите сумму элементов первой строки данной матрицы.

Вид возможного решения:

s1:=0;

for j:=1 to 4 do s1:=s1+a[1,j];

writeln('сумма первой строки s1=', s1);

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

Указание: Дополните программу фрагментом следующего вида:

for i:=1 to 3 do

begin

for j:=1 to 4 do write (a[i,j]:5);

writeln

end;

4.9 Выполните задание из указанного преподавателем варианта приложения Б.

4.10 Составьте и отладьте программу решения следующей задачи:

Задана целочисленная матрица А размерности 5х7. Переставьте местами первую и последнюю строку данной матрицы.

Указание: Для задания матрицы А используйте случайные числа из диапазона [-10,10]:

for i:=1 to 5 do

for j:=1 to 7 do

a[i,j]:=-10+random(21);

Замечание: Функция random(n) служит для задания случайных целых чисел из диапазона 0 ≤ x ≤ n-1.

После заполнения матрицы выведите ее на экран.

Для перестановки местами первой и последней (в данном случае пятой) строки используйте цикл следующего вида:

for j:=1 to 7 do

begin

c:=a[1,j];

a[1,j]:=a[5,j];

a[5,j]:=c

end;

В завершении программы выведите на экран полученную в результате преобразований матрицу.

4.11 Выполните задание на перестановку или замену элементов матрицы в соответствии с указанным преподавателем вариантом приложения В.

5 Контрольные вопросы

5.1 Что понимают под массивом данных?

5.2 Что называют размерностью массива?

5.3 Что понимают под индексом элемента массива?

5.4 Какой массив называется одномерным?

5.5 Приведите примеры одномерных массивов.

5.6 Как описываются одномерные массивы на языке PASCAL?

5.7 Как задается диапазон изменения индексов массива?

5.8 Как обозначаются индексы массивов на языке PASCAL?

5.9 Какие стандартные алгоритмы по работе с одномерными массивами Вы знаете?

5.10 Поясните понятия двумерного массива, матрицы.

5.11 Что обозначают индексы матрицы?

5.12 Сколько элементов в матрице из 7 строк и 9 столбцов?

5.13 Дайте понятие квадратной матрицы, диагоналей квадратной матрицы.

5.14 Приведите пример описания двумерных массивов на языке PASCAL.

5.15 Поясните порядок использования вложенных циклов при вводе элементов двумерного массива.