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

13. Циклы с параметром. Связь с другими циклами.

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

Структура цикла, организованного с помощью этого оператора, имеет вид:

For I := A To B Do Begin <операторы> End;

или For I := A DownTo B Do Begin <операторы> End; Здесь I — параметр, изменяющийся в цикле; A, B — выражения порядкового типа, обозначающие начальное, конечное значение параметра цикла. Шаг изменения номера параметра цикла равен 1, если в заголовке цикла стоит To (т.е. реально следующее значение параметра цикла вычисляется с помощью функции succ); и -1 — при DownTo (вычисление производится с помощью функции pred).

Связь с другими циклами: ввести пример задачи и применять разные циклы.

Пример: {Программа вычисления суммы степ-й sin x}

Program Summa;

Var S, X, Pr : Real; N, I : Integer;

Begin

Write('Вв. n-слаг-ых и x: '); ReadLn(N, X);

Pr := 1; {в этой переменной хранятся последовательные степени sin x}

S := 0;

For I := 1 To N Do

Begin

Pr := Pr * Sin(X); {Очередная степень Sin(x)}

S := S + Pr

End;

WriteLn('Сумма равна ', S : 7 : 4)

End.

Параметр цикла его НЗ и КЗ м/б только порядкового типа (целые, переч-ые, диапазонные, символьные, лог-ие). Параметр цикла может меняться на 1 и на -1 если to - на 1, если downto - на -1. Если используется to, то ПЦ:=succ(ПЦ); если downto, то ПЦ:=pred(ПЦ).

В теле цикла ПЦ, НЗ и КЗ менять запрещено.

14. Структ-ый тип данных. Линейные массивы. Примеры.

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

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

Хар-ка: 1) вообще кол-во индексов эл-тов массива определяет размерность массива. По этом признаку массивы делятся на одномерные (линейные), двумерные, трёхмерные, векторные и т.д. 2) размер. Обозначает кол-во эл-тов в массиве. Размер: а) общий - задает max возможное кол-во эл-тов; б) текущий - текущее кол-во эл-тов. Текущий не м/б больше общего. 3) тип эл-тов. Эл-ты массива м/б любого типа (простого или структурного, за исключ-ием файла). 4) тип индексов. Индексы м/б любого порядкового типа (целые, лог-ие, симв-ые, переч-ые, диапаз-ые). Для размещения массива в памяти ЭВМ отводится поле памяти, размер которого определяется типом, длиной и количеством компонент массива. В языке Pascal эта информация задается в разделе описаний.

Массив описывается так: имя массива: Array [начальное значение индекса..конечное значение индекса] Of базовый тип; чтобы обратиться k эл-там массива, необходимо указать имя массива и индекс эл-та.

Пример: Program Vvod;

Var N, I : Integer;

A : Array [1..20] Of Integer;

Begin

Write('Вв. кол-во эл-тов массива '); ReadLn(N);

for i := 1 to n do

Begin

Write('Вв. A[', I, '] '); ReadLn(A[I])

End.