- •Введение
- •Лабораторное занятие № 1 Тема: Разработка программ со структурированными типами данных
- •Лабораторное занятие № 2 Тема: Создание программ, выполняющих основные операции работы со списком
- •Лабораторное занятие № 3 Тема: Структура окна Delphi. Исследование функциональных возможностей среды Delphi
- •Лбораторное занятие № 4 Тема: Изучение основных компонентов среды Delphi
- •Лабораторное занятие № 5 Тема: Управление настройками среды разработки
- •Лабораторное занятие № 6 Тема: Создание проекта линейной структуры программы с использованием визуальных компонентов
- •Лабораторное занятие № 7 Тема: Создание проекта разветвляющейся структуры программы с использованием визуальных компонентов
- •Лабораторное занятие № 8 Тема: Создание проекта циклических структуры программы с использованием визуальных компонентов
- •Лабораторное занятие № 9 Тема: Создание проекта с использованием кнопочных компонентов
- •Лабораторное занятие № 10 Тема: Создание проекта с использованием однострочного редактора
- •Лабораторное занятие № 11 Тема: Создание проекта с использованием компонентов ввода и отображения чисел, дат и времени
- •Лабораторное занятие № 12 Тема: Создание проекта с использованием компонентов стандартных диалогов
- •Лабораторное занятие № 13 Тема: Создание проекта по обработке одномерных массивов
- •Лабораторное занятие № 14 Тема: Создание проекта по обработке двумерных массивов
- •Лабораторное занятие № 15 Тема: Создание программы с использованием компонента RadioButton и GroupBox
- •Заключение
- •Список используемых источников
Лабораторное занятие № 7 Тема: Создание проекта разветвляющейся структуры программы с использованием визуальных компонентов
Цель: приобретение навыка кодирования, отладки и тестирования разветвляющихся алгоритмов в среде Delphi.
ТО и ПО: ОС Windows XP (7), Delphi 2010.
МО: методические указания.
Задание № 1:
Требуется разработать проект, осуществляющий:
Вычисление значения функции по выбору ( f=sin(x), f=x2, f=ex) с использованием условной конструкции case ;
Поиск максимального числа из трех чисел f, y, z с использованием условной конструкции if. Предусмотреть возможность округления результата до целого.
Задание № 2:
Самостоятельно разработать проект, выполняющий решение квадратного уравнения.
Описание хода выполнения работы:
Создала Delphi-проект.
Разместила на форме компоненты, вид интерфейса представлен на рисунке 7.1.
Выполнила настройку свойств используемых компонентов.
Осуществила кодирование обработчика создания формы:
procedure TForm2.FormCreate(Sender: TObject);
begin
Edit1.text:='0,1';
Edit2.text:='0,356';
Edit3.text:='0,53';
Memo1.Clear; // Активна первая кнопка RadioGroup1
RadioGroup1.ItemIndex:=0;
end;
Написала код обработчика нажатия на кнопку Выполнить:
procedure TForm2.Button1Click(Sender: TObject);
varx,y,z,f,max : extended;
begin
x:=strtofloat(Edit1.Text);
y:=strtofloat(Edit2.Text);
z:=strtofloat(Edit3.Text);
Memo1.Lines.Add('x ='+floatToStrF(x,FfFixed,8,4)+'y ='+ floatToStrF(y,FfFixed,8,4)+'z ='+FloatToStrF(z,ffFixed,8,4))
case RadioGroup1.ItemIndex of
0:begin f:= cos(x);y:=cos(y); z:=cos(z); end;
1:begin f:= sqr(x); y:=sqr(y); z:=sqr(z); end;
2:begin f:= exp(x); y:=exp(y); z:=exp(z) ;end;
end;
Edit4.text:= floatTostr(z);
if f>y then max:=f else max:=y;
if z > max then max:=z;
if CheckBox1.Checked then Memo1.Lines.Add('x ='+ IntToStr(Round(max)) )
else Memo1.Lines.Add('max = '+FloatToStrF(max,fffixed,8,4));
end; end.
Рисунок 7.1
Вывод: В ходе лабораторного занятия я создала проект с использованием визуальных компонентов TCheckBox, TRadioGroup. В процессе создания проекта получила навык реализации разветвляющихся алгоритмов в системе программирования Delphi.
Лабораторное занятие № 8 Тема: Создание проекта циклических структуры программы с использованием визуальных компонентов
Цель: Приобретение навыка кодирования, отладки и тестирование циклических алгоритмов в среде Delphi.
ТО и ПО: ОС Windows (7), Delphi 2010.
МО: методические указания.
Задание на лабораторное занятие:
Требуется разработать программу с использованием цикла while, осуществляющую табулирование функции
|
(3) |
Начальное значение, а=3, конечное значение b=9, шаг h=0,5
Требуется разработать программу с использованием цикла for, осуществляющую вычисление многочлена 11x5+9x4+7x3+5x2+3x+1 в точке x=1,25.
Описание хода выполнения работы:
Разместила компоненты интерфейса для организации диалога с пользователем (рис. 8.1).
Рисунок 8.1
Написала обработчик события нажатия на кнопку, выполняющую табулирование функции:
procedureTForm1.Button1Click(Sender: TObject);
var
a,b, h,y: real;
begin
a:=strtofloat(edit1.Text);
b:=strtofloat(edit2.Text);
h:=strtofloat(edit3.Text);
while a<=b do
begin
y:=sqrt((sin(a)+a*a*a)/2);
memo1.Lines.Add(floattostrf(a,fffixed,3,1)+' '+floattostrf(y,fffixed,5,2));
a:=a+h;
end;
end;
end.
Выполнила отладку и тестирование программы (рис. 8.2).
Рисунок 8.2
Разместила компоненты интерфейса для организации диалога с пользователем, а именно: поле ввода высшей степени полинома, поле для ввода первого коэффициента и поле для ввода значения переменной х (рис. 8.3).
Рисунок 8.3
Разработала и выполнила кодирование циклического алгоритма.
Код программы:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
Button1: TButton;
Memo1: TMemo;
Label4: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
varb,x,y,e: real;
a,i:integer;
begin
a:=strtoint(edit1.text); //наивысшая степень полинома
b:=strtofloat(edit2.Text); // первый коэффициент
x:=strtofloat(edit3.Text);
e:=0;
for I := a downto 0 do
begin
y:=b*(exp(a*ln(x)));
b:=b-2;
a:=a-1;
e:=e+y;
memo1.Lines.Add(floattostr(e));
end;
end;
end.
Осуществила отладку алгоритма, исправила возможные ошибки и протестировала программу (рис. 8.4).
Рисунок 8.4
Вывод: В ходе лабораторного занятия были созданы два проекта циклической структуры с использованием визуальных компонентов, первая программа написана с использованием цикла While, а второй проект с использованием цикла For. Создание проектов поспособствовало приобретению навыка кодирования, отладки и тестирования циклических алгоритмов в среде Delphi.
