Γιατί δεν χρειάζεται να ξεχωρίζεις στα μαθηματικά για να μάθεις πώς να προγραμματίζεις

Αυτή είναι πιθανώς μια από τις μεγαλύτερες παρανοήσεις που έχω ακούσει ποτέ.

Αν θέλετε να προγραμματίσετε, πρέπει να είστε καλοί στα μαθηματικά. Είναι εντελώς ψεύτικο. ΑΣΕ με να εξηγήσω.

Δεν χρειάζεται να υπερέχετε στα μαθηματικά για να μάθετε να κωδικοποιείτε

Άρχισα να κωδικοποιώ όταν ήμουν 12 ετών. Τα μαθηματικά που ήξερα ήταν προσθήκη, αφαίρεση, πολλαπλασιασμός και διαίρεση. Και ήταν κάτι παραπάνω από αρκετό για να με πάρει στον κόσμο του προγραμματισμού. Ακόμα και σήμερα, δεν χρησιμοποιώ τίποτα πιο περίπλοκο από τις δυνάμεις ή τις τετραγωνικές ρίζες.

Εάν έχετε προγραμματίσει ποτέ οποιαδήποτε γραμμή κώδικα, ελπίζουμε να συνειδητοποιήσετε ότι δεν έχει σχεδόν καμία σχέση με τα μαθηματικά. Αν ξέρετε πώς να μετράτε, είστε πολύ καλοί να πάτε.

Η προέλευση του μύθου

Πιστεύω ότι έχω καταλάβει από πού προέρχεται αυτός ο «μύθος». Γνωρίζετε αυτές τις παλιές (ή όχι τόσο παλιά) ταινίες για χάκερ και προγραμματιστές. Δείχνουν συχνά υπολογιστές με πολλά 0 και 1s σε πρασινωπή γραμματοσειρά, που ρέουν κάθετα κατά μήκος της οθόνης; Αυτός είναι ο δυαδικός κώδικας (και συνήθως δεν κινείται γύρω από την οθόνη, είναι απλώς στατικό κείμενο).

Οι υπολογιστές καταλαβαίνουν τον δυαδικό κώδικα, αλλά δεν είναι αυτό για τις γλώσσες προγραμματισμού. Μπορεί να ακούγεται αρκετά προφανές, διότι αν το διαβάζετε αυτό, πιθανώς έχετε κάποια σχέση με αυτόν τον κόσμο. Αλλά θα εκπλαγείτε να δείτε πόσοι άνθρωποι πιστεύουν ότι έχουν να κάνουν με το δυαδικό.

Αλλά εκτός από αυτήν την εσφαλμένη αντίληψη, νομίζω ότι ο άλλος παράγοντας είναι η σχέση που δημιουργείται μεταξύ των λέξεων μαθηματικών και λογικής . Ο προγραμματισμός απαιτεί λογική σκέψη και τα μαθηματικά το κάνουν. Όμως το γκολφ και το μπάσκετ απαιτούν και μια μπάλα για να παιχτούν, και αυτό δεν σημαίνει ότι πρέπει να ξέρετε πώς να παίξετε μπάσκετ για να πάρετε γκολφ.

Σε κάνει να πιστέψεις αυτό που μόλις είπα

Ας πάρουμε ένα σωστό παράδειγμα. Φανταστείτε ότι θέλετε να δημιουργήσετε μια συνάρτηση για να εκτυπώσετε τον πίνακα πολλαπλασιασμού ενός αριθμού. Έτσι, για την είσοδο 2, η λειτουργία μας θα επιστρέψει:

2 x 0 = 02 x 1 = 22 x 2 = 42 x 3 = 6… Και έως 2 x 10 = 20

Θα δείτε πόσο λίγα μαθηματικά απαιτούνται για να το κάνετε αυτό (παρόλο που υπολογίζουμε κάτι «μαθηματικό»). Για τους σκοπούς αυτού του παραδείγματος, θα χρησιμοποιήσουμε JavaScript.

Πρώτον, δηλώνουμε τη συνάρτηση . Θα το ονομάσουμε tableOf (n) , όπου n είναι ο αριθμός στον οποίο θέλουμε να εκτυπώσουμε τον πίνακα.

function tableOf(n) {
//rest of the code
}

Πολύ εύκολο προς το παρόν. Τώρα θα εφαρμόσουμε κάτι που ονομάζεται βρόχο για. Αυτό είναι παρόμοιο με μια συνάρτηση εκτός από το γεγονός ότι, όταν φτάσει στο τέλος, επιστρέφει στην αρχή έως ότου ισχύει κάποια κατάσταση

Θέλουμε να εκτυπώσετε n φορές κάποια άλλη τιμή (ας το ονομάσουμε i ) μέχρι που φτάνει αξία 10. Πρέπει να λάβουμε επίσης υπόψη το γεγονός ότι εγώ θα πρέπει να ξεκινήσει από 0, όπως θέλουμε nx 0 = 0 να είναι η πρώτη γραμμή εκτυπώνεται. Ο κωδικός θα μπορούσε να έχει ως εξής:

for(i = 0; i < 11; i++) {
console.log(n, 'x', i, '=', n*i);
}

Ας δούμε τι κάναμε μόλις. Ξεκινήσαμε το για βρόχο με i = 0 , πράγμα που σημαίνει ότι εγώ ξεκινάει από 0 (όπως θέλαμε). Τότε λέμε i <11, πράγμα που σημαίνει ότι δεν θέλουμε να βγείτε από το βρόχο unt i l i ισούται με 11 ή, με άλλα λόγια, θέλουμε ο βρόχος να συνεχίσει i f i είναι μικρότερο από 11. Στη συνέχεια θα κάνουμε i ++, πράγμα που σημαίνει ότι αυξάνουμε την τιμή o f i κατά 1 κάθε φορά που ξεκινά ξανά ο βρόχος (έτσι φτάνει τελικά στο 11 και βγαίνει από τον βρόχο).

Τότε απλώς εξάγουμε το n (τον αριθμό που εισαγάγαμε), το «x» (για το σύμβολο χρόνων ), i (ο αριθμός για τον οποίο πολλαπλασιάζεται το n ), '=' (για το σύμβολο ίσο ) και τέλος n * i ( την πραγματική λειτουργία, n φορές i ).

Ο προηγούμενος κωδικός, σε συνδυασμό:

function tableOf(n) {
for(i = 0; i < 11; i++) {
console.log(n, 'x', i, '=', n*i);
}
}
tableOf(2);

Και λειτουργεί. Είναι αυτό το δύσκολο μαθηματικό; Η μόνη μαθηματικά κάναμε αυξανόταν i κατά μία (προσθήκη), και ελέγχοντας εάν i ήταν μικρότερη από 11. Για αυτό το παράδειγμα σκυρόδεμα, έχουμε επίσης πολλαπλασιάζεται n φορές i . Ουάου .

Η άλλη πλευρά του νομίσματος

Η εκμάθηση κώδικα θα σας κάνει καλύτερα στα μαθηματικά.

Όπως είπα και πριν, ο προγραμματισμός απαιτεί λογική σκέψη όπως και τα μαθηματικά. Κατά τη σύνταξη των προγραμμάτων σας, θα αντιμετωπίσετε πολλά προβλήματα που πρέπει να επιλυθούν. Τις περισσότερες φορές με λογική (αλλά ας είμαστε ειλικρινείς, μερικές φορές η δοκιμή και το λάθος λειτουργούν καλά).

Η ανάπτυξη των δεξιοτήτων για την επίλυση αυτών των προβλημάτων σίγουρα θα σας βοηθήσει με τα μαθηματικά - όχι μόνο με τις έννοιες, αλλά και με την επίλυση προβλημάτων. Μπορείτε να το επεκτείνετε και σε άλλους κλάδους, όπως η φυσική.

Ελπίζω ότι αυτό το άρθρο χρησιμεύει για να ενθαρρύνει τους ανθρώπους που θέλουν να δοκιμάσουν την κωδικοποίηση. Πίστεψέ με, ήξερα λίγα για τα μαθηματικά και λιγότερα για τα Αγγλικά και ήμουν σε θέση να μάθω πολλά. Η γνώση δεν έχει όρια.