क्या प्रोग्रामिंग के माध्यम से गणित सीखना संभव है, या आपको प्रोग्रामिंग के लिए गणित सीखना चाहिए? [बन्द है]


10

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

मेरा प्रश्न है: क्या मैं गणित में बेहतर ज्ञान प्राप्त करने में सक्षम हूं अगर मैं कुछ विशिष्ट प्रोग्राम कोडिंग करता हूं, और यदि संभव हो, तो क्या भौतिकी संभव है? या क्या मैं गलत हूं और मैथ्स को कोडिंग में सुधार करने में मदद करने के लिए प्रोग्रामिंग से पहले सीखा जाना चाहिए?

PS: C ++ पसंदीदा भाषा है।


5
इसने मेरे लिए दूसरे तरीके से काम किया। मैंने कंप्यूटर प्रोग्रामिंग सीखी जिससे मुझे स्नातक स्तर की सांख्यिकी कक्षाओं में बेहतर काम करने में मदद मिली। मैंने पाया कि मुझे सांख्यिकी से बेहतर प्रोग्रामिंग पसंद है और मैंने अपने करियर की दिशा बदल दी है।
jfrankcarr



गणित के लिए कोई रॉयल रोड नहीं है, सर।
कार्ल

जवाबों:


16

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


5
दोनों संसाधनों के लिए +1। हालांकि, मुझे पहली बार पथरी से नफरत है। कभी भी उस पर अच्छा नहीं किया, या तो। लिस्प सीखने के बाद से, यह सिर्फ समझ में आता है । किंदा मज़ा भी।
जेसन लुईस

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

मैं विशेष कैस भाषाओं का भी सुझाव देता हूं, जैसे कि मैथेमैटिका (महंगी!), मैक्सिमा या एक्सिकॉम (फ्री)। एक बार जब आप शब्द पुनर्लेखन, नियमों और रणनीतियों का विचार प्राप्त करते हैं, तो संपूर्ण गणित समझ में आने लगेगा।
एसके-तर्क

मैंने व्यक्तिगत रूप से खान अकादमी को अपने गणित ज्ञान के अंतराल में भरने में बहुत मददगार पाया है।
jonners99

@ जेसन लुईस - यदि आपकी समस्या सामग्री की तुलना में अधिक शिक्षण शैली है, और आप पूर्ण पाठ्यक्रम चाहते हैं, तो मैं एमआईटी ओपनकोर्सवेयर पाठ्यक्रम कई गणित विषयों के लिए उत्कृष्ट हैं, जिनमें पथरी और रैखिक बीजगणित शामिल हैं। केवल एक विशिष्ट विषय को संशोधित करने के लिए व्यावहारिक नहीं। मुझे विशेष रूप से रैखिक बीजगणित पाठ्यक्रम पसंद आया। एमआईटी ओपनकोर्सवेयर कुछ कंप्यूटर विज्ञान विषयों के लिए भी बहुत अच्छा है, ज़ाहिर है - विशेष रूप से दो एल्गोरिदम और डेटा संरचना पाठ्यक्रम। उत्कृष्ट मुक्त सामग्री के साथ अपनी गति से खुद को शिक्षित करने के लिए बेहतर समय कभी नहीं रहा है।
स्टीव ३११

5

जाहिर है कि आपको प्रोग्रामिंग के माध्यम से गणित सीखना चाहिए। यदि आप भौतिक वस्तुओं को अनुकरण करने का प्रयास करते हैं, तो आपको सभी प्रकार के भौतिकी और गणित सीखने की आवश्यकता होगी, और आप इसका आनंद लेंगे।


4

यह मेरा लेना है ...

प्रोग्रामिंग आपके ज्ञान का परीक्षण करने में मदद करेगा

जब मैं हाई स्कूल और मिडिल स्कूल में था, तो मैं अपने गणनाकर्ताओं को मेरे लिए नीरस गणित करने के लिए प्रोग्राम करता। कुछ लोगों ने दावा किया कि यह धोखा था, लेकिन मैंने हमेशा तर्क दिया कि अगर मैं वास्तव में गणित को नहीं समझ पाया तो मैं कार्यक्रम नहीं लिख पाऊंगा।

उदाहरण के लिए, मान लीजिए कि आप पाइथागोरस प्रमेय के भीतर C और C को मान देने के लिए एक छोटा प्रोग्राम बनाना चाहते हैं। हम यह कैसे करते हैं? खैर, हम जानते हैं कि:

A^2 + B^2 = C^2

तो सी के लिए हल करने के लिए, हमारे पास है:

C = SQRT(A^2 + B^2)

इसलिए, कार्यक्रम कुछ इस तरह हो सकता है (उचित हेडर मानकर, यह नंगे हड्डियों का उदाहरण है):

cout << "Enter value for A: " 
cin << valA;
cout << "Enter value for B: "
cin << valB;

float valC = sqrt(pow(valA, 2) + pow(valB, 2))
cout << "C = " << valC << "\n";

तथापि...

ज्ञान कहाँ और कैसे प्राप्त करें?

पिछले उदाहरण में, हमें यह जानना चाहिए कि समीकरण के भीतर सी के लिए कैसे हल किया A^2 + B^2 = C^2.जाए यदि हम सी को खोजने के लिए दोनों पक्षों को वर्गमूल में नहीं जानते हैं, तो हम समस्या को कैसे हल कर सकते हैं?

IMO, यह उबलता है: प्रोग्रामिंग आपको पूरी तरह से गणित नहीं सिखाएगा, लेकिन यह आपके द्वारा हासिल किए गए कौशल को प्रभावित करेगा।


हां, मुझे आपकी बात मिल गई और मैं इससे सहमत हूं, आपके उत्तर के आधार पर, मैं गणित सीखूंगा जब मैं प्रोग्रामिंग में समस्याओं का समाधान करूंगा, हालांकि मैं उन्हें बिना ज्ञान के हल नहीं कर पाऊंगा और मुझे समाधान की तलाश करनी होगी और है जो मुझे गणित सिखाएगा ...
SAFAD

2

SICP पुस्तक गणित पर एक बहुत अच्छा अनुभाग है। लेकिन मेरा सुझाव है कि आप रैखिक बीजगणित लेने की कोशिश करें, गणित को असतत करें, और कम से कम कैलकुलस करें, यदि आप केवल प्रोग्राम लिखने से सीखते हैं तो आपकी शिक्षा बहुत गहरी होने की संभावना है, लेकिन बहुत व्यापक नहीं है।


2

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

मैंने हाल ही में wxMaxima , उत्कृष्ट ओपन सोर्स Maxima Computer Algebra System (aka a CAS , वाणिज्यिक मैपल या मैथमैटिक सिस्टम की तरह) का अच्छा ग्राफिकल फ्रंट-एंड का उपयोग शुरू किया है ।

यह आपको गणित के बारे में कुछ भी नहीं सिखाएगा, लेकिन यह निश्चित रूप से गणित के साथ खेल को और अधिक रोचक और मजेदार बना देगा, जो अपने आप में आपको और अधिक सीखने के लिए प्रोत्साहित कर सकता है।


2

आपको "प्रोग्रामिंग" के लिए बहुत गणित की आवश्यकता नहीं है।

आपको "कंप्यूटर विज्ञान" के लिए गणित की आवश्यकता है।

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


1

यदि आप AI, डाटा प्रोसेसिंग, भौतिकी सिमुलेशन या ग्राफिक्स में काम करने में रुचि रखते हैं तो आपको गणित की आवश्यकता है। इसके विपरीत, यदि आप नहीं हैं, तो मुझे लगता है कि आप नहीं। यह इसका उपयोग करने या इसे खोने का मामला है, अगर आप फ्रांस में नहीं रहना चाहते हैं तो फ्रेंच क्यों सीखें? बहुत सारे समस्या डोमेन हैं जिन्हें बस सशर्त तर्क की आवश्यकता है।

यह कहने के बाद कि, गणित के प्रति प्रोग्रामिंग में एक स्वाभाविक झुकाव है, और यह आपको कुछ समझने के लिए कुछ भी नहीं करने जा रहा है।


1

पर एक नज़र डालें matlab । इसकी भाषा कोड में गणितीय कार्य करने के लिए डिज़ाइन की गई है।

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

यद्यपि MATLAB मुख्य रूप से संख्यात्मक कंप्यूटिंग के लिए अभिप्रेत है, एक वैकल्पिक टूलबॉक्स MuPAD प्रतीकात्मक इंजन का उपयोग करता है, जो प्रतीकात्मक कंप्यूटिंग क्षमताओं तक पहुंच की अनुमति देता है। एक अतिरिक्त पैकेज, सिमुलिंक, गतिशील और एम्बेडेड सिस्टम के लिए ग्राफिकल मल्टी-डोमेन सिमुलेशन और मॉडल-आधारित डिज़ाइन जोड़ता है ...


मैटलैब तभी फायदेमंद होता है जब प्रोग्रामर के पास पहले से एक ध्वनि गणितीय ज्ञान होता है और यह गणित के एक निश्चित डोमेन तक सीमित होता है।
सिरबेल

1

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

अब प्रोग्रामिंग अक्सर गणित के साथ जुड़ा हुआ है क्योंकि कंप्यूटर गणना करते हैं और गणना करते हैं, ज्यादातर मौलिक रूप से वे असतत चरणों में पूर्णांक या फ्लोटिंग पॉइंट डेटाटिप्स के साथ ऐसा करते हैं।

गणित के क्षेत्र हैं जिन्हें आप प्रोग्राम में "सन्निकट" गणित द्वारा प्रोग्रामिंग करके अध्ययन कर सकते हैं। मान लें कि आप अंतर कैलकुलस का अध्ययन करते हैं और छोटे अंतराल के लिए संख्यात्मक मानों की गणना करते हैं, इस प्रकार "शुद्ध" गणित की सीमा का "अनुकरण" करते हैं।

प्रोग्रामिंग के अन्य पहलुओं को आसानी से गणित के लिए मैप किया जाता है (शायद आपके हाई स्कूल गणित वर्ग का हिस्सा नहीं है लेकिन फिर भी मूल्यवान गणित जो कि पारंपरिक पाठ्यक्रम का हिस्सा नहीं होता है)। उदाहरण के लिए सिद्धांत टाइप करें - या गणितीय प्रेरण।

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

यानी प्रोग्रामिंग करते समय गणित सीखने के कई तरीके हैं, लेकिन हमारे कंप्यूटर और प्रोग्रामिंग भाषाओं के कम्प्यूटेशनल मॉडल में सभी गणित आसानी से स्वीकार्य नहीं हैं।


0

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

नहीं मैं नहीं। मैं तो आलसी ही था। मुझे कभी-कभी ट्रिगर करना पड़ता है लेकिन इसके बारे में है।

IMO, जब तक आप मूल रूप से नहीं कर सकते, तब तक आप भारी गणित ज्ञान के बिना बहुत सारे सभ्य कोड लिख सकते हैं।

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

और निश्चित रूप से हम जो कुछ भी कर रहे हैं वह गणित के साथ कूल्हे पर जुड़ा हुआ है ताकि आपको पता चल सके कि आपने पहले से अधिक जान लिया है जब आप सामान बनाते हैं जैसे कि आप सीखते हैं कि बैकवर्ड-ई योग के बारे में क्या है।


0

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

मुझे लगता है कि आपका माइलेज इस पर अलग-अलग हो सकता है क्योंकि अलग-अलग लोगों के पास सीखने के अलग-अलग तरीके हैं, लेकिन गणित सीखने की खातिर सार में बैठना और गणित सीखना मेरे लिए कभी काम नहीं आया।


-2

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

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