28
Σημειώσεις Πληροφορικής Γ΄γυμνασίου θεωρία και ασκήσεις 2014-15 ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΥΠΟΛΟΓΙΣΤΩΝ Εισαγωγή Όπως για όλες τις επιστήμες, έτσι και για την επιστήμη της Πληροφορικής, ο τελικός στόχος της είναι η επίλυση προβλημάτων. Λύνονται όμως όλα τα προβλήματα; Υπάρχουν προβλήματα επιλύσιμα για τα οποία έχει βρεθεί και διατυπωθεί η λύση τους, προβλήματα άλυτα για τα οποία έχει αποδειχθεί ότι δεν επιδέχονται λύση (π.χ. ο τετραγωνισμός του κύκλου) και προβλήματα ανοικτά για τα οποία δεν έχει μεν βρεθεί λύση αλλά ταυτόχρονα δεν έχει αποδειχθεί ότι δεν επιδέχονται λύση. Ας αφήσουμε τα τελευταία δύο είδη προβλημάτων και ας μιλήσουμε για τα επιλύσιμα: Οι λύσεις όλων αυτών των προβλημάτων δεν προέρχονται πάντα από μια αυτοματοποιημένη διαδικασία ή από κάποιο τύπο δηλ. η λύση τους δεν είναι τυποποιημένη ή δεν μπορεί να τυποποιηθεί. Για παράδειγμα η επίλυση μιας δευτεροβάθμιας εξίσωσης (ενός τριωνύμου) είναι μια τυποποιημένη διαδικασία δηλ. η διαδικασία αυτή με τους τύπους της διακρίνουσας Δ και των ριζών μας «λέει» α) αν υπάρχουν λύσεις β) όταν υπάρχουν, ποιες είναι αυτές οι λύσεις. Το συμπέρασμα λοιπόν που προκύπτει από τα παραπάνω είναι το εξής: Ένα πρόβλημα που δεν μπορεί να το επιλύσει ο άνθρωπος δεν μπορεί να το επιλύσει ο υπολογιστής. Ο άνθρωπος επιλύει ένα πρόβλημα δηλ. σχεδιάζει τη λύση και ο υπολογιστής βρίσκει το αποτέλεσμα. Γιατί να αναθέσουμε την επίλυση ενός προβλήματος στον υπολογιστή; Οι λόγοι είναι οι επόμενοι: α) Πολυπλοκότητα υπολογισμών β) Επαναληπτικότητα διαδικασιών γ) Η ταχύτητα εκτέλεσης πράξεων δ) Το μεγάλο πλήθος δεδομένων. Ποιες λειτουργίες όμως μπορεί να κάνει ένας υπολογιστής από τη φύση του δηλ. από τη κατασκευή του ως υλικό ; Α) Πρόσθεση. Όλες οι άλλες πράξεις είναι παράγωγες της πρόσθεσης και ο υπολογιστής περιέχει προγράμματα που τον καθοδηγούν πως θα τις κάνει με βάση τη πρόσθεση. Β) Σύγκριση δεδομένων. Γ) Μεταφορά δεδομένων δηλ. ανάκτηση δεδομένων από μια θέση μνήμης και αποθήκευση σε κάποια άλλη θέση μνήμης. Προκύπτουν από τα παραπάνω τα εξής ερωτήματα: Α) Πρέπει λοιπόν ο άνθρωπος όταν επιλύει ένα πρόβλημα να το διατυπώνει έτσι ώστε να χρησιμοποιεί μόνο αυτές τις λειτουργίες που μπορεί να κάνει ο υπολογιστής; Β) Αφού η γλώσσα του υπολογιστή αποτελείται από 0 και 1 πρέπει η διατύπωση των οδηγιών του ανθρώπου προς τον υπολογιστή να γίνει στη γλώσσα του - 1 -

Ασκήσεις στο σχεδιασμό βάσεων δεδομένων6gym-ag-dimitr.att.sch.gr/autosch/joomla15/images... · Web viewΣημειώσεις Πληροφορικής

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ασκήσεις στο σχεδιασμό βάσεων δεδομένων6gym-ag-dimitr.att.sch.gr/autosch/joomla15/images... · Web viewΣημειώσεις Πληροφορικής

Σημειώσεις Πληροφορικής Γ΄γυμνασίου θεωρία και ασκήσεις 2014-15

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΥΠΟΛΟΓΙΣΤΩΝ

Εισαγωγή

Όπως για όλες τις επιστήμες, έτσι και για την επιστήμη της Πληροφορικής, ο τελικός στόχος της είναι η επίλυση προβλημάτων. Λύνονται όμως όλα τα προβλήματα; Υπάρχουν προβλήματα επιλύσιμα για τα οποία έχει βρεθεί και διατυπωθεί η λύση τους, προβλήματα άλυτα για τα οποία έχει αποδειχθεί ότι δεν επιδέχονται λύση (π.χ. ο τετραγωνισμός του κύκλου) και προβλήματα ανοικτά για τα οποία δεν έχει μεν βρεθεί λύση αλλά ταυτόχρονα δεν έχει αποδειχθεί ότι δεν επιδέχονται λύση.Ας αφήσουμε τα τελευταία δύο είδη προβλημάτων και ας μιλήσουμε για τα επιλύσιμα: Οι λύσεις όλων αυτών των προβλημάτων δεν προέρχονται πάντα από μια αυτοματοποιημένη διαδικασία ή από κάποιο τύπο δηλ. η λύση τους δεν είναι τυποποιημένη ή δεν μπορεί να τυποποιηθεί. Για παράδειγμα η επίλυση μιας δευτεροβάθμιας εξίσωσης (ενός τριωνύμου) είναι μια τυποποιημένη διαδικασία δηλ. η διαδικασία αυτή με τους τύπους της διακρίνουσας Δ και των ριζών μας «λέει» α) αν υπάρχουν λύσεις β) όταν υπάρχουν, ποιες είναι αυτές οι λύσεις.Το συμπέρασμα λοιπόν που προκύπτει από τα παραπάνω είναι το εξής: Ένα πρόβλημα που δεν μπορεί να το επιλύσει ο άνθρωπος δεν μπορεί να το επιλύσει ο υπολογιστής. Ο άνθρωπος επιλύει ένα πρόβλημα δηλ. σχεδιάζει τη λύση και ο υπολογιστής βρίσκει το αποτέλεσμα.Γιατί να αναθέσουμε την επίλυση ενός προβλήματος στον υπολογιστή; Οι λόγοι είναι οι επόμενοι: α) Πολυπλοκότητα υπολογισμών β) Επαναληπτικότητα διαδικασιών γ) Η ταχύτητα εκτέλεσης πράξεων δ) Το μεγάλο πλήθος δεδομένων.

Ποιες λειτουργίες όμως μπορεί να κάνει ένας υπολογιστής από τη φύση του δηλ. από τη κατασκευή του ως υλικό;Α) Πρόσθεση. Όλες οι άλλες πράξεις είναι παράγωγες της πρόσθεσης και ο υπολογιστής περιέχει προγράμματα που τον καθοδηγούν πως θα τις κάνει με βάση τη πρόσθεση.Β) Σύγκριση δεδομένων.Γ) Μεταφορά δεδομένων δηλ. ανάκτηση δεδομένων από μια θέση μνήμης και αποθήκευση σε κάποια άλλη θέση μνήμης.

Προκύπτουν από τα παραπάνω τα εξής ερωτήματα:Α) Πρέπει λοιπόν ο άνθρωπος όταν επιλύει ένα πρόβλημα να το διατυπώνει έτσι ώστε να χρησιμοποιεί μόνο αυτές τις λειτουργίες που μπορεί να κάνει ο υπολογιστής;Β) Αφού η γλώσσα του υπολογιστή αποτελείται από 0 και 1 πρέπει η διατύπωση των οδηγιών του ανθρώπου προς τον υπολογιστή να γίνει στη γλώσσα του υπολογιστή ή ο υπολογιστής να μάθει και να καταλαβαίνει την ανθρώπινη γλώσσα;Τα ερωτήματα αυτά θα απαντηθούν σε επόμενη ενότητα.

Επίλυση προβλήματος από τον άνθρωπο

Σας δίνουν το εξής πρόβλημα: Να υπολογίσετε το τελικό βαθμό ενός μαθητή στα Μαθηματικά.Πριν προχωρήσετε στην επίλυση ενός προβλήματος θα πρέπει να το διαβάσετε αρκετές φορές μέχρι να το κατανοήσετε. Η κατανόηση ενός προβλήματος αποτελεί συνάρτηση δύο παραγόντων: Της σωστής διατύπωσης από αυτόν που το θέτει και της σωστής ερμηνείας από αυτόν που καλείται να το λύσει.Σωστή διατύπωση προβλήματος σημαίνει: Εύστοχη χρήση ορολογίας, σωστή σύνταξη φράσεων, σαφήνεια, πληρότητα. Πρέπει επίσης να είναι διατυπωμένο έτσι το πρόβλημα ώστε να μπορούν να προσδιορισθούν ακριβώς ποια είναι τα δεδομένα και ποια τα ζητούμενα. Η επεξεργασία των δεδομένων (υπολογισμοί, συγκρίσεις, έλεγχοι) οδηγεί στα ζητούμενα. Τον ακριβή προσδιορισμό των δεδομένων και των ζητούμενων πρέπει να τον κάνει αυτός που θα λύσει το πρόβλημα αλλά και αυτός που το διατυπώνει θα πρέπει να είναι σαφής και ακριβής. Την επεξεργασία επίσης θα πρέπει να τη κάνει αυτός που θα λύσει το πρόβλημα. Τα δεδομένα εκφράζουν που βρίσκομαι και τα ζητούμενα που πρέπει να πάω. Υπάρχει ένας δρόμος για να πάω

- 1 -

Page 2: Ασκήσεις στο σχεδιασμό βάσεων δεδομένων6gym-ag-dimitr.att.sch.gr/autosch/joomla15/images... · Web viewΣημειώσεις Πληροφορικής

Σημειώσεις Πληροφορικής Γ΄γυμνασίου θεωρία και ασκήσεις 2014-15

από τα δεδομένα στα ζητούμενα; Όχι, υπάρχουν γενικά πολλοί, έτσι υπάρχουν γενικά και πολλοί τρόποι επεξεργασίας (επίλυσης).Ας επανέλθουμε στο πρόβλημα που σας τέθηκε: «Να υπολογίσετε το τελικό βαθμό ενός μαθητή στα Μαθηματικά». Το πρόβλημα είναι σωστά διατυπωμένο; Εννοεί να βρείτε το τελικό βαθμό ενός τριμήνου ή την ετήσια επίδοση (βαθμό) στο μάθημα; Όταν λέει τελικό βαθμό τι εννοεί; Μήπως το μέσο όρο των βαθμών των τριών τριμήνων και του γραπτού του Ιουνίου ή μήπως το πηλίκο του αθροίσματος των τριών βαθμών και του διπλασίου του γραπτού βαθμού με το 5; Ο μαθητής μήπως είναι της Γ Λυκείου οπότε ο προφορικός του μέσος όρος των δύο τετραμήνων αναπροσαρμόζεται σε σχέση με το γραπτό των πανελληνίων ώστε να μη διαφέρει πάνω από δύο μονάδες; Τέλος πάντων ποια είναι τα δεδομένα; Είναι μαθητής Γυμνασίου ή Λυκείου;Η σωστή διατύπωση του παραπάνω προβλήματος είναι η εξής: «Να υπολογίσετε το τελικό βαθμό ενός μαθητή Γυμνασίου στα μαθηματικά με βάση τους βαθμούς των τριών τριμήνων και του γραπτού βαθμού. Ο τελικός βαθμός είναι ο μέσος όρος των τεσσάρων αυτών βαθμών στρογγυλοποιημένος προς το πλησιέστερο ακέραιο».Πλέον η διατύπωση είναι ακριβής: Η φράση «μέσος όρος» είναι μια γνωστή ορολογία καθώς και η έννοια της στρογγυλοποίησης από τα μαθηματικά.

Συμπέρασμα: Όταν μας δίνουν ένα σωστά διατυπωμένο πρόβλημα το πρώτο πράγμα που αναζητάμε να προσδιορίσουμε είναι: Ποια είναι τα δεδομένα και ποια τα ζητούμενα του προβλήματος; Στη συνέχεια σχεδιάζουμε την επεξεργασία που από τα δεδομένα θα οδηγηθούμε στα ζητούμενα.

Αλγόριθμος

Για οποιοδήποτε πρόβλημα που σας καλούν να το λύσετε θα πρέπει: Να ζητήσετε τις συγκεκριμένες τιμές των δεδομένων (π.χ. οι τέσσερις βαθμοί), να επεξεργαστείτε αυτές τις τιμές κάνοντας διάφορες πράξεις και να εμφανίσετε τα αποτελέσματα. Αυτές οι τρεις ενέργειες αποτελούν το γενικό πλάνο επίλυσης ενός προβλήματος: α) Είσοδος δεδομένων β) Επεξεργασία δεδομένων γ) Έξοδος αποτελεσμάτων.

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

Εξήγηση του ορισμού του αλγόριθμου

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

Β) «Αυστηρά καθορισμένων» σημαίνει ότι κάθε ενέργεια (εντολή) του αλγόριθμου πρέπει να καθορίζεται ώστε να μη χωρά καμία αμφιβολία για τον τρόπο εκτέλεσής της. Για παράδειγμα, ως γνωστό η διαίρεση με το μηδέν είναι μη επιτρεπτή (αδύνατη) πράξη. Αν μια ενέργεια είναι η πράξη α / β υπάρχει περίπτωση αν το β έχει τιμή 0 η πράξη να μην μπορεί να γίνει και το αντίστοιχο πρόγραμμα στον υπολογιστή θα τερματιστεί ανώμαλα και αναπάντεχα. Αν θέλαμε να υπάρχει η ενέργεια της διαίρεσης α / β θα έπρεπε η ενέργεια να έχει το εξής νόημα: «Αν το β ≠ 0 τότε κάνε τη πράξη α / β».

Γ) «Εκτελέσιμων» σημαίνει ότι κάθε ενέργεια (εντολή) του αλγόριθμου πρέπει να ανήκει στο ρεπερτόριο εντολών που μπορεί να εκτελέσει ο υπολογιστής. Για παράδειγμα δεν μπορεί μια ενέργεια να είναι κάτι σαν «βρες το Μέγιστο Κοινό Διαιρέτη των αριθμών 28 και 36» ή «βρες το μεγαλύτερο από τους αριθμούς 5 και 8»: Τέτοιες εντολές δεν μπορεί άμεσα να εκτελέσει ο υπολογιστής, πρέπει να φτιάξουμε πρόγραμμα για να λύνει καθένα από τα παραπάνω προβλήματα.Δ) «Σε πεπερασμένο χρόνο» σημαίνει ότι ο αλγόριθμος πρέπει κάποια στιγμή χρονικά να τελειώνει, να μην εκτελείται έπ’ άπειρο διότι αυτό σημαίνει ότι πάλι δε δίνει λύση. Για παράδειγμα, του ζητούμε να βρει τη λύση

της εξίσωσης x2 -2 = 0. Η λύση αυτής είναι ο αριθμός √2 δηλ. ο αριθμός

- 2 -

Είσοδος δεδομένων

Επεξεργασία δεδομένων

Έξοδος αποτελεσμάτων

Page 3: Ασκήσεις στο σχεδιασμό βάσεων δεδομένων6gym-ag-dimitr.att.sch.gr/autosch/joomla15/images... · Web viewΣημειώσεις Πληροφορικής

Σημειώσεις Πληροφορικής Γ΄γυμνασίου θεωρία και ασκήσεις 2014-15

1,4142135623730950488016887242097 κτλ. με άπειρα δεκαδικά ψηφία. Άρα ο αλγόριθμος αυτός δεν θα τελείωνε ποτέ! Θα μπορούσαμε να του πούμε όμως να μας βρει μέχρι 15 δεκαδικά ψηφία οπότε θα τελείωνε.

Από τα παραπάνω συμπεραίνουμε τα ακόλουθα:Κριτήρια που πρέπει να ικανοποιεί ένας αλγόριθμος

1) Να περιλαμβάνει εντολές εισόδου τιμών δεδομένων 2) Να περιλαμβάνει εντολές για έξοδο αποτελεσμάτων προς το χρήστη ή σε ένα άλλο αλγόριθμο3) Οι εντολές του να είναι αυστηρά καθορισμένες4) Να έχει περατότητα δηλ. κάποια στιγμή να τελειώνει5) Να είναι πραγματοποιήσιμος δηλ. κάθε εντολή του να μπορεί να εκτελεστεί.

Τρόποι αναπαράστασης αλγορίθμωνΗ διατύπωση ενός αλγόριθμου γίνεται συνήθως με δύο από τους παρακάτω τρόπους:Α) με διάγραμμα ροής που χρησιμοποιούμε γεωμετρικά σχήματα για να παραστήσουμε τις εντολές του (δες σελ. 243 βιβλίου)Β) Με ψευδοκώδικα δηλ. κείμενο που έχει τη δομή μιας κανονικής γλώσσας προγραμματισμού υπολογιστών χωρίς όμως την αυστηρότητα των κανόνων σύνταξης της γλώσσας προγραμματισμού (για παραδείγματα ψευδοκώδικα, δες τις ασκήσεις παρακάτω).

Γλώσσες προγραμματισμού

Ένας αλγόριθμος επιλύει ένα πρόβλημα. Τον αλγόριθμο τον δημιουργεί ο προγραμματιστής. Στη συνέχεια, με βάση τον αλγόριθμο γράφει ένα πρόγραμμα σε μια γλώσσα προγραμματισμού.

Ποιος είναι ο ρόλος μιας γλώσσας προγραμματισμού;

