काउंटरों के लिए चर "i" और "j" का उपयोग क्यों किया जाता है?


179

मुझे पता है कि यह पूछने के लिए एक बिल्कुल मूर्खतापूर्ण प्रश्न की तरह लग सकता है, फिर भी मैं पूछने के लिए उत्सुक नहीं हूं ...

अधिकांश नियंत्रण संरचनाओं में काउंटर के रूप में उपयोग करने के लिए "i" और "j" वैरिएबल क्यों बन गए?

हालांकि सामान्य ज्ञान मुझे बताता है कि वे एक्स की तरह हैं, जो अज्ञात मूल्यों का प्रतिनिधित्व करने के लिए उपयोग किया जाता है, मैं यह सोचने में मदद नहीं कर सकता कि हर किसी को एक ही तरह से बार-बार सिखाया जाता है एक कारण होना चाहिए।

क्या यह इसलिए है क्योंकि यह वास्तव में सर्वोत्तम प्रथाओं, या एक सम्मेलन के लिए अनुशंसित है, या इसके पीछे कुछ अस्पष्ट कारण है?

बस के मामले में, मुझे पता है कि मैं उन्हें वह नाम दे सकता हूं जो मैं चाहता हूं और चर नाम प्रासंगिक नहीं हैं।


17
i = पुनरावृत्ति जबकि j =
अंतर्मन के

7
अजीब 'ग' नहीं चुना गया था? इंटेल 'cx' काउंटर रजिस्टर में।


16
क्यों वास्तविक प्रश्न सामुदायिक विकी बन जाते हैं क्योंकि वे लोकप्रिय हैं? यह साम्यवाद की बहुत याद दिलाता है। यदि कोई वास्तव में कुछ शांत करता है, तो सरकार समुदाय के साथ साझा करने के लिए आविष्कार की चोरी करती है।
orokusaki

9
बंद गलत तरीका: यहाँ जवाब अन्य qn की तुलना में अधिक जानकारीपूर्ण हैं ...
चार्ल्स स्टीवर्ट

जवाबों:


330

यह गणित से अंततः आता है: योग अंकन पारंपरिक रूप से उपयोग करता है मैं पहले सूचकांक, के लिए जे पल के लिए, और इतने पर। उदाहरण ( http://en.wikipedia.org/wiki/Summation से ):

\ sum_ {i = 1} ^ {n} i = \ frac {n ^ 2 + n} {2}

इसका उपयोग चीजों के संग्रह के लिए भी किया जाता है, जैसे कि अगर आपके पास चर x 1 , x 2 , ... x n का गुच्छा है , तो एक मनमाना x i के रूप में जाना जाएगा ।

जैसे कि यह ऐसा क्यों है, मुझे लगता है कि एसएलएक्स सही है और यह इसलिए है क्योंकि मैं सूचकांक में पहला पत्र हूं।


93
@SLott: और iगणित में क्यों प्रयोग किया जाता है?
SLAKs

13
@ श्लोक: यह एक अच्छा प्रश्न है। मुझे वास्तव में लगता है कि "i" इंडेक्स से अधिक पूर्णांक से आ सकता है। मुझे भी लगता है कि चॉकबोर्ड पर लिखना आसान है। 70 के दशक में हम यह सुनिश्चित करने के लिए सावधान थे कि हमने अपने "i" और "j" को बिल्कुल विशिष्ट तरीके से लिखा है। वास्तव में, हमें बताया गया था कि हम अपने "i" को बिल्कुल पीछे की तरफ "j" की तरह बनाएं, इसके बारे में पूरी तरह से स्पष्ट होने के लिए।
S.Lott

26
@ S.Lott: मुझे संदेह है कि यह पूर्णांक से आता है। हम पूर्णांक के लिए use (ब्लैकबोर्ड बोल्ड जेड) का उपयोग करते हैं क्योंकि यह जर्मन शब्द ज़ाहलेन के लिए है , जिसका अर्थ संख्या है । यह मानते हुए कि योग अंकन लगभग एक ही समय पैदा हुई, जर्मन आधारित अंकन की उम्मीद है और किया जाएगा के लिए जर्मन शब्द सूचकांक है सूचकांक है, जो भी एक साथ शुरू होता है मैं । और मैं कई पत्रों के बारे में नहीं सोच सकता, जो विशेष रूप से एक चॉकबोर्ड पर लिखना मुश्किल है। खैर,, :-) को छोड़कर
अंटाल क्षेत्ररक्षक-ज़ाबुस्की 22

14
"यह सम्मेलन मौजूद है क्योंकि यह सम्मेलन पहले भी अस्तित्व में है।" इस तरह से व्युत्पत्ति कैसे काम करती है: कोई नहीं जानता कि पीआईई में एक विशेष शोर का एक विशेष अर्थ क्यों था। गणितीय सम्मेलन की व्याख्या करना अच्छा होगा, लेकिन सवाल यह है कि "उन्हें नियंत्रण संरचनाओं में काउंटर के रूप में क्यों उपयोग किया जाता है", इसलिए जब तक कोई जवाब नहीं देता है जो आगे वापस जाता है, यह सबसे अच्छा है। यह कम से कम अटकलें लगाता है कि गणित में इसका उपयोग क्यों किया जाता है। एक उचित गणितीय इतिहासकार पता लगा सकता है, शायद एक बाइनरी चॉप का उपयोग कर रहा है। यूक्लिड ने इसका उपयोग नहीं किया, मैंने शर्त लगाई कि न्यूमैन ने किया। कैची के बारे में कैसे? उन्होंने कहा कि अनुक्रमित एक बहुत इस्तेमाल किया
स्टीव जेसप

14
मुझे लगता है कि यह Lagrange था जिसने फ़ंक्शन के स्थिरांक के लिए a, b, c का उपयोग करने की सिफारिश की, और x, y, z किसी फ़ंक्शन के चर के लिए। i, j, k एक वेक्टर की 'दिशाओं' को निरूपित करते हैं, और इस तरह के एक औपचारिक योग के कारक समीकरण की स्वतंत्रता [दिशाओं, दूसरे नाम से] के रूप में माना जा सकता है।
डेविड

200

मेरा मानना ​​है कि यह फोर्ट्रान में वापस आता है। क्यू के माध्यम से I से शुरू होने वाले चर डिफ़ॉल्ट रूप से पूर्णांक थे, अन्य वास्तविक थे। इसका मतलब यह था कि Iपहला पूर्णांक चर, और Jदूसरा, आदि था, इसलिए वे लूप में उपयोग की ओर गिर गए।


53
मुझे लगता है कि यह उस तरह से आता है जिस तरह से गणितज्ञों को i, j, k का उपयोग करना अच्छा लगता है क्योंकि योग और मैट्रिक्स गुणन सूचकांकों के लिए आसान सदस्यता और क्या-क्या नहीं। मुझे याद है कि एक शुरुआती फोरट्रान II मैनुअल में पढ़ने के बारे में कुछ था। (हाँ, फोरट्रान II।)
S.Lott

5
हाँ, फोरट्रान इन सम्मेलनों की उत्पत्ति करता है।
जे क्यू कतार

9
मुझे नहीं के Iमाध्यम से सिखाया गया था । Google ज्यादातर सहमत लगता है। (फोरट्रान के विभिन्न संस्करण?)NQ
ह्यूग एलेन

2
और फोरट्रान में बाकी सब कुछ डिफ़ॉल्ट रूप से, वास्तविक था। जो मजाक "भगवान वास्तविक है, जब तक पूर्णांक घोषित नहीं किया जाता है"।
लेगरबेर

4
@ लर्निस्ट - क्योंकि गणितज्ञ पहले से कम से कम एक सदी के लिए i, j का उपयोग कर रहे थे।
मार्टिन बेकेट

195

गणितज्ञ i, j, k का उपयोग करते हुए पूर्णांक (अंशांकन, श्रृंखला, सारांश आदि) में पूर्णांकों को निर्दिष्ट करते हैं (जैसे 1836 या 1816 ) कंप्यूटर आसपास थे (यह फोरट्रान चर प्रकार के दोषों की उत्पत्ति है)। अज्ञात चर के लिए वर्णमाला के अंत से अक्षरों का उपयोग करने की आदत (..., x, y, z) और स्थिरांक के लिए शुरुआत (a, b, c ...) को आमतौर पर Rene Descartes के लिए जिम्मेदार ठहराया जाता है , (देखें यहाँ भी ) इसलिए मैं मानता हूँ कि पूर्णांक के लिए i, j, k ... n (वर्णमाला के मध्य में) उसके कारण भी संभव है।


17
मेरे लिए, यह स्पष्ट रूप से सबसे अच्छा जवाब है। (माइकल बोर्गवर्ड के उत्तर के लिए सम्माननीय उल्लेख, जो गणितीय सम्मेलन का भी हवाला देता है, लेकिन उतना विशिष्ट नहीं है।) मुझे खेद है कि आपका स्वीकार नहीं किया गया है। मैं केवल इतना कर सकता हूं कि वह मेरा उत्थान करे।
जॉन वाई

3
यही कारण है कि हमें समुदाय द्वारा स्वीकार किए गए उत्तर के लिए वोट करने में सक्षम होने की आवश्यकता है (और मुझे पता है कि यह uservoice पर है)।
केर्न्स

हे। मैं कभी-कभी इस उत्तर में एक पुरानी Google पुस्तक की लिंक को अपडेट करता हूं क्योंकि Google आसपास सामान काटता रहता है। संयोग से, मैं अब एक लेखक के रूप में जुड़े 1816 दस्तावेज में चार्ल्स बैबेज (संभवतः अंतर इंजन / विश्लेषणात्मक इंजन प्रसिद्धि) को शामिल करता हूं। तो यकीनन यह एक कंप्यूटर प्रोग्रामर द्वारा पूर्णांक वैरिएबल "i" के पहले उपयोग का एक उदाहरण है: ^)
टिम्ड जूल

.. पर 1816 लिंक इस पर उपयोग किए गए "i" पृष्ठ पर नहीं जाता है, लेकिन वे वहां हैं।
टिम जूल

129

i = पूर्णांक

फोरट्रान से आता है जहाँ पूर्णांक चर को N के माध्यम से I अक्षर से शुरू करना पड़ता था और वास्तविक चर अन्य अक्षरों से शुरू होते थे। इस प्रकार मैं पहला और सबसे छोटा पूर्णांक चर नाम था। फोरट्रान व्यापक उपयोग में सबसे प्रारंभिक प्रोग्रामिंग भाषाओं में से एक था और प्रोग्रामर द्वारा विकसित की गई आदतों को अन्य भाषाओं में ले जाया गया।

EDIT : मुझे इस जवाब से कोई समस्या नहीं है कि यह गणित से निकला है। निस्संदेह वह जगह है जहां फोरट्रान डिजाइनरों को उनकी प्रेरणा मिली। तथ्य यह है कि मेरे लिए वैसे भी, जब मैंने फोरट्रान में प्रोग्राम करना शुरू किया, तो हमने लूप काउंटर के लिए I, J, K, ... का उपयोग किया क्योंकि वे छोटे थे और पहले कानूनी तौर पर पूर्णांक के लिए परिवर्तनीय नाम थे। एचएस में एक सोम्पोमोर के रूप में मैंने शायद डेसकार्टेस (और बहुत कम अन्य) के बारे में सुना था, लेकिन प्रोग्रामिंग के दौरान गणित से बहुत कम संबंध बनाए। वास्तव में, मैंने जो पहला कोर्स लिया, उसे "फोरट्रान फॉर बिजनेस" कहा गया और गणित संकाय द्वारा नहीं, बल्कि बिजनेस / एकॉन फैकल्टी द्वारा पढ़ाया गया।

मेरे लिए, कम से कम, चरों के नामकरण का गणित से बहुत कम लेना-देना था, लेकिन उन सभी आदतों के कारण जो मैंने फोरट्रान कोड लिखने के लिए उठाईं, जिन्हें मैंने अन्य भाषाओं में किया।


4
मुझे पूरा यकीन है कि यह फोरट्रान था।
कैड रूक्स

4
हां, फोरट्रान ..... यह दिमाग को रोता है। हमारे पास एक प्रोग्रामर है जो i ii और iii को लूप वेरिएबल नामों के रूप में उपयोग करता है। अन्य लक्षण 6 वर्ण चर / फ़ंक्शन नाम हैं जिनमें कोई स्वर नहीं है।
एविलटाइच

4
@tvan, मुझे पूरा यकीन है कि एन के माध्यम से शुरू होने वाले चर पूर्णांक में डिफ़ॉल्ट होते हैं, लेकिन आप अभी भी उन्हें वास्तविक घोषित कर सकते हैं इसलिए मजाक "भगवान वास्तविक है, जब तक कि पूर्णांक घोषित नहीं किया जाता"। +1 वैसे भी, इतने सालों पहले से मेरी याद आने के बाद शायद यह सही नहीं होगा।
paxdiablo

10
हे, फोरट्रान लोगों ने इसे गणितज्ञों से दूर कर दिया!
तैमूर

6
मैं @timday से सहमत हूं। श्रृंखला के सूचकांक के रूप में i का उपयोग करना गणितज्ञों द्वारा कम से कम 2 शताब्दियों के लिए एक अभ्यास है।
स्कॉटी टी

91

iमैं ndex के लिए खड़ा है ।
jके बाद आता है i


12
मुझे लगता है कि वह वर्णमाला के बारे में बात कर रहे थे, कुछ कल्पना का उपयोग करने की कोशिश करते हैं :)
जैक

33
@ जैक: मुझे लगता है कि @ पेइट मजाक कर रहा था ;-)
क्रिस Pfohl

13
@Cpfohl: हाँ, बस उबाऊ होना चाहता था: डी
जैक

4
@ पेत किर्कम: बहुत बहुत धन्यवाद पीट, यह पिछले महीने में मुझे मिली सबसे अच्छी हंसी थी।
AMissico

@ एसएलएस ... मेरा मानना ​​है कि यह आपका अधिकार है कि मैं = इंडेक्स जो मैथ en.wikipedia.org/wiki/Index_notation में उपयोग किए गए इंडेक्स नोटेशन से आता है या यहां एक अच्छा संदर्भ भौतिकी है। संकेतन
.pdf

63

इलेक्ट्रॉनिक कंप्यूटरों के आविष्कार से बहुत पहले इन प्रतीकों को गणित में मैट्रिक्स इंडेक्स के रूप में इस्तेमाल किया गया था।


52

मुझे लगता है कि यह सबसे अधिक संभावना सूचकांक ( गणितीय अर्थों में ) से निकला है - यह आमतौर पर रकम या अन्य सेट-आधारित संचालन में एक सूचकांक के रूप में उपयोग किया जाता है, और सबसे अधिक संभावना उस तरह से इस्तेमाल की गई है जब से प्रोग्रामिंग भाषाएं थीं।


अच्छा उत्तर। यह (मुझे) वास्तव में सबसे संभावित स्पष्टीकरण की तरह लगता है।
नोल्डोरिन

3
हाँ। Y = Σ Xiहर प्रोग्रामिंग लैंग्वेज से पहले की राशि के लिए मैथमैटिक नोटेशन ।
ट्रेब

जब भी मैं उपयोग करता हूं मैं हर बार सूचकांक के बारे में सोच रहा हूं i। लेकिन मूल रूप से मैं इसे मुख्य रूप से उपयोग करता हूं क्योंकि सभी कोड मैं कहीं और देखता हूं और इसका उपयोग करता हूं, और जो कि फोरट्रान प्रोग्रामर से विरासत में मिल सकता है ...
awe

47

इसी तरह से उपयोग किए जाने वाले "अनाम" चर के लिए वर्णमाला में लगातार अक्षरों का उपयोग करने के लिए गणित में एक प्राथमिकता है। इसलिए, न केवल "मैं, जे, के", बल्कि "एफ, जी, एच", "पी, क्यू, आर", "एक्स, वाई, जेड" (शायद ही कभी "यू, वी, डब्ल्यू" पूर्वनिर्मित) के साथ, और "α, β, β"।

अब "एफ, जी, एच" और "एक्स, वाई, जेड" का उपयोग स्वतंत्र रूप से नहीं किया जाता है: पूर्व कार्यों के लिए है, आयामों के लिए उत्तरार्द्ध। "पी, क्यू, आर" भी अक्सर कार्यों के लिए उपयोग किया जाता है।

फिर उपलब्ध अनुक्रमों पर अन्य बाधाएं हैं: "एल" और "ओ" से बचा जाता है, क्योंकि वे कई फोंट में "1" और "0" की तरह दिखते हैं। त्वरण, विस्थापन, द्रव्यमान और वेग के भौतिक उपायों के लिए "t" का उपयोग अक्सर समय के लिए, "d &," के लिए किया जाता है, और "a, s, m, v" के लिए। यह सूचकांकों के लिए गणित में अवांछित संघों के बिना लगातार तीन पत्रों के इतने सारे अंतराल को नहीं छोड़ता है।

फिर, जैसा कि कई अन्य ने देखा है, गणित के सम्मेलनों का प्रारंभिक प्रोग्रामिंग सम्मेलनों पर एक मजबूत प्रभाव था, और कई प्रारंभिक चरित्र सेटों में "α, γ, have" उपलब्ध नहीं थे।


2
माना। हालांकि, कई अर्थ होने के a, b, cबावजूद एक सामान्य रूप से उपयोग किया जाने वाला क्रम है a...
स्टोबोर

32

मुझे एक और संभावित उत्तर मिला जो कि i, j, और k से हो सकता है Hamilton's Quaternions

वैकल्पिक शब्द

यूलर ने मुझे काल्पनिक इकाई के लिए चुना।

हैमिल्टन को -1 की दो और चौकोर जड़ों की जरूरत थी: ii = jj = kk = ijk = -1

हैमिल्टन वास्तव में प्रभावशाली थे, और quaternions 1900 से पहले 3 डी विश्लेषण करने का मानक तरीका था। तब तक, गणितज्ञों को एक मिलान सेट के रूप में (ijk) सोचने के लिए उपयोग किया जाता था। वेक्टर गणना ने 1890 के दशक में चतुर्धातुक विश्लेषण का स्थान ले लिया क्योंकि यह मैक्सवेल के समीकरणों को लिखने का एक बेहतर तरीका था । लेकिन लोग सदिश राशियों को इस तरह से लिखना पसंद करते थे: के (3i-2j+k) बजाय (3,-2,1) । इसलिए (ijk) R ^ 3 में मानक आधार वैक्टर बन गया।

अंत में, भौतिकविदों ने अंतर समीकरणों की प्रणालियों में समरूपता का वर्णन करने के लिए समूह सिद्धांत का उपयोग करना शुरू कर दिया। तो (ijk) ने "वैक्टर जो कि क्रमपरिवर्तन समूहों द्वारा अदला-बदली कर लेते हैं," को फिर से जोड़ना शुरू कर दिया, फिर "सूचकांक जैसी चीज़ों की ओर बढ़ गए, जो कुछ निर्दिष्ट सेटों में सभी संभावित मूल्यों को लेते हैं," जो मूल रूप से लूप के लिए उनका मतलब है।


11
प्रश्न पर एक अलग दृष्टिकोण पर, दिलचस्प बिंदु +1
फबियान

30

त्याग करके (थोड़ा पक्षपाती)

a seems an array
b seems another array 
c seems a language name
d seems another language name
e seems exception
f looks bad in combination with "for" (for f, a pickup?)
g seems g force
h seems height

i seems an index                    
j seems i (another index)

k seems a constant k
l seems a number one (1) 
m seems a matrix
n seems a node
o seems an output
p sounds like a pointer
q seems a queue
r seems a return value
s seems a string
t looks like time
u reserved for UVW mapping or electic phase 
v reserved for UVW mapping or electic phase or a vector
w reserved for UVW mapping or electic phase or a weight
x seems an axis (or an unknown variable)
y seems an axis
z seems a third axis

3
मैं n के रूप में देखता हूं number, आमतौर पर एक सेट में तत्वों की संख्या।
टॉम लेय्स 19

6
ओह पुरुषों, और XXX क्या प्रतीत होता है? )) रचनात्मकता के लिए +1;)
होहनहंस ग्रिगोरियन

कभी-कभी मुझे ख़ुशी होती है कि ज्यादातर समय मुझे परेशान नहीं करना पड़ता कि किस तरह के अन्य लोगों के साथ उनके सिर पर कुछ इस तरह की बातें होती हैं ...
Thies Heidecke

21

एक दोपहर की धूप, आर्किमिडीज़ क्या विचार करते हैं ( जैसा कि सनी दोपहर के लिए सामान्य था ) और अपने दोस्त एराटोस्थनीज़ में भाग गया।

आर्किमिडीज ने कहा, "आर्किमिडीज टू एराटोस्थनीज ग्रीटिंग! मैं संतुलन में कई गोलाकार कठोर पिंडों के अनुपात के समाधान के साथ आने की कोशिश कर रहा हूं। मैं कई बार इन निकायों पर पुनरावृति करना चाहता हूं, लेकिन मैं एक सुखद समय रख रहा हूं। मैंने कितने पुनरावृत्तियों को किया है! "

एराटोस्थनीज ने कहा, "क्यों आर्किमिडीज़, आप एक बच्चे के बेर को पकाते हैं, आप केवल रेत में लाइनों की क्रमिक पंक्तियों को चिह्नित कर सकते हैं, प्रत्येक आपके द्वारा पुनरावृत्ति के दौरान किए गए पुनरावृत्तियों की संख्या पर नज़र रखता है!"

