Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2012_METODICh_POSOBIE_PASCAL.doc
Скачиваний:
18
Добавлен:
15.09.2019
Размер:
2.97 Mб
Скачать
  1. Вложенные циклы

В программах на Turbo Pascal возможно использование вложенных циклов. Это подразумевает, что существует внешний цикл и один или несколько внутренних цик­лов. Каждое повторение внешнего цикла означает за­вершение всех внутренних циклов; при этом всем вы­ражениям, которые управляют внутренними циклами, вновь присваиваются начальные значения.

  1. Оператор перехода

Оператор перехода имеет вид:

goto p;

где p— метка, которой помечен некоторый иной оператор в программе. В данном случае речь идет о переходе на метку, ука­занную после оператора.

Оператор перехода предназначен для передачи управле­ния в другую точку программы (т.е. для нарушения ес­тественного порядка выполнения операторов).

Например:

goto 11;

...

11: WriteLn (a) ;

В Turbo Pascal допускается использовать в качестве меток как числа (от 1 до 9999), так и идентификаторы.

После оператора GOTO должна быть указана единственная метка, и такой же меткой обязательно должен быть помечен один (и только один) из операторов программы. Однако один и тот же оператор может помечаться несколькими метками. Иными сло­вами, каждый оператор перехода передает управление в одну (и только в одну) точку программы, однако возможна передача управления из разных точек программы в одну.

Все метки, используемые в программе, должны быть объявле­ны. Раздел описания меток обозначается зарезервированным сло­вом LABEL и находится между заголовком и телом программы. Вот как может выглядеть раздел описания меток, в котором объявле­ны три метки.

label 1, 2, new;

Злоупотреблять использованием операторов GOTO не рекомендуется, поскольку в результате получаются малопонятные программы. Тем более что без оператора GOTO, как правило, можно обойтись, применив другие средства Turbo Pascal.

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

Задача 5.

Найти сумму ряда:

Математическая формулировка задачи:

С умму ряда можно определить при помощи цикла. Для этого обозначим знаменатели дробей переменной i. Эта переменная будет счетчиком цикла. Она имеет начальное значение 2 и конечное значение 100 (так как знаменатель первой дроби равен 2, а последней дроби равен 100). В цикле значение переменной i будет увеличиваться на 1 на каждом проходе. При помощи переменной i на каждом проходе цикла получаем очередной элемент ряда el:=1/i. Будем добавлять текущий элемент каждый раз к предыдущей сумме, то есть на каждом проходе цикла сумма станет увеличиваться на очередное значение el. Так постепенно накопится вся сумма.

Алгоритм решения задачи 5: Текст программы:

Program Ex_5;

Uses Crt;

Var

S: real; { сумма }

El: real; { элемент ряда }

i: integer; { знаменатели дробей }

Begin

ClrScr;

S:=0;

For i:=2 to 100 do

begin

el:=1/i;

S:=S+el;

End;

Writeln(‘S=’,S);

Readln;

End.