Лекция: Билет #25

1. Операторы цикла.

Операторы цикла задают повторное выполнение определенных операторов. Если число повторений заранее известно, то подходящей конструкцией является оператор for. В противном случае следует использовать операторы while или repeat. В операторе цикла repeat выражение, которое управляет повторным выполнением последовательности операторов, содержится внутри оператора repeat. REPEATВнутренний оператор;UNTIL логическое выражение;

Результатом выражения должен быть результат булевского типа. Операторы, заключенные между ключевыми словами repeat и until, выполняются последовательно до тех пор, пока результат выражения не примет значения True. Последовательность операторов выполняется по крайней мере один раз, поскольку вычисление выражения производится после каждого выполнения последовательности операторов.

Оператор цикла while содержит в себе выражение, которое управляет повторным выполнением оператора (который может быть составным оператором). WHILE выражение DO BEGINВнутренний оператор; END;

Выражение, с помощью которого производится управление повторением оператора, должно иметь булевский тип. Вычисление его производится до того, как внутренний оператор будет выполнен. Внутренний оператор выполняется повторно до тех пор, пока выражение принимает значение True. Если выражение с самого начала принимает значение False, то оператор, содержащийся внутри оператора цикла while, не выполняется ни разу.

Оператор цикла for вызывает повторяющееся выполнение оператора (который может быть составным оператором), пока управляющей переменной присваивается возрастающая последовательность значений. FOR управляющая переменная:=исходное значение TO конечное значение DO оператор;

Если управляющая переменная пробегает значения от большего значения к меньшему, то форма записи имеет вид: FOR управляющая переменная:=исходное значение DOWNTO конечное значение DO оператор;

В качестве управляющей переменной должен использоваться идентификатор переменной, который обозначает переменную, объявленную локальной в блоке, в котором содержится оператор for. Управляющая переменная должна иметь порядковый тип. Начальное и конечное значения должны иметь тип, совместимый по присваиванию с этим порядковым типом. Когда начинает выполняться оператор for, начальное и конечное значения определяются один раз, и эти значения сохраняются на протяжении всего выполнения оператора for. Оператор, который содержится в теле оператора for, выполняется один раз для каждого значения в диапазоне между начальным и конечным значением. Когда оператор for использует ключевое слово to, значение управляющей переменной увеличивается при каждом повторении на единицу. Если начальное значение превышает конечное значение, то содержащийся в теле оператора for оператор не выполняется. Когда в операторе цикла используется ключевое слово downto, значение управляющей переменной уменьшается при каждом повторении на единицу. Если начальное значение в таком операторе меньше, чем конечное значение, то содержащийся в теле оператора цикла оператор не выполняется. Если оператор, содержащийся в теле оператора for, изменяет значение управляющей переменной, то это является ошибкой. После выполнения оператора for значение управляющей переменной становится неопределенным, если только выполнение оператора for не было прервано с помощью оператора перехода.

 

2. Разработать приложение в среде программирования Pascal или Delphi:

— Поместите на форму два поля ввода Edit и две кнопки.

— Левое поле для ввода температуры по Цельсию, правое – для температуры по Фаренгейту.

— При нажатии кнопки в другом поле ввода должно появиться приведенное к соответствующей шкале значение температуры.

Указания:

— Шкалы связаны соотношением: [°F] = 1,8 [°C] + 32

— Для перевода строк в числа и обратно используйте StrToFloat и FloatToStr.

Введите в левое поле число 50. Нажмите на кнопку «по Цельсию». Если в правом поле появится 122, то измените значение в левом поле и нажмите «по Фаренгейту», если в этом поле опять появится 50, то вы успешно справились с заданием, можете двигаться дальше; в противном случае доработайте программу.

— Ограничьте вводимые температуры диапазоном от 0°C до 100°C (если введено значение, превышающее 100°C или 212°F, то при нажатии кнопки в полях ввода должно отобразиться 100 и 212 соответственно; если значение, превышающее 0°C или 32°F, то 0 и 32).

Запустите программу, введите 150 в левое поле и нажмите кнопку «по Цельсию». В полях должно появиться 100 и 212. Введите 10 в правое поле и нажмите кнопку «по Фаренгейту». В полях должно появиться 0 и 32. Если все правильно – идем дальше.

— Чтобы пользователь не путался в кнопках, сделайте так, чтобы кнопка «по Фаренгейту» пропадала, как только пользователь начинает редактировать значение в левом поле. Аналогично при редактировании правого поля должна исчезать кнопка «по Цельсию».

При этом, разумеется, когда прячется ненужная кнопка, другая, нужная, должна быть видна.

Указания:

— Используйте события полей ввода OnEnter, возникающие, когда поле получает фокус ввода для сокрытия и вывода кнопок.

— Видна кнопка или не видна, это определяет свойство Visible.

 

еще рефераты
Еще работы по информатике