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

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

Вернуться   Форум программистов > Операционные системы > Софт
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2009, 21:56   #1
MDS
Пользователь
 
Аватар для MDS
 
Регистрация: 25.11.2009
Сообщений: 13
Лампочка Ваше мнение

Начиная програмировать я столкнулся с такой вещью когда в VB в отличии от Paskal есть некий нюанс: Если в Бейсике мы можем сложить одно число с другим и получить 3, то в Паскале мы можем сложить целые числа только с целыми и т.д. Стоит ли обращать на это внимание? Чисто для меня то я считаю это абсурдом, даже если рассуждать просто теоретически, то нельзя сделать такого: сложить арбузы с яблоками и получить груши - вот это как раз и происходит в Бейсике! Хотел бы узнать Ваше мнение на счет данного аргумента!

Последний раз редактировалось mihali4; 28.11.2009 в 16:25.
MDS вне форума Ответить с цитированием
Старый 26.11.2009, 08:46   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Это сделано специально по двум причинам:
1. Это быстрей, если Вы не знали, то раньше Бейсик был интерпретатором, а для них главное удобство общения с пользователем, а не скорость и объем программы.
2. Контроль над ошибками. В Паскале (и не только в нем, но и во многих языках программирования) жесткое разграничение типов - это значит, что над каждым типом свои операции, их количество конечно и строго разграничено.
Да целые можно складывать как целые, в случае если результат будет целый. А если вещественный (то есть число дробное), то можно складывать целые с не целыми.
На это стоит обращать внимание, таким образом Вы легко избавитесь от ряда ошибок (программиста) - невнимательность при наборе (например некоторые идентификаторы похожи и отличаются только одной буквой). Это нужно когда пишешь большие программы или используешь чужие фрагменты программ.
Кроме того, вы рассуждаете совершенно не теоретически, в теории чисел нет ни арбузов ни яблок, аналогия явно неудачная. В Бейсике все происходит правильно ибо философия там другая (а Вы не знали, что каждый язык программирования имеет свои концепции и парадигмы, и что все моменты в них не с бухты барахты, а имеют определенную основу?). Считайте что в Бейсике нет целых чисел, только вещественные и число 5 это тоже самое что и 5.0 - все просто и логично. Поэтому 5 + 3.2 = 8.2, никаких ошибок и никаких проблем, так было задумано с самого начала. И лично я считаю, что это даже правильней ибо в реальной жизни тоже нет разграничений на целые и вещественные числа. Например в магазине когда Вы даете деньги за товар, то сдача она целая или вещественная? Так что никаких странностей, просто побольше литературы о программировании.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 26.11.2009 в 08:50.
Utkin вне форума Ответить с цитированием
Старый 28.11.2009, 16:20   #3
OCTAGRAM
Oldschool geek
Форумчанин
 
Аватар для OCTAGRAM
 
Регистрация: 09.03.2009
Сообщений: 611
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
когда Вы даете деньги за товар, то сдача она целая или вещественная?
Она с фиксированной точкой.
If you want to get to the top, you have to start at the bottom

http://pascal.net.ru/
OCTAGRAM вне форума Ответить с цитированием
Старый 30.11.2009, 08:28   #4
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от OCTAGRAM Посмотреть сообщение
Она с фиксированной точкой.
В моей Вселенной нет такого типа данных. В этом легко убедится просмотрев биржевые (не банковские) котировки, например курс доллара по отношению к рублю.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 30.11.2009, 10:53   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
то в Паскале мы можем сложить целые числа только с целыми и т.д.
Глупость какая...
Я могу в Паскале сложить любое число с любым.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.11.2009, 16:29   #6
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

в php можно сложить всё со всем и получить число
Код:
$object=new DateTime;
3.2 + 12 + true + 'adfshg67'+ '3h' + $object =  20.2
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 30.11.2009, 16:38   #7
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Глупость какая...
Я могу в Паскале сложить любое число с любым.
Стоп, стоп, может товарищ Уткин слегка неудачно выразился, но тут вся разница в результате:
4 + 3 = 7 (цел)
4 + 3.0 = 7.0 (вещ)
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 30.11.2009, 17:14   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

в паскале просто надо отбросить все что после точки...то есть пишем Trunc и все.
то есть там действительно более жесткий контроль данных.
в С++ просто автоприведение типов есть...то есть тот же Trunc автоматически.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 30.11.2009 в 17:17.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ваше мнение о СМИ Juffin Свободное общение 6 29.10.2009 16:40
Ваше мнение ArtiombI4 Помощь студентам 3 11.05.2009 16:24
Нужно ваше мнение! Sandra-z Софт 6 27.03.2009 23:45
ваше мнение Мамочка Свободное общение 0 08.05.2008 13:46
Необходимо Ваше мнение!!! DIMONHR Софт 0 20.02.2008 23:15