Отчет по практике: Розробка програм засобами мов програмування Pascal та C++

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Конструктор форми зображено на рисунку 2.1.

Рисунок 2.1 - Конструктор форми

Результати виконання програми зображені на рисунках 2.2-2.3.

Рисунок 2.2 - Вікно робочої програми

 

Рисунок 2.3 - Вікно робочої програми

Як видно при натисканні на кнопку «Джабулані» на формі з’являється відповідне фото. При натисканні кнопки «Забрати фотографію» фото зникає і кнопка стає неактивною. Із іншими діями при натисканні на кнопки можна ознайомитись у програмному коді нижче.

Текст программного коду:

TForm1.Button1Click(Sender: TObject);.Visible:=true;.Visible:=false;.Visible:=false;;TForm1.Button4Click(Sender: TObject);.visible:=false;.Visible:=false;.Visible:=false;.Enabled:=false;;TForm1.Button5Click(Sender: TObject);image2.visible=true then begin.Visible:=false;.Visible:=false;.Visible:=true;endimage1.visible=true then begin.Visible:=false;.Visible:=false;.Visible:=true; endimage3.visible=true then begin.Visible:=false;.Visible:=false;.Visible:=true;;;.

2.3 Розробка програмного продукту «Проста програма»


Завдання. Ввести і вивести за допомогою компонентів TLabel, TEdit, TBatton значення змінних, заданих в таблиці згідно свого варіанту.

Конструктор форми зображено на рисунку 2.4

Рисунок 2.4 - Вікно робочої програми

Результати виконання програми зображені на рисунку 2.5

Рисунок 2.5- Вікно робочої програми

Текст програмного коду кнопки «Вивід даних»:

procedure TForm1.Button1Click(Sender: TObject);,N:string;:=Edit1.text;:=Edit2.text;.Caption:='F='+F;.Caption:='N='+N;;

2.4 Розробка програмного продукту «Проста програма»


Завдання. Створити проект, блок-схему алгоритму, діалогове вікно і програму для обчислення значень функцій:

 


Рисунок 2.6

Результати виконання програми зображені на рисунку 2.7-2.8

 

Рисунок 2.7- Вікно робочої програми

Рисунок 2.8 - Вікно робочої програми

Як видно при натисканні на кнопку «Обчислити» обчисляється значення M та N, якщо х<у, то обчислюється M та N інакше обчислюється тільки N.

Текст программного коду кнопки «Обчислити»:

TForm1.Button1Click(Sender: TObject);1;,n,x,y,z:real;:integer;:=StrToFloat(Edit1.Text); y:=StrToFloat(edit2.Text); z:=StrToFloat(edit3.Text);:=1;

: if x<=y then:=(0.8*cos(sqr(y))+sqr(x))/(1.3+sqr(cos(sqr(y))));.Caption:='M='+FloatToStrF(m,ffFixed,7,3);else begin:=(2*(sqrt(x)*x)*z+ln(x))/(exp(x+0.2)+sqr(y)+sqr(z));.Caption:='N='+FloatToStrF(n,ffFixed,7,3);;:=0.92;:=i+1;i<=2goto 1; end;

2.5 Розробка програмного продукту «Обмін валюти»

Завдання: створити форму з назвою «Обмін валюти», на якій можна змоделювати операції обміну валюти в обмінному пункті.

Конструктор форми зображено на рисунку 2.9

Рисунок 2.9

Результати виконання програми зображені на рисунку 2.10-2.11

 

 

Рисунок 2.10 та 2.11- Результати, отримані від операції купівлі та продажу

Додаткові завдання:

1) створити кнопку для очистки полів введення суми в доларах та обчисленої суми в гривнях;

2)      забезпечити появу підказки при наведенні курсора миші на поля редагування курсів купівлі та продажу;

)        передбачити 1% збору у пенсійний фонд від операції купівлі-продажу;

)        передбачити зміну операцій при натисканні на стрілку;

Текст коду до завдання 1:

TForm1.Button3Click(Sender: TObject);.Text:='';.Text:='';.Text:='';.Text:='';;

Для забезпечення появи підказки при наведенні курсора миші на поля редагування курсів купівлі та продажу було використано властивість Hint, значенням якої є «Введіть курс купівлі» для об’єкта Edit1та «Введіть курс продажу» для об’єкта Edit2 відповідно. Результати продемонстровані на рисунках 2.12 та 2.13.

 

Рисуноки 2.12 та 2.13- Поява підказки для об’єкта edit1 та edit2

