Ενισχυτική διδασκαλία στα μαθήματα «Εισαγωγή στον προγραμματισμό» και «Αλγοριθμική»
|
|
- Ἰοκάστη Λούπης
- 8 χρόνια πριν
- Προβολές:
Transcript
1 Ανοικτά Ακαδημαϊκά Μαθήματα Τεχνολογικό Εκπαιδευτικό Ίδρυμα Αθήνας Ενισχυτική διδασκαλία στα μαθήματα «Εισαγωγή στον προγραμματισμό» και «Αλγοριθμική» Ενότητα 1: Εισαγωγή στην Αλγοριθμική και στον Προγραμματισμό. Χ. Σκουρλάς Τμήμα Μηχανικών Πληροφορικής ΤΕ Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.
2 Ενισχυτική διδασκαλία στα μαθήματα «Εισαγωγή στον προγραμματισμό» και «Αλγοριθμική» (για σπουδαστές με προβλήματα ακοής, για σπουδαστές με μαθησιακές δυσκολίες κ.λπ.) χ. σκουρλάς
3 Κεφάλαιο 1 Εισαγωγή στον προγραμματισμό Αρχή με απλά παραδείγματα προγράμματος ή «10 τρόποι για να χαιρετήσεις τον κόσμο!» Όταν θέλεις να μάθεις μία νέα γλώσσα προγραμματισμού αρχίζεις γράφοντας ένα απλό πρόγραμμα. Στα περισσότερα βιβλία που σου μαθαίνουν προγραμματισμό διαβάζεις συνήθως ένα πρόγραμμα που γράφει στην οθόνη του υπολογιστή την αγγλική φράση Hello, world! Η φράση αυτή σημαίνει στα ελληνικά Γειά σου κόσμε! Θα γράψουμε δέκα προγράμματα για να μάθουμε δέκα τρόπους να γράφουμε αυτή τη φράση. Τα προγράμματα αυτά ή άλλα τελείως ανάλογα υπάρχουν σε πολλές ιστοσελίδες στο διαδίκτυο ή σε παρουσιάσεις (powerpoint presentations) διαλέξεων για εισαγωγή στην αλγοριθμική και τον προγραμματισμό. Να το πρώτο μας πρόγραμμα! program Hello_01(output); writeln('hello, world!') Περιγραφή της σύνταξης του πρώτου προγράμματος Για κάθε πρόγραμμά μας πρέπει να διαλέξουμε ένα όνομα. Εδώ διάλεξα το όνομα Hello_01. Έτσι έγραψα στην πρώτη γραμμή, program Hello_01(output); Παρατηρήστε ότι η γραμμή αυτή τελειώνει με ερωτηματικό. Τι σημαίνει η λέξη output. Το πρόγραμμά μας θέλουμε να γράφει στην οθόνη του υπολογιστή το μήνυμα Hello, world! Έτσι δίπλα στο όνομα του προγράμματος γράφουμε σε παρενθέσεις την αγγλική λέξη output που σημαίνει στα ελληνικά έξοδος. Δηλαδή με αυτόν τον τρόπο λέμε στο πρόγραμμά μας ότι θα γράφει τις απαντήσεις (στην οθόνη). Η αγγλική λέξη input σημαίνει στα ελληνικά είσοδος. Αν γράφαμε program Hello_01(input, output); Αυτό σημαίνει ότι το πρόγραμμά μας θα διαβάζει στοιχεία που θα πληκτρολογούμε. Αυτά που πληκτρολογούμε φαίνονται στην οθόνη και τα διαβάζει το πρόγραμμα για να τα επεξεργαστεί. Το πρόγραμμα αρχίζει με την αγγλική λέξη που σημαίνει στα ελληνικά αρχή. Το πρόγραμμα τελειώνει με την αγγλική λέξη end που σημαίνει στα ελληνικά τέλος. Μετά τη λέξη end βάζουμε και τελεία. Ανάμεσα στις λέξεις, end γράφουμε τις εντολές μας δηλαδή γράφουμε αυτά που ζητάμε να κάνει ο υπολογιστής.
4 Τα ξαναλέμε: Μέχρι τώρα είδαμε ότι κάθε πρόγραμμα έχει ένα όνομα και αποτελείται από εντολές. Το πρόγραμμα Hello_01 έχει μία μόνο εντολή που πρέπει να εκτελέσει ο υπολογιστής την παρακάτω: writeln('hello, world!') Η εντολή αυτή γράφει στην οθόνη του υπολογιστή τη φράση Hello, world!' Στην εντολή αυτή μπορούσαμε να γράψουμε και ερωτηματικό στο τέλος writeln('hello, world!'); Να κάποιες σημαντικές παρατηρήσεις 1) Αν δεν προλαβαίνεις να δεις τα αποτελέσματα του προγράμματος στο περιβάλλον της Bloodsed Dev-Pascal τότε πρόσθεσε μία εντολή στο τέλος: program Hello_01(output); writeln('hello, world!'); 2) Στο πρόγραμμά μας χρησιμοποιούμε μερικές αγγλικές λέξεις. ΠΡΟΣΟΧΗ! ΚΑΘΕ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΧΡΗΣΙΜΟΠΟΙΕΙ ΤΙΣ ΔΙΚΕΣ ΤΗΣ! Κάθε μία από αυτές τις λέξεις έχει ένα ειδικό νόημα. Για παράδειγμα η λέξη Program δηλώνει ότι αυτό που ακολουθεί είναι το πρόγραμμά μας. Οι λέξεις αυτές λέγονται κρατημένες (reserved) επειδή τις κρατάμε και δεν τις χρησιμοποιούμε τυχαία. Για παράδειγμα, απαγορεύεται να χρησιμοποιήσουμε τη λέξη writeln σαν όνομα του προγράμματός μας. Η γλώσσα PASCAL έχει μερικές κρατημένες λέξεις όπως οι παρακάτω:
5 Reserved words Τι σημαίνει Επεξήγηση Κρατημένες λέξεις Program Πρόγραμμα Ακολουθείται από το όνομα του ρπογράμματος Begin Αρχή Αρχή προγράμματος ή μιας ομάδας εντολών End Τέλος Τέλος προγράμματος ή μιας ομάδας εντολών Var Μεταβλητή Θα μιλήσουμε αρκετά στη συνέχεια Const Σταθερά Θα μιλήσουμε στη συνέχεια Writeln Γράψε γραμμή Γράφει μία γραμμή που μπορεί να περιλαμβάνει κείμενα, τιμές μεταβλητών κ.λπ. Write Γράψε Γράφει κείμενα, τιμές μεταβλητών κ.λπ. χωρίς να αλλάζει γραμμή Readln Διάβασε γραμμή Διαβάζει μία γραμμή με τιμές μεταβλητών και σταθερών Read Διάβασε Διαβάζει τιμές μεταβλητών και σταθερών χωρίς να πάει στην επόμενη γραμμή For Για for i:= number1 to number2 do Do Κάνε πχ for i:= 1 to 10 do If Αν If then ; Then Τότε If then else if then else ; Else Αλλιώς If then else ; Input Είσοδος Μαθαίνουμε ότι το πρόγραμμα διαβάζει στοιχεία που πληκτρολογούμε Output Έξοδος Μαθαίνουμε ότι το πρόγραμμα γράφει τις απαντήσεις στην οθόνη Integer Ακέραιος αριθμός Άσκηση Δες το πρόγραμμα Hello_01 και γράψε ένα δικό σου που θα λέει ποιός είσαι. Μπορείς να γράψεις και ότι άλλο θέλεις. program Hello_01(output); writeln('hello, world!')
6 Να το νέο πρόγραμμά μου. program my_hello(output); writeln('my name is Christos.'); writeln('i feel good.'); writeln('hello, world!') Όταν το εκτέλεσα έγραψε στην οθόνη του υπολογιστή: My name is Christos. I feel good. Hello, world! Θα μπορούσα να γράψω ερωτηματικό και στην τελευταία εντολή writeln όπως βλέπεις στο παρακάτω πρόγραμμα. program my_hello(output); writeln('my name is Christos.'); writeln('i feel good.'); writeln('hello, world!'); ΘΥΜΗΣΟΥ ΟΤΙ ΜΠΟΡΕΙΣ ΝΑ ΠΑΡΑΛΕΙΨΕΙΣ ΤΟ ΕΡΩΤΗΜΑΤΙΚΟ ΜΟΝΟ ΣΤΗΝ ΤΕΛΕΥΤΑΙΑ ΕΝΤΟΛΗ! Επομένως, το παρακάτω πρόγραμμα έχει 2 λάθη program my_hello(output); writeln('my name is Christos.') writeln('i feel good.') writeln('hello, world!'); Να τα επόμενα παραδείγματα program Hello_02(output); writeln('hello, ','world!') Γράφω τις λέξεις της φράσης Hello world! μία μία με την εντολή writeln('hello, ','world!')
7 program Hello_03(output); write('hello, '); writeln('world!') Γράφω τη λέξη Hello και μετά γράφω world! με την εντολή writeln('world!') που τελειώνοντας αλλάζει και γραμμή program Hello_04(output); write('hello, world!'); writeln Γράφω τη φράση Hello world! και με την εντολή writeln αλλάζω και γραμμή program Hello_05(output); procedure hello; writeln('hello, world!') hello; hello; hello; hello Γράφω ένα υποπρόγραμμα με όνομα Hello. Το υποπρόγραμμα γράφει τη φράση 'Hello, world!'. Το κύριο πρόγραμμα καλεί 4 φορές το υποπρόγραμμα και το μήνυμα 'Hello, world!' γράφεται 4 φορές. program Hello_06(output); var i : integer; procedure hello; writeln('hello, world!') for i:=1 to 7 do hello Γράφω ένα υποπρόγραμμα με όνομα Hello. Το υποπρόγραμμα γράφει τη φράση 'Hello, world!'. Το κύριο πρόγραμμα καλεί 7 φορές το υποπρόγραμμα και το μήνυμα 'Hello, world!' γράφεται 7 φορές.
8 Πως ακριβώς δουλεύει το πρόγραμμα Χρησιμοποιώ μία εντολή for i:= number1 to number2 do δηλαδή μία εντολή επαναληπτικής εκτέλεσης ή εντολή βρόχου (loop). Λέγεται επαναληπτική εντολή ή εντολή βρόχου (loop) γιατί η εντολή αυτή κάνει την ίδια δουλειά πολλές φορές. Το i ορίζεται σαν μία ακέραια μεταβλητή και από την εντολή for θα πάρει διαδοχικά τιμές 1, 2, 3, 4, 5, 6, 7. Όταν πάρει τιμή 1 καλείται για πρώτη φορά το υποπρόγραμμα Hello και το υποπρόγραμμα γράφει τη φράση 'Hello, world!'. Μετά η μεταβλητή i θα πάρει τιμή 2 και καλείται για δεύτερη φορά το Υποπρόγραμμα Hello και το υποπρόγραμμα ξαναγράφει τη φράση 'Hello, world!'. Μετά η μεταβλητή i θα πάρει τιμή 3 και καλείται για Τρίτη φορά το Υποπρόγραμμα Hello και το υποπρόγραμμα ξαναγράφει τη φράση 'Hello, world!'. Με τον ίδιο τρόπο η μεταβλητή i θα πάρει τιμή 4, μετά 5, μετά 6 και μετά 7 και κάθε φορά θα καλείται το Υποπρόγραμμα Hello και το υποπρόγραμμα θα ξαναγράφει τη φράση 'Hello, world!'. Δηλαδή, χρησιμοποιήσαμε τη μεταβλητή σαν ένα μετρητή που θα πάρει διαδοχικά τις τιμές από 1 μέχρι 7 ώστε να καλέσουμε το υποπρόγραμμα 7 φορές και να τυπώσει 7 φορές το μήνυμα. program Hello_07(output); const n = 7; var i : integer; procedure num_hello; writeln(i,' Hello, world!') for i:= 1 to n do num_hello Χρησιμοποιώ πάλι μία εντολή for i:= number1 to number2 do δηλαδή μία εντολή επαναληπτικής εκτέλεσης ή εντολή βρόχου (loop) και μία μεταβλητή i, όπως και προηγουμένως. Εδώ, όμως, αντί της εντολής for i:=1 to 7 do hello χρησιμοποιώ την εντολή for i:=1 to n do hello. Για να ξέρει πόσες επαναλήψεις θα κάνει ορίζω τη σταθερά n, const n = 7;
9 program Hello_08(input,output); var i,n : integer; procedure hello; writeln('hello, world!') writeln('give number ', ' then press <enter>:'); read(n); for i:= 1 to n do hello Χρησιμοποιώ πάλι μία εντολή επαναληπτικής εκτέλεσης ή εντολή βρόχου (loop) την εντολή for i:= 1 to n do hello Εδώ, όμως, αντί να ορίσω τη σταθερά n, όπως προηγουμένως, θα κάνω κάτι άλλο. Δηλαδή αντί της δήλωσης const n = 7; δηλώνω την ακέραια μεταβλητή n ως εξής: var i,n : integer; Στο πρόγραμμα με την εντολή writeln('give number', ' then press <enter>:'); διατάζω τον υπολογιστή να γράψει στην οθόνη το μήνυμα: Give number then press <enter> Ο υπολογιστής αφού το γράψει περιμένει να του γράψουμε μία τιμή. Αυτό γιατί στο πρόγραμμά μας έχουμε γράψει την εντολή read(n); Μόλις πληκτρολογήσουμε μία τιμή ο υπολογιστής τη διαβάζει και τη γράφει στη μεταβλητή n. program Hello_09(input,output); var i,n : integer; procedure hello; writeln('hello, world!') writeln('give number ',' then press <enter>:'); readln(n); for i:= 1 to n do hello Ότι και προηγουμένως. Μόνο που στο προηγούμενο πρόγραμμα με τις εντολές read(n); το πρόγραμμα διάβασε πρώτα την τιμή της μεταβλητής n (εντολή read(n);) και μετά διάβασε μέχρι το υπόλοιπο της γραμμής (εντολή ). Το πρόγραμμα Hello_9 διαβάζει μία γραμμή και ότι τιμή έχουμε δώσει την αποθηκεύει στη μεταβλητή.
10 program Hello_10(input,output); var i,n : integer; procedure hello; writeln('hello, world!') writeln('give number ', ' then press <enter>:'); readln(n); if n < 0 then writeln('number is negative') else if n=0 then writeln('number is zero') else for i:= 1 to n do hello; readln Το πρόγραμμα ζητά να δώσουμε έναν αριθμό. Αν ο αριθμός που θα δώσουμε είναι αρνητικός Τότε ο υπολογιστής θα γράψει στην οθόνη το μήνυμα number is negative Αλλιώς Αν ο αριθμός που θα δώσουμε είναι μηδέν Τότε ο υπολογιστής θα γράψει στην οθόνη το μήνυμα 'number is zero' Αλλιώς θα εκτελέσει επαναληπτικά το υποπρόγραμμα και θα τυπώσει n φορές το μήνυμα Hello, world! Άσκηση Γράψτε πρόγραμμα που θα διαβάζει και θα τυπώνει τον αριθμό μητρώου σας, επώνυμο, όνομα και τηλέφωνο και το μήνυμα Hello world τρεις φορές. Αν δοθεί Αριθμός Μητρώου αρνητικός το πρόγραμμά σας θα τυπώνει το μήνυμα AM is a negative number! και θα σταματά. Χρησιμοποιήστε τους παραπάνω τρόπους που αναφέρονται στα προγράμματα της ενότητας αυτής.
11 Κεφάλαιο 2 Βασικές έννοιες προγραμματισμού και παραδείγματα «Θυμήσου ότι ο αλγόριθμος και το πρόγραμμα θέλουν προσπάθεια, υπομονή και επιμονή!» «Μη φανταστείς ότι θα μάθεις προγραμματισμό διαβάζοντας ένα καλό βιβλίο ή τις σημειώσεις αυτές στο κρεβάτι σου. Θα τα καταφέρεις μόνο αν διαβάζεις και είσαι δίπλα στον υπολογιστή σου και δοκιμάζεις κάθε πρόγραμμα που διάβασες. Μετά πρέπει να γράφεις άλλα προγράμματα δικά σου που αλλάζουν λίγο αυτά που διάβασες. Επομένως, εκτός από προσπάθεια, υπομονή και επιμονή χρειάζεσαι, ακόμη, χαρτί και υπολογιστή. Δηλαδή, πρέπει να γράφεις τα προγράμματά μας και τα δικά σου στο χαρτί και μετά να τα πληκτρολογείς στον υπολογιστή σου. Αν τα προγράμματα δεν εκτελούνται (δεν «τρέχουν» το λέμε) ή δεν κάνουν αυτό που θέλουμε τότε τα τυπώνουμε και τα «εκτελούμε» με το χέρι. Αν δε βρίσκουμε τα λάθη, βλέπουμε στα βιβλία και τις σημειώσεις παρόμοια προγράμματα και σκεφτόμαστε. Μετά από διάβασμα και σκέψη δοκιμάζουμε να διορθώσουμε τα προγράμματά μας πρώτα στο χαρτί και μετά στον υπολογιστή. Αν χρειαστεί ξαναδιαβάζουμε, σκεφτόμαστε και ξανασκεφτόμαστε. Αν δεν βρίσκουμε άκρη τότε στέλνουμε ένα cskourlas@teiath.gr. Αν το ξέρει απαντά αμέσως, αν όχι βλέπουμε!» «Είναι απαραίτητο να συνεργάζεστε μεταξύ σας στα προγράμματά σας! Προγραμματιστής δε γίνεσαι μόνος σου! Άλλωστε θα έχεις ακούσει για τα προγράμματα ανοικτού κώδικα: Χιλιάδες εθελοντές προγραμματιστές σε όλο τον κόσμο συνεργάζονται στον ελεύθερο χρόνο τους για να βελτιώσουν διάφορα προγράμματα που διατίθενται δωρεάν όπως το Linux.» «Αν μάθεις προγραμματισμό και εξασκηθείς σε κάποια γλώσσα, όπως η Pascal, τότε εύκολα στο μέλλον θα μάθεις οποιαδήποτε άλλη γλώσσα θελήσεις.» «Και κάτι τελευταίο: Το να μάθεις να γράφεις προγράμματα δεν είναι πολύ δύσκολο. Το να γίνεις καλός προγραμμαστής είναι!» Ένα πολύ απλό πρόγραμμα στη γλώσσα Pascal αποτελείται από μία πρώτη γραμμή που έχει το όνομά του, μία δεύτερη γραμμή που έχει τη λέξη, μία τελευταία γραμμή που έχει τη λέξη end και μετά μία τελεία. Ανάμεσα σε και end έχουμε τις εντολές του προγράμματος. Κάθε εντολή τελειώνει με ; αλλά στην τελευταία εντολή μπορούμε να το παραλείψουμε. Το παρακάτω πρόγραμμα έχει όνομα Hello και 2 εντολές. program Hello(output); writeln('hello, world!');
12 Στον προγραμματισμό μέσα στο πρόγραμμά μας χρησιμοποιούμε κάποιες ομάδες - μπλοκς (blocks) εντολών, που κάνουν συγκεκριμμένες εργασίες. Θα εξετάσουμε τώρα ένα πρόγραμμα. program repeat_until_2_numbers_are_equal (output); var m, n : integer; m:=0; n:=0; repeat m:=m+5; if m>=8 then m:=m-8; n:=n+7; if n>=7 then n:=n-9; writeln('m=', m, ' n=', n) until m=n; Το πρόγραμμα όταν εκτελεστεί δείχνει στην οθόνη τα εξής: m=5 n=-2 m=2 n=5 m=7 n=3 m=4 n=1 m=1 n=-1 m=6 n=-6 Προς το παρόν δε θα χρειαστεί να καταλάβουμε τι ακριβώς κάνει. Αυτό θα το μάθουμε παρακάτω. Θα παρατηρήσουμε όμως, τώρα, μερικά χαρακτηριστικά του. Το πρόγραμμα είναι γραμμένο ώστε η μία εντολή να γράφεται μετά την άλλη: m:=0; (πρώτη εντολή) n:=0; (δεύτερη εντολή) Δηλαδή, όταν το γράφαμε ακολουθήσαμε τη «δομή της ακολουθίας», η μία εντολή ακολουθεί την άλλη και δεν πεταγόμαστε εδώ και εκεί από ένα μέρος του προγράμματος στο άλλο. Η Τρίτη εντολή του προγράμματος που ακολουθεί είναι σύνθετη και περιλαμβάνει μέσα της και άλλες εντολές: repeat m:=m+5; if m>=8 then m:=m-8; n:=n+7; if n>=7 then n:=n-9; writeln('m=', m, ' n=', n) until m=n; Δηλαδή, το πρόγραμμα repeat_until_2_numbers_are_equal αποτελείται από τέσσερις εντολές.
13 Εντολές προγράμματος Τύποι εντολών m:=0; Εντολή αντικατάστασης n:=0; Εντολή αντικατάστασης Repeat Εντολή επανάληψης m:=m+5; if m>=8 then m:=m-8; n:=n+7; if n>=7 then n:=n-9; writeln('m=', m, ' n=', n) until m=n; Εντολή ανάγνωσης Ακολουθούν παραδείγματα των 3 βασικών δομών. Απλώς να τα δεις και θα τα καταλάβεις στη συνέχεια. Δομές ελέγχου προγράμματος Επεξήγηση m:=0; n:=0; 1 εντολή ανάγνωσης if n < 0 then writeln('number is negative') else if n=0 then writeln('number is zero') else for i:= 1 to n do hello; for i:= 1 to n do hello; Repeat m:=m+5; if m>=8 then m:=m-8; n:=n+7; if n>=7 then n:=n-9; writeln('m=', m, ' n=', n) until m=n; Δομή ακολουθίας αποτελούμενη από 2 εντολές αντικατάστασης και Δομή επιλογής Δομές επανάληψης Ακολουθεί συστηματική περιγραφή των δομών ελέγχου: ακολουθία, επιλογή, επανάληψη. Δομή ακολουθίας Ακολουθεί πρόγραμμα σε ψευδογλώσσα. Το γράφουμε για να είναι πιό κατανοητές οι εντολές. ΠΡΟΓΡΑΜΜΑ Εκτύπωση_γινομένου_αριθμών ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: α, β, γ ΑΡΧΗ ΔΙΑΒΑΣΕ α, β γ <-- α * β ΓΡΑΨΕ α, β, γ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Εκτύπωση_γινομένου_αριθμών program deixe_ginomeno_arithmwn(output); var a, b, c: integer; readln(a, b); c:= a*b; writeln(c);
14 Να τι γίνεται κατά την εκτέλεση του προγράμματος: Βήμα 1. Ο Η/Υ περιμένει να του πληκτρολογήσουμε 2 αριθμούς για να τους διαβάσει. Αν πληκτρολογήσουμε το 4 και το 5 τότε ο υπολογιστής γράφει στη μεταβλητή a το 4 και στη μεταβλητή b το 5. Βήμα 2. Ο Η/Υ υπολογίζει το γινόμενο 4*5=20 και το γράφει στη μεταβλητή c. Βήμα 3. Ο υπολογιστής δείχνει 20. Θα αλλάξουμε λίγο το πρόγραμμά μας. program deixe_ginomeno_arithmwn(output); var a, b, c: integer; writeln('dwse tous 2 arithmous'); readln(a, b); c:= a*b; writeln('a*b=', a, '*', b, '=', c); Να τι γίνεται κατά την εκτέλεση του προγράμματος: Βήμα 1. Ο Η/Υ δείχνει το μήνυμα dwse tous 2 arithmous Βήμα 2. Ο Η/Υ περιμένει να του πληκτρολογήσουμε 2 αριθμούς για να τους διαβάσει. Αν πληκτρολογήσουμε 4 5 τότε ο υπολογιστής γράφει στη μεταβλητή a το 4 και στη μεταβλητή b το 5. Βήμα 3. Ο Η/Υ υπολογίζει το γινόμενο 4*5=20 και το γράφει στη μεταβλητή c. Βήμα 4. Ο υπολογιστής δείχνει a*b=4*5=20 Θα μπορούσαμε να διαβάζουμε τους αριθμούς σε ξεχωριστές γραμμές και μετά να υπολογίζουμε το γινόμενό τους. program deixe_ginomeno_arithmwn(output); var a, b, c: integer; writeln('dwse ton prwto arithmo'); readln(a); writeln('dwse to deftero arithmo'); readln(b); c:= a*b; writeln('a*b=', a, '*', b, '=', c); Στα παρακάτω αποτελέσματα της εκτέλεσης του προγράμματος οι ενέργειες του Η/Υ είναι υπογραμμισμένες. dwse ton prwto arithmo 4 dwse to deftero arithmo 5 a*b=4*5=20
15 Δομές Επιλογής - Χρήση Απλής δομής επιλογής Ακολουθεί Πρόγραμμα σε ψευδογλώσσα που υπολογίζει την απόλυτη τιμή ενός ακέραιου αριθμού. ΠΡΟΓΡΑΜΜΑ Εκτύπωση_απόλυτης_τιμής_αριθμού ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: α ΑΡΧΗ ΔΙΑΒΑΣΕ α ΑΝ α < 0 ΤΟΤΕ α <-- α *(-1) ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ α ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Εκτύπωση_απόλυτης_τιμής_αριθμού Να το πρόγραμμα σε Pascal program Ektypwsh_apolyths_timhs(input, output); var a: integer; writeln('dwse enan akeraio arithmo'); readln(a); if a < 0 then a:=a*(-1); writeln('h apoluth timh tou a einai ', a); και το αποτέλεσμα της εκτέλεσης dwse enan akeraio arithmo -10 h apoluth timh tou a einai 10 Άσκηση Υπολόγισε και δείξε το μέσο όρο τριών αριθμών αν όλοι είναι θετικοί.
16 Χρήση σύνθετης δομής επιλογής Να διαβάσετε 2 αριθμούς α, β. Αν ο αριθμός α είναι μικρότερος του β εκτυπώστε το άθροισμά τους αλλιώς το γινόμενό τους. Το πρόγραμμα σε ψευδογλώσσα ΠΡΟΓΡΑΜΜΑ Σύγκριση_Εκτύπωση_αριθμών ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: a, b, c ΑΡΧΗ ΔΙΑΒΑΣΕ a, b ΑΝ a < b ΤΟΤΕ c <-- a + b ΑΛΛΙΩΣ c <-- a * b ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ c ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Σύγκριση_Εκτύπωση_αριθμών program sygrish_ektypwsy_arithmwn(input, output); var a, b, c: integer; writeln('grapse 2 akeraious arithmous'); readln(a, b); if a<b then c:= a+b else c:= a*b; writeln('c=', c); Ακολουθούν δύο διαφορετικές εκτελέσεις του προγράμματος 1 η εκτέλεση grapse 2 akeraious arithmous 3 5 c=8 2 η εκτέλεση grapse 2 akeraious arithmous 5 3 c=15 Θα μπορούσαμε να χρησιμοποιήσουμε αντί της μεταβλητής c τις ακέραιες μεταβλητές sum (άθροισμα) και product (γινόμενο) ώστε το πρόγραμμά μας να είναι πιό ευανάγνωστο. Επίσης θα μπορούσαμε να τυπώσουμε τα αποτελέσματα καλύτερα.
17 program sygrish_ektypwsy_arithmwn(input, output); var a, b, sum, product: integer; writeln('grapse 2 akeraious arithmous'); readln(a, b); if a<b then sum:= a+b; writeln('sum=a+b=', a, '+', b, '=',sum); end else product:= a*b; writeln('product=a*b=', a, '*', b, '=',product) 1 η εκτέλεση grapse 2 akeraious arithmous 3 5 sum=a+b=3+5=8 2 η εκτέλεση grapse 2 akeraious arithmous 17 2 product=a*b=17*2=34 Να και ένας απλούστερος τρόπος να υπολογίσουμε το ίδιο program sygrish_ektypwsy_arithmwn(input, output); var a, b: integer; writeln('grapse 2 akeraious arithmous'); readln(a, b); if a<b then writeln('sum=a+b=', a, '+', b, '=',a+b) else writeln('product=a*b=', a, '*', b, '=',a*b); 1 η εκτέλεση grapse 2 akeraious arithmous 3 5 sum=a+b=3+5=8 2 η εκτέλεση grapse 2 akeraious arithmous 17 2 product=a*b=17*2=34 Άσκηση Υπολόγισε το μέσο όρο τριών αριθμών αν όλοι οι αριθμοί είναι θετικοί αλλιώς υπολόγισε το γινόμενό τους.
18 Χρήση Δομής Πολλαπλής Επιλογής- Αν... Αλλιώς_αν... Να διαβάσετε ένα θετικό ακέραιο αριθμό α. Αν α = 1 εκτυπώστε τη λέξη Δευτέρα, αν α=2 εκτυπώστε Τρίτη, αν α=3 εκτυπώστε τη λέξη Τρίτη κ.λπ. Αν α=7 εκτυπώστε τη λέξη Κυριακή. Διαφορετικά να τυπωθεί η φράση Δε δώσατε έναν από τους αριθμούς 1, 2, 3, 4, 5, 6, 7. Πρώτα το γράφουμε σε ψευδογλώσσα ΠΡΟΓΡΑΜΜΑ Αντιστοιχία_αριθμών_ημερών ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: α ΑΡΧΗ ΓΡΑΨΕ Δώστε έναν από τους αριθμούς 1, 2, 3, 4, 5, 6, 7 ΔΙΑΒΑΣΕ α ΓΡΑΨΕ 'Έγραψες τον αριθμό ', α, που αντιστοιχεί σε ΑΝ α = 1 ΤΟΤΕ ΓΡΑΨΕ 'Δευτέρα' ΑΛΛΙΩΣ_ΑΝ α = 2 ΤΟΤΕ ΓΡΑΨΕ 'Τρίτη' ΑΛΛΙΩΣ_ΑΝ α = 3 ΤΟΤΕ ΓΡΑΨΕ 'Τετάρτη' ΑΛΛΙΩΣ_ΑΝ α = 4 ΤΟΤΕ ΓΡΑΨΕ 'Πέμπτη' ΑΛΛΙΩΣ_ΑΝ α = 5 ΤΟΤΕ ΓΡΑΨΕ 'Παρασκευή' ΑΛΛΙΩΣ_ΑΝ α = 6 ΤΟΤΕ ΓΡΑΨΕ 'Σαββάτο' ΑΛΛΙΩΣ_ΑΝ α = 7 ΤΟΤΕ ΓΡΑΨΕ 'Κυριακή' ΑΛΛΙΩΣ ΓΡΑΨΕ 'Δε δώσατε έναν από τους αριθμούς 1, 2, 3, 4, 5, 6, 7' ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Αντιστοιχία_αριθμών_ημερών program antistoixia_arithmwn_hmrwn(input, output); var a: integer; writeln('grapse enan apo tous arithmous 1, 2, 3, 4, 5, 6, 7'); readln(a); writeln('egrapses ton arithmo ', a, ' pou antistoiei se '); if a = 1 then writeln('deftera') else if a = 2 then writeln('trith') else if a = 3 then writeln('tetarth') else if a = 4 then writeln('pempth') else if a = 5 then writeln('paraskeui') else if a = 6 then writeln('savvato') else if a = 7 then writeln('kuriakh') else writeln('den egrapses enan apo tous arithmous 1, 2, 3, 4, 5, 6, 7 '); 1 η εκτέλεση Grapse enan apo tous arithmous 1, 2, 3, 4, 5, 6, 7 Egrapses ton arithmo 5 pou antistoiei se Paraskeui 2 η εκτέλεση Grapse enan apo tous arithmous 1, 2, 3, 4, 5, 6, 7 Egrapses ton arithmo a pou antistoiei se Den egrapses enan apo tous arithmous 1, 2, 3, 4, 5, 6, 7 Άσκηση Γράψτε πρόγραμμα που θα διαβάζει έναν αριθμό από 1 μέχρι 12 και θα γράφει τον αντίστοιχο μήνα πχ διαβάζει 1 και γράφει January.
19 Χρήση Δομής Πολλαπλής Επιλογής- Επίλεξε... Περίπτωση... Να διαβάσετε ένα ακέραιο αριθμό α που αντιστοιχεί στην κατηγορία βάρους που ανήκει το βάρος ενός ανθρώπου και να εκτυπώστε ανάλογο μήνυμα / συμβουλή. Πρώτα το γράφω σε ψευδογλώσσα. ΠΡΟΓΡΑΜΜΑ Εύρεση_ορίων_βάρους ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: κατηγορία_βάρους ΑΡΧΗ! οδηγίες για το χρήστη του προγράμματος ΓΡΑΨΕ 'Αν το βάρος σας είναι είναι λιγότερο από 30 κιλά γράψτε 1' ΓΡΑΨΕ 'Αν το βάρος σας είναι μεταξύ των 31 και 40 κιλών γράψτε 2' ΓΡΑΨΕ 'Αν το βάρος σας είναι μεταξύ των 41 και 50 κιλών γράψτε 3' ΓΡΑΨΕ 'Αν το βάρος σας είναι μεταξύ των 51 και 70 κιλών γράψτε 4' ΓΡΑΨΕ 'Αν το βάρος σας είναι μεταξύ των 71 και 90 κιλών γράψτε 5' ΓΡΑΨΕ 'Αν το βάρος σας είναι πάνω από 90 κιλά γράψτε 6' ΔΙΑΒΑΣΕ κατηγορία_βάρους ΓΡΑΨΕ 'Η κατηγορία βάρους σας είναι ', κατηγορία_βάρους ΕΠΙΛΕΞΕ κατηγορία_βάρους ΠΕΡΙΠΤΩΣΗ 0 ΓΡΑΨΕ 'Μα είναι αυτό βάρος ανθρώπου;' ΠΕΡΙΠΤΩΣΗ 1 ΓΡΑΨΕ 'Μήπως το παρακάνετε στη δίαιτα; Κινδυνεύετε!' ΠΕΡΙΠΤΩΣΗ 2 ΓΡΑΨΕ 'Πάρτε και μερικά κιλά!' ΠΕΡΙΠΤΩΣΗ 3 ΓΡΑΨΕ 'Καλά τα πάτε!' ΠΕΡΙΠΤΩΣΗ 4 ΓΡΑΨΕ 'Κάντε κάτι!' ΠΕΡΙΠΤΩΣΗ 5 ΓΡΑΨΕ 'Γρήγορα στο γιατρό σας!' ΠΕΡΙΠΤΩΣΗ ΑΛΛΙΩΣ ΓΡΑΨΕ 'Έπρεπε να δώσετε αριθμό από 0 έως 5!' ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Εύρεση_ορίων_βάρους
20 program euresh_oriwn_varous(input, output); var kathgoria_varous: integer; (* akolouthoun odhgies gia to xrhsth tou programmatos *) writeln( 'An to varos sou einai mikrotero apo 30 kila grapse 1'); writeln( 'An to varos sou einai metaxu twn 31 kai 40 kilwn grapse 2'); writeln( 'An to varos sou einai metaxu twn 41 kai 50 kilwn grapse 3'); writeln( 'An to varos sou einai metaxu twn 51 kai 70 kilwn grapse 4'); writeln( 'An to varos sou einai metaxu twn 71 kai 90 kilwn grapse 5'); writeln( 'An to varos sou einai panw apo 90 kila grapse 6'); writeln('grapse kathgoria varous'); readln(kathgoria_varous); writeln( 'H kathgoria varous sou einai ', kathgoria_varous); case kathgoria_varous of 1: writeln( 'Ma einai afto varos anthrwpou;'); 2: writeln( 'Mhpws to parakaneis sth diaita; Kindineueis!'); 3: writeln( 'Pare kaimerika kila!'); 4: writeln( 'Kala ta pas!'); 5: writeln( 'Kane kati!'); 6: writeln( 'Grhgora sto giatro sou!'); else writeln( 'Eprepe na dwseis arithmo apo 0 ews 5!') An to varos sou einai mikrotero apo 30 kila grapse 1 An to varos sou einai metaxu twn 31 kai 40 kilwn grapse 2 An to varos sou einai metaxu twn 41 kai 50 kilwn grapse 3 An to varos sou einai metaxu twn 51 kai 70 kilwn grapse 4 An to varos sou einai metaxu twn 71 kai 90 kilwn grapse 5 An to varos sou einai panw apo 90 kila grapse 6 Grapse kathgoria varous 6 H kathgoria varous sou einai 6 Grhgora sto giatro sou!
21 Εμφωλευμένες διαδικασίες Δηλαδή if then μέσα σε άλλο if then Διαβάστε το ύψος και το βάρος ενός άνδρα και εκτυπώστε την κατηγορία στην οποία ανήκει. Αλγόριθμος Κατηγορία_ύψους_βάρους Διάβασε ύψος, βάρος Διάβασε όνομα Αν βάρος < 70 τότε Αν ύψος < 1.60 τότε Εκτύπωσε ο κ., όνομα, είναι ευκίνητος αλλιώς Εκτύπωσε ο κ., όνομα, είναι ψηλόλιγνος Τέλος_αν Αλλιώς Αν ύψος < 1.60 τότε Εκτύπωσε ο κ., όνομα, δυσκίνητος αλλιώς Εκτύπωσε ο κ., όνομα, είναι βαρέων βαρών Τέλος_αν Τέλος_αν Τέλος Κατηγορία_ύψους_βάρους Στον παραπάνω αλγόριθμο σαν συνθήκες χρησιμοποιούμε απλές προτάσεις, όπως: Πρόταση Α: βάρος < 70 Πρόταση Β: ύψος < 1.60 Σε άλλες εφαρμογές χρειάζεται να χρησιμοποιήσουμε σύνθετες συνθήκες που κατασκευάζονται από απλές προτάσεις με τη βοήθεια λογικών πράξεων «και», «ή», «όχι». Για παράδειγμα, (ύψος < 1.70) και (βάρος > 110). Ο πίνακας δίνει τις τιμές των λογικών πράξεων για συνδυασμούς τιμών των προτάσεων. Πρόταση Α Πρόταση Β Α και Β Α ή Β όχι Α Αληθής Αληθής Αληθής Αληθής Ψευδής Αληθής Ψευδής Ψευδής Αληθής Ψευδής Ψευδής Αληθής Ψευδής Αληθής Αληθής Ψευδής Ψευδής Ψευδής Ψευδής Αληθής Και τώρα το αντίστοιχο πρόγραμμα σε ψευδογλώσσα
22 ΠΡΟΓΡΑΜΜΑ Κατηγορία_ύψους_βάρους ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: βάρος ΠΡΑΓΜΑΤΙΚΕΣ: ύψος ΧΑΡΑΚΤΗΡΕΣ: όνομα ΑΡΧΗ ΔΙΑΒΑΣΕ ύψος, βάρος ΔΙΑΒΑΣΕ όνομα ΑΝ βάρος < 70 ΤΟΤΕ ΑΝ ύψος < 1.60 ΤΟΤΕ ΓΡΑΨΕ 'ο κ. ', όνομα, 'είναι ευκίνητος!' ΑΛΛΙΩΣ ΓΡΑΨΕ 'ο κ. ', όνομα, 'είναι ψηλόλιγνος!' ΤΕΛΟΣ_ΑΝ ΑΛΛΙΩΣ ΑΝ ύψος < 1.60 τότε ΓΡΑΨΕ 'ο κ. ', όνομα, 'είναι δυσκίνητος!' ΑΛΛΙΩΣ ΓΡΑΨΕ 'ο κ. ', όνομα, 'είναι βαρέων βαρών!' ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Κατηγορία_ύψους_βάρους program kathgoria_ypsous_varous(input, output); var varos: integer; ypsos: real; onoma: string; writeln('grapse onoma'); readln(onoma); writeln('grapse varos, ypsos'); readln(varos, ypsos); if varos < 70 then if ypsos < 1.60 then writeln('o k. ', onoma, ' einai eukinhtos!') else writeln('o k. ', onoma, ' einai eukinhtos!') else if ypsos < 1.60 then writeln('o k. ', onoma, ' einai duskinhtos!') else writeln('o k. ', onoma, ' einai varewn varwn!'); grapse onoma Christos grapse varos, ypsos o k. Christos einai varewn varwn!
23 Δομή επανάληψης while do ( Όσο... επανάλαβε) Να εμφανίσετε τους ακέραιους αριθμούς από 1 έως 20 ΠΡΟΓΡΑΜΜΑ Απαρίθμηση_από_1_έως_20 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Ι ΑΡΧΗ Ι <-- 1! το Ι πρέπει να έχει αρχική τιμή πριν από τη δομή όσο... επανάλαβε ΟΣΟ Ι <= 20 ΕΠΑΝΑΛΑΒΕ ΓΡΑΨΕ Ι Ι <-- Ι + 1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Απαρίθμηση_από_1_έως_20 program aparithmisi_apo_1_20(output); var i: integer; i:=1; while i <= 20 do writeln(i); i:= i Άσκηση Υπολόγισε το γινόμενο 1*2*3*4*5*6*7*8*9 χρησιμοποιώντας while. do.
24 Δύο Δομές επανάληψης: while do («Όσο... επανάλαβε»), repeat until («Αρχή_επανάληψης») και η σύγκρισή τους. Δομή επανάληψης «Όσο... επανάλαβε» Επαναληπτική διαδικασία ανάγνωσης ακεραίων αριθμών ΠΡΟΓΡΑΜΜΑ Ανάγνωση_θετικών_ακεραίων_αριθμών ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Ι ΑΡΧΗ ΔΙΑΒΑΣΕ Ι! το Ι πρέπει να έχει αρχική τιμή πριν από τη δομή όσο... επανάλαβε ΟΣΟ Ι > 0 ΕΠΑΝΑΛΑΒΕ ΓΡΑΨΕ 'Πληκτολόγησες τον αριθμό ', Ι ΔΙΑΒΑΣΕ Ι ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Ανάγνωση_θετικών_ακεραίων_αριθμών program anagnwsh_akeraiwn_arithmwn(input, output); var i: integer; writeln('oso dineis thetiko arithmo tha synexizei'); writeln('dwse thetiko akeraio arithmo'); readln(i); while i > 0 do writeln('plhktrologhses ton arithmo ', i); readln(i) Άσκηση Διάβασε θετικούς αριθμούς και υπολόγισε το άθροισμά τους. Θα σταματήσεις αν διαβάσεις αρνητικό αριθμό ή μηδέν. Να χρησιμοποιήσεις while do.
25 Repeat until (Αρχή_επανάληψης Μέχρις_ότου). ΠΡΟΓΡΑΜΜΑ Ανάγνωση_θετικών_ακεραίων_αριθμών ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Ι ΑΡΧΗ ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΔΙΑΒΑΣΕ Ι ΓΡΑΨΕ 'Πληκτολόγησες τον αριθμό ', Ι ΜΕΧΡΙΣ_ΟΤΟΥ Ι < 0 ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Ανάγνωση_θετικών_ακεραίων_αριθμών program anagnwsh_thetikwn_akeraiwn_arithmwn(input, output); var i: integer; writeln('oso dineis thetiko arithmo tha synexizei'); repeat writeln('plhktrologhse arithmo '); readln(i); writeln('egrapses ton arithmo ', i); until i<=0; oso dineis thetiko arithmo tha synexizei plhktrologhse arithmo 5 egrapses ton arithmo 5 plhktrologhse arithmo 56 egrapses ton arithmo 56 plhktrologhse arithmo 0 egrapses ton arithmo 0 Άσκηση Διάβασε θετικούς αριθμούς και υπολόγισε το άθροισμά τους. Θα σταματήσεις αν διαβάσεις αρνητικό αριθμό ή μηδέν. Να χρησιμοποιήσεις repeat until. Στη συνέχεια θα προσπαθήσουμε να ξεκαθαρίσουμε που διαφέρουν οι επαναληπτικές δομές Όσο επανάλαβε, Αρχή_επανάληψης Μέχρις_ότου. Τα παρακάτω προγράμματα διαβάζουν θετικούς ακέραιους και τερματίζουν αν πληκτρολογηθεί αρνητικός αριθμός ή μηδέν ή αν ο χρήστης δώσει 5 αριθμούς. Όταν χρησιμοποιούμε τη δομή repeat until (Αρχή_επανάληψης Μέχρις_ότου) στο δεύτερο πρόγραμμα τότε αυτό τυπώνει το μήνυμα 'Πληκτολόγησες τον αριθμό ' και τον αρνητικό αριθμό που δίνουμε για να σταματήσουμε την εισαγωγή θετικών ακεραίων πριν πληκτρολογηθούν πέντε ακέραιοι. Πρώτα σε ψευδογλώσσα το πρόγραμμα με «όσο επανάλαβε».
26 ΠΡΟΓΡΑΜΜΑ Ανάγνωσης_θετικών_ακεραίων_αριθμών ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: i, Counter ΑΡΧΗ ΔΙΑΒΑΣΕ i Counter <-- 0 ΟΣΟ Counter < 4 ΚΑΙ i > 0 ΕΠΑΝΑΛΑΒΕ ΓΡΑΨΕ 'Πληκτολόγησες τον αριθμό ', i Counter <-- Counter + 1 ΔΙΑΒΑΣΕ i ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Ανάγνωσης_θετικών_ακεραίων_αριθμών program anagnwsh_mexri_5_arithmwn(input, output); var i, counter: integer; writeln('plhktrologhse mexri 5 thetikous akeraious arithmous'); writeln('dwse arithmo'); readln(i); counter:=0; while ((counter<4)and(i>0)) do writeln('egrapses ton arithmo ', i); writeln('plhktrologhse enan arithmo'); readln(i); counter:=counter+1 writeln('egrapses ton arithmo ', i); 1 η εκτέλεση plhktrologhse mexri 5 thetikous akeraious arithmous dwse arithmo 1 egrapses ton arithmo 1 plhktrologhse enan arithmo 3 egrapses ton arithmo 3 plhktrologhse enan arithmo 78 egrapses ton arithmo 78 plhktrologhse enan arithmo 34 egrapses ton arithmo 34 plhktrologhse enan arithmo 3 egrapses ton arithmo 3 2 η εκτέλεση plhktrologhse mexri 5 thetikous akeraious arithmous dwse arithmo 1 egrapses ton arithmo 1 plhktrologhse enan arithmo 3 egrapses ton arithmo 3 plhktrologhse enan arithmo -3 egrapses ton arithmo -3
27 Τώρα το πρόγραμμα σε ψευδογλώσσα με ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΠΡΟΓΡΑΜΜΑ Ανάγνωσης_θετικών_ακεραίων_αριθμών ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: i, Counter ΑΡΧΗ! δε γράφουμε εντολή ΔΙΑΒΑΣΕ i πριν από τη δομή ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ Counter <-- 0 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΔΙΑΒΑΣΕ i ΓΡΑΨΕ 'Πληκτρολόγησες τον αριθμό ', i Counter <-- Counter + 1 ΜΕΧΡΙΣ_ΟΤΟΥ Counter > 4 Ή i < 0 ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Ανάγνωσης_θετικών_ακεραίων_αριθμών program anagnwsh_mexri_5_arithmwn(input, output); var i, counter: integer; writeln('plhktrologhse mexri 5 thetikous akeraious arithmous'); counter:=0; repeat writeln('dwse arithmo'); readln(i); writeln('egrapses ton arithmo ', i); counter:=counter+1; end until ((counter>4)or(i<0)); 1 η εκτέλεση plhktrologhse mexri 5 thetikous akeraious arithmous dwse arithmo 1 egrapses ton arithmo 1 dwse arithmo 2 egrapses ton arithmo 2 dwse arithmo 3 egrapses ton arithmo 3 dwse arithmo 4 egrapses ton arithmo 4 dwse arithmo 5 egrapses ton arithmo 5 2 η εκτέλεση plhktrologhse mexri 5 thetikous akeraious arithmous dwse arithmo -3 egrapses ton arithmo -3 Άσκηση Γράψε 2 προγράμματα που να διαβάζουν 10 θετικούς αριθμούς και να υπολογίζουν το γινόμενό τους. Χρησιμοποίησε στο ένα πρόγραμμα while και στο άλλο repeat.
28 Αν θέλουμε να μην τυπώνεται και ο αρνητικός αριθμός χρησιμοποιούμε και δομή απλής επιλογής μέσα στη δομή Αρχή_επανάληψης. ΠΡΟΓΡΑΜΜΑ Ανάγνωσης_θετικών_ακεραίων_αριθμών ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: i, Counter ΑΡΧΗ! δε γράφουμε εντολή ΔΙΑΒΑΣΕ i Counter <-- 0 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΔΙΑΒΑΣΕ i ΑΝ i > 0 ΤΟΤΕ ΓΡΑΨΕ 'Πληκτολόγησες τον αριθμό ', i ΤΕΛΟΣ_ΑΝ Counter <-- Counter + 1 ΜΕΧΡΙΣ_ΟΤΟΥ Counter > 4 Ή i < 0 ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Ανάγνωσης_θετικών_ακεραίων_αριθμών program anagnwsh_mexri_5_arithmwn(input, output); var i, counter: integer; writeln('plhktrologhse mexri 5 thetikous akeraious arithmous'); counter:=0; repeat writeln('dwse arithmo'); readln(i); if i>0 then writeln('egrapses ton arithmo ', i); counter:=counter+1; end until ((counter>4)or(i<0)); Κατά την εκτέλεση στο προηγούμενο πρόγραμμα είδαμε plhktrologhse mexri 5 thetikous akeraious arithmous dwse arithmo -3 egrapses ton arithmo -3 Κατά την εκτέλεση στο τελευταίο πρόγραμμα βλέπαμε plhktrologhse mexri 5 thetikous akeraious arithmous dwse arithmo -3
29 Δομή επανάληψης Για από μέχρι Να εκτυπωθεί το άθροισμα Sum = n, όπου n = 100. ΠΡΟΓΡΑΜΜΑ Υπολογισμός_αθροίσματος_ακεραίων ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Sum, I ΑΡΧΗ Sum <-- 0 ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 100 Sum <-- Sum + Ι ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ Sum ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Υπολογισμός_αθροίσματος_ακεραίων program ypologismos_athroismatos_diadoxikwn_akeraiwn(output); var sum, i: integer; sum:=0; for i:=1 to 100 do sum:= sum+i; writeln('sum= = ', sum); Να τι θα δείξει Sum= =5050 Αν θέλουμε να διαβάζουμε το Ν και να υπολογίζουμε το άθροισμα Ν μπορούμε να γράψουμε το επόμενο πρόγραμμα. ΠΡΟΓΡΑΜΜΑ Υπολογισμός_αθροίσματος_ακεραίων ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Sum, I, Ν ΑΡΧΗ ΔΙΑΒΑΣΕ Ν Sum <-- 0 ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Ν Sum <-- Sum + Ι ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ ' Ν=',Sum ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Υπολογισμός_αθροίσματος_ακεραίων program ypologismos_athroismatos_diadoxikwn_akeraiwn(output); var sum, i, N: integer; writeln('grapse N'); readln(n); sum:=0; for i:=1 to N do sum:= sum+i; writeln('sum= = ', sum); Να τι θα δείξει. grapse N 100 Sum= =5050
30 Άσκηση Διάβασε 10 θετικούς αριθμούς και υπολόγισε το γινόμενό τους. Χρησιμοποίησε εντολή for. Χρήση λογικών μεταβλητών για την επίλυση προβλήματος απόφασης Διαβάστε έναν ακέραιο αριθμό που αντιστοιχεί σε κάποιο έτος μχ και εξετάστε αν είναι δίσεκτο ή όχι. Αλγόριθμος Δίσεκτο_έτος Διάβασε έτος! Αν το έτος είναι πολλαπλάσιο του 4 τότε είναι δίσεκτο.! Βέβαια, αν είναι και πολλαπλάσιο του 100 και δεν είναι και πολλαπλάσιο του 400! Τότε δεν είναι δίσεκτο.! Στην επόμενη απλή δομή επιλογής αν το έτος είναι πολλαπλάσιο του 4! τότε θα υποθέσουμε ότι είναι δίσεκτο.! Επειδή στη συνέχεια του αλγορίθμου θα εξετάσουμε αν το έτος! είναι πολλαπλάσιο του 100 δεν υπάρχει πρόβλημα Αν έτος mod 4 = 0 τότε Δίσεκτο < -- Αληθής Τέλος_αν! Στην επόμενη δομή επιλογής εξετάζουμε αν το έτος είναι πολλαπλάσιο του 100! και αν είναι τότε θεωρούμε ότι δεν είναι δίσεκτο.! Βέβαια, αμέσως μετά θα πρέπει να εξετάσουμε! αν το έτος είναι πολλαπλάσιο του 400 Αν έτος mod 100 = 0 τότε Δίσεκτο < -- Ψευδής Τέλος_αν! Αν το έτος είναι πολλαπλάσιο του 400 τότε σίγουρα είναι δίσεκτο Αν έτος mod 400 = 0 τότε Δίσεκτο < -- Αληθής Τέλος_αν! Εκτύπωση μηνύματος που απαντά στο χρήστη Αν Δίσεκτο = Αληθής τότε Εκτύπωσε το έτος που πληκτρολογήσατε είναι Δίσεκτο Αλλιώς Εκτύπωσε το έτος που πληκτρολογήσατε ΔΕΝ είναι Δίσεκτο Τέλος_αν Τέλος Δίσεκτο_έτος
31 ΠΡΟΓΡΑΜΜΑ Δίσεκτο_έτος ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: έτος ΛΟΓΙΚΕΣ: δίσεκτο ΑΡΧΗ ΔΙΑΒΑΣΕ έτος δίσεκτο <-- ΨΕΥΔΗΣ! Έστω ότι το έτος δεν είναι δίσεκτο ΑΝ (έτος MOD 4 = 0) ΤΟΤΕ δίσεκτο <-- ΑΛΗΘΗΣ! Αν το έτος είναι πολλαπλάσιο του 4 τότε είναι δίσεκτο! εκτός αν είναι και πολλαπλάσιο του 100! χωρίς να είναι και πολλαπλάσιο του 400 ΤΕΛΟΣ_ΑΝ ΑΝ (έτος MOD 100 = 0) ΤΟΤΕ δίσεκτο <-- ΨΕΥΔΗΣ! Αν το έτος είναι πολλαπλάσιο του 100! και δεν είναι πολλαπλάσιο του 400 τότε δεν είναι δίσεκτο ΤΕΛΟΣ_ΑΝ ΑΝ (έτος MOD 400 = 0) ΤΟΤΕ δίσεκτο <-- ΑΛΗΘΗΣ! Αν το έτος είναι πολλαπλάσιο του 400 τότε είναι σίγουρα δίσεκτο ΤΕΛΟΣ_ΑΝ ΑΝ (δίσεκτο = ΑΛΗΘΗΣ) ΤΟΤΕ ΓΡΑΨΕ 'Το έτος που εισάγατε είναι δίσεκτο' ΑΛΛΙΩΣ ΓΡΑΨΕ 'Το έτος που εισάγατε δεν είναι δίσεκτο' ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Δίσεκτο_έτος program disekto_etos(input, output); var etos: integer; disekto: Boolean; writeln('dwse etos'); readln(etos); disekto:= FALSE; (* estw oti to etos den einai disekto *) if (etos MOD 4 =0) then disekto:= TRUE; (* An to etos einai pollaplasio tou 4 tote einai disekto *) (* ektos an einai kai pollaplasio tou 100 *) (* xwris na einai kai pollaplasio tou 400 *) if (etos MOD 100 = 0) then disekto := FALSE; (* an to etos einai pollaplasio tou 100 *) (* kai den einai pollaplasio tou 400 tote einai disekto *) if (etos MOD 400 = 0) then disekto := TRUE; (* an to etos einai pollaplasio tou 400 tote einai sigoura disekto *) if (disekto = TRUE) then writeln('to etos pou egrapses einai disekto ') else writeln('to etos pou egrapses den einai disekto ');
32 Θα δοκιμάσουμε να γράψουμε το πρόγραμμα χρησιμοποιώντας συνθήκες. Πρώτα σε ψευδογλώσσα. ΠΡΟΓΡΑΜΜΑ Υπολογισμός_δίσεκτου_με_χρήση_συνθηκών ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: έτος ΛΟΓΙΚΕΣ: δίσεκτο ΑΡΧΗ ΔΙΑΒΑΣΕ έτος ΑΝ (έτος MOD 4 = 0) ΚΑΙ ((έτος MOD 100 <> 0) Η (έτος MOD 400 = 0)) ΤΟΤΕ ΓΡΑΨΕ 'Το έτος που εισάγατε είναι δίσεκτο' ΑΛΛΙΩΣ ΓΡΑΨΕ 'Το έτος που εισάγατε δεν είναι δίσεκτο' ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Υπολογισμός_δίσεκτου_με_χρήση_συνθηκών Πως διαμορφώσαμε τη συνθήκη στη δομή επιλογής Αν (το έτος είναι πολλαπλάσιο του 400 ) τότε το έτος είναι Δίσεκτο Αν (το έτος είναι πολλαπλάσιο του 4) ΚΑΙ (το έτος δεν είναι πολλαπλάσιο του 100) (ακόμη και αν το έτος δεν είναι πολλαπλάσιο του 400) τότε το έτος είναι σίγουρα δίσεκτο. program disekto_etos(input, output); var etos: integer; disekto: Boolean; writeln('dwse etos'); readln(etos); if ((etos MOD 4 =0) and ((etos MOD 100 <> 0) or (etos Mod 400 = 0))) then writeln('to etos pou egrapses einai disekto ') else writeln('to etos pou egrapses den einai disekto '); Εκτέλεση του προγράμματος dwse etos 2008 to etos pou egrapses einai disekto
33 Κεφάλαιο 3 Εμπέδωση Αρχή με απλά παραδείγματα Θέλουμε να γράψουμε ένα απλό πρόγραμμα για την ανάγνωση και εκτύπωση αριθμών. program read_and_print_numbers(input, output); var a, b, c: integer; d, e, z, pi: real; a := 3; b:=a + 14; c:=a*b-20; a:=(c-a)div 3; b:=b MOD a; c:=c-(a+b); d:= 3.14; e:=2*d ; z:=(d*e)/(z + 3.2); writeln('a=', a, ' b=', b, ' c=', c); writeln('d=', d, ' e=', e, ' z=', z); pi:= 3.14; writeln('sin(pi/6)=', sin(pi/6)); writeln('cos(pi/3)=', cos(pi/3)); writeln('abs(-8)=', abs(-8)); writeln('sqrt(4)=', sqrt(4)); a=9 b=8 c=14 d=3.14 e=20.78 z=20.39 sin(pi/6)=0.499 cos(pi/3)=0.5 abs(-8)=8 sqrt(4)=2 Για τον έλεγχο προγράμματος με το χέρι χρησιμοποιούμε Πίνακα τιμών program pinakas_timwn(output); var x, y, z: integer; x:= 84; y:= x MOD 5; z:=4; x:= (x DIV 5 - y**2 + 1); z:= ((x + y)*2); y:= z - y; writeln(' x=', x, ' y=', y, ' z=', z);
34 x=1 y=6 z=10 Πίνακας Τιμών X y Z Το ίδιο θα μπορούσε να γίνει από το ίδιο το πρόγραμμα program pinakas_timwn(output); var x, y, z: integer; writeln('pinakas timwn'); x:= 84; y:= x MOD 5; z:=4; writeln('x=', x, ' y=', y, ' z=', z); x:= (x DIV 5 - y**2 + 1); writeln('x=', x, ' y=', y, ' z=', z); z:= ((x + y)*2); writeln('x=', x, ' y=', y, ' z=', z); y:= z - y; writeln(' x=', x, ' y=', y, ' z=', z); Pinakas timwn x=84 y=4 z=4 x=1 y=4 z=4 x=1 y=4 z=10 x=1 y=6 z=10 Αριθμητικοί τελεστές + πρόσθεση - αφαίρεση * πολλαπλασιασμός / διαίρεση ** ύψωση σε δύναμη Τελεστές σύγκρισης < > <= >= = <> διάφορο
35 Λογικοί τελεστές AND (ΚΑΙ) λογική σύζευξη OR (Ή) λογική διάζευξη NOT (ΟΧΙ) λογική άρνηση Για την κατασκευή εκφράσεων χρησιμοποιούμε και παρενθέσεις Μεταβλητές Αποδεκτά και μη αποδεκτά ονόματα μεταβλητών Όνομα Timh Timh-31 Timh_2 AstaNaPane Timh.4 TAXus A/a Timh 5 TRIXES End 25eths End_1 Αποδεκτό ΝΑΙ/ΟΧΙ ΝΑΙ ΟΧΙ ΝΑΙ ΝΑΙ ΟΧΙ ΝΑΙ ΟΧΙ ΟΧΙ ΝΑΙ ΟΧΙ ΟΧΙ ΝΑΙ Σχόλιο Τύποι μεταβλητών και τιμές που μπορούν να πάρουν Μεταβλητή Εκχώρηση τιμής Τύπος μεταβλητής A A:=66; Integer Ypsos Ypsos := 14 meter ; String condition_a Condition_a :=TRUE; Boolean Pi pi:= 3.14 ; String pi_r Pi_r:=3.14 ; Real varos Varos:= ; Real condition_b Condition_b := TRUE ; String condition_c Condition_c :=FALSE; Boolean Pi_r1 Pi_r1:= 6.28; Real
36 program pinakas_timwn(output); var a:integer; ypsos: String; condition_a: Boolean; pi: String; pi_r: Real; varos: Real; condition_b: String; condition_c: Boolean; pi_r1: Real; a:=66; Ypsos:= '14 meter'; condition_a:=true; pi:='3.14'; pi_r:=3.14 ; Varos:= ; condition_b:='true'; condition_c:=false; pi_r1:= 6.28; writeln('times metavlhtwn'); writeln('a=', a); writeln('ypsos=', ypsos); writeln('condition_a=', condition_a); writeln('pi=', pi); writeln('pi_r=', pi_r); writeln('varos=', varos); writeln('condition_b=', condition_b); writeln('condition_c=', condition_c); writeln('pi_r=', pi_r1); Ιεραρχία πράξεων program ierarxia_praxewn(output); var a, b, c: real; a:= 2*10-3*3 ** 2 + 3; writeln('2*10-3*3 ** 2+3 ','==== ',a); b:= ((2*10-3*3)**2)+ 3; writeln('((2*10-3*3)**2)+3 ','==== ', b); c:= 2*10-3*3 ** 2; writeln('2*10-3*3 ** 2 ','==== ',c); a=-4 b=124 c=-7 Χρησιμοποιήστε παρενθέσεις.
37 Εντολές εκχώρησης τιμής Εντολή Σχόλιο Timh:= επαρκής ποσότητα ; Σωστή αν η μεταβλητή timh είναι string (αλφαριθμητική) K + 2 < -- 6; Λάθος Synolo:= synolo + 10; Σωστή αν η μεταβλητή σύνολο είναι αριθμητική a:=b:=c; Λάθος Synolo:= 5 + 5; Λάθος Synolo:=(a*b)+c; Σωστή αν οι μεταβλητές synolo, a, b, c είναι αριθμητικές Synolo:= 15 * (synolo** 3) + 4; Σωστή αν η μεταβλητή synolo είναι integer Read_timh:= a+b+c; Σωστή αν οι μεταβλητές read_timh, a, b, c είναι αριθμητικές timh = 15; Λάθος timh = a+n; Λάθος a+ 2:=b+6; Λάθος Varos swmatos:= 12.5; Λάθος Varos_swmatos:= 12.5; Σωστή αν η μεταβλητή είναι αριθμητική Γράψτε την αντίστοιχη εντολή εκχώρησης τιμής για την αλγεβρική παράσταση Παράσταση A 3 2 5X 7X X 25 Εντολή Α := (5*(Χ**3) + 7 *( Χ**2) + 234) / (9*(Χ**2) -25)
38 Να υπολογίσετε το αποτέλεσμα των πράξεων Εντολή Αποτέλεσμα 24mod5 27mod4 1 2^3+3*(27mod(25mod7)) 17 25mod22div4 0 ((13+2)div2)/(7-4+1) div2 7 3div4 0 15mod3 0 Περισσότερα προγράμματα Διαβάστε τρεις αρίθμους και εμφανίστε το άθροισμα, το γινόμενο και το μέσο όρο τους program ypologismoi(input, output); var a, b, c, athroisma, ginomeno: integer; mesos_oros: real; writeln('dwse 3 akeraious arithmous'); readln(a, b, c); athroisma:= a+b+c; ginomeno:= a*b*c; mesos_oros:= (a+b+c)/3; (* epishs to idio an mesos_oros := athroisma/3; *) writeln('athroisma=', athroisma); writeln('ginomeno=', ginomeno); writeln('mesos oros=', mesos_oros);
39 Να υπολογίσετε την περίοδο του εκκρεμούς T 2 L g L=μήκος εκκρεμούς, g=επιτάχυνση της βαρύτητας Αλγόριθμος Περίοδος_εκκρεμούς Διάβασε L g < π < T <-- 2 * π * Τετραγωνική_Ρίζα (L / g) Εκτύπωσε Η περίοδος του εκκρεμούς είναι', Τ Τέλος Περίοδος_εκκρεμούς ΠΡΟΓΡΑΜΜΑ περίοδος_εκκρεμούς ΣΤΑΘΕΡΕΣ π = 3.14 g = 10 ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: L, T ΑΡΧΗ ΔΙΑΒΑΣΕ L T <-- 2 * π * Τ_Ρ (L / g) ΓΡΑΨΕ 'Η περίοδος του εκκρεμούς είναι', Τ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ περίοδος_εκκρεμούς program periodos_ekkremous(input, output); const pi=3.14; g=10; var l, t: real; writeln('grapse to mhkos tou ekkremous'); readln(l); t:= 2 * pi * sqrt(l/g); writeln('h periodos tou ekkremous einai ', t); Αν Μήκος = 12 τότε η περίοδος είναι 6.88
40 Άσκηση 1. Υπολόγισε το εμβαδό S του τριγώνου αφού διαβάσεις την πλευρά του b και το αντίστοιχο ύψος του h. 2.Υπολόγισε το εμβαδό S του τριγώνου αφού διαβάσεις όλες τις πλευρές του από τον τύπο τουήρωνα. όπου s=(α+b+c)/2. Ο αριθμός s ονομάζεται ημιπερίμετρος του τριγώνου. 3. Υπολόγισε το εμβαδό τριγώνου από έναν από τους παρακάτω τύπους:
41 Κεφάλαιο 4 Περισσότερες Ασκήσεις Pascal Υπολογισμός περιμέτρου κύκλου program perimetros_kuklou(input, output); const pi = 3.14; var perimetros, aktina: real; writeln('dwse aktina'); readln(aktina); perimetros := 2*pi*aktina; writeln('perimetros = ', perimetros); Γράψτε πρόγραμμα που θα ελέγχει αν ο αριθμός που δίνει ο χρήστης είναι θετικός ακέραιος. Αν είναι στη συνέχεια να εξετάσετε αν είναι άρτιος ή περιττός. Αν είναι άρτιος προσθέστε του 10 ενώ αν είναι περιττός προσθέστε του 100. program artios_perittos(input, output); var arithmos: integer; writeln('dwse arithmo'); readln(arithmos); if arithmos <= 0 then writeln('prepei na dwseis akeraio > 0') else if arithmos MOD 2 = 0 then writeln('o arithmos ', arithmos, ' einai artios'); arithmos := arithmos+10; end else writeln('o arithmos ', arithmos, ' einai perittos'); arithmos := arithmos+100; end writeln('o telikos arithmos einai ', arithmos);
42 Γράψτε πρόγραμμα που θα διαβάζει βαθμούς σε πέντε εξετάσεις στο εργαστήριο και αν ο μέσος όρος είναι πάνω από 4.6 ο σπουδαστής να περνάει το εργαστήριο. program ergasthrio(input, output); var b1, b2, b3, b4, b5, mesos_oros: real; writeln('dwse bathmous gia tis 5 exetaseis'); readln(b1, b2, b3, b4, b5); if (b1<0)or (b2<0) or (b3<0) or (b4<0) or (b5<0)or (b1>10)or (b2>10) or (b3>10) or (b4>10) or (b5>10) then writeln('oi vathmoi prepei na einai >=0 kai <=10') else mesos_oros := (b1+b2+b3+b4+b5)/5; if mesos_oros >=4.6 then writeln('mesos_oros=', mesos_oros,' Pernaei') else writeln('mesos_oros=', mesos_oros,' Den Pernaei') Άσκηση Γράψτε πρόγραμμα που θα διαβάζει το βαθμό θεωρίας και βαθμούς σε πέντε εξετάσεις στο εργαστήριο. Αν ο βαθμός θεωρίας και ο μέσος όρος των εργαστηρίων είναι πάνω από 5 ο σπουδαστής να περνάει το μάθημα (θεωρία και εργαστήριο). Τι θα εμφανίσει το πρόγραμμα; program stars(input, output); var i, j: integer; for i:=1 to 5 do for j:=1 to 7 do write('*'); writeln; ******* ******* ******* ******* *******
43 program stars(input, output); var i, j: integer; for i:=1 to 5 do for j:=1 to i do write('*'); writeln; * ** *** **** ***** Άσκηση Γράψε πρόγραμμα που θα τυπώνει: * ** *** **** ***** ***** **** *** ** *
44 Υπολογίστε το άθροισμα Ν χρησιμοποιώντας εντολή while. Πρέπει 1<=Ν<=10. program upologismos_athroismatos(input, output); var i, N, athroisma: integer; writeln('dwse plhthos akeraiwn pou tha prostheseis'); readln(n); if (N<1) or (N>10) then writeln('dwse swsta to plhthos') else athroisma:=0; i:=1; while i<=n do athroisma:= athroisma +i; i:= i+1; writeln('athroisma =', athroisma); Υπολογίστε το άθροισμα Ν χρησιμοποιώντας εντολή repeat. Πρέπει 1<=Ν<=10. program upologismos_athroismatos(input, output); var i, N, athroisma: integer; writeln('dwse plhthos akeraiwn pou tha prostheseis'); readln(n); if (N<1) or (N>10) then writeln('dwse swsta to plhthos') else athroisma:=0; i:=1; repeat athroisma:= athroisma+i; i:= i+1; end until i>n; writeln('athroisma =', athroisma);
45 Στα δύο προηγούμενα προγράμματα δεν είναι απαραίτητο να γράψουμε, end μέσα στις δομές repeat, while. program upologismos_athroismatos(input, output); var i, N, athroisma: integer; writeln('dwse plhthos akeraiwn pou tha prostheseis'); readln(n); if (N<1) or (N>10) then writeln('dwse swsta to plhthos') else athroisma:=0; i:=1; repeat athroisma:= athroisma+i; i:= i+1; until i>n; writeln('athroisma =', athroisma);
46 Κεφάλαιο 5 Παραδείγματα χρήσης εντολών επανάληψης for, while, repeat Υπολογίστε το άθροισμα χρησιμοποιώντας εντολή for. program upologismos_athroismatos(input, output); var i, N, athroisma: integer; N:=10; athroisma:=0; i:=1; for i:= 1 to N do athroisma:= athroisma+i; writeln('athroisma= =', athroisma); Υπολογίστε το άθροισμα χρησιμοποιώντας εντολή while. program upologismos_athroismatos(input, output); var i, N, athroisma: integer; N:= 10; athroisma:=0; i:=1; while i<=n do athroisma:= athroisma +i; i:= i+1; writeln('athroisma= =', athroisma); Υπολογίστε το άθροισμα χρησιμοποιώντας εντολή repeat. program upologismos_athroismatos(input, output); var i, N, athroisma: integer; N:=10; athroisma:=0; i:=1; repeat athroisma:= athroisma+i; i:= i+1 until i>n; writeln('athroisma= =', athroisma); Άσκηση Τροποποιήστε τα 3 παραπάνω προγράμματα upologismos_athroismatos ώστε να υπολογίζουν το γινόμενο των αριθμών.
47 Τα δύο παρακάτω προγράμματα διαβάζουν τον αριθμό Ν, χρησιμοποιούν εντολή repeat και υπολογίζουν το άθροισμα Ν. program upologismos_athroismatos(input, output); var i, N, athroisma: integer; writeln('dwse plhthos diadoxikwn akeraiwn pou tha prostheseis'); readln(n); if (N<1) or (N>10) then writeln('dwse swsta to plhthos') else athroisma:=0; i:=1; repeat athroisma:= athroisma+i; i:= i+1; until i>n; writeln('athroisma =', athroisma); Αποτελέσματα εκτέλεσης του προγράμματος dwse plhthos diadoxikwn akeraiwn pou tha prostheseis 5 15 (επειδή =15) Ξαναγράφουμε το ίδιο πρόγραμμα και παραλείπουμε τις δύο παρακάτω εντολές που δίνουν αρχικές τιμές στις μεταβλητές: athroisma:=0; i:=1; program upologismos_athroismatos(input, output); var i, N, athroisma: integer; writeln('dwse plhthos diadoxikwn akeraiwn pou tha prostheseis'); readln(n); if (N<1) or (N>10) then writeln('dwse swsta to plhthos') else repeat athroisma:= athroisma+i; i:= i+1; until i>n; writeln('athroisma =', athroisma); Τα αποτελέσματα εκτέλεσης του προγράμματος είναι τα ίδια.
48 Ακολουθούν παραδείγματα προγραμμάτων που χρησιμοποιούν while, repeat. Το πρόγραμμα διαβάζει και προσθέτει αριθμούς μεγαλύτερους από 0 και μικρότερους από 10. Για να σταματήσει το πρόγραμμα πληκτρολογείς είτε αριθμό αρνητικό ή 0 ή αριθμό μεγαλύτερο του 9. Δηλαδή για να το διατυπώσουμε και αλλιώς το πρόγραμμα συνεχίζει όσο πληκτρολογούμε αριθμό που ανήκει στο διάστημα [1, 10). Αν δώσουμε αριθμό που δεν ανήκει στο διάστημα [1, 10) τότε το πρόγραμμα σταματά. program upologismos_athroismatos(input, output); var arithmos, athroisma: integer; writeln('to programma tha diavazei kai tha prosthetei arithmous'); writeln('dwse arithmo <10 kai >0'); writeln('gia na stamathsei dwse arithmo pou den anhkei sto diasthma [1, 10)'); readln(arithmos); while (arithmos>=1) and (arithmos<10) do athroisma := athroisma+arithmos; writeln('dwse arithmo < 10 kai > 1'); readln(arithmos) writeln('athroisma =', athroisma); Αποτελέσματα εκτέλεσης του προγράμματος to programma tha diavazei kai tha prosthetei arithmous dwse arithmo <10 kai >0 1 dwse arithmo <10 kai >0 2 dwse arithmo <10 kai >0 3 dwse arithmo <10 kai >0 4 dwse arithmo <10 kai >0 5 athroisma =15 program upologismos_athroismatos(input, output); var arithmos, athroisma: integer; writeln('to programma tha diavazei kai tha prosthetei arithmous'); repeat writeln('dwse arithmo < 10 kai > 1'); athroisma := athroisma+arithmos; readln(arithmos); writeln('arithmos=', arithmos); until(arithmos<1)or(arithmos>=10); writeln('athroisma =', athroisma); Τα αποτελέσματα εκτέλεσης του προγράμματος είναι ίδια με τα προηγούμενα.
49 Άσκηση Τροποποιήστε τα 2 παραπάνω προγράμματα upologismos_athroismatos ώστε να υπολογίζουν το γινόμενο των αριθμών. Διαφορά for, while, repeat Θέλουμε το πρόγραμμά μας να διαβάζει ζευγάρια θετικών ακεραίων και να γράφει ποιούς αριθμούς δώσαμε. Αν ξέρουμε πόσα ζεύγη θα διαβάσει το πρόγραμμα (πχ 5 ζευγάρια) τότε χρησιμοποιούμε for: for i:= 1 to 5 do εντολές Ακολουθεί ολόκληρο το πρόγραμμα. program diavazw_zeugh(input, output); var i, arithmos1, arithmos2: integer; for i:= 1 to 5 do writeln('dwse 2 akeraious aritmous.'); readln(arithmos1, arithmos2); writeln('oi arithmoi pou edwses einai: ', arithmos1,', ', arithmos2); readln Αλλιώς χρησιμοποίησε while ή repeat. Τότε θα χρειαστείς μία συνθήκη πχ το πρόγραμμα θα σταματάει αν δώσουμε αριθμό 0 μέσα στο ζεύγος. Να πως διαμορφώνονται οι εντολές while, repeat: while (arithmos1 > 0) and (arithmos2 > 0) do εντολές repeat εντολές until (arithmos1 = 0) or (arithmos2 = 0); Ακολουθούν τα δύο προγράμματα. Παρατήρησε ότι πριν από το while χρειάζεται να διαβάσεις το πρώτο ζευγάρι αριθμών ενώ στο repeat δε χρειάζεται!
Ενότητα 1: «Εισαγωγή στην Αλγοριθμική και τον Προγραμματισμό. Απλές ασκήσεις με γλώσσα Pascal»
Ενισχυτική διδασκαλία διδακτικές ενότητες αλγοριθμικής και εισαγωγής στον προγραμματισμό Ενότητα 1: «Εισαγωγή στην Αλγοριθμική και τον Προγραμματισμό. Απλές ασκήσεις με γλώσσα Pascal» διδάσκων: χρήστος
Ενότητα 3: «Εισαγωγή στην Αλγοριθμική και στον Προγραμματισμό: loops, subroutines, tables»
ενισχυτική διδασκαλία Ενότητα 3: «Εισαγωγή στην Αλγοριθμική και στον Προγραμματισμό: loops, subroutines, tables» Χ. Σκουρλάς cskourlas@teiath.gr 2015-16 Επαναλήψεις - Loops, Διαδικασίες - procedures, Συναρτήσεις
ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL
ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL ΓΕΝΙΚΗ ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ Program Ονομα_προγραμματος; «πρόγραμμα» Πρόγραμμα 1 Program Lesson1_Program1; Write('Hello World!!!'); {σχόλια} Επεξήγηση Προγράμματος Program Lesson1_Program1;
Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)
Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Pascal- Εισαγωγή Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, όπως έχει ήδη αναφερθεί, τρία εξίσου
Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) 133 244 355 a= b= c= 3 read(d,e) 166 277 3888
ΕΡΩΤΗΣΕΙΣ 1. Να αναφέρετε μερικά από τα ιδιαίτερα χαρακτηριστικά της Pascal. 2. Ποιο είναι το αλφάβητο της Pascal; 3. Ποια είναι τα ονόματα-ταυτότητες και σε τι χρησιμεύουν; 4. Σε τι χρησιμεύει το συντακτικό
Δομή Επανάληψης. Κεφάλαιο 7 Mike Trimos
Δομή Επανάληψης Κεφάλαιο 7 Mike Trimos Δομή Επανάληψης Η Διαδικασία αυτή ονομάζεται Βρόγχος ή Επανάληψη (Loop) και η εντολή ή το σύνολο των εντολών που επαναλαμβάνονται ονομάζεται Σώμα της Δομής. Η γλώσσα
Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Εντολές Ελέγχου & Επανάληψης
Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Εντολές Ελέγχου & Επανάληψης Εντολές Ελέγχου 2 Γενικά Εντολές λήψης αποφάσεων Επιτρέπουν στο πρόγραμμα να εκτελεί διαφορετικές
Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)
Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL )Βασικά στοιχεία Αναγνωριστικά (Identifiers) Τα αναγνωριστικά είναι ονόματα με τα οποία μπορούμε να αναφερόμαστε σε αποθηκευμένες
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ ΓΛΩΣΣΟΜΑΘΕΙΑ
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ ΓΛΩΣΣΟΜΑΘΕΙΑ Καλλιόπη Μαγδαληνού ΕΠΙΚΕΦΑΛΙΔΑ ΠΡΟΓΡΑΜΜΑΤΟΣ ΔΗΛΩΣΕΙΣ ΣΤΑΘΕΡΩΝ ΔΗΛΩΣΕΙΣ ΜΕΤΑΒΛΗΤΩΝ ΕΝΤΟΛΕΣ πρόγραμμα τεστ σταθερές π = 3.14 μεταβλητές πραγματικές : εμβαδό, ακτίνα αρχή
Η ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Εντολές Επανάληψης REPEAT UNTIL, FOR, WHILE
ΕΡΓΑΣΤΗΡΙΟ 7 Ο Η ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Εντολές Επανάληψης REPEAT UNTIL, FOR, WHILE Βασικές Έννοιες: Δομή Επανάληψης, Εντολές Επανάληψης (For, While do, Repeat until), Αλγόριθμος, Αθροιστής, Μετρητής, Παράσταση
Ενότητα 4: «Εισαγωγή στον Προγραμματισμό. Τα πρώτα προγράμματα σε γλώσσα C»
Ενισχυτική διδασκαλία διδακτικές ενότητες αλγοριθμικής και εισαγωγής στον προγραμματισμό Ενότητα 4: «Εισαγωγή στον Προγραμματισμό. Τα πρώτα προγράμματα σε γλώσσα C» διδάσκων: χρήστος σκουρλάς, cskourlas@teiath.gr
Προέλευση της Pazcal ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Προέλευση της Pazcal Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου
TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ
Μάθημα 7 - Υποπρογράμματα Εργαστήριο 11 Ο TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ Βασικές Έννοιες: Υποπρόγραμμα, Ανάλυση προβλήματος, top down σχεδίαση, Συνάρτηση, Διαδικασία, Παράμετρος, Κλήση συνάρτησης, Μετάβαση
Pascal, απλοί τύποι, τελεστές και εκφράσεις
Pascal, απλοί τύποι, τελεστές και εκφράσεις 15 Νοεμβρίου 2011 1 Γενικά Στην standard Pascal ορίζονται τέσσερις βασικοί τύποι μεταβλητών: integer: Παριστάνει ακέραιους αριθμούς από το -32768 μέχρι και το
Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής
Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2 Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής Α2. Ο αλγόριθμος αποτελείται από ένα πεπερασμένο σύνολο εντολών Α3. Ο αλγόριθμος
Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός
Δομές Ακολουθίας- Επιλογής - Επανάληψης Δομημένος Προγραμματισμός 1 Βασικές Έννοιες αλγορίθμων Σταθερές Μεταβλητές Εκφράσεις Πράξεις Εντολές 2 Βασικές Έννοιες Αλγορίθμων Σταθερά: Μια ποσότητα που έχει
Προγραμματισμός Ι. Ασκήσεις. Τζάλλας Αλέξανδρος, Καθηγητής Εφαρμογών. Τμ. Μηχανικών Πληροφορικής Τ.Ε.
Τζάλλας Αλέξανδρος, Καθηγητής Εφαρμογών Τμ. Μηχανικών Πληροφορικής Τ.Ε. Άρτα, Μάιος 2015 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως
- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)
Η Γλώσσα Pascal Χαρακτηριστικά Τύποι Δεδοµένων Δοµή προγράµµατος 1. Βασικές έννοιες Χαρακτηριστικά της γλώσσας Pascal Γλώσσα προγραµµατισµού Συντακτικό Σηµασιολογία Αλφάβητο της γλώσσας Pascal (Σύνολο
Pascal. 15 Νοεμβρίου 2011
Pascal 15 Νοεμβρίου 011 1 Procedures σε Pascal Στην Pascal μπορούμε να ορίσουμε διαδικασίες (procedures). Αυτές είναι ομάδες εντολών οι οποίες έχουν ένα όνομα. Γράφοντας το όνομα μιας διαδικασίας μπορούμε
Γραπτές εξετάσεις στο μάθημα: ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ (Θ) Εισηγητής: Γεωργίου Χρήστος ΘΕΜΑΤΑ & ΑΠΑΝΤΗΣΕΙΣ. Β. Χαρακτήρας(Αλφαριθμητικά)
Γραπτές εξετάσεις στο μάθημα: ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ (Θ) Εισηγητής: Γεωργίου Χρήστος ΘΕΜΑΤΑ & ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α Α1. Να γράψετε στην κόλλα σας τους αριθμούς της στήλης Α που αντιστοιχούν με τα γράμματα
ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ
Η ΓΛΩΣΣΑ PASCAL ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Απλοί ή στοιχειώδης Τ.Δ. Ακέραιος τύπος Πραγματικός τύπος Λογικός τύπος Χαρακτήρας Σύνθετοι Τ.Δ. Αλφαριθμητικός 1. Ακέραιος (integer) Εύρος: -32768 έως 32767 Δήλωση
! Δεν μπορούν να λυθούν όλα τα προβλήματα κάνοντας χρήση του παρ/λου προγ/σμου ΑΡΧΗ ΝΑΙ Διάβα σε a Εκτύπ ωσε a > a 0 ΟΧΙ ΤΕΛΟΣ Σύμβολα διαγράμματος ροής 1 Ακέραιος τύπος 14 0-67 2 Πραγματικός τύπος
Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13
Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13 ΙΣΤΟΡΙΚΑ Παρουσιάστηκε το 1970 από το Niklaus Wirth Προγενέστερη γλώσσα ήταν η Algol 60 Είναι δομημένη γλώσσα προγραμματισμού υψηλού
Ο αλγόριθμος πρέπει να τηρεί κάποια κριτήρια
Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος. Ο αλγόριθμος πρέπει να τηρεί κάποια κριτήρια Είσοδος:
Βασικές Έννοιες Αλγορίθμων Τι είναι αλγόριθμος
Βασικές Έννοιες Αλγορίθμων Τι είναι αλγόριθμος Παραδείγματα αλγορίθμων: Η παρασκευή ενός κέικ Η εύρεση του μέγιστου κοινού διαιρέτη δύο αριθμών Η εκκίνηση ενός αυτοκινήτου Η πρωινή προετοιμασία για το
ΚΕΦΑΛΑΙΟ 10 ΕΝΤΟΛΕΣ ΕΠΙΛΟΓΗΣ (ή εντολές Ελέγχου και Επιλογής ή εντολές Επιλογής και Απόφασης)
ΚΕΦΑΛΑΙΟ 10 ΕΝΤΟΛΕΣ ΕΠΙΛΟΓΗΣ (ή εντολές Ελέγχου και Επιλογής ή εντολές Επιλογής και Απόφασης) Τι είναι οι εντολές Ελέγχου και Επιλογής στην Pascal; Ποιες είναι οι εντολές Ελέγχου και Επιλογής στην Pascal;
Pascal. 1 Γλώσσες προγραμματισμού. 21 Οκτωβρίου 2011
Pascal 21 Οκτωβρίου 2011 1 Γλώσσες προγραμματισμού Οι μικροεπεξεργαστές των υπολογιστών μπορούν μεταξύ άλλων να εκτελούν αριθμητικές και λογικές πράξεις και να διαβάζουν και γράφουν στη μνήμη του υπολογιστή.
Ενότητα 5: «Εισαγωγή στον Προγραμματισμό. Απλές ασκήσεις με γλώσσα C»
Ενισχυτική διδασκαλία διδακτικές ενότητες αλγοριθμικής και εισαγωγής στον προγραμματισμό Ενότητα 5: «Εισαγωγή στον Προγραμματισμό. Απλές ασκήσεις με γλώσσα C» διδάσκων: χρήστος σκουρλάς, cskourlas@teiath.gr
ΜΑΗΣ 2007 - ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ
ΜΑΗΣ 2007 - ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ ΟΔΗΓΙΕΣ: ΝΑ ΑΠΑΝΤΗΣΕΤΕ ΣΕ ΟΛΕΣ ΤΙΣ ΕΡΩΤΗΣΕΙΣ. Το εξεταστικό δοκίμιο αποτελείται από δύο Ενότητες Α και Β. ΕΝΟΤΗΤΑ Α - Αποτελείται από δέκα (10) ερωτήσεις. Κάθε ορθή απάντηση
ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης
ΚΕΦΑΛΑΙΟ 1ο 3ο 1. Συμπληρώστε τα κενά με τη λέξη που λείπει. α. Ένα πρόβλημα το χωρίζουμε σε άλλα απλούστερα, όταν είναι ή όταν έχει τρόπο επίλυσης. β. Η επίλυση ενός προβλήματος προϋποθέτει την του. γ.
ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013
ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013 ΘΕΜΑ Α Α1. Να χαρακτηρίσετε τις προτάσεις που ακολουθούν, γράφοντας δίπλα στο γράμμα που αντιστοιχεί σε κάθε πρόταση τη
2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ
ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΣΤΑΘΕΡΕΣ είναι τα μεγέθη που δεν μεταβάλλονται κατά την εκτέλεση ενός αλγόριθμου. Εκτός από τις αριθμητικές σταθερές (7, 4, 3.5, 100 κλπ), τις λογικές σταθερές (αληθής και ψευδής)
ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ
ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΕΞΕΤΑΣΕΙΣ ΓΙΑ ΤΑ ΑΝΩΤΕΡΑ ΚΑΙ ΑΝΩΤΑΤΑ ΕΚΠΑΙΔΕΥΤΙΚΑ ΙΔΡΥΜΑΤΑ 2005 ΠΛΗΡΟΦΟΡΙΚΗ ΛΥΣΕΙΣ 1 ΜΕΡΟΣ Α 1. Αρχή Διάβασε
Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Βασικές αλγοριθμικές δομές
Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Βασικές αλγοριθμικές δομές Βασικές Αλγοριθμικές Δομές 2 Εισαγωγή Οι αλγοριθμικές δομές εκφράζουν διαφορετικούς τρόπους γραφής ενός αλγορίθμου.
ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL
8.1. Εισαγωγή ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PACAL Πως προέκυψε η γλώσσα προγραμματισμού Pascal και ποια είναι τα γενικά της χαρακτηριστικά; Σχεδιάστηκε από τον Ελβετό επιστήμονα της Πληροφορικής Nicklaus Wirth to
Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης
Εργαστήριο 6 Εντολές Επανάληψης Η δομή Επιλογής στη PASCAL H δομή Επανάληψης στη PASCAL. Ρεύμα Εισόδου / Εξόδου.. Ρεύμα Εισόδου / Εξόδου. To πρόγραμμα γραφικών gnuplot. Γραφικά στη PASCAL. Σκοπός 6.1 ΕΠΙΔΙΩΞΗ
Εντολές ελέγχου ροής if, for, while, do-while
Εντολές ελέγχου ροής if, for, while, do-while 1 Μαρτίου 014 1 Εντολές εκτέλεσης υπό συνθήκη Μπορούμε να εκτελέσουμε εντολές της γλώσσας σε περίπτωση που κάποια συνθήκη ισχύει χρησιμοποιώντας την εντολή
ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΔΟΜΗΜΕΝΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Γ ΕΠΑΛ
ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΔΟΜΗΜΕΝΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Γ ΕΠΑΛ ΘΕΜΑ Α Α.1 Να χαρακτηρίσετε σωστή (Σ) ή λανθασμένη (Λ) καθεμία από τις παρακάτω προτάσεις (Μονάδες 10) 1. Ένας αλγόριθμος μπορεί να έχει άπειρα βήματα
ιαφάνειες παρουσίασης #2
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων
ΕΠΑΛ ΧΡΥΣΟΥΠΟΛΗΣ Γ Πληροφορική- 2015-2016 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων 1 Εισαγωγή Η εντολή Στο 4 ο κεφάλαιο γνωρίσαµε την δοµή πολλαπλής επιλογής στην οποία
Αποτελέσματα προόδου
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://courses.softlab.ntua.gr/progintro/ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) Δημήτρης Φωτάκης (fotakis@cs.ntua.gr)
Σκοπός. Εργαστήριο 5 Εντολές Επιλογής
Εργαστήριο 5 Εντολές Επιλογής Λήψη αποφάσεων σ ένα πρόγραμμα με την εντολή επιλογής.. Κατανόηση της εντολής επιλογής στη Pascal. H έννοια και η μορφή μίας λογικής συνθήκης.. Σύνθετες λογικές συνθήκες.
Η Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 6 Εντολές Επανάληψης Ασκήσεις. Γιώργος Λαμπρινίδης
Η Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 6 Εντολές Επανάληψης Ασκήσεις Γιώργος Λαμπρινίδης lamprinidis@pharm.uoa.gr Ασκήσεις Εμπέδωσης στις εντολές επανάληψης Σε αυτό το εργαστήριο θα δούμε στην πράξη: Πόσο χρήσιμες
ΚΕΦΑΛΑΙΟ 2 Βασικές έννοιες αλγορίθµων
ΚΕΦΑΛΑΙΟ 2 Βασικές έννοιες αλγορίθµων Αλγόριθµος : Είναι ένα σύνολο βηµάτων, αυστηρά καθορισµένων κι εκτελέσιµων σε πεπερασµένο χρόνο, που οδηγούν στην επίλυση ενός προβλήµατος. Χαρακτηριστικά ενός σωστού
ΔΟΜΗ ΕΠΙΛΟΓΗΣ. Οι διάφορες εκδοχές της
ΔΟΜΗ ΕΠΙΛΟΓΗΣ Οι διάφορες εκδοχές της Απλή επιλογή Ναι Ομάδα Εντολών Α Ισχύει η Συνθήκη; Χ Χ Χ Όχι Αν (Συνθήκη =Αληθινή) Τότε Ομάδα εντολών Τέλος_αν Λειτουργία: 1. Αν ισχύει η συνθήκη εκτελείται ΠΡΩΤΑ
ιαφάνειες παρουσίασης #4
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ 1. Ποιες από τις παρακάτω εντολές είναι σωστές; α) if A + B
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΙΟΙΚΗΣΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΙΟΙΚΗΣΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΙΑΧΕΙΡΙΣΗ Ε ΟΜΕΝΩΝ ΚΑΙ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ (Β ΕΞΑΜΗΝΟ) ιδάσκων: Επ. Καθηγητής Γρηγόρης Χονδροκούκης ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΟΣ Η ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ
Ορισµοί κεφαλαίου. Σηµαντικά σηµεία κεφαλαίου
Ορισµοί κεφαλαίου Αλγόριθµος είναι µια πεπερασµένη σειρά ενεργειών, αυστηρά καθορισµένων και εκτελέσιµων σε πεπερασµένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήµατος. Σηµαντικά σηµεία κεφαλαίου Κριτήρια
ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ
ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΟΚΤΩΒΡΙΟΥ 2015 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 ΘΕΜΑ Α
2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ 1) Πότε χρησιμοποιείται η δομή επανάληψης
Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη.
Εργαστήριο 4: 4.1 Η Δομή Ελέγχου if Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη. Γενική Μορφή: Παρατηρήσεις:
1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;
1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι
Εισαγωγή στους Αλγόριθμους και τον Προγραμματισμό. 3η Διάλεξη Είσοδος Δεδομένων Συνθήκες Βρόχοι Παραδείγματα
Εισαγωγή στους Αλγόριθμους και τον Προγραμματισμό 3η Διάλεξη Είσοδος Δεδομένων Συνθήκες Βρόχοι Παραδείγματα Τελεστές συντομογραφίας Τελεστές σύντομης ανάθεσης += παράδειγμα: sum+=10; αντί για: sum = sum
Χ=0 Ονομα1<> Κώστας Y>1000 Y<600 X+y >= d B^2-4*a*g <= 0
Χ=0 Ονομα1 Κώστας Y>1000 Y= d B^2-4*a*g κακιστος ο>ι 0
ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΔΟΚΙΜΑΣΙΑ
ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΔΟΚΙΜΑΣΙΑ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 ο Α. Δίνεται η εντολή εκχώρησης: τ κ < λ Ποιες από τις παρακάτω προτάσεις είναι σωστές και ποιες λάθος. Να δικαιολογήσετε
Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2
Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2 1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων Πληροφορικής 2. Ο αλγόριθμος αποτελείται από ένα πεπερασμένο σύνολο εντολών 3. Ο αλγόριθμος
ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΜΟ 1 o ΔΙΑΓΩΝΙΜΑ ΘΕΜΑ 1 ο Α) Για κάθε μία από τις παρακάτω προτάσεις να επιλέξετε αν τις θεωρείτε σωστές () ή άθος () 1. Ο αλγόριθμος χρησιμοποιείται για επίλυση προβλήματος μόνο από
ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ-ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΚΑΔΗΜΑΪΚΟ ΕΠΑΛ- ΚΑΝΙΓΓΟΣ 13- ΤΗΛ
ΘΕΜ 1.. Χαρακτηρίστε τις προτάσεις που ακολουθούν ως Σωστό, αν οι προτάσεις είναι σωστές και ως Λάθος αν οι προτάσεις είναι λάθος. 1.Είναι πάντα δυνατή η μετατροπή της εντολής WHILE DO σε FOR DO. 2. Στην
ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 18/02/2013 ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α
ΜΑΘΗΜΑ / ΤΑΞΗ : ΑΕΠΠ / ΑΠΟΦΟΙΤΟΙ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 18/02/2013 ΘΕΜΑ Α ΑΠΑΝΤΗΣΕΙΣ Α1. α. Παραβιάζει τα κριτήρια της καθοριστικότητας και της περατότητας β. Αιτιολόγηση: ο αλγόριθμος παραβιάζει το κριτήριο
2. β. Συνθήκη ή επιλογή. 4. δ. Υποπρόγραμμα. 5. ε. ιαδικασία εισόδου ή εξόδου
ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΠΑΝΕΛΛHNIΕΣ ΕΞΕΤΑΣΕΙΣ HMEΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α A ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙ ΙΚΟΤΗΤΑΣ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α Β ) ΣΑΒΒΑΤΟ 28 ΜΑΪΟΥ 2011 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΟΜΗΜΕΝΟΣ
ττιαογή και επανάληψη
Κεφάλαιο 8 ττιαογή και επανάληψη 8.1 Γενικός διδακτικός σκοπός Ο γενικός σκοπός του κεφαλαίου είναι να καταστούν ικανοί οι μαθητές να συντάσσουν και να εκτελούν σε δομημένη γλώσσα προγραμματισμού προγράμματα
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Εκχώρηση Τιμών
Εκχώρηση Τιμών 1. Σύνταξη Με την εντολή εκχώρησης: α) Ονομάζουμε μια θέση μνήμης, και β) προσδιορίζουμε το περιεχόμενό της Η σύνταξη της εντολής εκχώρησης είναι: ή
Μάριος Αγγελίδης
Δομή Επανάληψης Ενότητες βιβλίου: 2.4.5, 8.2, 8.2.1, 8.2.2, 8.2.3 Ώρες διδασκαλίας: 5 Η δομή επανάληψης χρησιμοποιείται όταν έχουμε μία ομάδα εντολών που θέλουμε να εκτελεστούν πολλές φορές. Υπάρχουν τρείς
Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:
Εργαστήριο 6: 6.1 Δομές Επανάληψης Βρόγχοι (Loops) Όταν θέλουμε να επαναληφθεί μια ομάδα εντολών τη βάζουμε μέσα σε ένα βρόχο επανάληψης. Το αν θα (ξανα)επαναληφθεί η εκτέλεση της ομάδας εντολών καθορίζεται
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ. Πως γίνεται ο ορισμός μιας διαδικασίας; Να δοθούν σχετικά παραδείγματα. ΑΡΧΗ Εντολές ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
Πως γίνεται ο ορισμός μιας διαδικασίας; Να δοθούν σχετικά παραδείγματα. Οι διαδικασίες μπορούν να εκτελέσουν οποιαδήποτε λειτουργία και δεν επιστρέφουν μια τιμή όπως οι συναρτήσεις. Κάθε διαδικασία έχει
8. Επιλογή και επανάληψη
8. Επιλογή και επανάληψη 8.1 Εντολές Επιλογής ΕΣΕΠ06-Θ1Β5 Η ιεραρχία των λογικών τελεστών είναι µικρότερη των αριθµητικών. ΕΣ07-Θ1Γ5 Η σύγκριση λογικών δεδοµένων έχει έννοια µόνο στην περίπτωση του ίσου
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Διάρκεια 3 ώρες. Όνομα... Επώνυμο... Βαθμός...
1 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Διάρκεια 3 ώρες Στοιχεία Μαθητή: Όνομα... Επώνυμο... Βαθμός... 2 Θεμα Α (30%) Α1 ΣΩΣΤΟ - ΛΑΘΟΣ 1. Ένα υποπρόγραμμα δεν μπορεί να κληθεί περισσότερες
Εισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις
ΛΥΣΕΙΣ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2007
ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2007 ΛΥΣΕΙΣ Μάθημα: ΠΛΗΡΟΦΟΡΙΚΗ Ημερομηνία και ώρα εξέτασης: Παρασκευή, 8 Ιουνίου 2007
Η Δομή Επανάληψης. Εισαγωγή στην δομή επανάληψης Χρονική διάρκεια: 3 διδακτικές ώρες
Η Δομή Επανάληψης Εισαγωγή στην δομή επανάληψης Χρονική διάρκεια: 3 διδακτικές ώρες Οι 2 πρώτες διδακτικές ώρες στην τάξη Η τρίτη διδακτική ώρα στο εργαστήριο Γενικός Διδακτικός Σκοπός Ενότητας Να εξοικειωθούν
4. Επιλογή και Επανάληψη
Σελίδα 53 4. Επιλογή και Επανάληψη 4.1 Η Εντολή Επιλογής if.. then Η εντολή If.. Then.. χρησιμοποιείται για την λήψη λογικών αποφάσεων σε ένα πρόγραμμα. Η εντολή αυτή έχει διάφορες μορφές σύνταξης οι οποίες
Γλώσσα Προγραμματισμού C
Προγραμματισμός HY: Γλώσσα Προγραμματισμού C Δρ. Ηλίας Κ. Σάββας, Αναπληρωτής Καθηγητής, Τμήμα Μηχανικών Πληροφορικής Τ.Ε., T.E.I. Θεσσαλίας Email: savvas@teilar.gr URL: http://teilar.academia.edu/iliassavvas
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΚΕΦΑΛΑΙΟ 2 2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου 2.4.1 Δομή ακολουθίας ΚΕΦΑΛΑΙΟ 7 7.1 7.9 Σταθερές (constants): Προκαθορισμένες τιμές που παραμένουν
A3. Μονάδες 5 Α4. Μονάδες 10 ΘΕΜΑ B. Β1. writeln Περιεχόμενα Εντολή Αποτελέσματα Παραμέτρων Μονάδες 20 ΘΕΜΑ Γ.
ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΠΑΝΕΛΛΑ ΙΚΕΣ ΕΞΕΤΑΣΕΙΣ HMEΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α A ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙ ΙΚΟΤΗΤΑΣ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α Β ) ΠΕΜΠΤΗ 3 ΙΟΥΝΙΟΥ 2010 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΟΜΗΜΕΝΟΣ
i 1 Όσο i <> 100 επανάλαβε i i + 2 Γράψε A[i] Τέλος_επανάληψης
ΘΕΜΑ Α A1 Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις α-δ και δίπλα τη λέξη ΣΩΣΤΟ, αν είναι σωστή, ή τη λέξη ΛΑΘΟΣ, αν είναι λανθασμένη. a. Σε μία εντολή εκχώρησης του αποτελέσματος
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΥΠΗΡΕΣΙΩΝ 2005
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΥΠΗΡΕΣΙΩΝ 2005 ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ 1ο Α. 1. Να αναφέρετε ονοµαστικά τα κριτήρια που πρέπει απαραίτητα
Αλγόριθμοι Αναπαράσταση αλγορίθμων Η αναπαράσταση των αλγορίθμων μπορεί να πραγματοποιηθεί με:
Αλγόριθμοι 2.2.1. Ορισμός: Αλγόριθμος είναι μια πεπερασμένη σειρά εντολών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος. Τα κυριότερα χρησιμοποιούμενα
3. Να γραφεί πρόγραμμα που θα διαβάζει 100 ακεραίους αριθμούς από το πληκτρολόγιο και θα υπολογίζει το άθροισμά τους.
ΑΕσΠΠ-Δομή Επανάληψης 9 ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ 1. Να γραφεί πρόγραμμα που να υπολογίζει το άθροισμα των πρώτων 100 φυσικών αριθμών. 2. Να τροποποιηθεί ο παραπάνω πρόγραμμα ώστε να υπολογίζει το άθροισμα των πρώτων
8. Συνθήκες ελέγχου, λογικοί τελεστές
Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων 8. Συνθήκες ελέγχου, λογικοί τελεστές Ιωάννης Κατάκης Σήμερα o Λογικές παραστάσεις Σχεσιακοί τελεστές Λογικοί τελεστές o if -else o switch Λογικές παραστάσεις
Ψευδοκώδικας. November 7, 2011
Ψευδοκώδικας November 7, 2011 Οι γλώσσες τύπου ψευδοκώδικα είναι ένας τρόπος περιγραφής αλγορίθμων. Δεν υπάρχει κανένας τυπικός ορισμός της έννοιας του ψευδοκώδικα όμως είναι κοινός τόπος ότι οποιαδήποτε
Διδακτική της Πληροφορικής
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 13: Διδακτική της Δομής Επανάληψης Σταύρος Δημητριάδης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative
A2. Να γράψετε για κάθε περίπτωση τον αριθμό της πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή.
ΜΑΘΗΜΑ / ΤΑΞΗ : ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ/Γ' ΕΠΑ.Λ. ΗΜΕΡΟΜΗΝΙΑ: 17-1-2016 ΕΠΙΜΕΛΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ: Ι.ΜΙΧΑΛΕΑΚΟΣ-Χ.ΠΑΠΠΑ-Α.ΚΑΤΡΑΚΗ ΘΕΜΑ Α Α1. Να χαρακτηρίσετε τις προτάσεις που ακολουθούν, γράφοντας δίπλα
Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.
ΤΡΙΤΗ ΔΙΑΛΕΞΗ Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.): Σύνταξη τύπος όνομαα; τύπος όνομαβ{όνομαα}; όνομαβ
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 2o Επαναληπτικό Διαγώνισμα Κεφ: 2 ο 7 ο 8 ο ΗΜΕΡΟΜΗΝΙΑ 21/ 10/ 2017
ΜΑΘΗΜΑ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΔΙΑΓΩΝΙΣΜΑ 2o Επαναληπτικό Διαγώνισμα ΥΛΗ Κεφ: 2 ο 7 ο 8 ο ΗΜΕΡΟΜΗΝΙΑ 21/ 10/ 2017 Θέμα Α A1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από
ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ενότητα 1: Εισαγωγή Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά
Pascal. 26 Οκτωβρίου 2011
Pascal 6 Οκτωβρίου 011 1 Procedures σε Pascal Στην Pascal μπορούμε να ορίσουμε διαδικασίες (procedures). Αυτές είναι ομάδες εντολών οι οποίες έχουν ένα όνομα. Γράφοντας το όνομα μιας διαδικασίας μπορούμε
ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α A1. 2-Λάθος 3-Λάθος 4-Σωστό 5-Λάθος A2. integer. real. Boolean. char. string A3.
ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΕΠΑΛ (ΟΜΑΔΑ Α ) & ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΘΕΜΑ Α A1. ΚΥΡΙΑΚΗ 16/04/2014- ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΔΕΚΑΠΕΝΤΕ (15) ΑΠΑΝΤΗΣΕΙΣ 1-Σωστό
Προγραμματισμός PASCAL
Προγραμματισμός PASCAL 1 PASCAL Η PASCAL σχεδιάστηκε από τον Worth το 1968 στη Ζυρίχη, αρχικά σαν εργαλείο για τη διδασκαλία προγραμματισμού. Είναι γλώσσα για σειριακό προγραμματισμό. 2 Απλή και εύκολη
Γενικές εξετάσεις 2014 Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον Τεχνολογική Κατεύθυνση
Φροντιστήρια δυαδικό 1 ΦΡΟΝΤΙΣΤΗΡΙΑ δυαδικό Γενικές εξετάσεις 2014 Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον Τεχνολογική Κατεύθυνση Τα θέματα επεξεργάστηκαν οι καθηγητές των Φροντιστηρίων «δυαδικό»
Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client
ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις
Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής.
Κεφάλαιο 2 - Πρόβλημα 2.1.1. Η έννοια του προβλήματος Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής. 2.1.2. Κατηγορίες προβλημάτων
8.4. Δραστηριότητες - ασκήσεις
8.4. Δραστηριότητες - ασκήσεις ΣΤΗΝ ΤΑΞΗ ΔΤ1. ΔΤ2. ΔΤ3. ΔΤ4. Αν η μεταβλητή Α έχει την τιμή 10, η μεταβλητή Β έχει την τιμή 5 και η μεταβλητή Γ έχει την τιμή 3, ποιες από τις παρακάτω εκφράσεις είναι αληθείς
Εισαγωγή στον Προγραμματισμό Python Μάθημα 1: Μεταβλητές, τελεστές, είσοδος/έξοδος προγράμματος, συνθήκη ελέγχου if Νοέμβριος 2014 Χ. Αλεξανδράκη, Γ.
Εισαγωγή στον Προγραμματισμό Python Μάθημα 1: Μεταβλητές, τελεστές, είσοδος/έξοδος προγράμματος, συνθήκη ελέγχου if Νοέμβριος 2014 Χ. Αλεξανδράκη, Γ. Δημητρακάκης Σύνοψη Μαθήματος Προηγούμενο μάθημα Αλγόριθμοι
Βασικές Έννοιες Αλγορίθμων. Βασικές Εντολές Αλγορίθμων (Κεφ. 2ο Παρ. 2.4)
Βασικές Έννοιες Αλγορίθμων Βασικές Εντολές Αλγορίθμων (Κεφ. 2ο Παρ. 2.4) Δομές εντολών Υπάρχουν διάφορα είδη εντολών όπως, ανάθεσης ή εκχώρησης τιμής, εισόδου εξόδου, κ.ά., αλλά γενικά χωρίζονται σε τρείς
Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού
Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ Εισαγωγή στην γλώσσα προγραμματισμού Ακαδημαϊκό έτος 2016-2017, Εαρινό εξάμηνο Οι σημειώσεις βασίζονται στα συγγράμματα: A byte of Python (ελληνική
Επαναληπτικές Διαδικασίες
Επαναληπτικές Διαδικασίες Οι επαναληπτικές δομές ( εντολές επανάληψης επαναληπτικά σχήματα ) χρησιμοποιούνται, όταν μια ομάδα εντολών πρέπει να εκτελείται αρκετές- πολλές φορές ανάλογα με την τιμή μιας
Σκοπός. Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL
Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL Δυνατότητα ανάπτυξης, μεταγλώττισης και εκτέλεσης προγραμμάτων στη PASCAL. Κατανόηση της σύνταξης των προτάσεων της PASCAL. Κατανόηση της εντολής εξόδου για
ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΡΙΤΗ 3 ΙΟΥΝΙΟΥ ΑΕΠΠ
ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΡΙΤΗ 3 ΙΟΥΝΙΟΥ 2003 - ΑΕΠΠ ΘΕΜΑ 1ο Α. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-6 και δίπλα τη λέξη Σωστό, αν
ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python
ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στη Python Νικόλαος Ζ. Ζάχαρης Αναπληρωτής