आर्किमिडीज़ ने दुनिया को बताया कि उसका महान दोस्त निर्विवाद रूप से इस तरह के एक सरल समाधान के साथ आने के लिए बुद्धि का एक चमकता हुआ बीकन था। लेकिन आर्किमिडीज ने टिप्पणी की कि वह अपने रेत के गड्ढों के आसपास हलकों में चलना पसंद करता है जबकि वह आश्चर्यचकित है। इस प्रकार, उस पंक्ति का ट्रैक खोने का जोखिम था जो शीर्ष पर थी, और जो नीचे थी।

"शायद मुझे इन पंक्तियों को वर्णमाला के एक अक्षर के साथ चिह्नित करना चाहिए, ताकि मुझे हमेशा पता चल सके कि कौन सी पंक्ति है? आप क्या सोचते हैं?" उन्होंने पूछा, फिर जोड़ा, "लेकिन एराटोस्थनीज ... जो भी अक्षर मैं उपयोग करूंगा?"

एराटोस्थनीज को यकीन था कि वह नहीं जानता था कि कौन से अक्षर सबसे अच्छे होंगे, और आर्किमिडीज के लिए उतना ही कहा जाएगा। लेकिन आर्किमिडीज असंतुष्ट था और उसने गरीब लाइब्रेरियन को चुनने के लिए कम से कम, दो पत्रों को जारी रखा, जो उसे अपने वर्तमान क्षेत्र संतुलन समाधान के लिए आवश्यक थे।

Eratosthenes, अंत में दो पत्रों के लिए लगातार अनुरोध के थक गया, चिल्लाया, "मैं बस नहीं जानता!"

इसलिए आर्किमिडीज़ ने एराटोस्थनीज़ के विस्मयादिबोधक वाक्य में पहले दो अक्षर चुने, और योगदान के लिए अपने दोस्त को धन्यवाद दिया।


इन प्रतीकों को प्राचीन ग्रीक जावा डेवलपर्स द्वारा जल्दी से अपनाया गया था, और बाकी, अच्छी तरह से ... इतिहास है।


6
... और पत्र था j
एंड्रयू ग्रिम

वाह, कि लगभग
हॉफस्टैटर

15

मुझे लगता है कि यह इसलिए है क्योंकि बहुत सारे लूप काउंटिंग करने के लिए इंट टाइप वेरिएबल का उपयोग करते हैं, जैसे

for (int i = 0; etc

और जब आप टाइप करते हैं, तो आप वास्तव में इसे अपने सिर में बोलते हैं (जैसे कि जब आप पढ़ते हैं), तो आपके दिमाग में, आप कहते हैं 'इंट ...

और जब आपको उस 'int ....' के ठीक बाद एक पत्र बनाना है, तो आप कहते हैं / 'i' टाइप करें क्योंकि यह पहला पत्र है जिसे आप तभी सोचते हैं जब आपने 'int' कहा हो

जैसे आप बच्चों के लिए एक शब्द जादू करते हैं, जो आप पढ़ना शुरू करते हैं, आप उनके लिए शब्दों का उपयोग करके नाम लिखना पसंद करते हैं:

WORD में विलियम डब्ल्यू, ओके ओ, रूबी आर, डोन डी

तो आप पहले अक्षर के आधार पर Int I, Double d, Float f, string s आदि कहते हैं।

और j का उपयोग किया जाता है क्योंकि जब आपने int I किया है, J उसके ठीक बाद आता है।


7
iइस वाक्यविन्यास को पूर्ववर्ती करता है।
स्लाक्स

1
यह एक बच्चे को बकवास से भ्रमित करने का एक शानदार तरीका है; तुम सच में तुम्हारा उस तरह जादू करना सिखाओ ?!
ऑर्बिट

14

मुझे लगता है कि यह अन्य उल्लिखित कारणों का एक संयोजन है:

शुरुआत के लिए, 'i' आमतौर पर गणितज्ञों द्वारा उनके अंकन में उपयोग किया जाता था, और उन भाषाओं के साथ कंप्यूटिंग के शुरुआती दिनों में जो द्विआधारी नहीं थे (यानी कुछ फैशन में पार्स और लेक्सड होना चाहिए था), कंप्यूटर के अधिकांश उपयोगकर्ता। गणितज्ञों (... और वैज्ञानिकों और इंजीनियरों) को भी यह जानकारी कंप्यूटर की भाषाओं में प्रोग्रामिंग लूप के लिए उपयोग में आती है, और इस तरह से बस तब से अटकी हुई है।

इसे इस तथ्य के साथ जोड़िए कि उन शुरुआती दिनों में स्क्रीन स्पेस बहुत सीमित था, जैसा कि मेमोरी था, इससे छोटे वेरिएबल नाम रखने की समझ बनी।


13

संभवतः ऐतिहासिक?

फोरट्रान, संभवतः पहली उच्च स्तरीय भाषा है, जिसे i, j, k, l, m के रूप में परिभाषित किया गया है, जो कि पूरी तरह से पूर्णांक चर के रूप में है, और लूप केवल पूर्णांक चर द्वारा नियंत्रित किए जा सकते हैं, सम्मेलन जारी है?

उदाहरण के लिए:

100 i = j, 100,5 .... 100 जारी रखें ....


एफडब्ल्यूआईडब्ल्यू, मैं आमतौर पर अक्षर एल को छोड़ देता हूं क्योंकि यह संख्या 1. की तरह बहुत अधिक दिखता है
नोसेरेडना

13

i = इट्रेटर, i = इंडेक्स, i = पूर्णांक

जिस पर आप कभी भी "i" लगाते हैं, वह अभी भी "फिट बैठता है बिल" है।

इसके अलावा, जब तक कि आपके पास उस लूप के भीतर कोड की केवल एक पंक्ति नहीं होती है, आपको संभवतः इट्रेटर / इंडेक्स / पूर्णांक चर का नामकरण कुछ और सार्थक करना चाहिए। जैसे: कर्मचारीभार

BTW, मैं आमतौर पर "i" का उपयोग अपने साधारण इटरेटर लूप्स में करता हूं; जब तक निश्चित रूप से इसमें कोड की कई लाइनें नहीं होती हैं।


13

i = iota, j = jot; दोनों छोटे परिवर्तन।

iota ग्रीक वर्णमाला का सबसे छोटा अक्षर है; अंग्रेजी भाषा में इसका अर्थ छोटे बदलावों से जुड़ा हुआ है, जैसे कि "नॉट वन वन कोटा" (न्यू टेस्टामेंट में एक वाक्यांश से: "जब तक स्वर्ग और पृथ्वी पास नहीं हो जाते, तब तक कोटा नहीं, डॉट नहीं, कानून से पास होगा" (माउंट 5:18))।

एक काउंटर एक मूल्य में एक छोटे से बदलाव का प्रतिनिधित्व करता है।

और आईओटी से जोट (आईओटी) आता है, जो एक छोटे से बदलाव का पर्याय भी है।

सीएफ http://en.wikipedia.org/wiki/Iota


13

गणित से अच्छी तरह से: (लैटिन अक्षरों के लिए)

a, b: स्थिरांक के रूप में या एक परिमेय संख्या
c के लिए पूर्णांक के रूप में उपयोग किया जाता है : एक स्थिर
d: व्युत्पन्न
e: यूलर की संख्या
f, g, h: फ़ंक्शन
i, j, k: अनुक्रमित हैं (यूनिट वैक्टर और क्वैश्चन भी)
l: आम तौर पर इस्तेमाल नहीं किया। 1
मीटर, n की तरह दिखता है : मैट्रिस की पंक्तियाँ और स्तंभ या परिमेय संख्याओं के लिए पूर्णांक के रूप में
ओ: का भी उपयोग नहीं किया जाता है (जब तक कि आप थोड़े से ओ अंकन में न हों)
p, q: अक्सर प्राइम के रूप में उपयोग किया जाता है
r: कभी-कभी परिवर्तन का एक स्थानिक परिवर्तन अन्य बार अभाज्य संख्याओं से संबंधित है
, t: स्थानिक और लौकिक चर या s का उपयोग t
u, v, w के परिवर्तनशील चर के रूप में किया जाता है : चर
x, y, z का परिवर्तन: चर


11

कई संभावित मुख्य कारण, मुझे लगता है:

  • गणितज्ञों iऔर सूत्रों में प्राकृतिक संख्याओं केj लिए (जो कि जटिल संख्याओं का उपयोग शायद ही कभी, कम से कम) करते हैं, इसलिए इसे प्रोग्रामिंग तक ले जाया जाता है
  • से सी , iसंकेत करने के लिए int। और अगर आपको दूसरे की ज़रूरत है intतो i2बस रास्ता बहुत लंबा है, इसलिए आप उपयोग करने का निर्णय लेते हैं j
  • ऐसी भाषाएं हैं जहां पहला अक्षर प्रकार तय करता है, और iफिर एक है integer


7

यह निश्चित रूप से गणित से आता है, जो लंबे समय से कंप्यूटर प्रोग्रामिंग से पहले था।

तो, अगर गणित में कहाँ से आया है? मेरा पूरी तरह से अशिक्षित अनुमान यह है कि जैसा कि एक साथी ने कहा है, गणितज्ञ इसी तरह की चीजों के लिए अल्फाबेटिक समूहों का उपयोग करना पसंद करते हैं - कार्यों के लिए एफ, जी, एच; संख्यात्मक चर के लिए x, y, z; तार्किक चर के लिए p, q, r; यू, वी, डब्ल्यू के अन्य सेटों के लिए, विशेष रूप से कैलकुलस में; बहुत सी चीजों के लिए ए, बी, सी। i, j, k पुनरावृत्तियों के लिए काम में आता है, और यह संभावनाओं के बारे में बताता है। मी, एन क्यों नहीं? ठीक है, वे पूर्णांक के लिए उपयोग किए जाते हैं, लेकिन अधिक बार पुनरावृत्तियों के अंत बिंदुओं के बजाय पुनरावृत्त चर होते हैं।

किसी को गणित के इतिहासकार से पूछना चाहिए।


6

कार्यक्रमों में काउंटर बहुत आम हैं, और कंप्यूटिंग के शुरुआती दिनों में, सब कुछ एक प्रीमियम पर था ...
प्रोग्रामर ने स्वाभाविक रूप से पिक्सेल को संरक्षित करने की कोशिश की, और प्रतिनिधित्व करने के लिए किसी भी अन्य पत्र की तुलना में 'i' को कम पिक्सेल की आवश्यकता थी। (गणितज्ञ, आलसी होने के कारण, इसे उसी कारण से उठाया - सबसे छोटा ग्लिफ़ के रूप में)।
जैसा कि पहले कहा गया था, 'जे' बस स्वाभाविक रूप से पालन किया ...

:)