Для того, щоб обчислити суму, яка повинна бути переведена до пенсійного фонду був використаний код::=suma/100;.Caption:='Збір до пенсійного фонду 1%='+FloatToStrF(p,ffFixed,0,2);- змінна, що має значення суми в гривнях. Даний фрагмент коду було додано до процедури натискання кнопки «Обчислити» (Button1Click).

Для того, щоб при натисканні на стрілку відбувалась зміна операції на протилежну була використана процедура:.Caption:= '<=';.Checked:=true;

Наступним завданням було спростити форму та замінити код кнопки «Обчислити» так, щоб її можна було використати для переведення миль у кілометри і навпаки в залежності від положення перемикача. У створену форму додати пару об’єктів Checkbox для вибору звичайної або морської милі.

Конструктор форми продемонстровано на рисунку 2.14.

Рисунок 2.14

Результати виконання програми зображені на рисунках 2.15-2.16

Рисунки 2.15 та 2.16-Результат переведення з звичайної і морської милі в кілометри

2.6 Завдання для самостійної роботи


Завдання 1. Якщо точка М(х,у) належить внутрішній області трикутника з вершинами А(а,0), В(0,b), Про(0,0), то надрукувати його площу, інакше його периметр (a>0, b>0).

Конструктор форми зображено на рисунку 2.17

Рисунок 2.17

Результати виконання програми зображені на рисунках 2.18-2.19

Рисунки 2.18 та 2.19-Результати з обчисленням площи та периметру

Текст коду до завдання 1:

TForm1.Button1Click(Sender: TObject);a,b,x,y,S,P,i,o,r,v:real;:=strtofloat(edit1.Text);:=strtofloat(edit2.Text);:=strtofloat(edit3.Text);:=strtofloat(edit4.Text);:=sqrt(sqr(a)+sqr(b));:=b;:=a;:=i+b+a;:=P/2;:=(sqrt(v-(v-i)+(v-a)+(v-b)));((2 * ord(a > 0) + ord(b > 0)) = (2 * ord(x > 0) + ord(y > 0))) and (abs(y) < abs(b) * (1 - abs(x) / abs(a))) then.Caption:='S='+FloatToStr(S).Caption:='P='+FloatToStr(P);;

Завдання 2. Скласти програму, що визначає, чи проходить графік функції y=x2+2x+2 через точку А(x,y).

Конструктор форми зображено на рисунку 2.20

Рисунок 2.20

Результати виконання програми зображені на рисунках 2.21та 2.22

 

Рисунок 2.21- Вікно робочої програми

Рисунок 2.22- Вікно робочої програми

Текст коду:

TForm1.Button1Click(Sender: TObject);x,y,t:integer;x:=strtoint(edit1.text);:=strtoint(edit2.text); :=sqr(x)+2*x+2; (t=y) then .Caption:='Точка належить функції' else .Caption:='Точка не належить функції'; ;

Завдання 3. Вважаючи рік не високосним по номеру місяця вивести повідомлення про кількість днів цього місяця.

Конструктор форми зображено на рисунку 2.23

Рисунок 2.23

Результати виконання програми зображені на рисунках 2.24та 2.26

Рисунок 2.24-2.26- Вікна робочих програм

TForm1.Button1Click(Sender: TObject);n:integer;:=StrToint (edit1.Text);(n) of

:ShowMessage('У місяці 31 день');

:ShowMessage('У місяці 28 днів');

:ShowMessage('У місяці 31 день');

:ShowMessage('У місяці 30 днів');

:ShowMessage('У місяці 31 день');

:ShowMessage('У місяці 30 днів');

:ShowMessage('У місяці 31 день');

:ShowMessage('У місяці 31 день');

:ShowMessage('У місяці 30 днів');

:ShowMessage('У місяці 31 день');

:ShowMessage('У місяці 30 днів');

:ShowMessage('У місяці 31 день');ShowMessage('Такого місяця нема');;

.7 Задача про суму ряду

Завдання. Скласти програму для обчислення f(x). Значення N і x вводяться з клавіатури. Розрахунок факторіалу оформити у вигляді підпрограми. Передбачити можливість виведення значень функції залежно від x, який змінюється в діапазоні [x1, x2] із заданим кроком h:


Конструктор форми зображено на рисунку 2.27

Рисунок 2.27

Результати виконання програми зображені на рисунку 2.28

Рисунок 2.28 - Вікно робочої програми

Для розрахунку факторіалу використовувалася процедура CalkFact:

CalkFact(Zn:integer; var Rez:integer); j: Integer; :=1; j := 1 to Zn do Rez:=Rez*j; ;

Текст програмного коду:

TForm1.Button1Click(Sender: TObject);x1,x2,h:real; :integer; :integer; :real; :integer; :string;.Clear;:=StrToInt(Edit1.Text); :=StrToFloat(Edit2.Text); :=StrToFloat(Edit3.Text); :=StrToFloat(Edit4.Text); :=0;i:=1 to n do(i,ZnFact);:=sum+2*n*ln(1+ZnFact)/ZnFact+x1;;:= 'f('+FloatToStr(x1)+') = '+ FloatToStrF(sum,ffFixed,7,3);.Lines.Add(stroka);:=x1+h;x1>x2; ;

2.8 Задача про min/max функції


Завдання. Скласти програму пошуку мінімального та максимального значення функції на відрізку [а, b]. Значення а, b і кроку h вводяться з клавіатури. Розрахунок функції оформити як підпрограму-функцію: 2+x-x2

Конструктор форми зображено на рисунку 2.29

Рисунок 2.29

Результати виконання програми зображені на рисунку 2.30

Рисунок 2.30- Вікно робочої програми

Для розрахунку значень функції використовувалася підпрограма-функція ZnFun:

ZnFun(x:real):real; :=5*sqr(x)-7*x+100; ;

Текст програмного коду:

TForm1.Button1Click(Sender: TObject);a, b, h : real;, MinY, MaxX, MaxY : real;.Clear; :=StrToFloat(Edit1.Text); :=StrToFloat(Edit2.Text); :=StrToFloat(Edit3.Text);:=1e38; :=-1e38; a<b do ZnFun(a)<MinY then :=ZnFun(a); :=a; ;ZnFun(a)>MaxY then :=ZnFun(a); :=a; ; :=a+h; ; .Lines.Add('Max при x = '+FloatToStrF(MaxX,ffFixed,10,5)+

' y = '+FloatToStrF(MaxY,ffFixed,0,3)); end;

2.9 Задача табулювання функції


Завдання. Створити форму для розв’язування та відображення результатів табулювання функції.

Конструктор форми зображено на рисунку 2.31

Рисунок 2.31 - Конструктор форми

Додаткові завдання:

1) Додати до контекстного меню команду «Кінець та запрограмувати її».

Текст коду:

TForm1.N4Click(Sender: TObject);;;

2) Створити ще одне контекстне меню з командами «Зняти прапорці», Встановити всі прапорці», «Встановити інверсивно».

Текст коду:

TForm1.N9Click(Sender: TObject);{Процедура зняття прапорців}.Checked := False;.Checked := False;.Checked := False;;TForm1.N10Click(Sender: TObject);{Процедура встановлення прапорців}.Checked := True;.Checked := True;.Checked := True;;TForm1.N11Click(Sender: TObject);{Процедура встановлення прапорців інверсивно}checkbox1.Checked then checkbox1.Checked := Falseelse checkbox1.Checked := True;checkbox2.Checked then checkbox2.Checked := Falseelse checkbox2.Checked := True;checkbox3.Checked then checkbox3.Checked := Falseelse checkbox3.Checked := True;;

3) Модифікувати програму, передбачивши можливість табулювання функції і її похідної. Вибір варіанта табулювання здійснити за допомогою додаткового прапорця. Додати кнопку графік для побудови графіка

Результат табулювання функції з похідною та роботи прапорця-«Похідна» продемонстровано на рисунках 2.32 та 2.33

.

Рисунок 2.32-Табулювання без похідної

Табулювання функції з похідною та графік зображено на рисунку 2.33

Рисунок 2.33-Табулювання з похідною та побудова графіком

До меню програми додаємо команду «Побудувати графік», а на формі кнопку «Графік».

Текст команди:

TForm1.Button1Click(Sender: TObject);x,y,y1,h,a,b:real;:=strtofloat(Edit1.Text); b:=strtofloat(Edit2.Text); h:=strtofloat(Edit3.Text);Series1 do;:=a; if checkbox2.checked thenx<=b+h/2 do.AddXY(x, 3*sqr(x)+2*x,'',clRed); x:=x+h;x<=b+h/2 doSeries1.AddXY(x, sqr(x)*x+sqr(x)-7,'',clRed);:=x+h; ; ;

Источник: https://www.bibliofond.ru/detail.aspx?id=785204