Описать функцию вычисления гипотенузы треугольника - Free Pascal
Формулировка задачи:
Всем привет.
Нужно соорудить функцию вычисления гипотенузы треугольника.
Элементы берём из массива 5 х 2 . Где каждая из пяти строк - стороны треугольника.
Находить все гипотенузы,если возможно.
Из задания понял,что работа функции каким то образом должна поддерживать и дробные числа...
Прошу помощи.
Решение задачи: «Описать функцию вычисления гипотенузы треугольника»
textual
Листинг программы
program Project2; type vector = array[1..1000] of real; matrix = array[1..100]of vector; var a:matrix; i,n,m:integer; h:vector; procedure ShowMatrix(a:matrix;n,m:integer); var i,j:integer; begin for i:=1 to n do begin for j:=1 to m do write(a[i,j]:6:2); writeln; end; writeln; end; procedure InitArray(var a:matrix;n,m:integer); var i,j:integer; begin for i:=1 to n do begin for j:=1 to m do begin write('a[',i,',',j,']=');readln(a[i,j]); end; end; end; function Hypotenuse(a,b:real):real; begin Hypotenuse := sqrt(a*a +b*b); end; procedure ShowVector(a:vector;n:integer); var i:integer; begin for i:=1 to n do write(a[i]:6:2); writeln; end; procedure GetHypotenuseArr(const a:matrix;n:integer;var h:vector); var i,j:integer; begin for i:=1 to n do begin h[i] := Hypotenuse(a[i,1],a[i,2]); end; end; begin write('n=');readln(n); InitArray(a,n,2); GetHypotenuseArr(a,n,h); writeln('Gipotenusi'); ShowVector(h,n); readln; end.
Объяснение кода листинга программы
- Объявление переменных и типов данных
— Объявлен тип данных
вектор
как массив из 1000 элементов типа real — Объявлен тип данныхматрица
как массив из 100 элементов типа вектор — Объявлены переменныеa
,i
,n
,m
типа integer — Объявлена переменнаяh
типа вектор - Описание процедур
—
ShowMatrix
- выводит элементы матрицы на экран —InitArray
- инициализирует элементы матрицы с помощью ввода с клавиатуры —Hypotenuse
- вычисляет гипотенузу треугольника —ShowVector
- выводит элементы вектора на экран —GetHypotenuseArr
- вычисляет гипотенузы для каждого треугольника в матрице и сохраняет их в векторе - Главный блок программы
— Ввод значения переменной
n
с клавиатуры — Инициализация матрицыa
с помощью процедурыInitArray
— Вычисление гипотенуз для каждого треугольника в матрице и сохранение их в вектореh
с помощью процедурыGetHypotenuseArr
— Вывод на экран значения переменнойh
с помощью процедурыShowVector
— Запрос на ввод символа для завершения работы программы - Примечание:
— Функция
Hypotenuse
вычисляет гипотенузу треугольника по формулеsqrt(a*a + b*b)
— В данном коде предполагается, что пользователь будет вводить корректные значения для переменныхn
иa[i,j]
, иначе возможны ошибки выполнения программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д