- •Министерство образования Российской Федерации
- •Информатика
- •Самара 1999
- •Компоненты
- •1. Полоса меню и подменю.
- •1.1. Выбор команд меню с помощью клавиш.
- •1.2. Выбор команд меню с помощью мышки.
- •1.3. Сокращения
- •Общие горячие клавиши
- •Горячие клавиши меню
- •Горячие клавиши редактирования
- •Горячие клавиши управления окнами
- •Горячие клавиши встроенной справочной информации
- •Горячие клавиши отладки/запуска
- •2. Окна TurboPascal
- •2.1. Управление окнами
- •2.2. Строка статуса
- •3. Диалоговые окна
- •3.1. Зависимые и независимые кнопки
- •3.2. Окна ввода и списки
- •4. Создание Вашей первой программы
- •4.1. Анализ Вашей первой программы
- •4.2. Сохранение Вашей первой программы
- •4.3. Компиляция Вашей первой программы
- •4.4. Выполнение Вашей первой программы
- •4.5. Проверка файлов, которые Вы создали
- •5. Ваша вторая программа
- •5.1. Отладка Вашей второй программы
- •5.2. Использование окна Watch
- •5.3. Исправление Вашей второй программы
- •Программирование на turbo pascal
- •1. Элементы программирования
- •2.1. Целые числа
- •2.2. Вещественный тип данных
- •2.3. Символьные и строковые типы данных
- •2.4. Булевские данные
- •2.5. Тип массив
- •3. Идентификаторы
- •4. Операторы
- •4.1. Операторы присваивания
- •4.2. Арифметические операторы
- •4.3. Операторы отношений
- •4.4. Логические операторы
- •4.5. Строковые операторы
- •5. Вывод
- •5.1. Процедура WriteLn
- •6. Ввод
- •7. Условные операторы
- •7.1. Оператор If
- •7.2. Оператор выбора Case
- •8. Цикл.
- •8.1. Цикл while.
- •8.2. Цикл Repeat … Until
- •8.3. Цикл For
- •9. Процедуры и функции.
- •10. Структура программ.
- •11. Структура процедуры и функции.
- •12. Пример программы.
- •13. Комментарии.
- •Контрольные задания Вариант №1
- •Вариант№2
- •Вариант №3
- •Вариант №4
- •Вариант №5
- •Вариант №6
- •Вариант №7
- •Вариант №8
- •Вариант №9
- •Вариант №10
8. Цикл.
В случае, когда при выполнение какого-либо условия (или невыполнения), необходимо выполнить группу операторов повторно, используются циклы.
Существует три основных вида циклов: цикл while, цикл repeat и цикл for. Рассмотрим их.
8.1. Цикл while.
Цикл while используется для проверки некоторого условия в начале цикла. Введите следующую программу:
Program Hello;
Var
Count: Integer;
Begin
Count: = 1;
While (Count <= 10) do
Begin
Writeln(‘ Здравствуй и прощай !’);
Inc (Count);
End;
Writeln(‘ Это конец’);
End.
Во-первых, сначала переменной Countприсвоится значение равное 1. Затем, при входе в цикл проверяется условие: значениеCountменьше или равно 10. Если да, то выполняется тело цикла (операторы, находящиеся между ключевыми словамиbegin…end.) На экран выводится сообщение «Здравствуй и прощай». ЗначениеCountувеличивается на 1. Возврат на начало цикла. ЗначениеCountпроверяется заново и тело цикла выполняется вновь, до тех пор пока значение переменнойCountудовлетворяет условию. Как только значениеCountстановится равным 11, цикл завершается, и на экран выводится сообщение «Это конец».
Формат оператора цикла While:
WhileвыражениеDoоператор;
В цикле Whileвычисляется выражение. Если оно имеет результат –True, выполняется оператор. В противном случае выполнение цикла завершается.
8.2. Цикл Repeat … Until
Второй цикл Repeat … Untilрассмотрим на примере программыDORATIO.PAS:
Program DoRatio;
Var
A, B: Integer;
Ratio: Real;
Ans: Char;
Begin
Repeat
Write(‘Введите два числа’);
ReadLn(A, B);
Ratio := A/B;
WriteLn(‘Отношение равно’,Ratio);
WriteLn(‘Повторить? (Y/N)');
ReadLn(Ans);
Until UpCase(Ans) = ‘N’;
End.
Как описывалось ранее, в этой программе повторяется выполнение операторов, пока ответ на вопрос – nилиN(Повторить?Y/N). Другими словами,RepeatиUntilповторяются до тех пор, пока значение выражения приUntilне будетTrue.
Формат цикла:
Repeat
Оператор;
Оператор;
…………
Оператор;
Untilвыражение.
Существуют три основных отличия от цикла While:
операторы в цикле Repeatвыполняются хотя бы один раз, потому что проверка выражения осуществляется в конце тела цикла. В циклеWhile, если значение выраженияFalse, тело его пропускается сразу.
цикл Repeatвыполняется пока выражение не станетTrue, в то время, как циклWhileвыполняется до тех пор, пока выражение имеет значениеTrue. При замене одного типа цикла на другой необходимо на это обращать особое внимание. Рассмотрим программуHELLO, где циклWhileзаменен на циклRepeat:
program Hello;
var
Count: Integer;
Begin
Count := 1;
Repeat
WriteLn(‘Здравствуй и прощай!’);
Inc(Count);
Until Count > 10;
WriteLn(‘Это конец”);
End.
Отметим, что теперь переменная Countпроверяется на значение больше 10 (а вWhileбылоCount<= 10).
В заключение, в цикле Repeatможет использоваться просто группа операторов, а не составной оператор. При использовании этого цикла не используются словаBegin…End, как в случае с цикломWhile.
Запомните, что цикл Repeat выполнится хотя бы один раз, в то время, как цикл Whileможет ни разу не выполниться в зависимости от значения выражения.