Προγραµµατισµός Η/Υ Μέρος2
Περιεχόμενα Επανάληψη Βασικών Σύμβολων Διαγραμμάτων Ροής Αλγόριθμος Ψευδοκώδικας Παραδείγματα Αλγορίθμων Γλώσσες προγραμματισμού 2
Επανάληψη Βασικών Σύμβολων Διαγραμμάτων Ροής
ΧρησιμότηταΣυμβόλων Χρησιµοποιώντας αυτά τα σύµβολα ορίζουµετηναρχήκαιτοτέλος εκτέλεσης ενός διαγράµµατος ροής (αλγόριθµου). Χρησιµοποιώντας αυτά τα σύµβολα ορίζουµε µια συνθήκη. Αν ισχύει η συνθήκη (ΝΑΙ) τότε εκτελείται η µια εντολή (διεργασία) αλλιώς αν δεν ισχύει (ΟΧΙ) εκτελείται η άλληεντολή.
ΧρησιμότηταΣυμβόλων(συν.) Χρησιµοποιώντας αυτό το σύµβολο µπορούµε να διαβάσουµεδεδοµέναεισόδου, π.χ. Τις εγγραφές φοιτητών που βρίσκονται αποθηκευµένες σε ένα αρχείο. Χρησιµοποιώντας αυτό το σύµβολο µπορούµε να εκτυπώσουµε τα αποτελέσµατα που επιστρέφει ένας αλγόριθµος ή πιο συγκεκριµένα τα αποτελέσµατα που επιστρέφει κάποια εντολή (διεργασία) τουαλγόριθµου.
ΧρησιμότηταΣυμβόλων(συν.) Βρόχος: Χρησιµοποιώντας αυτό το σύµβολο µπορούµε να περιγράψουµε µία συνθήκη, ηοποία εφόσον είναι αληθής (TRUE) εκτελείται επανεληµένα η εντολή που ακολουθεί. Όταν η συνθήκη πάψει να ισχύει (FALSE) τότε ο βρόχος ολοκληρώνεται και ο αλγόριθµος εκτελεί τα επόµενα του βήµατα ή τερµατίζει (εφόσων δεν υπάρχουν άλλα βήµατα).
ΧρησιμότηταΣυμβόλων(συν.) Υποµονάδα (προκαθορισµένη διεργασία): Χρησιµοποιώντας αυτό το σύµβολο µπορούµε να περιγράψουµε µια σειρά από βήµατα τα οποία συνδυάζονται για να δηµιουργήσουν µια υποδιαδικασία (ακολουθία επιπλέων βήµάτων εκτέλεσης του αλγόριθµου) που ορίζεται αλλού, συχνά σε άλλη σελίδα του ίδιου σχεδίου. Συνήθως χρησιµοποιείται για την οµαδοποίηση µιας σειράς διεργασιών που αποσκοπούν σε ένα συγκεκριµένο σκοπό (αποτέλεσµα).
Αλγόριθμος(Παράδειγμα1) 1. Κάθε Αλγόριθμος ξεκινά με μια επικεφαλίδα η οποία του δίνει ένα όνομα. Π.χ., Αλγόριθμος: Εύρεση Μικρότερου 2. Σκοπόςείναιμιασύντομηδήλωσησχετικήμετοτικάνειο αλγόριθμος(χωρίς λεπτομέρειες) Π.χ., Σκοπός: Αυτός ο αλγόριθμος βρίσκει τον μικρότερο από μια λίστα αριθμών. 3. Προ-Συνθήκη καταγράφονται όλα τα αναγκαία προαπαιτούμενα Π.χ., Προ-Συνθήκη: Λίστα αριθμών 4. Μετά-συνθήκη προσδιορίζει οποιοδήποτε αποτέλεσμα δημιουργείται από τον αλγόριθμο Π.χ., Μετά-συνθήκη: Καμία 5. Επιστροφή: Τι επιστρέφει ο αλγόριθμος, αλλιώς τίποτα = null Π.χ., Επιστροφή: Τον μικρότερο αριθμό 6. Αριθμημένες Εντολές
Ψευδοκώδικας ΕύρεσηςΜικρότερου Αρχή 1. Όρισε ως μικρότερο τον πρώτο αριθμό της λίστας. 2. Επανέλαβε(όσοδενείναιτοτέλοςτηςλίστας) 2.1 αν(επόμενος αριθμός < μικρότερο) 2.1.1 όρισε μικρότερο ίσο με επόμενο αριθμό 2.2 τέλοςαν 3. Τέλος βρόχου 4. Επέστρεψε μικρότερο Τέλος
Εντολές(Ψευδοκώδικας) ΕύρεσηςΜικρότερου start /* Αρχή Εύρεσης μικρότερου*/ 1. set mikrotero = arithmos_listas/* Όρισε ως μικρότερο τον πρώτο αριθμό της λίστας*/ 2. while lista.epomenos_arithmos!= NULL do /* Επανέλαβε(όσο δεν είναι το τέλος της λίστας)*/ 2.1. if (epomenos_arithmos < mikrotero) /* αν(επόμενος αριθμός< μικρότερο)*/ 2.1.1 mikrotero = epomenos_arithmos/* όρισε μικρότερο ίσομε επόμενοαριθμό*/ 2.2. end if /*τέλοςαν*/ 3. end while /* Τέλοςβρόχου*/ 4. return mikrotero/* Επέστρεψε μικρότερο*/ end/* Τέλος Εύρεσης μικρότερου*/
Παράδειγμα2 (Πρόβλημα2) 1. Ο χρήστης εισαγάγει τρείς αριθμούς. 2. Αντογινόμενοτουςείναιμεγαλύτεροαπότο άθροισματουςνατυπώνεταιτογινόμενο/3, αλλιώς να τυπώνεται το Άθροισμα/3. 3. Το πρόγραμμα θα επαναλαμβάνεται και θα τελειώνει μόνο όταν δοθούν οι αριθμοί 0,0,0. Απαιτούνται συνεχείς επαναλήψεις(loop)
ΨΕΥΔΟΚΩΔΙΚΑΣ1ος-Παράδειγμα2 Αρχή 1. Διάβασετρείςαριθμούςα, β, γ 2. Ενόσωκαιοιτρείςαριθμοίδενείναιίσοιμεμηδέν 2.1. Υπολόγισε το άθροισμα τους Α= α+β+γ 2.2. Υπολόγισε το γινόμενο τους Γ=α*β*γ 2.3. ΑνΓ> Α 2.3.1. Τύπωσε Γ/3 2.4. Αλλιώς 2.4.1. Τύπωσε Α/3 2.5. Διάβασε τρείς νέους αριθμούς Τέλος
ΨΕΥΔΟΚΩΔΙΚΑΣ2ος-Παράδειγμα2 Αρχή 1. Διάβασετρείςαριθμούςα, β, γ 2. Ανκαιοιτρείςαριθμοίείναιμηδέν Τέλος 3. Αλλιώς 3.1. Υπολόγισε το άθροισμα τους Α= α+β+γ 3.2. Υπολόγισε το γινόμενο τους Γ=α*β*γ 3.3. ΑνΓ>Α 3.3.1. Τύπωσε Γ/3 3.4. Αλλιώς Με επανάληψη 3.4.1. Τύπωσε Α/3 4. Επανέλαβε βήμα(1)
14
Παράδειγμα3 (Πρόβλημα3) 1. Ο χρήστης εισαγάγει τρείς αριθμούς. 2. Αν το άθροισμα είναι μεγαλύτερο από 100, τότε να βρίσκεικαινατυπώνειτομέσοόροτους. 3. Αν το άθροισμα είναι μικρότερο από 100, τότε να τυπώνει τους τρεις αριθμούς. 4. Αντοάθροισμαείναιίσονμε100, τότενατυπώνει «ΤΑΚΑΤΑΦΕΡΑΜΕ» και να τελειώνει το πρόγραμμα. Απαιτούνται συνεχείς επαναλήψεις(loop) 15
ΨΕΥΔΟΚΩΔΙΚΑΣ1ος-Παράδειγμα3 Αρχή 1. Διάβασε τρείς αριθμούς α, β, γ 2. Υπολόγισε το άθροισμα τους Α= α+β+γ 3. ΕνόσωτοΑδενείναιίσονμε100 3.1.ΑντοΑείναιμικρότεροαπό100 3.1.1. Τύπωσε α,β,γ 3.2. Αλλιώς 3.2.1. Υπολόγισε το μέσο όρο Μ=Α/3 3.2.2. Τύπωσε Μ 3.3. Διάβασε τρείς νέους αριθμούς 3.4. Υπολόγισε νέο Α 4. Τύπωσε«ΤΑ ΚΑΤΑΦΕΡΑΜΕ» Τελος 16
ΨΕΥΔΟΚΩΔΙΚΑΣ2ος-Παράδειγμα3 Αρχή 1. Διάβασε τρείς αριθμούς α, β, γ 2. Υπολόγισε το άθροισμα τους Α= α+ β+γ 3. ΑνΑειναιίσονμε100 3.1. Τύπωσε«ΤΑ ΚΑΤΑΦΕΡΑΜΕ» Τέλος 4. Αλλιώς 4.1. ΑνΑ> 100 4.1.1. Υπολόγισε μέσο όρο Μ= Α/3 4.1.2. Παρουσίασε Μ 4.2. Αλλιώς 4.2.1. Παρουσίασε α,β,γ 5. Επανέλαβε(1) 17
18
Γλώσσεςπρογραμματισμού Γλώσσα Μηχανής- Machine Language, (Γλώσσα πρώτης γενιάς- 1940) ΕίναιηφυσικήγλώσσατωνΗ/Υ. Είναι κώδικας σε δυαδική μορφή(0,1). Διακρίνεται για την ταχύτητα εκτέλεσης των εντολών της και τη βέλτιστη χρήση της κύριας μνήμης. Είναι δύσκολη στη χρήση της, στον εντοπισμό και διόρθωση τυχόν λαθών. Συμβολικήγλώσσα-Assembly Language ( Γλώσσα δεύτερης Γενιάς- 1950-60) Μνημονική αναπαράσταση των χαρακτήρων. Είναιπιοεύκοληστηγραφήκαιστηνκατανόηση. Ηεκτέλεσήτηςαπαιτείτημετάφρασήτηςσεγλώσσαμηχανής μέσω των συμβολομεταφραστών(assembler).
Γλώσσεςπρογραμματισμού Γλώσσεςυψηλούεπιπέδου-High level Languages, (Γλώσσες3 ης Γενιάς1960-...) Εννοιολογικά εμφανίζονται να βρίσκονται πιο κοντά στις ανθρώπινες γλώσσες. Χρησιμοποιούν ένα μικρό σύνολο από αγγλικές λέξεις. Για να εκτελεστεί ένα τέτοιο πρόγραμμα γίνεται χρήση μεταγλωττιστών(compilers) και των μεταφραστών ή διερμηνευτών(interpreters). Παραδείγματα: Cobol, Fortran, Basic, Logo, Pascal, Ada, C.
Γλώσσεςπρογραμματισμού Γλώσσεςτέταρτηςγενιάς-4th Generation Languages (1980-1990). Ο προγραμματιστής δεν περιγράφει αλγορίθμους. Απλά καθορίζει τα δεδομένα και τις ενέργειες που πρέπει να γίνουν και το ίδιο το εργαλείο δημιουργεί τον κώδικα σε κάποια γλώσσα προγραμματισμού. Αντικειμενοστρεφείςγλώσσεςπρογραμματισμού (Object oriented Language). Παραδείγματα: C++, Java, Visual basic. Γλώσσεςανάπτυξηςεφαρμογώντεχνητήςνοημοσύνης, Π.χ LISP, PROLOG. Γλώσσες ερωταποκρίσεων. Γεννήτριες προγραμμάτων. Συστήματα διαχείρισης βάσεων δεδομένων.
Γλώσσεςπρογραμματισμού ΓλώσσεςΠέμπτηςΓενιάς(5th Generation language) - 21ος αιώνας Η επικοινωνία μεταξύ ανθρώπου και μηχανής γίνεται με τη βοήθεια φυσικής γλώσσας. Χρησιμοποιούν λέξεις και συντακτικούς κανόνες της φυσικής γλώσσας. Αναπτύσσονται τεχνικές αναγνώρισης φωνής. Έχουν μεγάλες υπολογιστικές απαιτήσεις. Δεν έχουν ακόμη αναπτυχθεί πρότυπα με ευρεία αποδοχή. Όλες οι παραπάνω γλώσσες, εκτός από τη γλώσσα μηχανής, προκειμένου να γίνουν κατανοητές από τον Η/Υ πρέπει να μεταφραστούν σε γλώσσα μηχανής.
ΤέλοςΜέρος2