24
कंप्यूटिंग के शुरुआती दिनों में, पिक्सेल मौजूद नहीं थे ।
स्लाक्स

1
@Slaks, वह एक जीतने वाली टिप्पणी है। बस मेरे चेहरे पर मुस्कराहट को पढ़ते हुए, और वोटों को देखें। अच्छा!
प्रोफेक डे

"प्रोग्रामर ने स्वाभाविक रूप से पिक्सेल के संरक्षण की कोशिश की, और 'i' को प्रतिनिधित्व करने के लिए किसी भी अन्य पत्र की तुलना में कम पिक्सेल की आवश्यकता थी।" <<< जो प्रफुल्लित करने वाला है।
ओसोडो

1
... और इस प्रकार, समय से पहले अनुकूलन का जन्म हुआ!
गेरेट

4

मैं कई कारणों से इसका उपयोग करता हूं।

  • आमतौर पर मेरे लूप इंट बेस्ड होते हैं, इसलिए आप अपने अंगूठे से हैंडल करने वाले स्थान को छोड़कर "int i" टाइप करने वाले कीबोर्ड पर एक पूरा त्रिभुज बनाते हैं। यह टाइप करने के लिए एक बहुत तेज़ अनुक्रम है।

  • "I" इटेरेटर, पूर्णांक, वेतन वृद्धि या सूचकांक के लिए खड़ा हो सकता है, जिनमें से प्रत्येक तार्किक अर्थ बनाता है।

मेरे व्यक्तिगत उपयोगों के अलग-अलग सेट होने के कारण, फोरट्रान से व्युत्पन्न होने का सिद्धांत सही है, जहां पूर्णांक वेरिएंट I - N अक्षर का उपयोग करते हैं।


4

मैंने 1965 में एक कंट्रोल डाटा कार्पोरेशन 3100 पर फोरट्रान सीखा। 'एन' के माध्यम से 'आई' से शुरू होने वाले वेरिएबल्स को पूर्णांक होने के लिए निहित किया गया था। Ex: 'IGGY' और 'NORB' पूर्णांक थे, 'XMAX' और 'ALPHA' फ्लोटिंग-पॉइंट थे। हालाँकि, आप स्पष्ट घोषणा के माध्यम से इसे ओवरराइड कर सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.