Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.29;
Скачать: CL | DM;

Вниз

Почему переменная цикла почти всегда i?   Найти похожие ветки 

 
European   (2004-08-11 16:48) [0]

Почему переменная цикла почти всегда i, а для вложенных циклов j и k? Какие мнения господа программисты?


 
всезнающий   (2004-08-11 16:51) [1]

Потому, что стандарт есть IEEE1312, который гласит:

"... и чтобы каждый программист использовал i для итераций в цикле, а не то все устои будут нарушены..."


 
Соловьев ©   (2004-08-11 16:52) [2]

имхо - от слова index


 
Ega23 ©   (2004-08-11 16:52) [3]

Удалено модератором


 
European   (2004-08-11 16:53) [4]


> всезнающий   (11.08.04 16:51) [1]

Что серьёзно?


 
Alx2 ©   (2004-08-11 16:53) [5]

У меня k,l,m,n и т.д...


 
European   (2004-08-11 16:54) [6]


> Соловьев ©   (11.08.04 16:52) [2]
> имхо - от слова index

Так можно i ассоциировать с integer, ведь переменная цикла целая


 
Соловьев ©   (2004-08-11 16:54) [7]

i,j,k - а может от матиматики пошло. там это повсеместно


 
European   (2004-08-11 16:56) [8]


> Соловьев ©   (11.08.04 16:54) [7]

Я тоже об этом подумал


 
KSergey ©   (2004-08-11 16:59) [9]

> [7] Соловьев ©   (11.08.04 16:54)

i, j, k, l, n, m - начинающиеся с этих букв переменные в фортране имели целочисленный тип.
Мне кажется все пошло отсюда.
Впрочем, это в математике использовалось, пожалуй, раньше.. Трудно спорить что раньше: яйцо или курица ;)


 
European   (2004-08-11 17:00) [10]

А что за стандарт IEEE 1312. Что то не нахожу...


 
jack128 ©   (2004-08-11 17:01) [11]


> имхо - от слова index
а мое имхо - от слова iterator


 
Рамиль ©   (2004-08-11 17:03) [12]

И в матеметике, скорее всего, от слова index, а дальше по алфавиту.


 
Юрий Зотов ©   (2004-08-11 17:06) [13]

Первоначально так было принято в математике. Оттуда перекочевало в Фортран, где такие переменные можно было не объявлять и они по умолчанию имели нужный тип. Потом распространилось и на другие языки.

То есть, просто традиция, и ничего более.


 
European   (2004-08-11 17:09) [14]


> Юрий Зотов ©   (11.08.04 17:06) [13]


> То есть, просто традиция, и ничего более.

Так стандарт тут не причём


 
KSergey ©   (2004-08-11 17:09) [15]

Помню в какой-то статье попалось по поводу именования переменных: "Но даже в произведениях признанных мастеров нет-нет да и встретишь знаменитые i, j, k, l, m, n!"
;)


 
KSergey ©   (2004-08-11 17:10) [16]

> [14] European   (11.08.04 17:09)

Да шутка, ну неужели еще не понял? ;)


 
всезнающий   (2004-08-11 17:11) [17]

Да, извини :)


 
European   (2004-08-11 17:11) [18]

Теперь понял :)


 
European   (2004-08-11 17:18) [19]

Есть желающие высказаться по поводу x,y,z в Декартовой системе координат? Или лучше новую ветку?


 
Petr V. Abramov ©   (2004-08-11 17:18) [20]

Один дурак назвал "i", написал книжку, другие так же называть стали. А теперь все - УСТОЙ, кто называет p или q - ламер
 :):)

 А на самом деле, IMHO, от Фортрана пошло, а в Фортране - от математики. А в математике - один дурак назвал "i", ... и см. выше
 :)


 
Ihor Osov'yak ©   (2004-08-11 17:21) [21]

2 [20] Petr V. Abramov ©   (11.08.04 17:18)

с фортрановской версией согласен.

кстати, а от переменных цыкла p или q немного коробит. Незнаю, может я такой превередливый..


 
DiamondShark ©   (2004-08-11 17:22) [22]

Из математической традиции.
Первыми буквами алфавита  обозначать константы, из средней части -- индексы, из конечной части -- переменные.

А в Фортране даже тип по умолчанию был к букве привязан.


 
ИМХО ©   (2004-08-11 17:23) [23]

iteration


 
kaif ©   (2004-08-11 17:23) [24]

Согласен с Юрий Зотов ©   (11.08.04 17:06) [13]
Это просто традиция из математики.
Почему sigma это sigma? Потому что так красиво. Я как-то слышал теорию о том, что если в математической теории нет ни одной готической буквы, то такая теория недостаточно серьезна :-)
А в институте я пугался готических и греческих букв. Поэтому все выводы сначала делал в латинских буквах (в своих обозначениях) и только так понимал, а потом уже готику юзал. :-)


 
всезнающий   (2004-08-11 17:25) [25]

