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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2014, 00:04   #1
irradiator
Пользователь
 
Регистрация: 03.12.2013
Сообщений: 14
По умолчанию Тип переменной-счётчика для цикла for

Господа!
Вот пишу цикл for j:=1 to abs(x) и.т.д
тип переменных j: integer
x: integer
Delphi пишет что abs должно быть от переменной типа real.
Тем не менее, при компиляции никаких ошибок Delphi не выдаёт.
Каким должен быть тип переменной-счётчика в цикле ?
(какой тип обычно ставят программисты ?).
irradiator вне форума Ответить с цитированием
Старый 06.06.2014, 00:19   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

в Паскале (и в Delphi) в цикле for можно использовать только простые ИСЧИСЛЯЕМЫЕ типы. Обычно (в 99.99% случаев) это переменная целочисленная (Integer, Byte, word, LowgInt и т.д.).

А взятие модуля числа через функцию ABS() подразумевает аргументом не только вещественное, но и целочисленное значение. Причём, как Вы видите, результатом ABS( целое_число) является тоже целое число.


p.s. в любом букваре по Паскаль есть описание цикла FOR с примерами.
Может быть, стоит почитать?...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.06.2014, 00:45   #3
irradiator
Пользователь
 
Регистрация: 03.12.2013
Сообщений: 14
По умолчанию

Спасибо. В принципе всё понятно).
irradiator вне форума Ответить с цитированием
Старый 06.06.2014, 01:33   #4
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,926
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
в Паскале (и в Delphi) в цикле for можно использовать только простые ИСЧИСЛЯЕМЫЕ типы. Обычно (в 99.99% случаев) это переменная целочисленная. [/I]
И обязательно знаковая. Иначе последствия могут быть ужасными.
northener вне форума Ответить с цитированием
Старый 07.06.2014, 01:24   #5
irradiator
Пользователь
 
Регистрация: 03.12.2013
Сообщений: 14
По умолчанию

northener, благодарю за уточнение.
irradiator вне форума Ответить с цитированием
Старый 07.06.2014, 01:49   #6
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,926
По умолчанию

Цитата:
Сообщение от irradiator Посмотреть сообщение
northener, благодарю за уточнение.
Могу и "совсем" уточнить вопрос "какой тип обычно ставят программисты ?"
Код:
procedure XXX;
var
  i : Integer;
begin
  for i:=a to b do
    ...
...
end;
Вот именно так и не иначе. Во-первых Integer, во-вторых локальная (объявленная в той процедуре/функции, в которой есть цикл ffor)
northener вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
bat файл для отправки счётчика по почте FourWave Помощь студентам 5 12.02.2013 12:16
Тип переменной BloodyBlade Паскаль, Turbo Pascal, PascalABC.NET 3 24.09.2011 19:57
Тип переменной fen1ksss Общие вопросы Delphi 7 22.12.2010 00:05
имя переменной в теле цикла Ks2010 SQL, базы данных 3 12.11.2010 15:08
Тип переменной KoBRaAndrey Общие вопросы Delphi 2 06.10.2009 00:11