Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник Кузнецова.doc
Скачиваний:
9
Добавлен:
18.11.2019
Размер:
369.15 Кб
Скачать

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

begin

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

for i: = 1 to n do

read (a [ i ]);

writeln;

write ('введите число для поиска в массиве, х = ');

readin (x);

for i: = 1 to n do

if a [ i ] = x then goto 1 ;

writeln ('такого числа в массиве нет");

goto 2;

1 : write ('номер элемента массива, равного данному ', i)

2: end.

Если искать не первый по порядку равный ключу элемент, а последний, то надо использовать цикл обратного пересчета: for i: = n downto 1 do.

113

Вопросы и задания

  1. Чем отличается массив от файла?

  2. Для чего необходимо описание массива?

  1. Что надо сделать, чтобы начать решать на компьютере задачу, формулировка которой начинается со слов: «Дано п чисел...»?

  1. Может ли массив содержать разнородные данные?

  1. Можно ли в примере программы Е12 ограничиться одним оператором цикла?

  2. Что надо изменить в программе Е13, чтобы осуществлялся поиск не наибольшего, а наименьшего элемента массива?

  3. Какие изменения в программу Е13 надо внести, чтобы одновременно со значением наибольшего числа определялся его порядковый номер?

  1. Объясните работу двойного цикла в программе Е14.

  1. Измените программу Е15 так, чтобы вместо цикла пересчет при поиске элемента использовался цикл пока. Примените переменную-флажок, которая до цикла имела бы нулевое значение, а в случае нахождения необходимого элемента изменила бы значение на 1. Как при этом обойтись без операторов goto?

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

  2. Дано и чисел. Найдите сумму чисел, больших заданного числа а.

  3. В заданном массиве замените нулем наибольший элемент.

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

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

  6. В заданной вещественной последовательности поменяйте местами первый и наименьший элементы.

  7. Дано п чисел. Замените все отрицательные числа их модулями.

  8. Вычислите среднее арифметическое наибольшего и наименьшего из n чисел.

114

3.7. Алгоритмы обработки таблиц

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

b11 b12 … b1m

b21 b22 … b2m

… … … …

bn1 bn2 … bnm

На Паскале имена элементов массива записываются так же, с двумя номерами (индексами): b(1,1), b(I, 2), ..., b(1,т), b (2, 1), b (2, 2), ..., b (2, т), ..., b (n, т). В памяти компьютера элементы двумерного массива расположены один за другим: после элементов первой строки следуют элементы второй строки и т. д. Если число строк таблицы равно числу столбцов, то такая таблица называется квадратной. Главная диагональ квадратной таблицы проходит из левого верхнего угла в правый нижний.

Рассмотрим задачи обработки таблиц и алгоритмы их решения.

1. Вычисление суммы элементов главной диагонали квадратной таблицы.

Для решения задачи надо выполнить следующие шаги: 1) ввести таблицу в память; 2) найти сумму элементов главной диагонали; 3) напечатать результат. Описание таблицы, как и описание одномерного массива, используется для резервирования памяти. В описании указываются диапазоны для двух номеров: строк и столбцов.

const n = 3;