x, y, z - придумали русские математики, (z - взамен й)


 
Prohodil Mimo ©   (2004-08-11 17:26) [26]

a u menja Ii, Kk, Ll :o) Jj ne ispol"zuju, t.k. ne nravica.

Раньше использовал (I, K, L).
Один раз заметил, что использую переменную I, пересмотрел все свои модуля, нигде не было объявления. Решил, что  в каком-то не моём модуле описана... с тех пор использую двойные (Ii, Kk, Ll).


 
всезнающий   (2004-08-11 17:29) [27]


> Один раз заметил, что использую переменную I, пересмотрел
> все свои модуля, нигде не было объявления. Решил, что  в
> каком-то не моём модуле описана... с тех пор использую двойные
> (Ii, Kk, Ll).


Да быть не может


 
kaif ©   (2004-08-11 17:29) [28]

Я иногда использую такие конструкции:
for i := 0 to M do
 for ii := 0 to MM do
   for iii := 0 to MMM do
Зато всегда ясно, какого уровня переменная цикла.
:)


 
Vasya.ru   (2004-08-11 17:31) [29]

А мне в 8 классе учитель по информатике всегда примеры приводила, где i - счетчик цикла, j - вложенного цикла. С тех пор и пошло...
Пытался как то Counter использовать, потом одна знакомая студентка завалилась с моим кодом - её препод спросил "А Counter - это что?", а она и не представляла, что бывают переменные с названием больше одной буквы


 
Prohodil Mimo ©   (2004-08-11 17:32) [30]

[27] всезнающий

Откуда такая уверенность? Ты же не знаешь какие модуля использовались, а я не говорил, что использовал только стандартные или Борландовские.


 
DiamondShark ©   (2004-08-11 17:32) [31]


> kaif ©   (11.08.04 17:23) [24]

Греческие знаю, латинские знаю.
А готические -- это какие?


 
Ihor Osov'yak ©   (2004-08-11 17:33) [32]

2 [28] kaif ©   (11.08.04 17:29)

хм.. Нужно подумать. А подумав, может и перенять.

2 [27] всезнающий   (11.08.04 17:29)

А Сtrl+left mouse button религия не позволила? Или это уже за пределами всезнания?


 
Prohodil Mimo ©   (2004-08-11 17:36) [33]

[32] Ihor Osov"yak
> 2 [27] всезнающий   (11.08.04 17:29)
>
> А Сtrl+left mouse button религия не позволила? Или это уже
> за пределами всезнания?


полагаю это было мне адресовано ?
Ответ : посмотрел бы я на твою религию в Д3 :о)


 
всезнающий   (2004-08-11 17:37) [34]


> Prohodil Mimo ©   (11.08.04 17:32) [30]
> [27] всезнающий
>
> Откуда такая уверенность? Ты же не знаешь какие модуля использовались,
> а я не говорил, что использовал только стандартные или Борландовские.


Нет, нет, я не спорю, но обычно более менее дельные модули
таких глобальных переменных (однобуквенных и т.п.)не объявляют.
/имхо/


 
Rule ©   (2004-08-11 17:41) [35]

Я использую потомучто во всей литературе так вот и привык, привычка, а вот откуда пошло, это уже риторический вопрос и ничего он не решает ибо уже есть как есть и ничего не изменишь


 
European   (2004-08-11 17:46) [36]


> Rule ©   (11.08.04 17:41) [35]


> это уже риторический вопрос и ничего он не решает

Так никто его и не решает


 
Rouse_ ©   (2004-08-11 17:47) [37]

Хех, а я обычно использую такой порядок I, A, X, Y, Z :)


 
Rule ©   (2004-08-11 17:55) [38]

Rouse_ ©   (11.08.04 17:47) [37]
Неправильные видно Санек у тебя книжки были ;)


 
Ega23 ©   (2004-08-11 17:58) [39]

Почему координаты называют X,Y,Z?


 
Ihor Osov'yak ©   (2004-08-11 18:00) [40]

2 [33] Prohodil Mimo ©   (11.08.04 17:36)

> полагаю это было мне адресовано ?

да, сори.

А что в Д3 Browse symbol at cursor c последующим references отменили также?


 
YurikGL ©   (2004-08-11 18:04) [41]

А я использую i1 i2 i3...


 
Blackman ©   (2004-08-11 18:08) [42]

KSergey ©   (11.08.04 16:59) [9]
Четыре с плюсом. Начиналось все не с фортрана :)


 
Prohodil Mimo ©   (2004-08-11 18:18) [43]

[40] Ihor Osov"yak,
да мне это не так важно было... свои исходники проверил... ничего нет... значит в чужих. А раз так, то лучше подстрахуюсь... к тому же мне так больше нравится, да ит "стандарта" не особо отличается :о)


 
esu   (2004-08-11 18:29) [44]

i, j, k...
Собственно только для циклов однобуквенные переменные и использую... Ну исключение если математическая задача и там так принято (какой-то одной буквой обозначать).


 
DeadMeat ©   (2004-08-11 19:32) [45]

До того, как начал изучать информатику (в школе), использовал A,B,C,D и т.д. Причем именно большими буквами. На бейсике. После информатики приучили к i,j. Сопротивлялся долго...


 
kaif ©   (2004-08-11 20:15) [46]

2 DiamondShark ©   (11.08.04 17:32) [31]
> kaif ©   (11.08.04 17:23) [24]
Греческие знаю, латинские знаю.
А готические -- это какие?

Не придирайся к словам. Ты же знаешь, что это латинские в отстойном немецком начертании со всякими загогулинами, не всегда разберешь что за буква. Зато выглядят очень важно в печатных текстах. А как их руками рисовать - непонятно (если специально этот шрифт не изучать и его ручную каллиграфию). То есть это шрифт, а не алфавит. Но от этого не легче. Некоторые из них для непосвященного человека просто неузнаваемы (неясно, как их произносить). А если студент на лекциях не был и все по учебникам учит, то ему приходится несладко. А заменил все на a,b,c,x,y... сразу все стало понятно. А потом уже можно пойти и уточнить, как этот отстой произносить и разрисовывать.

2 Ihor Osov"yak ©   (11.08.04 17:33) [32]
2 [28] kaif ©   (11.08.04 17:29)

хм.. Нужно подумать. А подумав, может и перенять.

Перенимать не стоит. На самом деле от таких вещей в глазах рябит и легко ошибиться. Я использую этот прием в основном, когда переделываю циклы, меняю внешние и внутренние местами и так далее (на стадии, так сказать экспериментов). В конечном итоге ничто так элегантно не выглядит, как именно i,j,k. меня правда смущает, что многие используют большие буквы I, J, K. Может так оно и правильнее, не знаю. Маленькие i и j тоже легко спутать.


 
TUser ©   (2004-08-11 20:26) [47]

Буква i, а также знаки : и = образуют на клавиатуре параболу - наиболее удобную фигуру для перемещения среднего пальца. i,j,k - все рядом, образуют магический круг. А x,y,z символизируют постоянные перемещения в разных направлениях, изменения собственного значения, что характерно для переменнных.


 
DVM ©   (2004-08-11 20:43) [48]

А я не использую i,j,k. В большой программе неинформативно как-то. nCount, nRow, nColumn или еще что (смотря чего считаем) гораздо имхо удобнее.


 
Думкин ©   (2004-08-12 05:56) [49]

> [31] DiamondShark ©   (11.08.04 17:32)

Алеф, например. Уу... Мощность множества.... :))


 
Имя   (2004-08-12 07:03) [50]

не знаю всю жизнь count1,count2,count3 использовал


 
Кщд ©   (2004-08-12 07:22) [51]

Думкин ©   (12.08.04 05:56) [49]
да ещё какого множества :)


 
noname_   (2004-08-12 08:46) [52]

2 Имя [50]
> не знаю всю жизнь count1,count2,count3 использовал

Однажды программисту на perl сказали что для обозначения переменных следует использовать длинные ассоциативные имена, он так и стал делать: длинное_ассоциативное_имя1, длинное_ассоциативное_имя2, длинное_ассоциативное_имя3 ... (с) старый анекдот


 
nikkie ©   (2004-08-12 09:50) [53]

>Думкин
алеф - не готическая буква, имхо, поскольку я согласен с определением кайфа: "готические буквы - это латинские в отстойном немецком начертании". а алеф - буква еврейского (или финикийского на худой конец) алфавита.
http://golovolomka.hobby.ru/books/gardner/gotcha/ch2/12.html


 
Думкин ©   (2004-08-12 09:53) [54]

> [53] nikkie ©   (12.08.04 09:50)

Не спорю. Главное, что пишется криво, а писать приходилось.
А в алгебрах Ли и представлениях их еще много разного страшного писали, ведущий семинара жутко любил такое.


 
Яод   (2004-08-12 13:47) [55]

у нас бывало на лекциях последовательность индексов использовали: ukj
звучало интересно.



Страницы: 1 2 вся ветка

Текущий архив: 2004.08.29;
Скачать: CL | DM;

Наверх




Память: 0.6 MB
Время: 0.022 c
1-1092315007
Jakut
2004-08-12 16:50
2004.08.29
zip.dll+unzip.dll


4-1090222728
pavel_guzhanov
2004-07-19 11:38
2004.08.29
Com Port


14-1091636877
Piter
2004-08-04 20:27
2004.08.29
Посоветуйте Гостевую книгу на php написанную


1-1092236976
appendix
2004-08-11 19:09
2004.08.29
в двоичном виде


6-1087779834
Алекс А
2004-06-21 05:03
2004.08.29
Как проверить прокси и скачать через него страничку ?