Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.06.2013, 19:09   #1
KIRILOW
Форумчанин
 
Регистрация: 28.10.2012
Сообщений: 118
По умолчанию Программа с модулем

Здравствуйте!!! Прикрепил задание. Написал код. Нужен код с модулем.

Вот код:
Код:
uses crt;
const PI = 3.1415926;
var a, b, c:real;
    alfa, gamma, betta:real;{Ugli pri storonah alfa -> bc, betta -> cd, gamma -> ba}

{Перевод градусов в радианы}
function GradToRad(x:real):real;
begin
GradToRad := x * PI / 180;
end;
{Перевода радиан в градусы}
function RadToGrad(x:real):real;
begin
RadToGrad := x * 180 / PI;
end;
{Запишем арккосинус как пи/2 - арксинус, а арксинус через акртангенс, в итоге получим пи/2 - арктангенс}
function Arccos(x:real):real;
begin
Arccos := PI/2 - arctan(x / sqrt(1 - x*x));
end;

begin
clrscr;
writeln('Vvedite storoni treugolnikov: ');
repeat
write('a = ');read(a);
write('b = ');read(b);
write('c = ');read(c);
{read(a, b, c);}
if(a>=b+c)or(b>=a+c)or(c>=a+b) then writeln('Eto ne treugolnik');
{проверяем длины сторон, если введены некоректные, запросим повторно и выведем сообщение о том что треугольник не построить из таких сторон}
until (a < b + c) and (b < a + c) and (c < a + b);

{Используя теорему косинусов вычисляем все углы}
alfa  := arccos((b*b + c*c - a*a) / (2*b*c));
betta := arccos((a*a + c*c - b*b) / (2*a*c));
gamma := arccos((a*a + b*b - c*c) / (2*a*b));

{Переводим результат в радианы и печатаем ответ}
writeln('alfa(ugol mejdu storonami bc) = ', RadToGrad(alfa):8:4);
writeln('betta(ugol mejdu storonami ac) = ', RadToGrad(betta):8:4);
writeln('gamma(ugol mejdu storonami ba) - ', RadToGrad(gamma):8:4);

readkey;{задержка ввода}
end.

Последний раз редактировалось Stilet; 14.06.2013 в 21:34.
KIRILOW вне форума Ответить с цитированием
Старый 14.06.2013, 21:36   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Код:
unit q;
interface
const PI = 3.1415926;
var a, b, c:real;
    alfa, gamma, betta:real;{Ugli pri storonah alfa -> bc, betta -> cd, gamma -> ba}

{Перевод градусов в радианы}
function GradToRad(x:real):real;
function RadToGrad(x:real):real;
function Arccos(x:real):real;

implementation

{Перевод градусов в радианы}
function GradToRad(x:real):real;
begin
GradToRad := x * PI / 180;
end;

{Перевода радиан в градусы}
function RadToGrad(x:real):real;
begin
RadToGrad := x * 180 / PI;
end;

{Запишем арккосинус как пи/2 - арксинус, а арксинус через акртангенс, в итоге получим пи/2 - арктангенс}
function Arccos(x:real):real;
begin
Arccos := PI/2 - arctan(x / sqrt(1 - x*x));
end;

end.
Прога:
Код:
uses crt,q;

begin
clrscr;
writeln('Vvedite storoni treugolnikov: ');
repeat
write('a = ');read(a);
write('b = ');read(b);
write('c = ');read(c);
{read(a, b, c);}
if(a>=b+c)or(b>=a+c)or(c>=a+b) then writeln('Eto ne treugolnik');
{проверяем длины сторон, если введены некоректные, запросим повторно и выведем сообщение о том что треугольник не построить из таких сторон}
until (a < b + c) and (b < a + c) and (c < a + b);

{Используя теорему косинусов вычисляем все углы}
alfa  := arccos((b*b + c*c - a*a) / (2*b*c));
betta := arccos((a*a + c*c - b*b) / (2*a*c));
gamma := arccos((a*a + b*b - c*c) / (2*a*b));

{Переводим результат в радианы и печатаем ответ}
writeln('alfa(ugol mejdu storonami bc) = ', RadToGrad(alfa):8:4);
writeln('betta(ugol mejdu storonami ac) = ', RadToGrad(betta):8:4);
writeln('gamma(ugol mejdu storonami ba) - ', RadToGrad(gamma):8:4);

readkey;{задержка ввода}
end.
Не проверял.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ребята...программа с модулем, процедурами, функциями и графикой. не могу найти максимальное и минимальное значение в массиве... Smirnov Паскаль, Turbo Pascal, PascalABC.NET 0 22.05.2012 13:09
Программа с модулем graphABC Маньчик Помощь студентам 2 23.01.2012 12:00
СУБД с модулем VB neprogrammist Microsoft Office Access 7 11.01.2010 19:56
Помогите с Модулем lex90 Паскаль, Turbo Pascal, PascalABC.NET 2 24.01.2009 18:26