Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
2 / 2 / 0
Регистрация: 02.06.2012
Сообщений: 60
1

почему неправильный ответ програмы?

20.11.2014, 20:49. Показов 516. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
вот код програмы который решает школьную задачу - принадлежит ли точка треугольнику с задаными коордатами.
Так вот проблема в том что ответ всегда один и тот же внезависимости принадлежит точка треугольнику или нет

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
program obolonka;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
var s,x1,y1,x2,y2,x3,y3,x,y,a1,b1,c1,s1,cx,bx,ax,s2,s3,st:real;
procedure line(xp,yp,xk,yk:real; var l:real);
begin
l:=sqrt(sqr(xk-xp)+sqr(yk-yp));
end;
procedure pl(a,b,c:real; var s:real);
var p:real;
begin
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
end;
 
begin
writeln('Vvedit koord. vershin trikytnika');
readln(x1,y1,x2,y2,x3,y3);
writeln('Vvedit koord. tochki');
readln(x,y);
line(x1,y1,x2,y2,a1); line(x1,y1,x,y,cx); line(x2,y2,x,y,ax);
pl(a1,cx,ax,s1);    writeln(s1:0:2);
line(x2,y2,x3,y3,b1);  line(x3,y3,x,y,bx);
pl(ax,b1,bx,s2);    writeln(s2:0:2);
line(x3,y3,x1,y1,c1);
pl(bx,c1,cx,s3);    writeln(s3:0:2);
pl(a1,b1,c1,st);writeln(st:0:2);
 
s:=s1+s2+s3;  writeln(s:0:2);
if s1+s2+s3=st then writeln('nalegit') else writeln('ne nalegit');
readln;
https://www.cyberforum.ru/atta... 1416505727
Миниатюры
почему неправильный ответ програмы?  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.11.2014, 20:49
Ответы с готовыми решениями:

Программа выдает неправильный ответ
Для получения результата разработать алгоритм и программу,содержащую функцию, исходными данными...

Неправильный ответ при вычислении
program max; const alfa = 0.9; gamma = 0.6; var x,y,a,d,z: real; begin...

Почему выдается неправильный ответ?
<?php $idButton = rand(0, 1);//выбираем рандомно кнопку $chis = rand(1,10);//создаем рандомное...

Почему операция деления выдает неправильный ответ?
почему то при делении регистров dx:ax на cx выдает неправильное число. до этого все значении верно...

4
2 / 2 / 0
Регистрация: 02.06.2012
Сообщений: 60
20.11.2014, 20:55  [ТС] 2
куча writeln'нов добавлено спецом для проверки получаемых значений
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7768 / 4598 / 2823
Регистрация: 22.11.2013
Сообщений: 13,079
Записей в блоге: 1
20.11.2014, 21:07 3
Сравнивать действительные числа на равенство -- слишком плохая идея, вместо этого используйте условие: модуль разности сравниваемых чисел меньше заведомо малого числа, например, 1e-6:
Pascal
1
2
3
const eps=1e-6;
...
  WriteLn(abs(s-st)<eps);
или так:
Pascal
1
2
3
4
5
const
  eps=1e-6;
  NY: array [Boolean] of String[15] = ('Не принадлежит','Принадлежит');
...
  WriteLn(NY[abs(s-st)<eps]);
1
2 / 2 / 0
Регистрация: 02.06.2012
Сообщений: 60
20.11.2014, 21:22  [ТС] 4
спасибо понял в чем проблема, я нашол еще один вариант решения - округлить получаемые значения ф-ей round(), тогда ответ что надо
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7768 / 4598 / 2823
Регистрация: 22.11.2013
Сообщений: 13,079
Записей в блоге: 1
20.11.2014, 21:44 5
Lagolass,
Round -- слишком грубо. А если треугольник (0,0), (0,0.5), (0.5,0) и точка (0.25,0.25)? И в таком же роде.
0
20.11.2014, 21:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.11.2014, 21:44
Помогаю со студенческими работами здесь

Можете объяснить почему программа выдает неправильный ответ?
Условие задачи: Даны действительные числа a, b ( a &lt;&lt; b ). Найти третий член из генерации чисел...

Поиск первого вхождения шаблона в текст (почему выдается неправильный ответ?)
задача: Напишите функцию поиска первого вхождения шаблона в текст. В качестве первого параметра...

От совсем новичка:почему программа выдает неправильный ответ при тестах с большими числами
Я новичок. Совсем новичок. Помогите разобраться с проблемой. Есть задача: Мэрия города М-ска...

Неправильный ответ
Задание: необходимо написать программу, объявит две переменные: первая переменная - переменная...

Неправильный ответ mysql
отправляю запрос mysql $s=&quot;Россия&quot;; $query = &quot;SELECT * FROM `auction` where `cou`='$s1' and...

Выдается неправильный ответ
Нужно найти максимальную сумму модулей, двух рядом стоящих элементов. При выполнении программы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru