Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
отчет 2 по основам программирования.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
5 Мб
Скачать
☆

Лабораторное занятие № 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.