Ψευδοκώδικας: ένας σαφής ορισμός;

ψήφοι
5

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

string checkRubric(gpa, major)
    bool brake = false
    num lastRange
    num rangeCounter
    string assignment = unassigned
    array bus['business']= array('person a'=>array(0, 2.9), 'person b'=>array(3, 4))
    array cis['computer science']= array('person c'=>array(0, 2.9), 'person d'=>array(3, 4))
    array lib['english']= array('person e'=>array(0, 4))
    array rubric = array(bus, cis, lib)

foreach (rubric as fieldAr)
    foreach (fieldAr as field => advisorAr)
        if (major == field)
            foreach (advisorAr as advisor => gpaRangeAr)
                    rangeCounter = 0
                foreach (gpaRangeAr as gpaValue)
                    if (rangeCounter < 1)
                        lastRange = gpaValue
                    else if (gpa >= lastRange && gpa <= gpaValue)
                        assignment = advisor
                        brake = true
                        break
                    endif
                    rangeCounter++
                endforeach
                if (brake == true)
                    break
                endif
            endforeach
            if (brake == true)
                break
            endif
        endif
    endforeach
    if (brake == true)
        break
    endif
endforeach
return assignment

Για τα τελευταία δύο εβδομάδες έχω προσπαθήσει να δημιουργήσει ένα σαφή ορισμό του τι ψευδοκώδικα είναι στην πραγματικότητα. Είναι σε σχέση με τον προγραμματιστή ή υπάρχει πραγματική ξεκάθαρες σύνταξη; Λέω ψευδοκώδικας είναι κάθε κωδικός που δεν εκτελούν, πώς για σας; Χάρη (συνδέεται με αυτό το θέμα ευπρόσδεκτη)

Δημοσιεύθηκε 22/03/2010 στις 03:43
πηγή χρήστη
Σε άλλες γλώσσες...                            


8 απαντήσεις

ψήφοι
3

Ξεδιάντροπα άρπαξαν από τη Wikipedia :

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

Υπάρχει πολλή κωδικός που δεν εκτελούν. Αυτό δεν σημαίνει ότι είναι ψευδοκώδικα. «Psuedocode» σας έχει πολλά επιπλέον πράγματα που δεν προγραμματιστές δεν θα καταλάβουν. Αντί να είναι ψευδοκώδικα, σας «psuedocode» η γλώσσα είναι πολύ, πολύ κοντά σε μια πραγματική γλώσσα.

Απαντήθηκε 22/03/2010 στις 03:51
πηγή χρήστη

ψήφοι
0

δύο σεντ μου σχετικά με αυτό:

Λέω ψευδοκώδικας είναι κάθε κωδικός που δεν εκτελούν, πώς για σας; Χάρη (συνδέεται με αυτό το θέμα ευπρόσδεκτη)

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

Ένα πράγμα, ειδικότερα, ότι θεωρώ εξαιρετικά σημαντικό για το πώς να γράψει ένα ψευδοκώδικα είναι ότι, θα πρέπει να γίνει κατανοητό από όλους, ώστε κάθε άτομο να «λιμάνι» είναι στην επιθυμητή γλώσσα του. Με άλλα λόγια, δεν πρέπει να είναι γλώσσα αγνωστικιστής.

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

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

Απαντήθηκε 22/03/2010 στις 03:51
πηγή χρήστη

ψήφοι
7

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

Απαντήθηκε 22/03/2010 στις 03:52
πηγή χρήστη

ψήφοι
1

Pseudocode πρέπει, θεωρητικά, να είναι ανεξάρτητη εφαρμογή. Παρουσιάζει λογικά βήματα σε απλή γλώσσα για το τι να κάνουν. Είναι προορίζεται για ανθρώπινη ερμηνεία, δεν εκτέλεση του μηχανήματος.

Παράδειγμα ΕΠ είναι λίγο πιο κοντά στο πραγματικό κώδικα από ψευδοκώδικα. Για παράδειγμα, ++δεν έχει βρεθεί σε όλες τις γλώσσες. Θα μπορούσε επίσης να έχει μια πολύ διαφορετική έννοια σε άλλους.

Απαντήθηκε 22/03/2010 στις 03:52
πηγή χρήστη

