пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

pogromirovanie:
» sooqa
Уася:
» History motherfuckers

Операторы while и repeat. Их взаимозаменяемость. (Пример использования организации цикла с шагом отличным от единицы).

Операторы repeat и while являются взаимозаменяемыми: repeat S until В эквивалентен S; while not В do S; a while В do S равносилен if В then repeat S until not B.

При работе с клавиатурой часто бывают полезными фрагменты программ, отвечающие за задержку выполнения программы до нажатия любой клавиши клавиатуры и за очистку буфера ввода. В обоих случаях используется функция KeyPressed из модуля CRT. Данная функция принимает значение true, если в буфере ввода имеется какой-либо символ (т.е. была нажата клавиша клавиатуры) и false в противном случае.
Фрагмент программы, отвечающий за очистку буфера ввода имеет вид:
while KeyPressed do

 

С := ReadKey;,

а фрагмент "ждать нажатой клавиши" выглядит как:

repeat

until

KeyPressed;.

 

При использовании операторов цикла repeat и while нужно достаточно осторожно использовать в выражении В вещественные переменные. Это связано с тем, что вещественные числа в ПК представляются неточно, и, кроме того, арифметические операции над вещественными числами выполняются как над приближенными, т.е. результат округляется по правилу, принятому в ПК.

 

Поэтому такие операторы, как

              while Y<> Z do <вычисление Z > <вычисление Z>;

repeat <вычисление Z > <вычисление Z > until Y = Z;

где Y, Z: real, Y- определено заранее, скорее всего приведут к

"зацикливанию" программы.


27.01.2014; 06:48
хиты: 811
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь