- •Министерство образования Российской Федерации
- •Информатика
- •Самара 1999
- •Компоненты
- •1. Полоса меню и подменю.
- •1.1. Выбор команд меню с помощью клавиш.
- •1.2. Выбор команд меню с помощью мышки.
- •Горячие клавиши меню
- •1.3. Сокращения
- •Общие горячие клавиши
- •Горячие клавиши редактирования
- •Горячие клавиши управления окнами
- •Горячие клавиши встроенной справочной информации
- •Горячие клавиши отладки/запуска
- •2. Окна Turbo Pascal
- •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. Операторы отношений
- •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 может ни разу не выполниться в зависимости от значения выражения.