ψήφοι
1

Λοιπόν, αν δεν συγκεντρώνουν κώδικα / συνδέσει C ++ μου, δεν θα εκτελεστεί, οπότε δεν νομίζω ότι «Κώδικα που δεν εκτελεί» είναι ένα αποδεκτό ορισμό.

Ομοίως scripting γλώσσες δεν εκτελούνται, από όπου και αν πολλές φορές ερμηνεύεται.

ορισμό μου κώδικα ψευδο θα είναι:

«[Συνοπτική] Ο κωδικός που είναι η σύνταξη αγνωστικιστής, γραμμένο για να μεταφέρω μια λειτουργία, τη συμπεριφορά, ή αλγόριθμο.»»

Απαντήθηκε 22/03/2010 στις 03:53
πηγή χρήστη

ψήφοι
1

Ψευδο-κώδικας είναι οποιοδήποτε συμπαγές, αναγνώσιμο από τον άνθρωπο εξήγηση ενός αλγορίθμου ή προγράμματος. Δεδομένου ότι το πρόγραμμά σας δεν είναι αναγνώσιμη για μένα, θα ήθελα να πω ότι δεν είναι αρκετά ψευδο-κώδικα. Εδώ είναι ένα παράδειγμα των ψευδο-κώδικα:

άθροισμα def (x):
    αποτέλεσμα = 0
    για κάθε καταχώρηση στο x:
        προσθέσετε την τρέχουσα είσοδο στο αποτέλεσμα
    αποτέλεσμα την έκθεση

Ή, σε ένα ελαφρώς διαφορετικό ύφος:

άθροισμα (x):
   Έστω x είναι ένας πίνακας
   Ας αποτέλεσμα να είναι ένας ακέραιος που αντιπροσωπεύει το αποτέλεσμα, αρχικά 0

   για το στοιχείο στο x:
       αποτέλεσμα + = στοιχείο

   αποτέλεσμα την επιστροφή

Μπορείτε να χρησιμοποιήσετε τα στοιχεία μιας συγκεκριμένης σύνταξης (και, στην πραγματικότητα, ψευδο-κώδικα μου έχει την τάση να μοιάζουν με Python), αλλά πρέπει να είναι κατανοητή από ένα ευρύ κοινό και δεν πρέπει να εμποδίζεται από τη σύνταξη. Για παράδειγμα, χρησιμοποιώ «+ =», αλλά αυτό είναι επειδή είναι πολύ συμπαγής και βολικό, όχι επειδή απαιτείται. Αν βρεθεί «endforeach» χρήσιμη και βολική στην έκθεση σας, θα ήταν ok? Ωστόσο, θα έλεγα ότι κάτι τέτοιο δεν ανήκει σε ψευδο-κώδικα, όπως φαίνεται πιο stinted από χρήσιμη ή επεξηγηματικό.

Απαντήθηκε 22/03/2010 στις 04:01
πηγή χρήστη

ψήφοι
0

Ψευδοκώδικας είναι αυτό που θα γράψει στον πίνακα, αν θέλετε να πάρετε ιδέες σας σε όλη γρήγορα και με σαφήνεια. Στην πράξη, για μένα, είναι σαν ένα untyped scripting γλώσσα, αλλά με πολύ πιο χαλαρές συντακτικές απαιτήσεις. Για μένα αυτό μοιάζει πολύ με C, διότι, ειλικρινά, οι περισσότεροι προγραμματιστές κατανοήσω κάποια γλώσσα που είναι μια παραλλαγή στην σύνταξη C και έτσι η διαίσθηση είναι πιο εύκολο για τους περισσότερους ανθρώπους (που χρησιμοποιείται για να μοιάζουν με Pascal, αλλά αυτό είναι επειδή αυτό ήταν ένα από τα πρώτα γλώσσες που έμαθαν στο σχολείο).

Απαντήθηκε 22/03/2010 στις 04:03
πηγή χρήστη

ψήφοι
1

Μια σύντομη περιγραφή του προγράμματος, γραμμένο σε μορφή που μπορεί εύκολα να μετατραπεί σε πραγματική δηλώσεις του προγραμματισμού.

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

Απαντήθηκε 29/05/2012 στις 06:42
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more