FOR I=1 TO N STEP 2 не работает =(
Модератор: Модераторы
- Attid
- долгожитель
- Сообщения: 2588
- Зарегистрирован: 27.10.2006 17:29:15
- Откуда: 44°32′23.63″N 41°2′25.2″E
- Контактная информация:
FOR I=1 TO N STEP 2 не работает =(
в первые за несколько лет работы в фпц понадобился шаг в цикле, а он не работает =(
это я не так думаю или он такое не поддерживает ? я конечно сейчас воспользуюсь каким нибуть другим циклом, но просто интересно .
фпц ругнулся так :
fmsePrint.pas(1084,32) Fatal: Syntax error, "DO" expected but "identifier STEP" found
это я не так думаю или он такое не поддерживает ? я конечно сейчас воспользуюсь каким нибуть другим циклом, но просто интересно .
фпц ругнулся так :
fmsePrint.pas(1084,32) Fatal: Syntax error, "DO" expected but "identifier STEP" found
-
PublicJoke
- новенький
- Сообщения: 41
- Зарегистрирован: 04.07.2006 12:21:07
Это вы с басиком спутали. Цитата из Borland Pascal help:
for...to, for...downto (reserved words)
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The for statement causes the statement after do to be executed once for each
value in the range first to last.
Syntax:
for var := first to last do
statement
OR
for var := first downto last do
statement
Remarks:
The control variable and the initial and final values must be of an ordinal
type.
to:
With to, the value of the control variable is incremented by 1 for each
loop.
downto:
With downto, the value of the control variable is decremented by 1 for each
loop.
for...to, for...downto (reserved words)
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The for statement causes the statement after do to be executed once for each
value in the range first to last.
Syntax:
for var := first to last do
statement
OR
for var := first downto last do
statement
Remarks:
The control variable and the initial and final values must be of an ordinal
type.
to:
With to, the value of the control variable is incremented by 1 for each
loop.
downto:
With downto, the value of the control variable is decremented by 1 for each
loop.
в первые за несколько лет работы в фпц понадобился шаг в цикле, а он не работает =(
шаг есть только в обероне
- Attid
- долгожитель
- Сообщения: 2588
- Зарегистрирован: 27.10.2006 17:29:15
- Откуда: 44°32′23.63″N 41°2′25.2″E
- Контактная информация:
ev писал(а):шаг есть только в обероне
в турбо паскале вроде был, а дельфе не скажу, но сегодня проверю.
Добавлено спустя 2 минуты 47 секунд:
PublicJoke писал(а):Это вы с басиком спутали.
вот это конечно может быть, на нем я еще на ПК "Львов" писал, такая дура с кнопочками подключалась к телевизору.
- Иван Шихалев
- энтузиаст
- Сообщения: 1138
- Зарегистрирован: 15.05.2006 11:26:13
- Откуда: Екатеринбург
- Контактная информация:
Attid писал(а):в турбо паскале вроде был,
Не было и там. В языке Паскаль вообще иная концепция цикла... Например, он может проходить по значениям перечислимого типа, где неопределена операция "плюс", но есть succ и pred.
-
Padre_Mortius
- энтузиаст
- Сообщения: 1265
- Зарегистрирован: 29.05.2007 17:38:07
- Откуда: Спб
обычно делают цикл с изменяемым шагом через repeat until
Padre_Mortius писал(а):обычно делают цикл с изменяемым шагом через repeat until
Да? А я считал что через while do.
А вопрос интересный.
Народ, чем чаще пользуетесь?
В таких случаях я всегда использую while. Когда, последний раз использовал repeat, даже не помню.
Вопрос задан из любопытства.
Вопрос задан из любопытства.
- Attid
- долгожитель
- Сообщения: 2588
- Зарегистрирован: 27.10.2006 17:29:15
- Откуда: 44°32′23.63″N 41°2′25.2″E
- Контактная информация:
B4rr4cuda писал(а):Народ, чем чаще пользуетесь?
они разные, repeat выполняется всегда минимум один раз, while может не разу.
ну и условие у одного внаяале у другого в конце проверяется, а если значение переменой меняется внутри то тоже надо решить когда его удобнее проверить.
Аттид, ты меня уважаешь?
Не надо теории, просто ответь, плиз, чем чаще пользуешься?
-
SAK
- постоялец
- Сообщения: 158
- Зарегистрирован: 17.02.2006 23:45:14
- Откуда: Тим
- Контактная информация:
А что мешает умножить переменную цикла на требуемый шаг?
Хотя это и немного медленнее чем while
Добавлено спустя 13 минут 15 секунд:
Да, интересный вопрос, это примерно как: чем чаще пользуетесь ложкой или вилкой?
Ответить можно только так: пользуюсь тем что больше подходит к конкретной ситуации.
Код: Выделить всё
step:=2;
for i:=0 to N div step do
writeln(i*step);
Хотя это и немного медленнее чем while
Добавлено спустя 13 минут 15 секунд:
B4rr4cuda писал(а):Народ, чем чаще пользуетесь?
Да, интересный вопрос, это примерно как: чем чаще пользуетесь ложкой или вилкой?
Ответить можно только так: пользуюсь тем что больше подходит к конкретной ситуации.
SAK писал(а):Да, интересный вопрос, это примерно как: чем чаще пользуетесь ложкой или вилкой?
Вилкой =)
