Στον προγραμματισμό, δεν είναι καλή ιδέα να περιγράψουμε ένα πρόβλημα.σημαίνει πάντα να το λύνεις. Αλλά κάθε περιγραφή του προβλήματος φέρνει πάντα ένα άτομο πιο κοντά στη λύση του. Ο αλγόριθμος και ο προγραμματισμός θεωρούνται πρόσφατα συνώνυμες λέξεις.
Οι προγραμματιστές ονομάζονται όλο και περισσότερο προγραμματιστές. Το αποτέλεσμα του προγραμματισμού είναι πάντα μια περιγραφή (μεταβλητές + αλγόριθμος) της λύσης του προβλήματος.
Σε ποια γλώσσα τι και πώς γίνεται - δεν έχει σημασία.
Ο αλγόριθμος και ο προγραμματισμός ξεκίνησαν στην αρχήχέρι χέρι, αλλά μετά χώρισαν. Σε αυτό το σημείο, δεν αξίζει να θυμηθούμε πολλά - αυτό αφορά το πρώτο. Πρέπει πάντα να έχετε μια σαφή ιδέα για μεταβλητές και αλγόριθμους - αυτό αφορά το δεύτερο.
Η ευημερία του σύγχρονου προγραμματισμού οφείλεται σε μεγάλο βαθμό στην ακανθώδη διαδρομή κατά την οποία πήγε η κατανόηση των πληροφοριών, η περιγραφή των δεδομένων και οι αλγόριθμοι για την επεξεργασία τους σε προγράμματα.
Οι πρώτες γλώσσες ήταν τόσο απλές όσο οι τρυπημένες κάρτες, αλλά λειτούργησαν. Οι μεταβλητές, οι τύποι μεταβλητών, οι δηλώσεις μεταβλητών και η σειρά των περιγραφών τους ήταν πολύ αυστηρά ρυθμισμένες.
Κατά κανόνα, οι μεταβλητές χωρίστηκαν σε δυναμικές (αυτές που μπορούν να αλλάξουν) και στατικές (σταθερές, δεν μπορούν να αλλάξουν).
Το πρώτο ήταν μια μεταβλητή δείκτη (αυτόαξία της καλύτερης και "αιώνιας" γλώσσας - "Assembler"). Δεν έχει διατηρηθεί σε όλες τις γλώσσες σε διαφορετικούς χρόνους, αλλά στον σύγχρονο προγραμματισμό η χρήση των δεικτών είναι το ύψος της τελειότητας του κώδικα.
Η μεταβλητή πρέπει να δηλωθεί πριν από την πρώτηχρήση, και συχνότερα στην αρχή του προγράμματος, και ακόμη πιο συχνά σε ένα συγκεκριμένο τμήμα του προγράμματος. Η μεταβλητή πρέπει να είναι γραμμένη στα Λατινικά, με ή χωρίς αριθμούς. Ορισμένες γλώσσες επέτρεψαν τον χαρακτήρα "_". Το πρώτο πρέπει να είναι χαρακτήρας.
Η μεταβλητή είχε ένα χαρακτηριστικό γνώρισμα: έπρεπε να γνωρίζει πόσα byte υπάρχουν στη μνήμη και πώς να την ευθυγραμμίσει με ένα όριο λέξης, ή ακόμα και μια διπλή λέξη.
Το τελευταίο ήταν πολύ σημαντικό για τα μαθηματικάπρογράμματα. Οι ιδιαιτερότητες της οργάνωσης της μνήμης RAM και της εργασίας του μαθηματικού συμπαραγωγέα υποχρέωσαν τον προγραμματιστή όχι μόνο να περιγράψει τη μεταβλητή σωστά και εγκαίρως, αλλά και να σκεφτεί πώς θα βρίσκεται στη μνήμη RAM.
Περίπου Τα «σπλάχνα» της μνήμης τυχαίας πρόσβασης είναι απρόσιτα για τον σύγχρονο προγραμματισμό στη συντριπτική πλειοψηφία των περιπτώσεων. Προηγουμένως, η οργάνωση της μνήμης έπρεπε να ληφθεί σοβαρά υπόψη.
Οι πρώτες δομές δεδομένων είναι συλλογές μεταβλητών- λειτούργησαν ως μεταβλητές με μια συγκεκριμένη σημασιολογία, αλλά για την πρόσβαση σε αυτές ήταν απαραίτητο όχι μόνο να γνωρίζουμε πόσα byte χρειάζονται, αλλά και να λάβουμε υπόψη ότι ο μεταγλωττιστής ευθυγράμμισε αυτόματα ορισμένους τύπους δεδομένων στο όριο λέξης.
Όλα αυτά οδήγησαν σε σοβαρά λάθηπρογράμματα. Σε ανάμνηση εκείνων των σκληρών χρόνων, πρέπει να σημειωθεί ότι οι πρώτες γλώσσες, με όλη την ακρίβεια και την ακρίβειά τους, παρείχαν μεταβλητές, τύπους, δομές δεδομένων στον προγραμματισμό και την ανάπτυξη με ασφαλή συντακτικό έλεγχο.
Εάν ένα πρόγραμμα περάσει τον συντακτικό έλεγχο και συνδεθεί επιτυχώς, τα προβλήματα εκτέλεσης ξεκινούν μόνο μετά από θανατηφόρο σφάλμα προγραμματιστή ή αποτυχία υλικού.
Ορισμένες γλώσσες προγραμματισμού έχουν διατηρήσει τη δέσμευσή τους για αυστηρές δηλώσεις μεταβλητών. Τα περισσότερα μπορούν να περιγραφούν, αλλά σας επιτρέπουν να αλλάξετε τον τύπο της μεταβλητής όπως είναι βολικό για τον προγραμματιστή.
PHP:εδώ μια μεταβλητή στον προγραμματισμό χαρακτηρίζεται πλήρως από το όνομα, την τιμή της, αλλά ο τύπος εξαρτάται από τη θέση στον κώδικα και την ώρα που χρειάστηκε. Σε ορισμένους δεν αρέσει πραγματικά να ονομάζουν μεταβλητές με το σύμβολο "$", αλλά μπορείτε να έχετε τα ακόλουθα ονόματα: $ 1, $ 2, $ 3.
Το εύρος τιμών υπερβαίνει τα απαιτούμενα όρια, καιπαρέχονται πολλοί πιθανοί τύποι. Για τη συντριπτική πλειοψηφία των εργασιών, συμβολοσειρές, ακέραιοι, μερικές φορές πραγματικοί και λογικοί αριθμοί είναι αρκετοί. Δεν υπάρχει δείκτης ως τέτοιος, αλλά υπάρχει η δυνατότητα να περάσει μια ένδειξη στη θέση μιας μεταβλητής.
JavaScript:μια μεταβλητή στον προγραμματισμό χαρακτηρίζεται πλήρως από το γεγονός ότι πρέπει να περιγραφεί, αν και σε ορισμένες περιπτώσεις η γλώσσα θα συγχωρήσει την έλλειψη περιγραφής, θα υπάρχουν ελάχιστες πιθανότητες να λάβετε έναν έγκυρο κώδικα. Η JavaScript απλά δεν θα λειτουργήσει με κάτι που δεν ταιριάζει στη σύνταξή του ή που δεν θα μπορούσε να εκτελεστεί.
Τα εύρη τιμών είναι επίσης εκτός κλίμακας, αλλά οι μεταβλητές συμβολοσειράς είναι οι πιο δημοφιλείς.
Ο προγραμματισμός σε γλώσσες που σχετίζονται με το Διαδίκτυο έμμεσα, δηλαδή C #, C ++, Pascal, Delphi, είναι αυστηρός. Στο C #, πρέπει όχι μόνο να περιγράψετε, αλλά και να προετοιμάσετε.
Πρώτα απ 'όλα, με το όνομά του, σε ποιο διαφορετικόοι γλώσσες έχουν αυστηρές απαιτήσεις. Εάν στην PHP απαιτείται το σύμβολο $ πριν από ένα όνομα μεταβλητής, τότε στην Java αυτό είναι εκτός του πεδίου της σύμβασης. Σε γενικές γραμμές, όσον αφορά την ονομασία μεταβλητών, εκτός από τις ιδέες της σύνταξης της γλώσσας, υπάρχουν πολλές ιδέες από προγραμματιστές.
Όταν ξεκινάτε να γράφετε σε μια συγκεκριμένη γλώσσα, θα πρέπει να ακούσετε τις απόψεις των συναδέλφων σας και να δείτε τα τελευταία ιδεολογικά εγχειρίδια για το ύφος της γλώσσας.
Το δεύτερο χαρακτηριστικό μιας μεταβλητής είναι η τιμή της.Είναι πάντα εκεί. Ακόμα κι αν δεν υπάρχει αξία, είναι επίσης αξία. Ένα χαρακτηριστικό γνώρισμα: για παράδειγμα, PHP, πολλές συναρτήσεις που επιστρέφουν έναν αριθμό ως αποτέλεσμα μπορούν να επιστρέψουν ένα boolean αποτέλεσμα - γιατί όχι το αποτέλεσμα;
Ο τύπος δεν είναι σημαντικός, η παρουσία είναι σημαντική και πολλές κατασκευές JavaScript είναι αρκετά ικανοποιημένες με την παρουσία μιας τιμής, ανεξάρτητα από τον τύπο της.
Το τελευταίο που έχει σημασία είναι η πραγματική τιμή της μεταβλητής.
Γενικά, ο κόσμος της περιγραφής, ο κόσμος των μεταβλητών, παρά τις διαλέκτους και τα στυλ στην ονομασία, δεν έχει αναπτυχθεί πολύ σε σχέση με τους βασικούς τύπους.
Οι περισσότεροι προγραμματιστές χρησιμοποιούν συμβολοσειρές (συμβολοσειρά), συχνά ακέραιους αριθμούς (int, ακέραιο), εάν είναι απαραίτητο, πραγματικούς αριθμούς (διπλός, πραγματικός), μερικοί εξακολουθούν να διατηρούν την έννοια ενός σημείου (char).
Δεν χρειάζεται καν να μιλήσετε για βάσεις δεδομένων (από μικρές σε μεγάλες), υπάρχουν πολλές παραλλαγές των κύριων τύπων που παρέχονται για όλες τις περιπτώσεις και πολλοί τύποι δεδομένων κληρονομούνται από την εποχή της Ada και του Babbage.
Επί του παρόντος η καλύτερη μεταβλητή στοΟ προγραμματισμός χαρακτηρίζεται πλήρως από το να δείχνει τον εαυτό του, υποθέτοντας ότι η έννοια, ο τύπος και, γενικά, ποιος είναι θα είναι σαφής μόνο τη στιγμή που θα χρειαστεί.
Η μόνη μεταβλητή στον προγραμματισμό χαρακτηρίζεται πλήρως από την επιθυμία να βρεθούμε στην παρέα άλλων παρόμοιων. Αυτό είναι ένα ιστορικό φαινόμενο και λίγα εξαρτώνται από τη θέληση του προγραμματιστή.
Εάν η δημιουργία ενός προγράμματος ξεκινά με ένα τεχνικόεργασίες, ειδικά εάν η ανάπτυξη γίνει αποδεκτή από ειδικούς για τους οποίους η πρώτη λέξη στο θέμα "αλγόριθμοι και προγραμματισμός" είναι πιο σημαντική από τη δεύτερη, τότε θα υπάρχει μεγάλη ποικιλία μεταβλητών. Συνήθως αυτή η επιλογή σταματά στο στάδιο της περιγραφής των μεταβλητών.
Εάν η δημιουργία ενός προγράμματος ξεκινά με μια ανάλυση του κύριου καθήκοντός του και είναι το κύριο σημείο της εργασίας που λαμβάνεται ως βάση, τότε υπάρχουν αρκετές πιθανότητες να έχετε ένα αποτέλεσμα εργασίας.
Περιγράψτε το κύριο σημείο και δημιουργήστε έναν αλγόριθμο, τονη υπηρεσία δεν είναι απλώς μια μεταβλητή στον προγραμματισμό, τον τύπο, το όνομα, τις τιμές και τον τόπο περιγραφής, αλλά την αρχή μιας διαδικασίας. Η διαδικασία περιγραφής των μεταβλητών και ο αλγόριθμος που λειτουργεί μαζί τους είναι σημαντική.
Η κίνηση είναι σημαντική:
Συνήθως, μετά τη δημιουργία της δεύτερης ή τρίτης περιγραφής, μια κατανόηση έρχεται από πού να ξεκινήσει. Και το έργο πήγε στη δουλειά.
Δεν χρειάζεται πολύ για να ξεκινήσει το πρόγραμμα με το βασικόμεταβλητές: όχι τα ονόματα, οι τύποι και οι τιμές παίζουν σημαντικό ρόλο. Μια μεμονωμένη μεταβλητή, δομή δεδομένων, πίνακας, ακόμη και ένα αντικείμενο είναι απλώς μια στατιστική λύση σε ένα πρόβλημα.
Το δέντρο των αντικειμένων που περιγράφουν την εργασία, δηλαδή καιμεταβλητές και αλγόριθμοι εγκλωβισμένοι σε έναν κωδικό - ένα αντικείμενο και όλα τα αντικείμενα σε ένα κοινό αντικείμενο - ένα σύστημα αντικειμένων - αυτό είναι το θέμα. Πρόκειται για πραγματική και σύγχρονη δημιουργία μεταβλητών.
Τέτοιες μεταβλητές μπορούν να αλληλεπιδράσουν με τον εαυτό τουςπαρόμοια, και χάρη στην κληρονομικότητα, καθένα από αυτά μπορεί να κινηθεί κατά μήκος του δικού του κλαδιού γενεαλογίας, δηλαδή ο δείκτης για το τι και πού χρησιμοποιείται σήμερα και πώς το κάνει, είναι σχετικός, αλλά το ίδιο το περιεχόμενό του δεν είναι. Σε αυτήν την περίπτωση, το περιεχόμενο παίζει ρόλο, όταν το κάνει, ο δείκτης μεταβαίνει στο επόμενο περιεχόμενο.