Η γλώσσα του προγραμματιστή είναι η ανθρώπινη. Η γλώσσα του υπολογιστή είναι «προτάσεις» που αποτελούνται από τα δυαδικά ψηφία 0 και 1. Αυτή η γλώσσα λέγεται γλώσσα μηχανής. Ο προγραμματιστής πρέπει να δώσει οδηγίες επίλυσης του προβλήματος στον υπολογιστή δηλ. να γράψει ένα πρόγραμμα με εντολές προς αυτόν. Επειδή ο υπολογιστής δεν μπορεί να «μιλήσει» και να κατανοήσει την ανθρώπινη γλώσσα άρα θα πρέπει ο άνθρωπος να δώσει τις εντολές σε γλώσσα μηχανής. Ε! αυτό γινόταν αρχικά όταν εμφανίστηκαν οι υπολογιστές, οι προγραμματιστές έγραφαν προγράμματα σε γλώσσα μηχανής χρησιμοποιώντας τα σύμβολα 0 και 1. Αυτό όμως ήταν πολύ δύσκολο. Σημειώστε επίσης ότι κάθε μοντέλο υπολογιστή έχει τη δική του γλώσσα μηχανής. Αυτό σημαίνει ότι ένα πρόγραμμα γραμμένο για ένα τύπο υπολογιστή δε λειτουργεί σε άλλο τύπο. Για παράδειγμα, ένα πρόγραμμα που εκτελείται σε Pc δεν εκτελείται σε υπολογιστή της εταιρείας Apple (π.χ. Macintosh) Ως εξέλιξη της γλώσσας μηχανής εφευρέθηκε η συμβολική γλώσσα ( Assembly ) που ήταν σαν τη γλώσσα μηχανής με τη διαφορά πως κάποιες «προτάσεις» της αντικαταστάθηκαν από συμβολικά ονόματα όπως π.χ. με τη λέξη ADD που ήταν πιο ευκολομνημόνευτες σε σχέση με μια σειρά δυαδικών ψηφίων. Οι γλώσσες μηχανής και Assembly ονομάζονται γλώσσες χαμηλού επιπέδου διότι βρίσκονται πιο κοντά στη μηχανή παρά στον άνθρωπο. Αλλά και η συμβολική γλώσσα ήταν δύσκολη στη χρήση της και έτσι εφευρέθηκαν οι γλώσσες υψηλού επιπέδου που σαν δομή ήταν πιο κοντά στην ανθρώπινη γλώσσα παρά στη γλώσσα της μηχανής. Τελικά ο ρόλος μιας γλώσσας προγραμματισμού είναι ο ίδιος με το ρόλο του μεταφραστή ανάμεσα σε δύο ανθρώπους που ο ένας μιλάει μόνο ελληνικά και ο άλλος μόνο αγγλικά: Λες κάτι στα ελληνικά προς το μεταφραστή και αυτός το λέει στα αγγλικά στον άλλο.Έτσι και ο προγραμματιστής: Γράφει ένα πρόγραμμα σε μια γλώσσα προγραμματισμού και αυτή το μεταφράζει σε γλώσσα μηχανής δηλ. στη γλώσσα του υπολογιστή. Πρέπει όμως ο μεταφραστής να καταλαβαίνει όλες τις λέξεις που του λένε στα ελληνικά ώστε να τις μεταφράσει στα αγγλικά, έτσι δεν είναι; Διαφορετικά δεν προχωρά στη μετάφραση. Για παράδειγμα, μεταφράστε τη φράση «Φέρε μου το ματσακόνι!» Έτσι και η γλώσσα προγραμματισμού. Πρέπει ο προγραμματιστής να γράφει προγράμματα χρησιμοποιώντας το λεξιλόγιό της, τους κανόνες ορθογραφίας της και τους κανόνες σύνταξης των προτάσεών της διαφορετικά δεν μεταφράζει το πρόγραμμα σε γλώσσα μηχανής μέχρι ο προγραμματιστής να κάνει τις απαραίτητες διορθώσεις.

- 3 -

Page 4: Ασκήσεις στο σχεδιασμό βάσεων δεδομένων6gym-ag-dimitr.att.sch.gr/autosch/joomla15/images... · Web viewΣημειώσεις Πληροφορικής

Σημειώσεις Πληροφορικής Γ΄γυμνασίου θεωρία και ασκήσεις 2014-15

Παραδείγματα γλωσσών υψηλού επιπέδου είναι οι Basic, Pascal, Cobol, C που ονομάστηκαν γλώσσες τρίτης γενιάς και οι αντικειμενοστραφείς γλώσσες C++, Java, Visual Basic, Delphi κτλ.

Η έννοια της μεταβλητής στο προγραμματισμόΕίπαμε ότι ένας αλγόριθμος πρέπει να επιλύει ένα πρόβλημα κατά γενικό τρόπο και όχι για συγκεκριμένες τιμές δεδομένων. Στα Μαθηματικά, τη Φυσική κτλ. έχουμε διάφορους τύπους π.χ. Ε=β*υ/2 οπότε όταν μας δίνουν συγκεκριμένες τιμές για τα β και υ υπολογίζουμε το Ε. Χρησιμοποιούμε δηλ. σύμβολα Ε, β, υ τα οποία παριστάνουν δεδομένα και ζητούμενα. Αυτά τα σύμβολα ονομάζονται μεταβλητές διότι μπορούν να πάρουν διάφορες τιμές. Έτσι λοιπόν και στους αλγόριθμους τα δεδομένα και τα ζητούμενα τα παριστάνουμε με μεταβλητές. Για παράδειγμα τους τρεις βαθμούς τριμήνων σε κάποιο μάθημα ενός μαθητή μπορούμε να τους συμβολίσουμε π.χ. με β1, β2, β3, το γραπτό του Ιουνίου με Γρ και το ζητούμενο τελικό βαθμό με ΤΒ ή όπως αλλιώς θέλουμε. Αυτά τα σύμβολα είναι τα ονόματα των μεταβλητών που παριστάνουν τα δεδομένα και τα ζητούμενα. Επίσης σχεδόν πάντα σε ένα αλγόριθμο μέχρι να φτάσουμε από τα δεδομένα στα ζητούμενα πρέπει να υπολογίσουμε και κάποια ενδιάμεσα αποτελέσματα οπότε και αυτά τα παριστάνουμε με μεταβλητές. Για κάθε μεταβλητή ο υπολογιστής της αντιστοιχεί μια θέση στη μνήμη του ώστε σε αυτή να αποθηκεύεται η τιμή της μεταβλητής. Υπάρχουν διάφορες μορφές δεδομένων όπως αριθμοί, κείμενο κτλ. Ο υπολογιστής με άλλο τρόπο παριστάνει και αποθηκεύει τους ακέραιους, με άλλο τρόπο τους δεκαδικούς και με άλλο τρόπο το κείμενο γι’ αυτό πρέπει να «πούμε» στον υπολογιστή και το τύπο μιας μεταβλητής ώστε για κάθε μία να καθορίσει πόσος θα είναι ο απαιτούμενος χώρος μνήμης που θα της αντιστοιχίσει.Μια μεταβλητή λοιπόν έχει: α) Ένα όνομα β) Ένα τύπο δεδομένων (πραγματική, ακέραια, χαρακτήρες, λογική) γ) μια τιμή. ΠΡΟΣΟΧΗ! Αν μια μεταβλητή αλλάξει τιμή η προηγούμενη τιμή της χάνεται! Σε μια θέση μνήμης ο υπολογιστής περιέχει μια μόνο τιμή μιας μεταβλητής. Η καινούργια αντικαθιστά τη παλιά.

Χρήσιμοι ορισμοί και έννοιες

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

Γλώσσα προγραμματισμού είναι μια τεχνητή γλώσσα που «καταλαβαίνει» ο υπολογιστής. Μια τέτοια γλώσσα πρέπει να τη γνωρίζει και ένας προγραμματιστής ώστε να γράφει προγράμματα που τελικά να «κατανοούνται» από τον υπολογιστή και να εκτελούνται από αυτόν. Μια γλώσσα προγραμματισμού χρησιμοποιείται από ένα προγραμματιστή για να επικοινωνήσει με τον υπολογιστή.

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

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

- 4 -

Page 5: Ασκήσεις στο σχεδιασμό βάσεων δεδομένων6gym-ag-dimitr.att.sch.gr/autosch/joomla15/images... · Web viewΣημειώσεις Πληροφορικής

Σημειώσεις Πληροφορικής Γ΄γυμνασίου θεωρία και ασκήσεις 2014-15

Όπως έχουμε πει, η φυσική γλώσσα του υπολογιστή είναι η γλώσσα μηχανής με αλφάβητο το 0 και 1. Μια γλώσσα προγραμματισμού όπως π.χ. η Logo δεν είναι άμεσα κατανοητή από τον υπολογιστή. Όταν ένας προγραμματιστής γράψει ένα πρόγραμμα σε μια γλώσσα προγραμματισμού αυτό θα πρέπει να μεταφραστεί σε γλώσσα μηχανής ώστε να μπορεί να εκτελεστεί από τον υπολογιστή. Υπάρχουν δύο είδη τέτοιων μεταφραστικών προγραμμάτων:

α) Οι μεταγλωττιστές (compilers)β) Οι διερμηνείς (interpreters)

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

- 5 -

Page 6: Ασκήσεις στο σχεδιασμό βάσεων δεδομένων6gym-ag-dimitr.att.sch.gr/autosch/joomla15/images... · Web viewΣημειώσεις Πληροφορικής

Σημειώσεις Πληροφορικής Γ΄γυμνασίου θεωρία και ασκήσεις 2014-15

Γλώσσα προγραμματισμού Logo

(Οι σημειώσεις αυτές είναι συμπλήρωμα και επέκταση των σημειώσεων της κ. Κατερίνας Γλέζου που σας έχουν ήδη δοθεί.)

Όπως έχουμε αναφέρει ένας αλγόριθμος και το αντίστοιχό του πρόγραμμα, περιλαμβάνει εντολές εισαγωγής δεδομένων, εντολές επεξεργασίας των δεδομένων και εντολές εμφάνισης των αποτελεσμάτων.Για παράδειγμα, αν μας ζητούν να φτιάξουμε πρόγραμμα Logo που να υπολογίζει το μέσο όρο σε ένα μάθημα θα πρέπει: α) να γράψουμε εντολές που ζητούν να πληκτρολογήσει ο χρήστης τα δεδομένα δηλ τους τρεις βαθμούς τριμήνων και το βαθμό της γραπτής εξέτασης του Ιουνίου β) Να γράψουμε εντολές που υπολογίζουν το μέσο όρο γ) Να γράψουμε εντολές που εμφανίζουν το αποτέλεσμα στην οθόνη.

Μεταβλητές

Πριν δούμε κάποιες από αυτές τις εντολές να πούμε μερικά πράγματα για τις μεταβλητές στη Logo.Όταν επιλύουμε ένα πρόβλημα τα δεδομένα και τα ζητούμενα τα παριστάνουμε με μεταβλητές π.χ. με β τη βάση, υ το ύψος και Ε το εμβαδόν του τριγώνου. Το κάνουμε αυτό διότι θέλουμε να κάνουμε υπολογισμούς και έτσι χρησιμοποιούμε τον τύπο Ε = β * υ /2.

Τρόποι αναφοράς στις μεταβλητές και στις τιμές των μεταβλητών στη Logo

α) Αν θέλουμε να αναφερθούμε σε μια μεταβλητή α στη Logo θα γράφουμε “α (διπλό εισαγωγικό και μεταβλητή).β) Αν θέλουμε να αναφερθούμε στη τιμή μιας μεταβλητής δηλ. να χρησιμοποιήσουμε κάπου την τιμή της, τότε γράφουμε :α (δηλ. άνω-κάτω τελεία και όνομα μεταβλητής)

Εντολή εκχώρησης τιμής σε μεταβλητή – Εντολή Κάνε

Με την εντολή κάνε εκχωρούμε (αποδίδουμε) μια τιμή σε μια μεταβλητή.Παραδείγματα1) κάνε “κ 5Η μεταβλητή κ παίρνει σαν τιμή το 52) κάνε “κ :κ +2Η μεταβλητή κ θα πάρει τιμή αυτή που έχει μέχρι τώρα + 2 δηλ. η νέα της τιμή θα είναι 7.3) κάνε “E :β * :υ / 2Θα γίνουν οι πράξεις δεξιά με τις τιμές των μεταβλητών β και υ και το αποτέλεσμα θα γίνει τιμή της Ε.4) κάνε “όνομα ΜήτσοςΗ μεταβλητή κειμένου όνομα παίρνει σαν τιμή της τη λέξη Μήτσος

Ας δούμε κάποιες από τις εντολές εισόδου δεδομένων και εξόδου αποτελεσμάτων.

Εντολές εισόδου και εξόδου

Α) Εντολή Ανακοίνωση

Είναι μια εντολή εξόδου μηνυμάτων και αποτελεσμάτων. Εμφανίζει ένα πλαίσιο μηνύματος (μικρό παραθυράκι στην οθόνη) όπου μέσα σε αυτό εμφανίζεται το μήνυμα που θέλετε και το αποτέλεσμα.Παραδείγματα1) Ανακοίνωση “ΚαλημέραΘα εμφανίσει σε πλαίσιο μηνύματος τη λέξη Καλημέρα2) Ανακοίνωση [Γεια χαραντάν!]

- 6 -

Page 7: Ασκήσεις στο σχεδιασμό βάσεων δεδομένων6gym-ag-dimitr.att.sch.gr/autosch/joomla15/images... · Web viewΣημειώσεις Πληροφορικής

Σημειώσεις Πληροφορικής Γ΄γυμνασίου θεωρία και ασκήσεις 2014-15

Θα εμφανίσει σε πλαίσιο μηνύματος το κείμενο που είναι μέσα στις αγκύλες. Βάλαμε αγκύλες και όχι εισαγωγικό ( “) διότι το κείμενο έχει παραπάνω από μια λέξη. (βλ. επόμενη εικόνα)

3) κάνε “α 15Ανακοίνωση (φρ [η μεταβλητή α έχει τιμή] :α)Όταν θέλω να εμφανιστεί μήνυμα και δίπλα μια τιμή μεταβλητής τότε πρέπει να συνενώσω το μήνυμα με τη τιμή της μεταβλητής με την εντολή φρ δηλ. την εντολή φράση.Η προηγούμενη εντολή θα εμφανίσει στο πλαίσιο μηνύματος: η μεταβλητή α έχει τιμή 15.

Β) Εντολή Ερώτηση

Είναι μια εντολή εισόδου δεδομένων. Με την εντολή Ερώτηση εισάγουμε (πληκτρολογούμε) τα δεδομένα που μας ζητά το πρόγραμμα. Η εντολή εμφανίζει ένα μήνυμα προτροπής που καθορίζουμε εμείς και από κάτω ένα πλαίσιο κειμένου όπου μέσα σε αυτό πληκτρολογούμε το αντίστοιχο δεδομένο που μας ζητείται.ΠαράδειγμαΕρώτηση [Ποια είναι η ηλικία σου]Η εντολή θα εμφανίσει το πλαίσιο κειμένου με μήνυμα «Ποια είναι η ηλικία σου» και ο υπολογιστής θα μας περιμένει μέχρι να πληκτρολογήσουμε την ηλικία και κατόπιν να πατήσουμε το πλήκτρο Enter ή το OK.

Στο παράδειγμα αυτό κάποιος νεαρός πληκτρολόγησε 85 και αυτό καταχωρήθηκε κάπου στη μνήμη του υπολογιστή. Που όμως; Πως θα μάθει το πρόγραμμά μας τι πληκτρολόγησε ο χρήστης σαν απάντηση στην εντολή Ερώτηση;

Γ) Εντολή Απάντηση

Σε ένα πρόγραμμα Logo, η εντολή Απάντηση είναι το «παρεάκι», η «κολλητή» της εντολής Ερώτησης. Η εντολή Απάντηση ακολουθεί πάντα την εντολή Ερώτηση. Η εντολή Απάντηση περιέχει αυτό που πληκτρολόγησε ο χρήστης στην ακριβώς προηγούμενη εντολή Ερώτηση. Μετά το περιεχόμενο της εντολής Απάντηση μπορούμε να το εκχωρήσουμε σε μια μεταβλητή με την εντολή Κάνε και κατόπιν να τη χρησιμοποιήσουμε σε πράξεις ή να την εμφανίσουμε.

- 7 -

Page 8: Ασκήσεις στο σχεδιασμό βάσεων δεδομένων6gym-ag-dimitr.att.sch.gr/autosch/joomla15/images... · Web viewΣημειώσεις Πληροφορικής

Σημειώσεις Πληροφορικής Γ΄γυμνασίου θεωρία και ασκήσεις 2014-15

ΠαράδειγμαΕρώτηση [Πόση είναι η βάση του τριγώνου]Κάνε “β απάντησηΕρώτηση [Πόσο είναι το ύψος του τριγώνου]Κάνε “υ απάντησηΚάνε “Ε :β * :υ / 2Ανακοίνωση (φρ[ Το εμβαδόν του τριγώνου είναι ] :Ε)

Να θυμάστε: Οι εντολές Ερώτηση και Απάντηση είναι «ζευγαράκι» με «κουμπαράκι» την εντολή Κάνε.

Ας πάμε τώρα σε μια άσκηση που θα χρησιμοποιεί τις παραπάνω εντολές.

ΆσκησηΝα φτιάξετε πρόγραμμα σε Logo που θα ζητά να πληκτρολογηθούν οι τρεις βαθμοί τριμήνου σε ένα μάθημα και ο γραπτός του Ιουνίου και θα υπολογίζει και θα εμφανίζει το μέσο όρο στο μάθημα.

ΛύσηΔεδομένα: Οι τέσσερις βαθμοί είναι τα δεδομένα και ας τα συμβολίσουμε με α, β, γ, γραπ αντίστοιχα.Ζητούμενα: Ο μέσος όρος είναι το ζητούμενο και ας το συμβολίσουμε με μο.Το πρόγραμμα (για να ακριβολογούμε, με βάση την ορολογία της Logo θα λέμε διαδικασία) θα το ονομάσω μέσος_όρος. Θα ζητάει η διαδικασία μας τα δεδομένα, θα κάνει τον υπολογισμό του μέσου όρου και θα τον εμφανίσει στην οθόνη.Η διαδικασία έχει ως εξής:

για μέσος_όροςΕρώτηση [Ποιος είναι ο βαθμός του Α τριμήνου]Κάνε “α απάντησηΕρώτηση [Ποιος είναι ο βαθμός του Β τριμήνου]Κάνε “β απάντησηΕρώτηση [Ποιος είναι ο βαθμός του Γ τριμήνου]Κάνε “γ απάντησηΕρώτηση [Ποιος είναι ο γραπτός βαθμός του Ιουνίου]Κάνε “γραπ απάντησηΚάνε “μο (:α + :β + :γ + :γραπ) / 4Ανακοίνωση (φρ[Ο μέσος όρος είναι ] :μο)τέλος

Τη διαδικασία αυτή τη γράφουμε στη περιοχή διαδικασιών και για να την εκτελέσουμε πληκτρολογούμε στο Κέντρο Εντολών της Logo το όνομα της διαδικασίας δηλ. μέσος_όρος και πατάμε Enter.

Ασκήσεις1) Να γράψετε μια διαδικασία με όνομα εμβαδόν_ορθογωνίου που θα ζητά τις δύο πλευρές ενός ορθογωνίου και θα υπολογίζει και θα εμφανίζει το εμβαδόν του.2) Να γράψετε μια διαδικασία με όνομα μισθοδοσία που θα ζητά πόσες ημέρες εργάστηκε ένας υπάλληλος και πόσο είναι το ημερομίσθιό του, θα υπολογίζει το μισθό του και θα τον εμφανίζει στην οθόνη μαζί με το σύμβολο του ευρώ (€) (για το σύμβολο του ευρώ πληκτρολογήστε Ctrl+Alt+E).3) Να γράψετε μια διαδικασία με όνομα κύβος που θα ζητά ένα αριθμό, θα υπολογίζει και θα εμφανίζει στην οθόνη το κύβο του.

- 8 -

Στη 1η ερώτηση ο χρήστης πληκτρολογεί π.χ. 4Το 4 που περιέχεται στη 1η απάντηση γίνεται τιμή της βΣτη 2η ερώτηση ο χρήστης πληκτρολογεί π.χ. 3Το 3 που περιέχεται στη 2η απάντηση γίνεται τιμή της υΓίνεται ο υπολογισμός: 4 * 3 / 2 που κάνει 6 και το 6 γίνεται τιμή της ΕΤυπώνεται το μήνυμα στις αγκύλες και το εμβαδόν 6

Page 9: Ασκήσεις στο σχεδιασμό βάσεων δεδομένων6gym-ag-dimitr.att.sch.gr/autosch/joomla15/images... · Web viewΣημειώσεις Πληροφορικής

Σημειώσεις Πληροφορικής Γ΄γυμνασίου θεωρία και ασκήσεις 2014-15

Δομή επιλογής

Στις προηγούμενες διαδικασίες οι εντολές τους εκτελούνται όλες και με τη σειρά που τις γράψαμε. Στη περίπτωση αυτή λέμε ότι η ροή εκτέλεσης των εντολών της διαδικασίας είναι σειριακή. Υπάρχουν όμως περιπτώσεις που αν ισχύει μια συνθήκη τότε να εκτελεστεί μια ενέργεια π.χ. αν ένας πωλητής πραγματοποίησε πωλήσεις στο μήνα πάνω από 80.000€ τότε στο μισθό του να προστεθεί και ένα επιπλέον ποσό σαν επιβράβευση 800€. Σε άλλο παράδειγμα, αν ένας μαθητής έβγαλε μέσο όρο σε κάποιο μάθημα από 10 και πάνω να εμφανίζεται το μήνυμα «προάγεται» αλλιώς να εμφανίζεται το μήνυμα «απορρίπτεται». Πρέπει λοιπόν με κάποιο τρόπο η διαδικασία μας να περιλαμβάνει μια εντολή που να εξετάζει αν ισχύει ή όχι μια συνθήκη και ανάλογα να εκτελείται ή όχι κάποια ενέργεια.Τέτοιες εντολές είναι η εντολή Αν και η Εντολή ΑνΔιαφ.

Α) Εντολή Αν

Η εντολή Αν έχει την ακόλουθη σύνταξη: Αν συνθήκη [λίστα εντολών].Το νόημά της είναι το εξής: Αν η συνθήκη είναι αληθής δηλ. ισχύει τότε θα εκτελεστούν οι εντολές της λίστας, αν δεν ισχύει η συνθήκη δεν εκτελούνται οι εντολές της λίστας. Στη συνέχεια, σε κάθε περίπτωση εκτελείται η εντολή που είναι κάτω από την Αν.ΠαράδειγμαΚάνε “μισθός 1000Ερώτηση [Ποιες οι πωλήσεις σου]Κάνε “πωλήσεις απάντησηΑν (:πωλήσεις > 80000) [κάνε “μισθός :μισθός + 800]Ανακοίνωση (φρ[ Ο μισθός σου είναι ] :μισθός)

Β) Εντολή ΑνΔιαφ

Η εντολή ΑνΔιαφ (ΑνΔιαφορετικά) έχει την ακόλουθη σύνταξη:ΑνΔιαφ συνθήκη [λίστα1 εντολών] [λίστα2 εντολών]Το νόημά της είναι το εξής: Αν ισχύει η συνθήκη τότε εκτελούνται όλες οι εντολές μόνο της 1ης λίστας, διαφορετικά αν δεν ισχύει η συνθήκη τότε εκτελούνται όλες οι εντολές μόνο από τη 2 η λίστα. Στη συνέχεια, σε κάθε περίπτωση εκτελείται η εντολή που είναι κάτω από την ΑνΔιαφ.ΠαράδειγμαΚάνε “α 15Ερώτηση [Πληκτρολόγησε ένα αριθμό]Κάνε “β απάντησηΑνΔιαφ (:β = 0) [Ανακοίνωση [Η διαίρεση είναι αδύνατη]] [Ανακοίνωση (φρ[Το πηλίκο είναι ] :α / :β)]

ΑσκήσειςΝα φτιάξετε διαδικασία σε Logo με όνομα μέσος_όρος που θα ζητά να πληκτρολογηθούν οι τρεις βαθμοί τριμήνου σε ένα μάθημα και ο γραπτός του Ιουνίου και θα υπολογίζει το μέσο όρο στο μάθημα. Αν ο μέσος όρος είναι από 10 και πάνω θα εμφανίζεται το μήνυμα «ΠΡΟΑΓΕΣΑΙ ΜΕ» και δίπλα θα εμφανίζεται ο μέσος όρος. Αν ο μέσος όρος είναι κάτω από 10 τότε θα εμφανίζεται το μήνυμα «ΚΑΙ ΤΟΥ ΧΡΟΝΟΥ ΜΕ ΥΓΕΙΑ ΠΑΛΙ ΣΤΑ ΙΔΙΑ ΘΡΑΝΙΑ!!!».

Λυμένες ασκήσεις

1) Να φτιάξετε πρόγραμμα σε Logo με όνομα μέσος_όρος που θα ζητά - με την αντίστοιχη εμφάνιση κατάλληλων προτρεπτικών μηνυμάτων - να πληκτρολογηθούν οι βαθμοί Α’, Β’, Γ’ τριμήνων και ο γραπτός βαθμός του Ιουνίου σε κάποιο μάθημα και θα::α) Υπολογίζει το μέσο όρο των τεσσάρων βαθμών

- 9 -

Page 10: Ασκήσεις στο σχεδιασμό βάσεων δεδομένων6gym-ag-dimitr.att.sch.gr/autosch/joomla15/images... · Web viewΣημειώσεις Πληροφορικής

Σημειώσεις Πληροφορικής Γ΄γυμνασίου θεωρία και ασκήσεις 2014-15

γ) Θα ελέγχει τη σχέση του μέσου όρου με το 10: Αν είναι μικρότερος του 10 θα εμφανίζει το μήνυμα «ΚΑΙ ΤΟΥ ΧΡΟΝΟΥ ΜΕ ΥΓΕΙΑ ΠΑΛΙ ΣΤΑ ΙΔΙΑ ΘΡΑΝΙΑ!», διαφορετικά θα εμφανίζει το μήνυμα «ΠΡΟΑΓΕΤΑΙ ΜΕ » και αμέσως μετά το στρογγυλοποιημένο μέσο όρο.

Λύση

Συμβολισμοί μεταβλητών δεδομένων και ζητούμενων:Δεδομένα:Βαθμός Α’ τριμήνου αΒαθμός Β’ τριμήνου βΒαθμός Γ’ τριμήνου γΓραπτός βαθμός Ιουνίου γρΖητούμενα:Στρογγυλοποιημένος μέσος όρος μοΓια μέσος_όρος

Ερώτηση [Πληκτρολογήστε το βαθμό του Α’ τριμήνου]Κάνε “α απάντησηΕρώτηση [Πληκτρολογήστε το βαθμό του Β’ τριμήνου]Κάνε “β απάντησηΕρώτηση [Πληκτρολογήστε το βαθμό του Γ’ τριμήνου]Κάνε “γ απάντησηΕρώτηση [Πληκτρολογήστε το γραπτό βαθμό του Ιουνίου]Κάνε “γρ απάντησηΚάνε “μο (:α + :β +:γ + :γρ) / 4ΑνΔιαφ :μο < 10

[ Ανακοίνωση [ΚΑΙ ΤΟΥ ΧΡΟΝΟΥ ΜΕ ΥΓΕΙΑ ΠΑΛΙ ΣΤΑ ΙΔΙΑ ΘΡΑΝΙΑ!] ][

Ανακοίνωση :μο ]

τέλος

2) Να φτιάξετε πρόγραμμα σε Logo με όνομα Εμβαδόν_κύκλου που θα ζητά να πληκτρολογήσετε την ακτίνα R ενός κύκλου και θα εμφανίζει το εμβαδόν του Ε.

Λύση

Για Εμβαδόν_κύκλουΕρώτηση [Πληκτρολογήστε την ακτίνα του κύκλου]Κάνε “R απάντησηΚάνε “Ε 3,14 * :R * :RΑνακοίνωση :Ε

Τέλος

Εντολή Κάνε Όπως έχουμε πει με την εντολή Κάνε αναθέτουμε-εκχωρούμε μια τιμή σε μια μεταβλητή.Παραδείγματα1)Κάνε “α 4 Η α παίρνει τιμή 4Κάνε “β :α + 2 Η β παίρνει τιμή το άθροισμα των α (4) και 2 δηλ. 6

- 10 -

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

Υπολογίζεται αρχικά ο μέσος όρος και γίνεται τιμή της μεταβλητής μο, στην επόμενη εντολή πρώτα στρογγυλοποιείται και ο νέος στρογγυλοποιημένος μέσος όρος γίνεται τιμή της μεταβλητής μο.

Page 11: Ασκήσεις στο σχεδιασμό βάσεων δεδομένων6gym-ag-dimitr.att.sch.gr/autosch/joomla15/images... · Web viewΣημειώσεις Πληροφορικής

Σημειώσεις Πληροφορικής Γ΄γυμνασίου θεωρία και ασκήσεις 2014-15

Κάνε “α :β Η α παίρνει (νέα) τιμή την τιμή της β δηλ. 6Κάνε “α :α + 3 Η α παίρνει (νέα) τιμή το άθροισμα της μέχρι τώρα τιμής της α (6) και 3 δηλ. 9

2)Κάνε “χ 5 Η χ παίρνει τιμή το 5Κάνε “χ :χ + 1 Η μεταβλητή χ αυξάνει τη προηγούμενη τιμή της κατά 1 δηλ 6Κάνε “χ :χ – 3 Η μεταβλητή χ μειώνει τη προηγούμενη τιμή της κατά 3δηλ 3Κάνε “χ 2 * :χ Η μεταβλητή χ διπλασιάζει τη προηγούμενη τιμή της δηλ 6

Να θυμάστε: Η εντολή Κάνε “χ :χ + 1 αυξάνει τη τιμή της μεταβλητής χ κατά 1

Εντολή Αν και ΑνΔιαφ – Θεωρία και ασκήσειςΜε τις εντολές Αν και ΑνΔιαφ ελέγχουμε αν ισχύει μια συνθήκη που μας ενδιαφέρει και εκτελούνται η όχι οι εντολές που γράφουμε ανάλογα με το αν η συνθήκη ισχύει ή όχι δηλ. όπως λέμε είναι αληθής ή ψευδής.

Παραδείγματα από τη καθημερινή ζωή μας

1) Για την εντολή Αν:Αν ο καιρός είναι βροχερός τότε

