Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы алгоритм и программ_УМК.doc
Скачиваний:
747
Добавлен:
22.02.2016
Размер:
5.24 Mб
Скачать

Лекция 2 Программирование алгоритмов с использованием одномерных массивов данных

План лекции:

1. Массив данных. Объявление массива.

2. Программирование алгоритмов с использованием одномерных массивов данных.

Если переменная в каждый момент времени способна принимать лишь одно фиксированное значение, то ее называют простой (скалярной). Переменные, состоящие из нескольких объединенных по какому-то признаку простых компонентов одного типа и имеющие общее имя, называют сложными (структурированными). Примером структурированной переменной является массив.

Массив (индексированные переменные) подмножество однотипных переменных, объединенных по какому-либо признаку и имеющих общее имя. Отдельные величины, составляющие массив, называются его элементами. Имена массивов образуются по тем же правилам, что и имена простых переменных. Доступ к конкретному элементу массива осуществляется с помощью индексов, которые указывают в квадратных скобках после имени. Например: Beta[5] пятый элемент массива Beta; Delta[J] элемент массива Delta с порядковым номером J. Значение индекса есть целочисленная переменная (константа, выражение) или отдельные символы (тип CHAR). Присутствующие в программе элементы массивов объявляются в разделе описания переменных VAR, например:

VAR MAS1 : ARRAY[1..10] OF INTEGER;

MAS2 : ARRAY[1.. 8] OF REAL;.

При объявлении массива вначале указывают его имя (например, MAS1), а затем, после двоеточия и слова ARRAY, интервал изменения индексов в квадратных скобках (в частности, для MAS1 – от 1 до 10), ключевое слово OF и указатель типа элементов в массиве (в нашем примере INTEGER – целый).

Количество приводимых в квадратных скобках индексов, необходимых для установления месторасположения элементов массива, определяет его размерность. Для ввода и вывода элементов массива будем использовать оператор цикла FOR, в котором параметром цикла будет индекс (порядковый номер) элемента массива.

Пример 3 В заданном массиве А1, А2, ... , А30 найти и вывести на печать сумму и произведение всех элементов массива.

Рисунок 7 – Схема алгоритма примера 3

PROGRAM PRIMER3;

VAR S,P,I: INTEGER;

A: ARRAY [1..30] OF INTEGER;

BEGIN

FOR I:=1 TO 30 DO READLN (A[I]);

S:=0; P:=1;

FOR I:=1 TO 30 DO BEGIN

S:=S+A[I];

P:=P*A[I];

END;

WRITELN (‘СУММА=’,S:6,

ПРОИЗВЕДЕНИЕ=’,P:10);

END.

Пример 4 В массиве из n элементов (n задано): X1, X2, ... , Xn, не содержащем одинаковых элементов, найти максимальный элемент и его порядковый номер.

Рисунок 8 – Схема алгоритма решения примера 4

PROGRAM PRIMER4;

CONST N=20;

VAR I,MAX,M: INTEGER;

X: ARRAY [1..N] OF INTEGER;

BEGIN

FOR I:=1 TO N DO READLN (X[I]);

MAX:=X[1];

M:=1;

FOR I:=2 TO N DO IF X[I]>MAX THEN

BEGIN

MAX:=X[I];

M:=I;

END;

WRITELN(‘МАКСИМ.ЭЛЕМЕНТ=’, MAX:5,‘ЕГО НОМЕР - ’,M:2);

END.

Вопросы для самоконтроля

  1. Что такое цикл, циклический вычислительный процесс?

  2. Как классифицируются циклы?

  3. Что такое параметр цикла?

  4. Что такое массив данных?

  5. Что такое индекс элемента массива и что он характеризует?

  6. Какой цикл называется детерминированным?

  7. В чем отличие операторов цикла WHILE и REPEAT?