IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Разветвляющаяся программа., 3 числа
Russel
сообщение 17.12.2008 11:16
Сообщение #1





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


Разветвляющаяся программа. Работа с числами. Предусмотреть при одном запуске программы на выполнение расчёт по нескольким наборам исходных данных. Подготовить отладочные просчёты и схему алгоритма.
Даны a, b, c.
Определить, является ли одно из них гипотенузой прямоуголь¬ного треугольника со сторонами a, b, c. Вывести соот¬ветствующее сообщение.

program lab2;
uses crt;
var a,b,c:real;
begin clrscr;
writeln ('vvedite znacheniya');
read (a,b,c);
if (sqr (a)+sqr(b)=sqr©) or (sqr(b)+sqr©=sqr(a)) or (sqr(a)+sqr©=sqr(b)) then writeln ('gipotenuza')
else writeln ('ne yavlyaetsya');
end.


Как здесь написать, чтобы все три условия работали? Чтоб выводилось "гипотенуза a" гипотенуза b ,с...

Спасибо!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Lapp
сообщение 17.12.2008 12:43
Сообщение #2


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Можно вот так, например:
a2:=a*a;
b2:=b*b;
c2:=c*c;
if Abs(c2+b2-a2)<e then WriteLn('gipotenuza a')
else if Abs(a2+c2-b2)<e then WriteLn('gipotenuza b')
else if Abs(a2+b2-c2)<e then WriteLn('gipotenuza c')
else writeln ('ne yavlyaetsya');

Я ввел дополнительные переменные для ускорения расчетов и удобочитаемости.
Число e - это точность. Действительные числа нельзя сравнивать равенством. Положи e равным числу, малому по сравнению с a, b и с. Типа если они порядка единицы, то е можно взять типа 1e-7.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 18:57
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"