Θα πάρω ομπρέλα.Η συνθήκη είναι η φράση «ο καιρός βροχερός». Αν ισχύει η συνθήκη (αληθής) τότε θα εκτελεστεί η εντολή «θα πάρω ομπρέλα», αν η συνθήκη είναι ψευδής τότε δεν εκτελείται η εντολή «θα πάρω ομπρέλα» δηλ. δεν εκτελείται κάποια εντολή. Στη περίπτωση της εντολής « Αν», αν δεν ισχύει η συνθήκη δεν εκτελείται κάποια εντολή.

2) Για την εντολή ΑνΔιαφ:

Αν το φανάρι είναι πράσινο τότε Πατάω γκάζι

ΔιαφορετικάΠατάω φρένο

Η συνθήκη είναι η φράση «το φανάρι είναι πράσινο» (με την έννοια ότι ελέγχουμε το χρώμα του φαναριού). Αν η συνθήκη ισχύει (αληθής) τότε θα εκτελεστεί η εντολή «Πατάω γκάζι». Αν η συνθήκη είναι ψευδής τότε δεν εκτελείται η εντολή «Πατάω γκάζι» αλλά εκτελείται η εντολή «Πατάω φρένο». Στη περίπτωση της εντολής ΑνΔιαφ είτε η συνθήκη είναι αληθής είτε είναι ψευδής θα εκτελεστεί οπωσδήποτε μια εντολή. Στη περίπτωση της Αν όμως μπορεί να μην εκτελεστεί καμία εντολή.

Σύνταξη των εντολών στη Logo

1) Εντολή Αν:

Αν συνθήκη[ εντολή1 Οι εντολές που θα εκτελεστούν αν ισχύει η συνθήκη μπαίνουν σε αγκύλες εντολή2 εντολή3 κτλ ]

Η συνθήκη είναι συνήθως μια σύγκριση μεταξύ αριθμητικών δεδομένων.ΠαράδειγμαΕρώτηση [Πληκτρολογήστε μια τιμή για τη μεταβλητή α]

- 11 -

Page 12: Ασκήσεις στο σχεδιασμό βάσεων δεδομένων6gym-ag-dimitr.att.sch.gr/autosch/joomla15/images... · Web viewΣημειώσεις Πληροφορικής

Σημειώσεις Πληροφορικής Γ΄γυμνασίου θεωρία και ασκήσεις 2014-15

Κάνε “α απάντησηΚάνε “β 30Αν :α > 10

[ κάνε “β 2 * :α κάνε “α :α / 2 ]

Κάνε “α 50

2) Εντολή ΑνΔιαφ:

ΑνΔιαφ συνθήκη[ εντολή1 εντολή2 εντολή3 κτλ ][ εντολή1 εντολή2 εντολή3 κτλ ]

ΠαράδειγμαΕρώτηση [Πληκτρολόγησε μια τιμή για τη μεταβλητή α]Κάνε “α απάντησηΚάνε “β 20ΑνΔιαφ :α = 50

[ κάνε “β 2 * :α κάνε “α :α + :β ][ κάνε “β :α - :β κάνε “α 3 * :α κάνε “β :β + 30 ]

Λυμένες ασκήσεις στη Logo – Σχεδίαση σχημάτων με τη χελώνα

1) Να γράψετε διαδικασία (πρόγραμμα) στη Logo με όνομα τετράγωνο που θα σχεδιάζει ένα τετράγωνο με πλευρά 120.ΛύσηΓια τετράγωνο

- 12 -

Ο χρήστης πληκτρολογεί 20α β20 30

401050

Ο χρήστης πληκτρολογεί 6α β6 3050

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

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

Ο χρήστης πληκτρολόγησε 50α β50 20

100150

Ο χρήστης πληκτρολόγησε 8α β8 20

-1224 18

Page 13: Ασκήσεις στο σχεδιασμό βάσεων δεδομένων6gym-ag-dimitr.att.sch.gr/autosch/joomla15/images... · Web viewΣημειώσεις Πληροφορικής

Σημειώσεις Πληροφορικής Γ΄γυμνασίου θεωρία και ασκήσεις 2014-15

στκεπανάλαβε 4 [μπ 120 δε 90]

τέλος

2) Να γράψετε διαδικασία (πρόγραμμα) στη Logo με όνομα εξάγωνο που θα σχεδιάζει ένα εξάγωνο με πλευρά 80.ΛύσηΓια εξάγωνοστκεπανάλαβε 6 [δε 60 μπ 80]

τέλος

3) Να γράψετε διαδικασία (πρόγραμμα) στη Logo με όνομα ισόπλευρο_τρίγωνο που θα σχεδιάζει ένα ισόπλευρο τρίγωνο με πλευρά 80.ΛύσηΓια ισόπλευρο_τρίγωνοστκδε 30επανάλαβε 3 [μπ 80 δε 120]

τέλος

4) Να γράψετε διαδικασία (πρόγραμμα) στη Logo με όνομα κύκλος που θα σχεδιάζει ένα κύκλο.ΛύσηΓια κύκλοςστκεπανάλαβε 360 [μπ 1 δε 1]

τέλος

5) Να γράψετε διαδικασία (πρόγραμμα) στη Logo με όνομα τεταρτοκύκλιο που θα σχεδιάζει ένα τεταρτοκύκλιο.ΛύσηΓια τεταρτοκύκλιοστκεπανάλαβε 90 [μπ 1 δε 1]

τέλος

8) Να γράψετε μια διαδικασία με όνομα εξάγωνο που θα σχεδιάζει ένα κανονικό εξάγωνο πλευράς 70.ΛύσηΓια εξάγωνο στκ επανάλαβε 6 [μπ 70 δε 60]τελος

9) Να γράψετε μια διαδικασία με όνομα σημαία που θα σχεδιάζει το παρακάτω σχήμα, όπου το τρίγωνο είναι ισόπλευρο με πλευρά 40 και το κοντάρι 100.ΛύσηΌταν πρόκειται να σχεδιάσουμε σύνθετα σχήματα θα πρέπει να βλέπουμε από ποια απλούστερα σχήματα αποτελείται το ζητούμενο σύνθετο. Επίσης, όταν σχεδιάζουμε ένα κλειστό σχήμα να γράφουμε εντολές ώστε να επαναφέρουμε τη χελώνα στην αρχική της θέση και κλίση (γωνία).

- 13 -

Page 14: Ασκήσεις στο σχεδιασμό βάσεων δεδομένων6gym-ag-dimitr.att.sch.gr/autosch/joomla15/images... · Web viewΣημειώσεις Πληροφορικής

Σημειώσεις Πληροφορικής Γ΄γυμνασίου θεωρία και ασκήσεις 2014-15

Για τρίγωνο στκ δε 30 επανάλαβε 3 [μπ 40 δε 120] αρ 30τελος

Για σημαία στκ μπ 100 δε 90 τρίγωνο αρ 90 πι 100τέλος

10) Χρησιμοποιώντας το πρόγραμμα σημαία να σχεδιάσετε ένα μύλο με έξι (6) πτερύγια, όπως στο παραπάνω σχήμα.ΛύσηΓια μύλος στκ επανάλαβε 6 [σημαία δε 60]τέλος11) Να γράψετε μια διαδικασία με όνομα σπιτάκι που θα σχεδιάζει το παρακάτω σχήμα, με κάθε πλευρά 70.ΛύσηΤο σπιτάκι αποτελείται από ένα τρίγωνο και ένα τετράγωνο. Γράφω τις διαδικασίες τετράγωνο και τρίγωνο και τις καλώ μέσα από τη διαδικασία σπιτάκι.Για τετράγωνο στκ επανάλαβε 4 [μπ 70 δε 90]τελος

Για τρίγωνο στκ δε 30 επανάλαβε 3 [μπ 40 δε 120] αρ 30τελος

Για σπιτάκι στκ τετράγωνο μπ 70 τρίγωνοτέλος

Παραμετρικές διαδικασίες στη Logo

Η έννοια και η χρήση των παραμέτρων σε μια διαδικασία

Ας ξαναδούμε την άσκηση 3 της προηγούμενης σελίδας και τη λύση της:

Να γράψετε διαδικασία (πρόγραμμα) στη Logo με όνομα ισόπλευρο_τρίγωνο που θα σχεδιάζει ένα ισόπλευρο τρίγωνο με πλευρά 80.ΛύσηΓια ισόπλευρο_τρίγωνο

- 14 -

Page 15: Ασκήσεις στο σχεδιασμό βάσεων δεδομένων6gym-ag-dimitr.att.sch.gr/autosch/joomla15/images... · Web viewΣημειώσεις Πληροφορικής

Σημειώσεις Πληροφορικής Γ΄γυμνασίου θεωρία και ασκήσεις 2014-15

στκδε 30επανάλαβε 3 [μπ 80 δε 120]

τέλος

Σε αυτή την άσκηση μας ζητείται να φτιάξουμε πρόγραμμα που να σχεδιάζει ένα ισόπλευρο τρίγωνο με μήκος πλευράς 80 pixels. Το πρόγραμμα που φτιάξαμε σχεδιάζει αυτό το τρίγωνο με πλευρά 80. Όσες φορές και να το εκτελέσουμε πάντα θα φτιάχνει το ίδιο ισόπλευρο τρίγωνο με πλευρά 80. Έτσι δεν είναι;Αν μας ζητούσαν να φτιάξουμε πρόγραμμα για σχεδίαση τριγώνου με πλευρά 70, τι θα κάνατε; Θα ξαναγράφατε το ίδιο πρόγραμμα αλλά αντί για 80 θα γράφατε 70. Σωστά; Και αν μετά σας ζητούσαν να φτιάξετε παρόμοιο πρόγραμμα για να σχεδιάζει ισόπλευρο τρίγωνο με πλευρά 130 πάλι τα ίδια θα κάνατε;

Αν λοιπόν θέλετε να φτιάξετε ένα πρόγραμμα που να σχεδιάζει ένα ισόπλευρο τρίγωνο με όσο μήκος πλευράς θέλει ο χρήστης που θα εκτελεί αυτό το πρόγραμμα, θα πρέπει να φτιάξετε ένα παραμετρικό πρόγραμμα Θα είναι ένα πρόγραμμα που θα χρησιμοποιεί μια μεταβλητή χ η οποία θα συμβολίζει το μήκος της πλευράς του τριγώνου που θα σχεδιασθεί. Αυτή η μεταβλητή λέγεται παράμετρος του προγράμματος.Ο χρήστης όταν θα θέλει να σχεδιαστεί ένα ισόπλευρο τρίγωνο με πλευρά 70 θα γράψει: ισόπλευρο_τρίγωνο 70 ενώ αν θέλει να σχεδιαστεί ένα ισόπλευρο τρίγωνο με πλευρά 130 θα γράψει: ισόπλευρο_τρίγωνο 130 δηλ. θα γράφει στο Κέντρο Εντολών της Logo το όνομα του προγράμματος και δίπλα τη τιμή της παραμέτρου.

Το παραμετρικό πρόγραμμα για να σχεδιάζεται ένα ισόπλευρο τρίγωνο πλευράς χ είναι το εξής:

Για ισόπλευρο_τρίγωνο :χστκδε 30επανάλαβε 3 [μπ :χ δε 120]

τέλος

Γράψαμε δηλ όπου 80 το :χ που παριστάνει τη τιμή της παραμέτρου χ.

Σημείωση 1: Το όνομα της παραμέτρου δεν είναι απαραίτητο να είναι χ, θα μπορούσαμε τη παράμετρο να την συμβολίσουμε με ψ, ω, μηκ, πλ όπως θέλουμε εμείς.Σημείωση 2: Τη παράμετρο ή τις παραμέτρους που χρησιμοποιούμε σε ένα πρόγραμμα τις γράφουμε αρχικά δίπλα στο όνομα του προγράμματος στη πρώτη γραμμή ώστε να καταλαβαίνει η Logo ότι αυτό είναι ένα παραμετρικό πρόγραμμα, διαφορετικά αν δεν το κάνουμε, η Logo θα εμφανίσει ένα μήνυμα «Δεν ξέρω τίποτα για :χ στη διαδικασία ισόπλευρο_τρίγωνο» (αντίστοιχο του Den katalavainw kardia moy!)Ας δούμε τώρα και άλλα παραδείγματα παραμετρικών διαδικασιών.

1) Να γράψετε διαδικασία (πρόγραμμα) στη Logo με όνομα τετράγωνο που θα σχεδιάζει ένα τετράγωνο με πλευρά χ.Λύση

Για τετράγωνο :χστκεπανάλαβε 4 [μπ :χ δε 90]

τέλος

2) Να γράψετε διαδικασία (πρόγραμμα) στη Logo με όνομα εξάγωνο που θα σχεδιάζει ένα εξάγωνο με πλευρά ψ.ΛύσηΓια εξάγωνο :ψστκεπανάλαβε 6 [δε 60 μπ :ψ]

τέλος

- 15 -

Page 16: Ασκήσεις στο σχεδιασμό βάσεων δεδομένων6gym-ag-dimitr.att.sch.gr/autosch/joomla15/images... · Web viewΣημειώσεις Πληροφορικής

Σημειώσεις Πληροφορικής Γ΄γυμνασίου θεωρία και ασκήσεις 2014-15

3) α) Να γράψετε διαδικασία (πρόγραμμα) στη Logo με όνομα πολύγωνο που θα σχεδιάζει ένα κανονικό πολύγωνο ν πλευρών με πλευρά χ. β) Στη συνέχεια γράψτε την εντολή που θα δίνατε στο κέντρο εντολών ώστε να σχεδιαστεί ένα οκτάγωνο με πλευρά 30.Λύσηα) Για πολύγωνο :ν :χ στκ επανάλαβε :ν [μπ :χ δε 360 / :ν]τέλοςβ) Πολύγωνο 8 30

4) Να γράψετε μια διαδικασία με όνομα σκάλα που θα σχεδιάζει μια σκάλα με 5 σκαλοπάτια και ύψος και πλάτος σκαλοπατιού κ.Λύση

Για σκάλα :κστκεπανάλαβε 5 [ δε 90 μπ :κ αρ 90 μπ :κ ]

τέλος

5) Να γράψετε μια διαδικασία με όνομα κλίμαξ που θα σχεδιάζει μια σκάλα με χ σκαλοπάτια και ύψος και πλάτος σκαλοπατιού κ.

ΛύσηΕδώ έχουμε δύο παραμέτρους.

Για κλίμαξ :χ :κστκεπανάλαβε :χ [ δε 90 μπ :κ αρ 90 μπ :κ ]

τέλος

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

Λύση

Θα γράψουμε πρώτα μια παραμετρική διαδικασία με όνομα κολώνα που θα σχεδιάζει το σχήμα

Λύση

Για κολώνα :χ στκμπ :χδε 90μπ :χδε 90μπ :χαρ 90 μπ :χαρ 90

τέλος

- 16 -

Μετά θα γράψουμε μια διαδικασία με όνομα παλμός που θα καλεί τη διαδικασία κολώνα ψ φορές.Για παλμός :ψ :χ στκ επανάλαβε :ψ [κολώνα :χ]τέλος

Page 17: Ασκήσεις στο σχεδιασμό βάσεων δεδομένων6gym-ag-dimitr.att.sch.gr/autosch/joomla15/images... · Web viewΣημειώσεις Πληροφορικής

Σημειώσεις Πληροφορικής Γ΄γυμνασίου θεωρία και ασκήσεις 2014-15

6) α) Να γράψετε μια διαδικασία με όνομα ορθογώνιο που θα σχεδιάζει ένα ορθογώνιο παραλληλόγραμμο με πλευρές χ και ψ. β) Στη συνέχεια γράψτε την εντολή που θα δίνατε στο κέντρο εντολών ώστε να σχεδιαστεί ένα ορθογώνιο με πλευρές 50 και 125Λύσηα) Για ορθογώνιο :χ :ψ Στκ Επανάλαβε 2 [μπ :χ δε 90 μπ :ψ δε 90]τέλοςβ) ορθογώνιο 50 125

7) Να γράψετε μια διαδικασία με όνομα ζήτα που θα σχεδιάζει το κεφαλαίο γράμμα Ζ με πλευρά χ και γωνία 20.ΛύσηΓια ζήτα :χ στκ δε 90 μπ :χ δε 160 μπ :χ αρ 160 μπ :χτελος

Πίνακες τιμών

Για πίνακας Κάνε "α 5 Κάνε "β 4 Κάνε "α :α + 7 Κάνε "β :β + :α ΑνΔιαφ :α > :β [ κάνε "β :β - 2 επανάλαβε 3 [ κάνε "α :α + :β κάνε "β :β + 2 ] ] [ κάνε "α :β επανάλαβε 3 [ κάνε "β :β - :α κάνε "α :α + 2 ] ]τέλος

- 17 -

α β5 412 1616 018 -1820 -3822

Page 18: Ασκήσεις στο σχεδιασμό βάσεων δεδομένων6gym-ag-dimitr.att.sch.gr/autosch/joomla15/images... · Web viewΣημειώσεις Πληροφορικής

Σημειώσεις Πληροφορικής Γ΄γυμνασίου θεωρία και ασκήσεις 2014-15

Ένα άλλο πρόγραμμα που μπορεί να σας δοθεί και να ζητηθεί ο πίνακας τιμών του μπορεί να περιλαμβάνει και την εντολή ερώτηση.

Για πίνακας Ερώτηση [Πληκτρολόγησε τον αριθμό καταλόγου σου] Κάνε "α απάντηση Κάνε "β 2 Κάνε "α :α + 7 Κάνε "β :β - :α ΑνΔιαφ :α > :β [ κάνε "β :β - 3 επανάλαβε 3 [ κάνε "α :α + :β κάνε "β :β + 2 ] ] [ κάνε "α :β επανάλαβε 3 [ κάνε "β :β - :α κάνε "α :α + 2 ] ]τέλος

Ερωτήσεις – Απαντήσεις

1) Γράψτε μια εντολή ώστε η μεταβλητή χ ν’ αυξάνει τη τιμή της κατά 10Απάντηση: Κάνε "χ :χ + 10

2) Γράψτε μια εντολή ώστε για τη μεταβλητή χ να μειώνεται η τιμή της κατά 10Απάντηση: Κάνε "χ :χ - 10

3) Γράψτε μια εντολή ώστε για τη μεταβλητή χ να τριπλασιάζεται η τιμή τηςΑπάντηση: Κάνε "χ 3 * :χ

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

- 18 -

Αν ο χρήστης πληκτρολογήσει σαν αριθμό καταλόγου του το 8, τότε η μεταβλητή α θα πάρει τη τιμή 8.

α β8 215 -13

-16-1 -14-15 -12-27 -10

Για εξάσκηση: 1) Για α= 2 πρέπει να βρείτε τελικές τιμές α=-15 β=-42) Για α=15 πρέπει να βρείτε τελικές τιμές α= -41 β= -173) Για α= -7 πρέπει να βρείτε τελικές τιμές α= 8 β = -10

Page 19: Ασκήσεις στο σχεδιασμό βάσεων δεδομένων6gym-ag-dimitr.att.sch.gr/autosch/joomla15/images... · Web viewΣημειώσεις Πληροφορικής

Σημειώσεις Πληροφορικής Γ΄γυμνασίου θεωρία και ασκήσεις 2014-15

Κάνε "γ :αΚάνε "α :βΚάνε "β :γ

5) Να γράψετε τις εντολές που απαιτούνται ώστε για δύο μεταβλητές α και β να καταχωρείται στη μεταβλητή max η μεγαλύτερη τιμή από τις α και β (αν είναι ίσες οι α και β τότε πάλι να καταχωρείται στη max αυτή η τιμή)ΑπάντησηΑνΔιαφ :α > :β[ Κανε "max :α][ Κάνε "max :β]

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

