Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];

Вниз

Почему переменная цикла почти всегда 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.58 MB
Время: 0.043 c
3-1091554030
сергей1
2004-08-03 21:27
2004.08.29
ловля ошибок


14-1092175825
Baron
2004-08-11 02:10
2004.08.29
Средство от простуды и насморка


14-1092244273
Паскальные надписи
2004-08-11 21:11
2004.08.29
Есть тут кто с Физтеха?


14-1092054473
Яод
2004-08-09 16:27
2004.08.29
Страшно подумать сколько их существует


3-1091681955
Марат
2004-08-05 08:59
2004.08.29
Счетчик DBGrid





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский