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

Операторы ограничения и прерывания цикла

Данные операторы применяются внутри операторов цикла с параметром или условием. Операторы имеют вид:

Continue; – ограничение цикла,

Break; – прерывание цикла.

Операторы Continue; и Break; позволяют производить действия не для всех операторов внутри цикла. Действие оператора Continue; заключается в передаче управления на начало цикла, при этом контролируется условие выхода из цикла. Действие оператора Break; заключается в передаче управления оператору, следующему за последним оператором цикла, при этом не контролируется условие выхода из цикла. Во вложенных циклах операторы Continue; и Break; действуют только на цикл в котором они записаны. Приведем пример использования операторов для блокировки несанкционированного доступа в программу:

…….

For i:= 1 to 3 do begin

Writeln('Введите ПАРОЛЬ:'); Readln(S); {S и Parol - переменные одного типа}

If S = Parol Then Break {прерывание цикла}

else If i <> 3 Then Continue; {ограничение цикла}

Writeln('Доступ к программе ЗАПРЕЩЕН');

Writeln('Нажмите Enter'); Readln; Halt {прерывание программы}

end;

. {продолжение программы}

Когда циклы организуются внутри других циклов, говорят о вложенности циклов.

24.Массивы Pascal.

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

Массив объявляется в следующей общей форме:

ARRAY [тип индексов 1,…тип индексов n] of <тип элементов массива>; n – число измерений массива. Например, одномерный массив из десяти элементов может быть объявлен одним из двух способов:

TYPE R = ARRAY[1..9] of integer;

VAR MAS1:R;

Или

VAR MAS1: ARRAY[1..9] of integer;

В первом способе введен новый тип R и объявлена переменная MAS1 типа R, во втором переменная MAS1 сразу объявлена как соответствующий массив. Для того чтобы присвоить некоторому элементу массива определенное значение, достаточно записать инструкцию присваивания:

Имя массива[индекс элемента]:=заданное значение; MAS1[4]:=8;

Над целым массивом можно выполнять только две операции - присваивание и сравнение:

A:=B; if A<>B; If A=B;

Все остальные операции выполняются над массивом поэлементно и допустимы все операции разрешенные для данного типа элементов.

{заполнение массива с клавиатуры}

......

begin

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

....

{вывод элементов массива на монитор}

……

for i:= 1 to 5 do write (A[i]); {или writeln(A[i]) для вывода в столбик}

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

Двумерный массив (матрица, таблица) состоит из строк и столбцов. Количество строк и столбцов определяют размер массива (NxM), где N – кол-во строк, M – кол-во столбцов:

A:Array[1..3,1..4] of byte;

где 1..3 – индексы строк, 1..4 – индексы столбцов.

Значения двумерного массива вводятся с помощью вложенного оператора for:

for i:=1 to 3 do

for i:=1 to 4 do

read (A[i,j]); (или оператор readln(A[i,j])).

Вывод матрицы размерностью NxM на экран.

...........

for i:=1 to n do begin

for j:=1 to m do

write(A[i,j]:7:2);

writeln;

end;

……..

Сортировка массива – это упорядочение его элементов по возрастанию или по убыванию. Общеприняты два метода: метод выбора и метод обмена (пузырька).

Метод выбора.

Ищем минимальный элемент в массиве и меняем его местами с первым элементом.

Рассматриваем массив со второго элемента … и т.д.

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

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