Вопрос Помогите с Pascal, для чего нужны константы ?

Регистрация
13 Сен 2013
Сообщения
110
Репутация
0
Спасибо
0
Монет
0
Для чего нужны константы в Паскале, почему нельзя использовать обычные переменные ?
(подобный вопрос уже был на маил ру, но что-то ответ меня как-то не очень просветил)
 
Константа - значение, которое не может быть изменено внутри программы. То есть, объявив константу ты можешь быть уверен на 100%, что в процессе выполнения ее значение не изменится - компилятор просто не даст тебе провернуть такой финт ушами (хотя извратиться можно). Для того и нужны.
 
Константы позволяют в понятной человеку форме обозвать некоторые данные. Когда ты пишешь хеллоу ворлд на коленке для того, чтобы выполнить домашнюю работу - константы не особо нужны, но в настоящем проекте работают десятки, а то и сотни программистов + есть различные сторонние библиотеки, где написаны некоторые функции, которыми могут воспользоваться другие программисты в своих программах. Вот чтоб не дать другим поменять то, что по вашему мнению меняться не должно и существуют константы.
 
Это вопрос стиля. Если ты описываешь что-то как константу, тем самым ты говоришь, что это значение не будет изменяться в процессе выполнения программы. В классическом паскале типизированные константы можно было использовать как инициализированные переменные, но опять же - это плохой стиль.
 
Добавлю к предыдущим ответам, что использование констант может помочь компилятору создать более оптимальный машинный код.
 
Для чего нужны константы в Паскале, почему нельзя использовать обычные переменные?Переменные предполагают хранение, а значит скорее всего располагаются в памяти. Константу можно не грузить из памяти (вид из ассемблера), а сразу подставить в нужное место, что увеличивает скорость программы. Константу не изменить, что гарантирует ее постоянное значение и защиту от дурака пользователя. Константа имеет какое-то имя, так что пишем PI и не надо помнить, что оно 3.1415926 и тд знаков, да читается короче и понятней в коде. Использовать переменные можно, так как если в результате получаем одно и тоже, то почему бы и нет.
 
Назад
Сверху