Ένα παράδειγμα αυτού του είδους άσκησης και η μεθοδολογία επίλυσης αποτελούν τα παρακάτω:

ΠΡΟΣΔΙΟΡΙΣΜΟΣ ΔΕΔΟΜΕΝΩΝ ΠΡΟΒΛΗΜΑΤΟΣΔεδομένα για ένα πρόβλημα στη Πληροφορική είναι αυτά που μπορούν να θεωρηθούν σαν γνωστά. Ασφαλώς, δεδομένα είναι και οι συγκεκριμένοι αριθμοί που αναφέρονται σε μια εκφώνηση π.χ. όταν μας λέει η άσκηση ότι ο ΦΠΑ είναι 23% αλλά όμως αυτό είναι κάτι σταθερό και δεν το συμβολίζουμε με μια μεταβλητή. Επιπρόσθετα, ο ΦΠΑ είναι ένα δεδομένο που δεν χρειάζεται να πληκτρολογηθεί μια τιμή γι’ αυτό από το χρήστη αφού μας δίνεται ακριβώς. Αντίθετα, για τα δεδομένα που δεν μας τα δίνει ακριβώς η άσκηση αλλά μας λέει ότι θα τα πληκτρολογήσουμε όταν θα εκτελεστεί το πρόγραμμα , αυτά τα συμβολίζουμε με μεταβλητή και πρέπει να γράψουμε για καθένα από αυτά μια εντολή εισόδου («Ερώτηση» και «Κάνε …απάντηση»).Δεδομένα είναι οι βαθμοί τριμήνων και γραπτών στα Μαθηματικά και ζητούμενο είναι η εύρεση του ετήσιου μέσου όρου στα Μαθηματικά δηλ. δεδομένα είναι αυτά που πρέπει να μου δώσουν, αυτά που πρέπει να είναι γνωστά για να υπολογίσω με βάση αυτά τα ζητούμενα.

Μεθοδολογία προσδιορισμού των δεδομένων και των ζητούμενων ενός προβλήματος.Ένας μηχανιστικός τρόπος προσδιορισμού των δεδομένων ενός προβλήματος που θα χρειαστούν γι’ αυτά εντολές εισόδου είναι ο εξής: Εντοπίστε στην εκφώνηση φράσεις όπως «το πρόγραμμα θα ζητά να πληκτρολογηθούν»: Όποια μεγέθη ακολουθούν είναι δεδομένα και θα πρέπει να τα συμβολίσουμε με μεταβλητές και στο πρόγραμμα να γράψουμε γι’ αυτά εντολές εισόδου δεδομένων («Ερώτηση» και «απάντηση»).Για το προσδιορισμό των ζητούμενων, ένας μηχανιστικός τρόπος είναι να εντοπίσετε φράσεις όπως «το πρόγραμμα να υπολογίζει» ή «το πρόγραμμα να εμφανίζει»: Όποια μεγέθη ακολουθούν μετά από αυτές τις φράσεις αποτελούν ζητούμενα του προβλήματος. Εννοείται και τα ζητούμενα πρέπει να συμβολίζονται με μεταβλητές και τα εμφανίζουμε με εντολή «Ανακοίνωση».

- 19 -

1) Πριν αλλάξω τη τιμή της α φυλάσσω αυτή που έχει σε μια τρίτη μεταβλητή τη γ2) Βάζω στην α σαν τιμή τη τιμή της β3) Βάζω στην β την αρχική τιμή της α που την είχα φυλάξει στη γ

Page 20: Ασκήσεις στο σχεδιασμό βάσεων δεδομένων6gym-ag-dimitr.att.sch.gr/autosch/joomla15/images... · Web viewΣημειώσεις Πληροφορικής

Σημειώσεις Πληροφορικής Γ΄γυμνασίου θεωρία και ασκήσεις 2014-15

ΣΥΝΗΘΙΣΜΕΝΑ ΛΑΘΗ ΜΑΘΗΤΩΝ ΣΤΟ ΠΡΟΣΔΙΟΡΙΣΜΟ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΖΗΤΟΥΜΕΝΩΝΤα δύο περισσότερα συνηθισμένα (και «μπουνταλούδικα») λάθη που κάνουν οι μαθητές είναι τα εξής:

1) Μπερδεύουν τα δεδομένα με τα ζητούμενα. Αυτό το λάθος το αποδίδουν στο ότι παρασύρονται από τη φράση «το πρόγραμμα θα ζητά να πληκτρολογηθούν» και συγκεκριμένα στη λέξη «ζητά», οπότε τα δεδομένα τα θεωρούν ζητούμενα. Το πρόβλημα εννοεί να ζητά δηλ. ν’ απαιτεί να δώσει, να πληκτρολογήσει κάποιος τα δεδομένα, όταν θα εκτελεσθεί το πρόγραμμα. Να θυμάστε ότι για να υπολογίσετε το μέσο όρο στα μαθηματικά κάποιου, του ζητάτε (με τη σημασία του «απαιτείτε») να σας πει τα δεδομένα δηλ. τους βαθμούς τριμήνων και γραπτών. Για σας ζητούμενο είναι ο υπολογισμός του μέσου όρου στα μαθηματικά.

2) Για κάτι που είναι ζητούμενο γράφουν στο πρόγραμμα εντολή εισόδου δεδομένων π.χ. ενώ το ζητούμενο είναι να υπολογίσετε το μέσο όρο στα μαθηματικά με βάση σαν δεδομένα τους βαθμούς τριμήνων και γραπτών, γράφουν την εντολή:Ερώτηση [Δώσε το μέσο όρο στα μαθηματικά]Κάνε "μο απάντησηΟι δύο παραπάνω εντολές είναι το λάθος: Το ζητούμενο το υπολογίζουμε, δεν μας το πληκτρολογεί (σαν δεδομένο) ο χρήστης.

Παράδειγμα προσδιορισμού δεδομένων και ζητούμενωνΓια το παρακάτω πρόβλημα α) να προσδιορίσετε και να συμβολίσετε τα δεδομένα και τα ζητούμενα του προβλήματος. β) Επίσης να γράψετε τις απαραίτητες εντολές εισόδου κάποιου από τα δεδομένα και την εμφάνιση κάποιου από τα ζητούμενα του προβλήματος.

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

Δεδομένα ΣυμβολισμοίΠλήθος λεπτών ομιλίας πλΠλήθος μηνυμάτων πμΚόστος ενός λεπτού ομιλίας κλΚόστος ενός μηνύματος κμ

Ζητούμενα ΣυμβολισμοίΣυνολικό κόστος που θα πληρώσει σκ

β) Για την είσοδο του δεδομένου πλ θα γράψω τις δύο επόμενες εντολές:

Ερώτηση [Πόσα είναι τα λεπτά ομιλίας]Κάνε "πλ απάντηση

Για την εμφάνιση του ζητούμενου σκ θα γράψω την εντολή:Ανακοίνωση :σκ

Προτεινόμενες ασκήσεις προσδιορισμού και συμβολισμού δεδομένων και ζητούμενων

- 20 -

Page 21: Ασκήσεις στο σχεδιασμό βάσεων δεδομένων6gym-ag-dimitr.att.sch.gr/autosch/joomla15/images... · Web viewΣημειώσεις Πληροφορικής

Σημειώσεις Πληροφορικής Γ΄γυμνασίου θεωρία και ασκήσεις 2014-15

Για τα επόμενα προβλήματα να προσδιορίσετε και να συμβολίσετε τα δεδομένα και τα ζητούμενα. Επίσης να γράψετε τις απαραίτητες εντολές εισόδου για ένα δεδομένο και εξόδου για ένα ζητούμενο. 1) Να γράψετε πρόγραμμα με όνομα μισθός που θα σας ζητά να πληκτρολογήσετε πόσες ημέρες δούλεψε ένας εργαζόμενος, πόσα χρήματα παίρνει κάθε ημέρα (ημερομίσθιο), πόσα χρήματα είναι οι κρατήσεις για φόρο και πόσα χρήματα είναι οι κρατήσεις για ΙΚΑ. Το πρόγραμμα να υπολογίζει και να εμφανίζει τις μικτές αποδοχές (ημέρες δουλειάς x ημερομίσθιο), το σύνολο των κρατήσεων φόρου και ΙΚΑ και τις καθαρές αποδοχές (μικτές αποδοχές – σύνολο κρατήσεων).

2) Να γράψετε πρόγραμμα που να ζητά να πληκτρολογήσετε τη βάση και το ύψος ενός ορθογωνίου και να εμφανίζει το εμβαδόν του και τη περίμετρό του.

Β) Ασκήσεις συμπλήρωσης πίνακα τιμών των μεταβλητών δοσμένου προγράμματος.1) Να φτιάξετε πίνακα τιμών για το παρακάτω πρόγραμμα:Για πίνακας1 Κάνε "α 5 Κάνε "β 4 Κάνε "γ :α + :β * 2 Κάνε "γ :γ - :α Κάνε "β :β + 3 * :γ Κάνε "α :γ + :β * 3 - :ατέλος

2) Να φτιάξετε πίνακα τιμών για το επόμενο πρόγραμμα:

Για πίνακας2 Ερώτηση [Πληκτρολόγησε τον αριθμό καταλόγου σου] Κάνε "α απάντηση Κάνε "β 3 Κάνε "α :α + 7 Κάνε "β :β - :α Κάνε "χ :α Επανάλαβε 3 [ κάνε "α :α + :χ κάνε "β :β + :α κάνε "χ :χ + 2 ] Κάνε "α :χ + 3 Κάνε "β :χτέλος

- 21 -

Αν ο χρήστης πληκτρολογήσει σαν αριθμό καταλόγου του το 8, τότε η μεταβλητή α θα πάρει τη τιμή 8.

α β χ8 315

-1215

30 18 1747 65 1966 131 2124 21

α β γ5 4 13

828

87