Writeln ('Неправильный ввод')
end; Write ('цвет ='); Case clr of 0: writeln('red'); 1: writeln('blue'); 2: writeln('black'); end; End. Протокол работы программы: Введите порядковый номер /0-1-2/ —> 2 цвет = black
Программирование алгоритмов циклической структуры Понятие цикла
Циклами называются синтаксические конструкции, позволяющие повторять последовательность операторов, записанную в тексте программы лишь однажды. Данная последовательность называется телом цикла. Каждое выполнение тела цикла называется итерацией. Иначе говоря, цикломназывается последовательность действий, выполняемых многократно, каждый раз при новых значениях параметров. В языке Паскаль возможны три разновидности циклов. Некоторые разновидности являются взаимозаменяемыми, однако для повышения удобочитаемости программы следует использовать ту разновидность, которая подходит наилучшим образом в контексте конкретного алгоритма. На данном занятии рассмотрим оператор цикла с предусловием. Оператор цикла с предусловием
Если перед каждой итерацией цикла в алгоритме предусмотрена проверка условия, при ложности которого итерация не имеет смысла, то такой цикл называется циклом с предусловием. Цикл с предусловием иногда называют циклом «пока». Если в теле цикла требуется выполнить не один оператор, а целую последовательность операторов, то её следует заключить в операторные скобки Begin-End. Такой цикл, например, уместен при описании процесса сбора урожая с яблони. То есть «пока есть яблоко – сорвать его». В компьютерных алгоритмах цикл с предусловием используют при чтении информации из файла, где чтение новой записи возможно пока файл не завершился. Для того чтобы программа смогла выйти из цикла, необходимо, чтобы операции в теле цикла прямо или косвенно влияли на условие его продолжения.
Структура: WHILE <условие> DO <оператор>; WHILE, DO — зарезервированные слова (пока (выполняется условие) делать) <условие> — выражение логического типа <оператор> — произвольный оператор Турбо Паскаля Порядок работы оператора WHILE(рис. 1):
Рис. 1 Алгоритм циклической структуры с предусловием Пример. Дано натуральное число n. Подсчитать количество цифр данного числа. Решение: Program Example; 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; Var m,n,a,i:integer; {описание переменных} Begin Writeln('Введите целое число'); Readln(n); {ввод n} m:=n; a:=0; {создание перевертыша} for i:=1 to 4 do begin a:=a*10+m mod 10; m:=m div 10; end; if a=n then
Популярное: Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной... Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (302)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |