Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Звіт.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.91 Mб
Скачать

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:

procedure TForm1.Button1Click(Sender: TObject);

var a,b,x,y,S,P,i,o,r,v:real;

begin

x:=strtofloat(edit1.Text);

y:=strtofloat(edit2.Text);

a:=strtofloat(edit3.Text);

b:=strtofloat(edit4.Text);

i:=sqrt(sqr(a)+sqr(b));

o:=b;

r:=a;

P:=i+b+a;

v:=P/2;

S:=(sqrt(v-(v-i)+(v-a)+(v-b)));

if ((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

label7.Caption:='S='+FloatToStr(S)

else

label7.Caption:='P='+FloatToStr(P);

end;

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

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

Рисунок 2.20

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

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

Текст коду:

procedure TForm1.Button1Click(Sender: TObject);

var x,y,t:integer;

begin x:=strtoint(edit1.text);

y:=strtoint(edit2.text);

t:=sqr(x)+2*x+2;

if (t=y) then

label2.Caption:='Точка належить функції' else

label2.Caption:='Точка не належить функції';

end;

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

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

Рисунок 2.23

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

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

Текст коду:

procedure TForm1.Button1Click(Sender: TObject);

var n:integer;

begin

n:=StrToint (edit1.Text);

case (n) of

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

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

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

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

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

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

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

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

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

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

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

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

else ShowMessage('Такого місяця нема');

end;

end;

2.7 Задача про суму ряду

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

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

Рисунок 2.27

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

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

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

procedure CalkFact(Zn:integer; var Rez:integer);

var j: Integer;

begin

Rez:=1;

for j := 1 to Zn do Rez:=Rez*j;

end;

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

procedure TForm1.Button1Click(Sender: TObject);

var x1,x2,h:real;

N:integer;

i:integer;

sum:real;

ZnFact:integer;

stroka:string;

begin

Memo1.Clear;

N:=StrToInt(Edit1.Text);

x1:=StrToFloat(Edit2.Text);

x2:=StrToFloat(Edit3.Text);

h:=StrToFloat(Edit4.Text);

repeat

sum:=0;

for i:=1 to n do

begin

CalkFact(i,ZnFact);

sum:=sum+2*n*ln(1+ZnFact)/ZnFact+x1;

end;

stroka:= 'f('+FloatToStr(x1)+') = '+ FloatToStrF(sum,ffFixed,7,3);

Memo1.Lines.Add(stroka);

x1:=x1+h;

until x1>x2;

end;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]