Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сборник ПППН_ОАиП_Delphi_ПО_2005-2006.doc
Скачиваний:
29
Добавлен:
19.08.2019
Размер:
3.77 Mб
Скачать

Практическая работа № 6 Использование циклических структур в Delphi

Цель работы:

  1. Получить практические навыки работы с циклическими алгоритмами в Delphi.

  2. Закрепить практические навыки применения компонентов ListBox, ComboBox.

  3. Закрепить практические навыки применения компонентов RadioButton, RadioGroup.

Краткие теоретические сведения

Оператор while (пока) называют оператором цикла с предусловием за то, что проверка условия выполнения тела цикла производится в самом начале оператора

Формат записи:

while <условие продолжения повторений> do <тело цикла>;

где –

условие — булевское выражение,

тело цикла — простой или составной оператор.

Перед каждым выполнением тела цикла вычисляется значение выражения условия. Если результат равен Тгuе, тело цикла выполняется и снова вычисляется выражение условия. Если результат равен False, происходят выход из цикла и переход к первому после while оператору.

Оператор повтора repeat аналогичен оператору while, но отличается от него, во-первых, тем, что условие проверяется после очередного выполнения операторов тела цикла (очередной итерации) и таким образом гарантируется хотя бы однократное выполнение цикла, а во-вторых, тем, что критерием прекращения цикла является равенство логического выражения константе Тгuе, т.е. необходимо прописать условие выхода из цикла. За это цикл repeat часто называют циклом с постусловием, или циклом "ДО", так как он прекращает выполняться, как только значение выражения условия, записанного после слова until, равно True (истина).

Формат записи оператора Repeat…until:

Repeat

<оператор1>;

<оператор2>;

<операторN>

until <условие окончания цикла>;

Операторы, заключенные между словами repeat …. Until, являются телом цикла. Вначале выполняется тело цикла, затем проверяется условие выхода из цикла. Именно поэтому цикл, организованный с помощью оператора repeat, в любом случае выполниться один раз. Если условие будет ложно, то выполниться цикл, если истинно – произойдет выход из цикла.

Задание 1.

Разработать программу, которая определяет, является ли введенное пользователем число простым. Дизайн формы может иметь примерный вид:

Порядок выполнения

  1. Расположите на форме следующие компоненты: Edit1; Button1; Label1; Label2. Переименуйте соответственно заголовки компонентов.

  1. Создайте обработчик событий для компонента Button1 (Проверить) onClick:

procedure TForm1.Button1Click(Sender: TObject);

var

n: integer; { проверяемое число }

d: integer; { делитель }

r: integer; { остаток от деления n на d}

begin

n:=StrToInt(Edit1.text);

d := 2; { сначала будем делить на два }

repeat

r := n mod d;

if r <> 0 { если остаток не равен нулю, то увеличим делитель на единицу }

then d := d + 1;

until r = 0; { повторять пока не найдено число, на которое n делится без остатка }

label2.caption:=Edit1.text;

if d = n

then label2.caption:=label2.caption + ' - простое число.'

else label2.caption:=label2.caption + ' - обычное число.';

end;

end.

  1. Сохраните форму и проект (File / Save all)

  2. Выполните Ваш проект (Run / Run)

Задание 2 (дополнительное для самостоятельного выполнения)

Разработать программу, которая позволяет для введенного пользователем числа:

  • Определить, является ли оно кратным числам 2, 3, 4

  • Определить, является ли оно простым

  • Найти обратное число (1/число)

  • Найти противоположное число (по знаку).

На форме должны присутствовать следующие компоненты: ListBox, ComboBox, RadioButton (или RadioGroup).

Дизайн формы может иметь примерный вид:

Содержание отчета:

  1. Постановка задачи

  2. Тексты процедур – обработчиков событий, разработанных в приложении Delphi

Контрольные вопросы:

  1. Для чего используется визуальный компонент ListBox?

  2. Чем отличается визуальный компонент ComboBox от компонента ListBox?

  3. Для чего используется визуальный компонент RadioButton?

  4. Для чего используется визуальный компонент RadioGroup?

  5. Каково назначение свойства Items компонентов ListBox и ComboBox?

  6. Каково назначение свойства ItemIndex компонентов ListBox и ComboBox?

Литература:

  1. В.Попов. Паскаль и Дельфи.— СПб.: Питер, 2003.

  2. Фаронов В.В. Система программирования Delphi. – СПб.: БХВ-Петербург, 2003.