- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
for i:=1 to 100 do
begin
for j:=1 to f do
begin
...
end;
f:=f+1000;
end;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+93
for i:=1 to 100 do
begin
for j:=1 to f do
begin
...
end;
f:=f+1000;
end;
Бедные дельфины, им не повезло с циклами.
tr00_gr1m_doomster 12.02.2011 22:44 # 0
CHayT 12.02.2011 22:50 # 0
tr00_gr1m_doomster 12.02.2011 22:54 # 0
CHayT 12.02.2011 22:57 # 0
CHayT 12.02.2011 23:01 # 0
ZX_Spectrum 13.02.2011 09:56 # −4
StriderMan 14.02.2011 09:43 # +2
... the expressions initialValue and finalValue are evaluated only once
ZX_Spectrum 14.02.2011 22:57 # 0
Lure Of Chaos 15.02.2011 16:43 # 0
ZX_Spectrum 16.02.2011 18:25 # 0
Lure Of Chaos 16.02.2011 21:09 # 0
bugmenot 12.02.2011 23:00 # +7
CHayT 12.02.2011 23:11 # −3
bugmenot 12.02.2011 23:27 # +3
CHayT 15.02.2011 17:48 # 0
CHayT 15.02.2011 17:41 # 0
TarasB 12.02.2011 23:22 # +2
Что ты хотел сказать этим говнокодом?
Я минус не трогал ни одним виртуалом, честно.
Ааа, я понял, ты про ограничения цикла for. Наш фор - это конструкция более высокоуровневая, чем сишный, являющийся полной копией while, да.
brainstorm 13.02.2011 02:36 # −1
CHayT 15.02.2011 17:11 # 0
TarasB 15.02.2011 17:18 # 0
CHayT 15.02.2011 17:23 # 0
TarasB 16.02.2011 10:16 # −3
guest 16.02.2011 12:59 # 0
Вывод: Используйте мат там, где он необходим и только.
TarasB 16.02.2011 13:15 # −2
bugmenot 16.02.2011 14:01 # +2
StriderMan 14.02.2011 09:44 # −1
stormarch 14.02.2011 14:25 # 0
(Типы имеют нормальное имя и их можно использовать в массивах и итераторах, вместо целых магических чисел)
А вот менять итератор в теле цикла - это не хорошо. Эту ошибку потом будешь искать два-три дня и корить себя за невнимательность. Лучше уж пользоваться while/repeat циклами.
Паскаль тем хорош, что циклы читаются чисто:
i.e:
type
TValues = (vOne, vTwo, vThree);
TOneArray = Array[TValues] of Integer;
var
a : TOneArray;
i : TValues;
begin
//... init here
for i := vOne to vThree do
Write( a[i] );
end;
Чисто и понятно - к чему имеешь доступ. И проверка типов ещё очень помогает (компилер ругнется, если ты 2 вместо vThree будешь использовать, хотя ord(vThree) = 2)
Строгая типизация рулит
StriderMan 14.02.2011 14:30 # 0
И вообще, это касается перебора любых массивов
TarasB 14.02.2011 15:16 # −2
...
end loop;
StriderMan 14.02.2011 15:25 # +2
guest 14.02.2011 16:42 # 0
StriderMan 14.02.2011 16:45 # 0
guest 14.02.2011 16:56 # 0
TarasB 14.02.2011 17:02 # −1
Это АДА.
PascalGovno 14.02.2011 17:03 # +1
TarasB 14.02.2011 17:04 # 0
PascalGovno 14.02.2011 17:07 # +1
StriderMan 14.02.2011 17:12 # 0