Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по технологии програм..doc
Скачиваний:
13
Добавлен:
24.02.2016
Размер:
253.95 Кб
Скачать

1.Общая форма записи оператора цикла while:

WHILE <Л.B.> DO

BEGIN

Тело цикла

END;

Начальные значения задаются до открытия цикла (до WHILE).

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

Пример:

Y=f(x) h=dx

x:=a; {начальные значения}

whilex<=bdo(только один оператор)

begin

y:=f(x)

write (x,y);

x:=x+dx;

end;

Если условие в цикле whileизначально невыполнимо, то тело цикла не выполняется ни разу.

Аргументом может быть переменная любого типа.

2. Общая форма записи repeat.

REPEAT

тело цикла;

UNTILЛ.B.;

Тело цикла REPEATвыполняется до тех пор, пока условие не примет значение=TRUE.

Пример:

x:=a; {начальное значения}

REPEAT

X:=A(X);

WRITELN (X,Y);

X:=X+dX;

UNTIL X>B;

При переходе от цикла WHILEк циклуREPEATзнак логического выражения меняется на обратно противоположное.

Например, если в цикле WHILEусловие было Х<=5, то в циклеREPEATоно будет Х>5.

A B

нет

Начальные значения

количество выполнений цикла.

да

Отличия цикла WHILEот циклаREPEAT.

WHILE

REPEAT

1. Цикл выполняется при Л.B.=TRUE

1. Цикл выполняется при Л.B.=FALSE

2. Тело цикла заключено в операторные скобки.

2. Операторных скобок нет

3. Если Л.B.=FALSE изначально то

тело цикла не выполняется ни разу.

3. Если Л.B.=TRUE изначально то

тело цикла выполнится хотя бы 1 раз.

Операторы цикла могут быть вложены один в другой:

П

x

ример: Z=f(x,y), ,h=dx, ,h1=dy

a b

y

c d

Z=f (a, c)

Z=f (a, c + dy)

3. Общая форма записи оператора цикла for.

a) FOR имя переменной:= начальное значение TO конечное значение DO

BEGIN

Тело цикла;

END;

б) FOR имя переменной:= конечное значение TO начальное значение DO

BEGIN

Тело цикла;

END;

Переменная в цикле FOR может быть только целого типа или символьная (литерная). В случае а) автоматически заложен шаг равный 1; в случае б) шаг равный –1.

!!! – Изменять значение переменной (т.е. присваивать ей какие-либо значения) в теле цикла нельзя.

Пример:

Посчитать значение функции y=f(x), где, с шагом 0.1 с помощью циклаFOR.

а) FOR X:=0 TO 10 DO

BEGIN

Y:=B(X*0,1);

WRITELN (Y,X*0,1);

END;

б) FOR X:=10 DOWN TO 0 DO

BEGIN …

Отличие цикла for от while и repeat.

FOR

WHILE, REPEAT

1.Тип переменных:

integer, char

Любые

2. Шаг = 1 или -1

Любой

3. Количество повторений цикла может быть только строго определено.

Неизвестно

Лекция №4. Массивы.

Массивы в Pascalразделены на две категории:

  1. По количеству элементов и размерности.

  2. По типу элементов.

Массивы бывают однородными и неоднородными (от типа элементов).

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

Одномерные массивы и работа с ними.

Общая форма записи:

1йСпособ описания массива.

VARимя массива:ARRAY[нач. знач. интервала .. конеч.знач. интер.]

OF базовый тип;

Пример:

A (A1, A2, A3…A10)

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

2йСпособ описания массива.

TYPEимя типа=ARRAY[нач. знач. интервала .. конеч.знач. интер.]

OF базовый тип;

VAR имя массива: имя типа;

Пример:

A (A1, A2, A3…A10)

TYPE MAS=ARRAY[1..10] OF REAL;

VAR A: MAS;

Ввод и вывод одномерного массива.

Работа с одномерным массивом организована через цикл FOR.

Блок ввода одномерного массива:

FOR I:=1 TO 10 DO

BEGIN

WRITE ('A[ ', I, ' ]=');

READLN (A[ I ]);

END;

Заполнение одномерного массива случайными числами:

USES CRT;

---------------------

BEGIN RANDOMIZE; {инициализация счетчика случайных чисел}

FOR I:=1 TO 10 DO

A[ I ]:= RANDOM (10); {целые числа}

(A[ I ]:= RANDOM (10)+RANDOM(1); {вещественные} )

END.

Вывод элементов одномерного массива.

FOR I:=1 TO 10 DO

WRITE (A[ I ], ' ');

Пример: Посчитать сумму элементов одномерного массива.

SUM:=0;

FOR I:=1 TO 10 DO

SUM:=SUM+A[ I ];