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

Оператор цикла с параметром for

Цикл FOR можно найти во многих языках программирования, включая Паскаль. Однако вариант этого цикла в Паскале является одновременно ограниченным и эффективным.

Обычно набор операторов выполняется фиксированное число раз, пока некоторая переменная (так называемая индекная переменная) принимает значения из указанного диапазона.

Формат:

FOR индекс := выражение1 TO выражение2 DO оператор

где: индекс – это переменная скалярного типа (целого типа, символьного, булева или перечисляемого типа);

выражение1 и выражение2 – это выражения, имеющие тип, совместимый с индексом;

оператор – это одиночный или составной оператор.

Индекс увеличивается на единицу после каждого прохождения цикла. Можно также уменьшать, а не увеличивать индексную переменную, для этого нужно заменить ключевое слово TO на DOWNTO.

Основным недостатком цикла FOR является то, что он позволяет увеличивать или уменьшать только на 1. К его основным преимуществам относятся краткость и возможность использования символьного и перечисляемого типов в диапазоне значений.

Пример.

Составить программу нахождения и вывода на экран N чисел натурального ряда, кратных трем.

PROGRAM Cfor;

VAR

I,m,n: integer;

REPEAT

write(' Введите N >0 ');readln(N)

UNTIL N >0;

m:=3;

FOR i:=1 TO N DO BEGIN

writeln(m);

m:=m+3

END;

writeln(' Нажмите Enter '); readln;

END.

Пример.

Составить программу определения суммы 50-ти чисел натурального ряда, начиная с 1.

PROGRAM Cforsum;

VAR

Count, Summa,i : integer;

BEGIN

Summa:=0; i:=1;

FOR Count := 1 TO 50 DO BEGIN

Writeln('Count=',Count);

Summa:=Summa+i

END;

Writeln('Cумма=', Summa)

END.

    1. Структурированные типы данных

2.Массивы

СТРУКТУРИРОВАННЫЕ ТИПЫ ДАННЫХ определяют упорядоченную совокупность скалярных переменных и характеризуются типом своих компонент.

В языке Паскаль допускаются следующие структурированные типы данных: строки, массивы, записи, файлы и указатели.

Назначение и структура описания массивов

МАССИВЫэто структурированные типы данных, состоящие из фиксированного числа компонентов (элементов) одного типа, так называемого типа компонента.

Каждый элемент определяется своим индексом.

В индексных типах, по одному для каждой размерности массива, указывается число элементов. Допустимыми индексными типами являются все скалярные типы, за исключением вещественного (часто используется INTEGER).

Массив может быть проиндексирован по каждой размерности всеми значениями соответствующего индексного типа.

Для описания массива используется словосочетание ARRAY OF (массив из). Формат:

TYPE

<имя типа> = ARRAY[тип индекса] OF <тип компонент>;

VAR

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

Можно описать иначе:

VAR

<идентификатор,...>:ARRAY[тип индекса] OF <тип компонент>;

Каждый элемент определяется своим индексом, по которому осуществляется доступ. Язык Паскаль допускает использование одномерных, двумерных и N-мерных массивов.

Пример.

TYPE

nmes=ARRAY[1..12] OF integer;

VAR

matri=ARRAY[1..4,1..3] OF real;

pmes: nmes;

Matrica: ARRAY[1..2,1..3,1..4] OF real;

Masc: ARRAY[1..10] OF char;

Если тип элемента в типе массива является массивом, то результат можно рассматривать как массив массивов или как один многомерный массив.

Пример.

ARRAY[Boolean] OF ARRAY[1..100] OF ARRAY[Size] OF real интерпретируется компилятором точно так же, как ARRAY[Boolean,1..100,Size] OF real.

Индексные выражения обозначают компоненты в соответствующей размерности массива. Число выражений не должно превышать числа индексных типов в описании массива. Более того, тип каждого выражения должен быть совместимым по присваиванию с соответствующим индексным типом.

В случае многомерного массива одинаково можно использовать несколько индексов или несколько выражений в индексе.

Пример.

Matrix[I][J] тождественно Matrix[I,J]

Размерность массива ограничена памятью ЭВМ. Обычно одномерные массивы используются для представления векторов, а двумерные – матриц. Для указания размерности массива можно использовать предварительно определенные константы.

Пример.

CONST Gr1=3; Gr2=4;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]