Форум программистов, компьютерный форум, киберфорум
Наши страницы

Turbo Pascal

Войти
Регистрация
Восстановить пароль
 
Max-12
0 / 0 / 0
Регистрация: 30.01.2016
Сообщений: 4
#1

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

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

Почему К 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.01.2016, 09:52
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Неверный результат сравнения одинаковых чисел (Turbo Pascal):

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

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

Неверный результат сложение - Pascal
Всем привет, взялся за Паскаль - выполнять задание от универа и тут же натолкнулся на крайне неприятную ошибку (или не ошибку, не знаю). ...

Неверный результат в программе с условными операторами - Pascal
Вместо результата всегда пишет-0 program vareniki; var a: char; g,b,c: single; begin writeln ('На какой планете вы живёте?'); ...

Присвоить логической переменной результат сравнения модулей сумм положительных и отрицательных элементов - Pascal
Исходя из элементов вещественного массива Х1, Х2,..., X12, присвоить логической переменной D значение "истина", если сумма положительных...

Написать функцию, которая сравнивает два числа и выдает результат сравнения в виде одного из знаков «<», “>” или «=» - Pascal
Написать функцию, которая сравнивает два числа и выдает результат сравнения в виде одного из знаков «&lt;», “&gt;” или «=».

5
ФедосеевПавел
Модератор
3048 / 1775 / 726
Регистрация: 01.02.2015
Сообщений: 6,128
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
Max-12
0 / 0 / 0
Регистрация: 30.01.2016
Сообщений: 4
30.01.2016, 10:12  [ТС] #3
Спасибо.
0
ФедосеевПавел
Модератор
3048 / 1775 / 726
Регистрация: 01.02.2015
Сообщений: 6,128
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
Cyborg Drone
Модератор
5220 / 3085 / 1278
Регистрация: 17.08.2012
Сообщений: 9,960
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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.02.2016, 03:18
Привет! Вот еще темы с ответами:

Алгоритм сравнения трех чисел - Pascal
Голову сломал уже. Подскажите оптимальный алгоритм сравнения трех чисел. Необходимо учесть все варианты, в том числе равенство. У меня...

В последовательности чисел определить номера чисел, состоящие из одинаковых цифр, и их количество - Pascal
вводится последовательность из n двузначных целых чисел. определить порядковые номера чисел в которых цифры одинаковы. вывести также...

Определить количество чисел в наиболее длинной подпоследовательности из подряд идущих одинаковых чисел - Turbo Pascal
Дана непустая последовательность не нулевых целых чисел, за которой следует 0. Определить количество чисел в наиболее длинной...

Составить программу сравнения двух многозначных чисел - Turbo Pascal
составить программу сравнения двух многозначных чисел (количество знаков в записи числа более 20). У меня есть программа,преподаватель...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru