- •3.1. Язык программирования Паскаль
- •3.2. Структура программы в Паскале. Ввод и вывод данных.
- •Var ij:integer; X: real;
- •Var a,b: real;
- •3.3. Работа в системе Турбо Паскаль
- •3.4. Условный оператор
- •Var a, b: integer;
- •3.5. Организация циклов
- •Var a, b: integer;
- •Var a, b: integer;
- •Var a, b: integer;
- •Var a, p: real; I, n: integer;
- •Var p, I, n: integer;
- •Var X, у: real;
- •Var a, s: real; I, n: integer;
- •Var a: array [1 .. N ] of real;
- •1. Вычисление суммы элементов массива.
- •Var a: array [1 .. N ] of real; s : real; I: integer;
- •2. Нахождение наибольшего элемента массива.
- •Var a: array [1 .. N ] of integer; max, I: integer;
- •3. Упорядочение массива по возрастанию.
- •Var a : array [ 1.. N ] of real; I, j: integer; c: real;
- •4. Поиск элемента в массиве.
- •Var a : array [1 .. N ] of real; X : real; I : integer;
- •3.7. Алгоритмы обработки таблиц
- •1. Вычисление суммы элементов главной диагонали квадратной таблицы.
- •Var b: array [ 1..N, 1..N ] of real; I, j: integer;
- •Var b: array [ 1.. N, 1 .. N ] of real; I, j: integer; s: real;
- •2. Нахождение наибольших элементов каждой строки таблицы.
- •Var b: array [1 .. N, 1 .. N ] of integer; I, j: integer; a: array [1 .. N ] of integer;
- •3. Нахождение сумм элементов столбцов таблицы.
- •Var b: array [1 .. N, 1 .. N ] of integer; s, I, j: integer; a: array [1 .. N ] of integer;
- •4. Перестановка строк таблицы.
- •Var b: array [ 1 .. N, 1 .. M ] of real; c: real; I, j, k, l: integer;
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
Вопросы и задания
Чем отличается массив от файла?
Для чего необходимо описание массива?
Что надо сделать, чтобы начать решать на компьютере задачу, формулировка которой начинается со слов: «Дано п чисел...»?
Может ли массив содержать разнородные данные?
Можно ли в примере программы Е12 ограничиться одним оператором цикла?
Что надо изменить в программе Е13, чтобы осуществлялся поиск не наибольшего, а наименьшего элемента массива?
Какие изменения в программу Е13 надо внести, чтобы одновременно со значением наибольшего числа определялся его порядковый номер?
Объясните работу двойного цикла в программе Е14.
Измените программу Е15 так, чтобы вместо цикла пересчет при поиске элемента использовался цикл пока. Примените переменную-флажок, которая до цикла имела бы нулевое значение, а в случае нахождения необходимого элемента изменила бы значение на 1. Как при этом обойтись без операторов goto?
В заданной последовательности целых чисел определите количество и сумму элементов, кратных 10.
Дано и чисел. Найдите сумму чисел, больших заданного числа а.
В заданном массиве замените нулем наибольший элемент.
Найдите полупроизведение всех положительных элементов массива.
Найдите сумму квадратов неотрицательных элементов и количество положительных чисел в заданном целочисленном одномерном массиве.
В заданной вещественной последовательности поменяйте местами первый и наименьший элементы.
Дано п чисел. Замените все отрицательные числа их модулями.
Вычислите среднее арифметическое наибольшего и наименьшего из 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;