Ετικέτες
- A ΓΥΜΝΑΣΙΟΥ
- Arduino
- Moon Camp Challenge- ESA
- PROJECT
- PYTHON
- PYTHON B ΕΠΑΛ
- ΑΕΠΠ
- Β ΓΥΜΝΑΣΙΟΥ
- ΒΑΣΙΚΑ ΘΕΜΑΤΑ ΠΛΗΡΟΦΟΡΙΚΗΣ
- Γ ΓΥΜΝΑΣΙΟΥ
- ΕΚΠΑΙΔΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ
- ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α
- Εγκατάσταση
- Νέα της Τεχνολογίας
- ΠΟΛΥΜΕΣΑ - ΔΚΤΥΑ Γ
- Πληροφοριακά Συστήματα σε Επιχειρήσεις και Οργανισμούς
- ΣΥΣΤ. ΔΙΑΧ. ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ
- ΣΧ. ΚΑΙ ΑΝ. ΙΣΤΟΤΟΠΩΝ
- ΣΧ. ΚΑΙ ΑΝ. ΙΣΤΟΤΟΠΩΝ Γ ΕΠΑΛ
- Τεχνητή Νοημοσύνη στην Εκπαίδευση
- Υλικο και Δίκτυα Η/Υ Β ΕΠΑΛ
- διαχ. και συντήρηση Υ.Σ.
Παρασκευή 8 Μαΐου 2026
Internet Security Puzzle
Πέμπτη 22 Ιανουαρίου 2026
Επανάλαβε όσο ισχύει μια συνθήκη (While)
Είναι φορές που δεν γνωρίζουμε από πριν πόσες φορές είναι αναγκαίο να εκτελεστούν οι εντολές που βρίσκονται μέσα σε ένα βρόχο (επανάληψη).
Παράδειγμα: Έστω ότι θέλουμε να δίνουμε βαθμούς μαθητών και το πρόγραμμα να εμφανίζει αν ο μαθητής Προάγεται ή Απορρίπτεται.
Ωστόσο δεν ξέρουμε πόσοι είναι οι μαθητές, ώστε να χρησιμοποιήσουμε το For!
Για το λόγο αυτό χρησιμοποιούμε την εντολή While (όσο) η οποία εκτελεί τις εντολές μέσα στο βρόχο (επανάληψη) όσο ισχύει μια συνθήκη.
Όταν η συνθήκη πάψει να ισχύει, οι εντολές σταματούν να εκτελούνται.
Στις περιπτώσεις αυτές, χρησιμοποιούμε για τερματισμό μία τιμή που είναι αδύνατον να είναι στα δεδομένα που ζητάμε. Είναι η συνθήκη τερματισμού.
Στην περίπτωση των βαθμών, μπορεί να μπει ως συνθήκη τερματισμού ο αριθμός -999, που είναι αδύνατο να είναι βαθμός.
Μόλις ο χρήστης δώσει το -999, δεν εκτελείται η επανάληψη, οπότε δεν βγαίνει μήνυμα αν Προάγεται ή απορρίπτεται.
Το πρόγραμμα φαίνεται παρακάτω:
Προσοχή! Εξυπακούεται ότι πριν το While, η μεταβλητή που καταχωρεί τους βαθμούς πρέπει να έχει τιμή. Για τον λόγο αυτό, μπαίνει το πρώτο Input πριν το While.
Επίσης, όταν τελειώνουν οι εντολές της επανάληψης, πρέπει να δοθεί η επόμενη τιμή βαθμού, γι αυτό στο τέλος του βρόχου μπαίνει το Input.
Σερ περίπτωση που διαβάζει χαρακτήρες (π.χ. ονόματα ή διευθύνσεις) μπορεί να χρησιμοποιηθεί ως συνθήκη τερματισμού η λέξη "ΤΕΛΟΣ"
Ασκήσεις:
1. Να γραφεί πρόγραμμα που να διαβάζει συνεχώς αριθμό απουσιών και να εμφανίζει αν ο μαθητής
απορρίπτεται λόγω απουσιών ή προάγεται. Να τελειώνει όταν ο χρήστης δώσει για αριθμό απουσιών το -999.
2. Να γραφεί πρόγραμμα που να διαβάζει ηλικίες που δίνει ο χρήστης και να εμφανίζει το πλήθος των ατόμων που είναι ανήλικα. Να τελειώνει η επανάληψη όταν δοθεί ως ηλικία το -999. (Προσοχή! Το πλήθος θα εμφανιστεί μία φορά στο τέλος, όχι κάθε φορά που δίνει ηλικία ο χρήστης).
3. Να γραφεί πρόγραμμα που να διαβάζει αν ο κάθε μαθητής επέλεξε "ΓΑΛΛΙΚΑ" ή "ΓΕΡΜΑΝΙΚΑ" και να μετρά το πλήθος των μαθητών που επέλεξαν "ΓΑΛΛΙΚΑ". Το πρόγραμμα θα τελειώνει όταν ο χρήστης δώσει το "ΤΕΛΟΣ" ως επιλογή.
4. Να γραφεί πρόγραμμα που να διαβάζει αν ο μαθητής είναι "ΑΓΟΡΙ" ή "ΚΟΡΙΤΣΙ" και να εμφανίζει στο τέλος το πλήθος των αγοριών και το πλήθος των κοριτσιών. Συνθήκη τερματισμού το "ΤΕΛΟΣ"
Τρίτη 20 Ιανουαρίου 2026
Πράξεις με αριθμούς που δίνει ο χρήστης
Αφού είδαμε τον τρόπο να μετράμε το πλήθος, μπορούμε τώρα να δοκιμάσουμε και άλλες πράξεις.
Ας υποθέσουμε ότι θέλουμε να αθροίσουμε όσους αριθμούς δίνει ο χρήστης.
Προφανώς αντί να προσθέτουμε στην παλιά τιμή της μεταβλητής το 1, όπως κάναμε στο πλήθος, θα προσθέτουμε την νέα τιμή της μεταβλητής που δίνει ο χρήστης:
Αρχικά, χρησιμοποιούμε μία μεταβλητή s, στην οποία δίνουμε τιμή ίση με 0 (έχει δώσει 0 αριθμούς ο χρήστης)
s=0
Κατόπιν, αρχίζει ο βρόχος (επανάληψη) και το πρόγραμμα διαβάζει αριθμούς από τον χρήστη.
Κάθε φορά, εκτελείτε η πράξη:
s+=x
Δηλαδή, s=s+x
Δηλαδή, η νέα τιμή του s ισούται με την παλιά συν την νέα που έδωσε ο χρήστης.
Πρώτα εκτελείται η πράξη δεξιά και κατόπιν αποθηκεύεται στην μεταβλητή s.
Με βάση τα παραπάνω πώς θα υπολογίζατε την διαφορά (-) των αριθμών που δίνει ο χρήστης;
Πώς θα υπολογίσετε το γινόμενο (*); (προσοχή στην αρχική τιμή της μεταβλητής)
Ασκήσεις
1. Να γραφεί πρόγραμμα που θα διαβάζει 5 ακεραίους από τον χρήστη και θα υπολογίζει το άθροισμά των θετικών μόνο.
2. Να γραφεί πρόγραμμα που θα διαβάζει 5 πραγματικούς που δίνει ο χρήστης και θα υπολογίζει το γινόμενο των αρνητικών.
3. Να γραφεί πρόγραμμα που να διαβάζει 5 βαθμούς που δίνει ο χρήστης και υπολογίζει τον μέσο όρο τους ( ΜΟ= (άθροισμα βαθμών)/(πλήθος βαθμών) )
Δευτέρα 19 Ιανουαρίου 2026
Δομή Επανάληψης με γνωστό αριθμό επαναλήψεων (For)
Χρησιμοποιώντας λογικούς τελεστές (NOT, AND, OR)
Ή λογική πράξη με AND για να είναι αληθής πρέπει να ισχύουν (αληθείς) όλες συνθήκες που περιέχει.
Για παράδειγμα, αν οι απουσίες του μαθητή είναι μικρότερες από 114 και ο μέσος όρος μεγαλύτερος του 10, τότε ο μαθητής προάγεται.
Αν μία από τις δύο ή και οι δύο παραπάνω συνθήκες είναι ψευδείς, τότε η το αποτέλεσμα είναι ψευδές (ο μαθητής απορρίπτεται)
Στον λογικό τελεστή OR (Ή) αν μία από τις δύο συνθήκες ή και οι δύο είναι αληθείς (ισχύουν) τότε το αποτέλεσμα της λογικής πράξης είναι αληθές. Το αποτέλεσμα θα είναι ψευδές μόνο όταν όλες οι συνθήκες είναι ψευδείς (δεν ισχύουν).
Για παράδειγμα, δίνεται το πρόγραμμα που διαβάζει τον μέσο όρο των βαθμών και παρουσιάζει τον χαρακτηρισμό "Προάγεται" ή "Απορρίπτεται" ανάλογα αν ο μέσος όρος είναι μεγαλύτερος ή μικρότερος του 10 αντίστοιχα. Αν ένας χρήστης, κατά λάθος, δώσει έναν βαθμό έξω από την περιοχή 0-20 (π.χ. 345), τότε το πρόγραμμα θα πρέπει να ενημερώσει τον χρήστη σχετικά:
Οι λογικοί τελεστές έχουν την εξής προτεραιότητα εκτέλεσης :
1) NOT (OXI) 2) AND (KAI) 3) OR(Ή).
Φυσικά, οι πράξεις μέσα σε παρενθέσεις εκτελούνται πρώτες.
Παράδειγμα: (A or B) and C
Θα εκτελεστεί πρώτα το OR στις παρενθέσεις και μετά το AND
Ασκήσεις
1. Ένα θέατρο κάνει έκπτωση σε ανήλικους ή φοιτητές. Να γραφεί πρόγραμμα που να διαβάζει την ηλικία και να εμφανίζει ερώτηση αν είναι φοιτητής, περιμένοντας απάντηση ΝΑΙ/ΟΧΙ.
Αν ισχύει το ένα ή το άλλο ή και τα δύο, να εμφανίζει μήνυμα "Έχεις έκπτωση 20%".
2. Να γραφεί πρόγραμμα που να διαβάζει το Username και το Password και αν το username είναι "Giorgos_N" ΚΑΙ το password είναι "i0La0s!", να εμφανίζει "Καλώς ήρθες!", αλλιώς να εμφανίζει "Λάθος Username ή Password")
3. Nα γραφεί πρόγραμμα που να δημιουργεί ένα τεστ γνώσεων. Να δέχεται την σωστή απάντηση με διάφορες εναλλακτικές που πιθανόν να γράψει ο χρήστης. Παράδειγμα:
Να εμφανίζει την ερώτηση: "Ποιος ήταν ο ήρωας της Οδύσσειας;"
Να εμφανίζει "Σωστά!" αν ο χρήστης γράψει "Οδυσσέας" Ή "Οδυσσεας" Ή "ΟΔΥΣΣΕΑΣ"
Αλλιώς να εμφανίζει "Λάθος"
Να έχει 5 διαφορετικές ερωτήσεις
4. Να γραφεί πρόγραμμα που να διαβάζει έναν βαθμό μόνο αν αυτός είναι μικρότερος ή ίσος του 20 ΚΑΙ μεγαλύτερος ή ίσος του 0, διαφορετικά να εμφανίζει μήνυμα λάθους. Αν είναι στην σωστή περιοχή τιμών, να εμφανίζει "Προάγεται" αν είναι μεγαλύτερος ή ίσος του 10 και "Απορρίπτεται" αν είναι μικρότερος του 10.
Δομή πολλαπλών επιλογών
Υπάρχει περίπτωση να μην πρέπει να εξεταστούν δύο μόνο περιπτώσεις, αλλά πολλές.
Για παράδειγμα, χρειάζεται να γραφεί ένα πρόγραμμα που να διαβάζει από το πληκτρολόγιο έναν αριθμό από 1 ως το 4 και να εμφανίζει την κατάλληλη εποχή. Δηλαδή, αν είναι είναι 1 να εμφανίζει "Άνοιξη", 2 "Καλοκαίρι", κ.ο.κ. Διαφορετικά να βγαίνει μήνυμα "Λάθος Αριθμός"
Προσοχή! Το elif εξασφαλίζει ότι η προηγούμενη συνθήκη δεν ισχύει!
Ασκήσεις
|
Χαρακτηρισμός |
Βαθμολογικό
Εύρος (Γ.Μ.Ο.) |
|
Άριστα |
18,5
έως 20 |
|
Πολύ
Καλά |
15
έως 18,4 |
|
Καλά |
10
έως 14,9 |
|
Απορρίπτεται |
Μικρότερο
του 10 |
3. Να γραφεί πρόγραμμα που να διαβάζει δύο αριθμούς και το σύμβολο της πράξης (+,-,*,/) και να εμφανίζει το αποτέλεσμα.
Παρασκευή 16 Ιανουαρίου 2026
Δομή Επιλογής If
Κάποιες φορές το αποτέλεσμα του προγράμματος είναι τελείως διαφορετικό, αναλόγως αν ισχύει ή όχι μία συνθήκη. Τότε χρησιμοποιούμε την δομή επιλογής:
Δομή Απλής Επιλογής
Δομή σύνθετης επιλογής
Στην δομή σύνθετης επιλογής προσθέτουμε κάποιες εντολές που οφείλει να εκτελέσει το πρόγραμμα, όταν ΔΕΝ ισχύει η συνθήκη που εξετάζουμε:
Για παράδειγμα, αν η ηλικία του είναι μεγαλύτερη ή ίση του 18, να εμφανίζει "Ανήλικος", αλλιώς να εμφανίζει "Ενήλικος".
Ή αν κάποιος έχει μέσο όρο βαθμών μεγαλύτερο ή ίσο του 10, να εμφανίζει "Προάγεται", αλλιώς "Απορρίπτεται".
To τελευταίο παράδειγμα στο Edublocks υλοποιείται ως εξής:
Είναι προφανές ότι αν ισχύει η συνθήκη μέσα στο if (MO>=10), τότε εκτελούνται οι εντολές μέσα στο if, αν δεν ισχύει, εκτελούνται οι εντολές που βρίσκονται στο else.
Ήδη χρησιμοποιήσαμε έναν Σχεσιακό (ή συγκριτικό) Τελεστή, το >= .
Οι σχεσιακοί τελεστές παίρνουν μόνο δύο τιμές: Αληθής - Ψευδής, True- False, ανάλογα αν ισχύει ή όχι η συνθήκη που περιγράφουν.
Στο συγκεκριμένο παράδειγμα ο χρήστης ή δίνει ΜΟ >=10 ή όχι. Δεν υπάρχει άλλη περίπτωση.
Προσέξτε ότι όταν ελέγχουμε αν είναι ίσο βάζουμε = = και όταν ελέγχουμε αν είναι διάφορο από, βάζουμε != (όχι ίσο).
Ασκήσεις
1. Να γραφεί πρόγραμμα που θα διαβάζει την ηλικία και θα εμφανίζει αν ο άνθρωπος είναι ανήλικος ή ενήλικος
2. Να γραφεί πρόγραμμα που θα διαβάζει το σύνολο των απουσιών ενός μαθητή και θα εμφανίζει αν προάγεται, εφόσον οι απουσίες είναι λιγότερες από 114 ή αλλιώς θα εμφανίζει "Απορρίπτεται λόγω απουσιών"
3. Να γραφεί πρόγραμμα που να διαβάζει δύο αριθμούς x,y και θα εμφανίζει τον μεγαλύτερο.
4. Να γραφεί πρόγραμμα που να καταχωρεί τιμές σε δύο μεταβλητές x,y. Να ελέγχει αν το χ είναι διάφορο του μηδενός και αν είναι, να εκτελεί την διαίρεση: z=x/y. Διαφορετικά, να εμφανίζει το μήνυμα: "Η διαίρεση είναι αδύνατη!"
Τρίτη 13 Ιανουαρίου 2026
Δίνοντας τιμές μεταβλητών ο χρήστης από το πληκτρολόγιο
Ο χρήστης μπορεί να δίνει από το πληκτρολόγιο τιμές στις μεταβλητές.
Αυτό γίνεται χρησιμοποιώντας το :
Αυτό βρίσκεται στην κατηγορία !Statements.
Ωστόσο αν επιχειρήσετε απλοϊκά να γράψετε τον κώδικα:
θα δείτε ότι αφού δώσετε τιμές από το πληκτρολόγιο για το x και το y, θα βγάλει το σφάλμα: TypeError: not all arguments converted during string formatting
Αυτό σημαίνει ότι η python θεωρεί τις τιμές που δώσατε χαρακτήρες και όχι αριθμούς.
Άρα πρέπει να ενημερωθεί η Python εξαρχής για τον τύπο της μεταβλητής.
Αυτό θα γίνει με την εντολή :
από τα !Statements.
Οπότε προκύπτει:
H συνάρτηση float() εξασφαλίζει ότι οτιδήποτε πληκτρολογείται ως τιμή για το x, θα μετατραπεί πρώτα σε πραγματικό αριθμό και κατόπιν θα αποθηκευτεί στην μεταβλητή x.
Αν θέλαμε να την μετατρέψουμε σε ακέραιο αριθμό (integer), θα χρησιμοποιούσαμε την συνάρτηση int()
Από την άλλη, μπορούμε να μετατρέψουμε έναν αριθμό σε κείμενο με την συνάρτηση str()
Ασκήσεις:
1, Να γραφεί πρόγραμμα που να διαβάζει δύο μεταβλητές (βάση και ύψος τριγώνου) και να υπολογίζει το εμβαδόν τριγώνου:
3. Υπολογίστε τον όγκο της σφαίρας σύμφωνα με τον τύπο:
Μεταβλητές
Ασκήσεις
*Βιβλιοθήκη στον προγραμματισμό είναι ένα σύνολο από προγράμματα που κάποιος άλλος προγραμματιστής έχει γράψει πριν από εσένα, τα έχει ελέγξει ότι δουλεύουν σωστά και τα προσφέρει δωρεάν για να τα χρησιμοποιήσεις.