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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.10.2015, 11:06   #1
Siusarna
Пользователь
 
Регистрация: 15.10.2015
Сообщений: 11
По умолчанию Надо записать :если 2*S триугольника не натуральное число значить триугольник не подходит за условием

Дали задачу на разветвления :" если удвоенная площа триугольника не натуральное число значит вивести на екран "No solution"
Делаю через оператор if но как записать что не натуральное число?
Siusarna вне форума Ответить с цитированием
Старый 17.10.2015, 11:18   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А как ты понимаешь термин "ненатуральное число"?
Какое это число с математической точки зрения?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.10.2015, 11:31   #3
Siusarna
Пользователь
 
Регистрация: 15.10.2015
Сообщений: 11
По умолчанию

ну например дробовое или рациональное или иррациональное

Последний раз редактировалось Siusarna; 17.10.2015 в 11:42.
Siusarna вне форума Ответить с цитированием
Старый 17.10.2015, 11:50   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
дробовое
Хохо )))
Это не по беларусски так звучит? Хорошо хоть не "помповое"

Т.е. я правильно понимаю: "No solution" если у площадь представляет некое целое число. так?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.10.2015, 11:58   #5
FPaul
Форумчанин
 
Регистрация: 25.01.2015
Сообщений: 472
По умолчанию

И ещё вопрос, а на основании чего вычисляется площадь треугольника?
FPaul вне форума Ответить с цитированием
Старый 17.10.2015, 12:04   #6
Siusarna
Пользователь
 
Регистрация: 15.10.2015
Сообщений: 11
По умолчанию

Цитата:
Т.е. я правильно понимаю: "No solution" если у площадь представляет некое целое число. так?
нет если удвоенная площадь - целое число то триугольних существует а если не целое то не существует
например если S= 119.32 тогда удвоенная площадь =238.64 - надо выводить No solution а если например 240 тогда вывести триугольник существует

Цитата:
Сообщение от FPaul Посмотреть сообщение
И ещё вопрос, а на основании чего вычисляется площадь треугольника?
ну извесны все 3 стороны

Последний раз редактировалось Stilet; 17.10.2015 в 12:09.
Siusarna вне форума Ответить с цитированием
Старый 17.10.2015, 12:07   #7
FPaul
Форумчанин
 
Регистрация: 25.01.2015
Сообщений: 472
По умолчанию

А эти стороны задаются натуральными числами или действительными?
--------
Ещё пара-тройка часов, и вы нам расскажите полностью задание.
FPaul вне форума Ответить с цитированием
Старый 17.10.2015, 12:14   #8
FPaul
Форумчанин
 
Регистрация: 25.01.2015
Сообщений: 472
По умолчанию

Если натуральными.
Пробуете вычислить по формуле Герона.
S:=sqrt(p(p-a)(p-b)(p-c))
Но условие - 2S - должно быть натуральным. Чтобы это было так, нужно чтобы
1. произведение 4*p(p-a)(p-b)(p-c) было натуральным.
2. Подкоренное выражение было полным квадратом

Т.е. попробуйте на бумаге понять, что нужно проверить. А потом наваливаться на клавиатуру.
FPaul вне форума Ответить с цитированием
Старый 17.10.2015, 12:25   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
s,a,b,c:double ;
begin
 Write('Сторона А');readln(а);
 Write('Сторона В');readln(в);
 Write('Сторона С');readln(с);
 s:=(a+b+c)/2; s:=sqrt(s*(s-a)*(s-b)*(s-c));
 if abs(trunc(s)-s)<0.0001 then writeln('Скорее существует чем нет')
 writeln('Врядли существует, но все возможно'); 
 readln;
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.10.2015, 12:35   #10
FPaul
Форумчанин
 
Регистрация: 25.01.2015
Сообщений: 472
По умолчанию

Или так
Код:
program lab;

var
  a, b, c: integer;
  P: integer;
  S: integer;
begin
  readln(a, b, c);
  P := a + b + c;
  if not odd(P) then
  begin
    P := P div 2;
    S := P * (P - a) * (P - b) * (P - c);
    if sqr(round(sqrt(S))) = S then
      writeln('Ничего не вывести ', round(sqrt(S)))
    else
      writeln('No solution');
  end
  else
    writeln('No solution');
end.
'Скорее существует чем нет', 'Врядли существует, но все возможно'
Ещё чуток - и fuzzy logic , как я слышал, там будет 'Скорее существует (с вероятностью 50%) чем нет'.

Последний раз редактировалось FPaul; 17.10.2015 в 12:59.
FPaul вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Если число подходит под заданный интервал - выводим в Memo, если нет - берем следующее FleXik Общие вопросы Delphi 9 07.04.2014 06:46
Дано трехзначное число. Если в сумме его цифр присутствует число 7,то число записать в зеркальном виде ( Паскаль ) Эля777 Помощь студентам 5 22.04.2013 23:23
Заданное натуральное число записать прописью lonely_soul Паскаль, Turbo Pascal, PascalABC.NET 9 29.04.2011 12:51
Вычислить выражение, если дано натуральное число elemigrante Помощь студентам 2 26.02.2010 14:15