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

Неверный результат сравнения одинаковых чисел

30.01.2016, 09:52. Показов 617. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Почему К False;
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
program f1;
uses crt;
const
d:real =0.85;
s:real =3.5;
i:real =2.975;
var
ds:real;
k:boolean;
begin
{
writeln ('Vvedite i'); readln(i);
writeln ('Vvedite d'); readln(d);
writeln ('Vvedite s'); readln(s);   }
ds:=d*s;
if i=ds then
k := true
else k:=false;
writeln ('i= ',i,'  ds= ',ds,' K= ',k);
readkey;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.01.2016, 09:52
Ответы с готовыми решениями:

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

Рекурсивная процедура. Определить результат сравнения количества четных и количества нечетных чисел
Помогите пожалуйста с программой. Условие : Используя рекурсивную процедуру или функцию,...

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

Сложение неупакованных BCD чисел, неверный результат
При сложении 2 неупакованных BCD числа получается один и тот же результат, 50. Подскажите, где...

5
Модератор
Эксперт по электронике
8476 / 4335 / 1642
Регистрация: 01.02.2015
Сообщений: 13,461
Записей в блоге: 8
30.01.2016, 10:07 2
В отличие от целочисленных типов, все вещественные не точные, а приближённые.

Ввод с клавиатуры 0,33333
И вычисление 1/3=0,333333333333333333333333333333333333333.
И эти числа формально не равны.

Если нужно сравнивать вещественные, то это делают через абсолютную или относительную погрешность
Pascal
1
  if abs(i=ds)<eps then
Добавлено через 1 минуту
Плюс, в вашем случае лучше записать так
Pascal
1
  K:=(abs(i=ds)<eps);
0
0 / 0 / 0
Регистрация: 30.01.2016
Сообщений: 4
30.01.2016, 10:12  [ТС] 3
Спасибо.
0
Модератор
Эксперт по электронике
8476 / 4335 / 1642
Регистрация: 01.02.2015
Сообщений: 13,461
Записей в блоге: 8
30.01.2016, 11:02 4
Sorry, я ошибся при копировании. Конечно же
Pascal
1
K:=(abs(i-ds)<eps);
0
capricornus CF
30.01.2016, 21:51
  #5

Не по теме:

Забавно. Фрипаскаль - K=true.

0
Модератор
9870 / 5238 / 3306
Регистрация: 17.08.2012
Сообщений: 16,006
01.02.2016, 03:18 6
Max-12, когда Вы пишете что-либо подобное строкам Вашего кода 16..18, где-то умирает маленький пушистый котёнок. Никогда больше так не пишите. Незачем проверять значение логического выражения на истинность или ложность, оно и без Вашего вмешательства уже истинно либо ложно. Все указанные строчки заменяются на одну:
Pascal
16
k := i = ds;
Если нужно противоположное условие, тогда так:
Pascal
1
k := not (i = ds);
или
Pascal
1
k := i <> ds;
0
01.02.2016, 03:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.02.2016, 03:18
Помогаю со студенческими работами здесь

Неверный результат при сравнении чисел с плавающей точкой
If (m_1c(i, 14) = m_bd(j, 5)) And (m_1c(i, 1) = m_bd(j, 1)) And (CDbl(m_1c(i, 2)) = CDbl(m_bd(j,...

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

Неверный результат для задачи вывода из файла обратных натуральных чисел на позициях кратных 3
Почему ответ неправильный выходит?Не могу понять УСЛОВИЕ: Создать файл и записать в него обратные...

При вводе одинаковых чисел минимальных или максимальных не выводится результат
Что нужно добавить,чтобы работало правильно program minandmax; var a,b,c,d,e:integer; begin ...


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

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