Проект: «Итерации и рекурсии»
Цели:
1. Создание графического интерфейса для вычислительной задачи.
2. Знакомство с компонентом PageControl, возможностями и свойствами этого компонента.
3. Знакомство с методами компонента ListBox (Add, Clear).
Задача. Найти факториал введенного целого числа, используя 2 способа вычисления: посредством
циклов (итераций) и рекурсивный
Ход работы.
I. Интерфейс.
1. Создать новый проект – приложение.
Сохранить новый проект в отдельной
папке.
2. На форме проекта разместить
компонент PageControl (вкладка
CommonControls)
3. При щелчке ПКМ по компоненту –
появится контекстное меню –
выбрать Добавить страницу (Повторить это действие). В результате появятся 2 закладки.
4. Выделить 1ю страницу закладки, в свойстве Caption записать «ИТЕРАЦИЯ»
5. Выделить 2ю страницу закладки, в свойстве Caption записать «РЕКУРСИЯ»
6. На каждой страницезакладке разместить:
2 объекта Label, 1 объект Edit, объект ListBox
7. Для объектов Label в свойстве Caption ввести текст подписей (см. образец формы)
II. Программирование
1. На странице «Итерация» выделить компонент Edit, в Инспекторе свойств (вкладка События )
создать для него событие onEditingDone и в событийной
процедуре создать код
procedure TForm1.Edit1EditingDone(Sender: TObject);
var N,i: byte;
p: int64;
begin
N:=strtoint(edit1.text);
Listbox1.Items.Clear;
p:=1;
for i:=1 to N do begin
p:= p*i;
listbox1.Items.Add(inttostr(i)+'!='+inttostr(p));
end;
end;
2. на странице «Рекурсия» для компонента Edit также
создать событие onEditingDone. В событийной процедуре
создать код для вычисления факториала с использованием
встроенной рекурсивной процедуры. Программный код, для рекурсивного метода вычисления факториала.
procedure TForm1.Edit2EditingDone(Sender: TObject);
var N,i:byte;
function fact(A:byte):int64;
begin
if a=1 then fact:=1
else fact:=a * fact(a1);
end;
begin
N:=strtoint(edit2.text);
Listbox2.Items.Clear;
for i:=1 to N do
listbox2.Items.Add(inttostr(i)+'!='+inttostr(fact(i)));
end;
Дополнительно!
Создайте подсказку для поля ввода Edit
1. Выделить компонент
2. Установите в Инспекторе свойств
ShowHint = true
3. В диалоговом окне свойства Hint ввести
текст подсказки, например: «После ввода
числа нажмите Enter»
3. Сохранить проект. Выполнить компиляцию и
сборку проекта. Запустить полученное
приложение. Выполнить вычисления. Сравнить
результаты.
Ответить на вопрос: каково назначение методов
Add, Clear ?
Работа приложения:
Презентация, практическая работа, образец готового проекта по теме "Использование итерации и рекурсии в среде Lazarus"
Презентация, практическая работа, образец готового проекта по теме "Использование итерации и рекурсии в среде Lazarus"
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.