- •Программирование алгоритмов линейной структуры
- •Var Dlina,Shirina,s:real;
- •Var a, b, dop: integer;
- •Программирование алгоритмов разветвляющейся структуры
- •Var yfx:real;
- •Var max,X,y:real;
- •Программирование алгоритмов циклической структуры
- •Var m,n:Longint;
- •Var m,n,a,I:integer; {описание переменных}
- •Параметр уменьш. На 1
- •Var ch:char;
Var m,n:Longint;
k:integer; {счетчик цифр}
Begin
Writeln('Введите целое число');
Readln(n); {ввод n}
m:=n;
k:=0;
white m<>0 do
begin
lnc(k); {увеличиваем счетчик на 1}
m:=m div 10; {уменьшаем число на последнюю цифру}
end;
Writeln('B числе ',n,' — ',к:4,' цифр!'); {вывод результата}
Readln;
End.
Для управления работой циклическими операторами существуют две процедуры:
BREAK — реализует немедленный выход из цикла, управление передается оператору, стоящему сразу после тела цикла.
CONTINUE — обеспечивает досрочное прохождение цикла, эквивалентна передаче управления в конец циклического оператора.
Оператор цикла с параметром
Когда заранее известно число итераций цикла, можно использовать цикл по счётчику (цикл с параметром). Несмотря на то, что цикл по счётчику является частным случаем цикла с предусловием, он имеет особую практическую значимость при описании алгоритмов обработки массивов. Кроме того, цикл по счётчику может быть использован для расчёта или генерации параметризуемых элементов последовательности.
Неотъемлемым атрибутом такого цикла является переменная-счётчик (параметр-счётчик), в которой хранится информация о текущей итерации.
Структура:
For <параметр>:=<нач. знач.> to <кон. знач.> do <оператор>;
For <параметр>:=<нач. знач.> downto <кон. знач.> do <оператор>;
For, to, downto, do — зарезервированные слова.
<параметр> — параметр цикла — переменная любого порядкового типа.
<нач. знач.> — начальное значение — выражение того же типа.
<кон. знач.> — конечное значение — выражение того же типа.
<оператор> — произвольный оператор Турбо Паскаля.
Порядок работы оператора For…to (рис. 1):
Рис. 1 Алгоритм цикла с увеличивающимся параметром (автоинкрементный цикл)
В языке Pascal возможен автоинкрементный (to) или автодекрементный (downto) цикл по счётчику. В первом случае происходит увеличение переменной-счётчика (параметра-счётчика) на 1 в конце каждой итерации, во втором – уменьшение на 1. Автоинкрементный цикл продолжается, пока значение счётчика не больше заданного конечного значения, автодекрементный – пока не меньше.
Переменная-счётчик (параметр-счётчик) доступна операторам в теле цикла только на чтение. В процессе работы цикла по счётчику операторам в теле цикла не допускается изменять текущее или конечное значение счётчика. После окончания цикла переменная-счётчик (параметр-счётчик) содержит неопределённое значение.
Если в алгоритме имеются вложенные циклы по счётчику, то для каждого из них должна быть использована своя переменная-счётчик (параметр-счётчик).
Для преждевременного завершения текущей итерации цикла любой разновидности и начала новой итерации следует использовать оператор Continue.
Для преждевременного выхода из цикла – оператор Exit.
Пример.
Составить программу, которая определяет, является ли четырехзначное число «перевертышем».
Решение:
Обозначим n — вводимое число, т — дубликат числа n, а — перевертыш числа n, i — параметр цикла для создания «перевертыша».
Program Example2;
