Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ Информатика 2 часть.docx
Скачиваний:
5
Добавлен:
22.09.2019
Размер:
2.18 Mб
Скачать

Приложение з

(информационное)

Пример выполнения лабораторной работы 4

Задание: Вычислить факториал числа N, введенного с клавиатуры.

Этапы решения задачи:

  1. Математическая модель: .

  2. Алгоритм работы программы приведен на рисунке З.1.

Рисунок З.1 – Блок-схема программы

  1. Листинг программы.

Programexample3;

var i,N, Factorial: Longint;

begin

Write('ВведитеN');

Readln(N);

Factorial:=1;

For i:=1 to N do

begin

Factorial:=Factorial*i;

end;

WriteLn(‘Факториал числа N=’, Factorial);

readln;

end.

  1. Результаты тестирования программы.

Приложение и

(информационное)

Массивы

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

Массив – структурированный тип данных, состоящий из фиксированного числа элементов, имеющих один и тот же тип. Элементы, образующие массив, упорядочены таким образом, что каждому элементу соответствует номер (индекс), определяющий его местонахождение в общей последовательности.

Массивы бывают линейными (одномерные) и прямоугольные (двумерные).

Перед использованием массив, как и любая переменная, должен быть объявлен в разделе объявления переменных.

В общем виде объявление массива выглядит так:

Имя: array[нижний индекс..Верхний индекс] of тип

где имя – имя массива;

нижний индекс и верхний индекс – целые числа, определяющие диапазон изменения индексов (номеров) элементов массива и, неявно, количество элементов (размер) массива; тип – тип элементов массива.

Описание массивов может быть прямое или через описание типовТype.

  1. Прямое описание Var– идентификатор, идентификатор, …, идентификатор:

array– [границы индекса, границы индекса, …, границы индекса] of – базовый тип.

  1. Описание через Тype:

Тype E – имя типа=array[границы индекса, границы индекса, . . ., границы индекса] of базовый тип;

Var – идентификатор, идентификатор,.., идентификатор: имя типа;

Например объявить массив, состоящий из 9 слов можно следующим образом:

massiv: array[1..9] of string;

Тип string – строковый тип, значениями этого типа могут являться строки любых символов, заключенные в одинарные кавычки, например ‘Информатика’ или ‘Программа’.

Возможно также следующее объявление массива, состоящее из элементов строкового типа:

massiv: array[1..9] of string[10];

В данном случае имеется ввиду, что объявлен массив, в котором будут наборы максимум из 10 символов.

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

Например, чтобы присвоить пятому элементу ранее объявленного массива «Иванов» необходимо написать:

massiv[5]:=’Иванов’;

К типичным действиям с массивами можно отнести следующие:

  • Вывод массива;

  • Ввод массива;

  • Сортировка массива;

  • Поиск в массиве заданного элемента;

  • Поиск в массиве максимального и минимального элемента.

1. Ввод и вывод массивов

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

Пример ввода массива из 4 элементов строкового типа.

program Primer;

var A:array[1..4] of string[11]; {описание массива}

i:integer; {индекс массива}

begin

writeln(‘Введите четыре элемента массива, например времена года’);

readln(A[1],A[2],A[3],A[4]);

end.

Можно также инициализировать элементы массива прямо в программе, например:

program mas1;

var A : array[1..4] of string[11]; {описание массива}

i : integer; {индекс массива}

begin

A[1]:=’Зима’;

A[2]:=’Весна’;

A[3]:=’Лето’;

A[4]:=’Осень’;

end.

В случае если элементов массива немного можно воспользоваться этим способом, но если элементов 10 или больше удобнее использовать цикл.

Пример ввода 4 элементов массива строкового типа с клавиатуры:

program Primer6;

var A:array[1..4] of string[11]; {описание массива}

i:integer; {индекс массива}

begin

writeln(‘Введите четыре элемента массива, например времена года’);

for i:=1 to 4 do readln(A[i]);

end.

Под вводом массива понимается ввод значений элементов массива. Как и ввод массива, вывод удобно реализовать при помощи инструкции for. чтобы пользователь программы знал, ввода какого элемента массива ожидает программа, следует организовать вывод подсказок перед вводом очередного элемента массива. В подсказке обычно указывают индекс элемента массива.