ІНФОРМАТИКА для 9 класу


Length – функція, що обчислює довжину відрізка за заданими коор — динатами його кінців. Для виконання цього обчислення згадаємо, що довжину відрізка можна знайти за теоремою Піфагора:

,

Де z – шукана довжина відрізка; (x1,y1), (x2,y2) – координати кінців відрізка.

Square – функція, що визначає площу трикутника. Оскільки нам

Відомі лише координати вершин трикутника, то площу зручно обчислювати за формулою Герона:

 

S = p( p — a)( p — b)( p -c) ,

Де p – півпериметр трикутника; a, b, c – сторони трикутника.

Per – функція, що визначає периметр трикутника (ця формула оче — видна, тому тут ми її наводити не будемо). Для конкретно заданої задачі функція пошуку периметру трикутника може бути вкладеною у функцію пошуку площі трикутника.

Output – процедура, у якій здійснюється порівняння площ трикутни — ків. Якщо S1>S2, то виводиться повідомлення “Більшу площу має перший трикутник”. Якщо S2>S1, то виводиться повідомлення “Більшу площу має другий трикутник”. Якщо S2=S1, то виводиться повідомлення “Трикутники мають однакову площу”. Також потрібно вивести числове значення площі більшого трикутника.

Програма, що виконує запропонований алгоритм, має такий вигляд:

//Обчислення довжини відрізка Function Length (x1,y1,x2,y2:real):real; Begin

Length:=sqrt(sqr(x2-x1)+sqr(y2-y1)); End;

//Уведення координат вершин трикутника Procedure Input(x1,y1,x2,y2,x3,y3:real;

Var a, b,c:real;var korvvid:boolean); Begin

Writeln (‘Введіть координати першої вершини:’); readln (x1,y1);

Writeln (‘Введіть координати другої вершини:’); readln (x2,y2);

Читать  Формалізація та алгоритмізація обчислювальних процесів

Writeln (‘Введіть координати третьої вершини:’); readln (x3,y3);

A:=Length(x1,y1,x2,y2);

B:=Length(x1,y1,x3,y3);

C:=Length(x3,y3,x2,y2);

If (a>=b+c) or (c>=a+b) or (b>=a+c) then begin

Korvvid:=False;

Writeln (‘Помилка! Повторіть введення:’); end

Else korvvid:=True; End;

//Знаходження площі трикутника Function Square (a, b,c:real):real; Var PP:real;

Begin PP:=(a+b+c)/2;

Square:=sqrt(PP*(PP-a)*(PP-b)*(PP-c)); End;

// Результат роботи програми Procedure Output(S1,S2:real);

Begin

If S1>S2 then begin

Writeln (‘Більшу площу має перший трикутник.’); writeln (‘Його площа дорівнює -> ‘,S1:8:2);

End

Else if S2>S1 then begin

Writeln (‘Більшу площу має другий трикутник.’); writeln (‘Його площа дорівнює -> ‘,S2:8:2);

End

Else begin

Writeln (‘Трикутники мають однакову площу.’); writeln (‘Їх площа дорівнює -> ‘,S1:8:2);

End;

End;

//Основна програма

Var x11,y11,x12,y12,x13,y13:real; x21,y21,x22,y22,x23,y23:real; a1,a2,b1,b2,c1,c2:real;

[Всего голосов: 6    Средний: 3.5/5]