Τρίτη 20 Ιανουαρίου 2026

«Είσαι νεκρός;»: Η viral εφαρμογή για νέους που ζουν μόνοι

 «Είσαι νεκρός;»: Η viral εφαρμογή για νέους που ζουν μόνοι - ΤΟ ΒΗΜΑ

Σχολεία: Υποχρεωτική η καθολική προσβασιμότητα σε όλους τους ιστοτόπους

 Σχολεία: Υποχρεωτική η καθολική προσβασιμότητα σε όλους τους ιστοτόπους | Alfavita

Πράξεις με αριθμούς που δίνει ο χρήστης

 Αφού είδαμε τον τρόπο να μετράμε το πλήθος, μπορούμε τώρα να δοκιμάσουμε και άλλες πράξεις.

Ας υποθέσουμε ότι θέλουμε να αθροίσουμε όσους αριθμούς δίνει ο χρήστης.

Προφανώς αντί να προσθέτουμε στην παλιά τιμή της μεταβλητής το 1, όπως κάναμε στο πλήθος, θα προσθέτουμε την νέα τιμή της μεταβλητής που δίνει ο χρήστης:

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

s=0

Κατόπιν, αρχίζει ο βρόχος (επανάληψη) και το πρόγραμμα διαβάζει αριθμούς από τον χρήστη.

Κάθε φορά, εκτελείτε η πράξη: 

s+=x

Δηλαδή, s=s+x


Δηλαδή, η νέα τιμή του s ισούται με την παλιά συν την νέα που έδωσε ο χρήστης.

Πρώτα εκτελείται η πράξη δεξιά και κατόπιν αποθηκεύεται στην μεταβλητή s.






Με βάση τα παραπάνω πώς θα υπολογίζατε την διαφορά (-) των αριθμών που δίνει ο χρήστης;

Πώς θα υπολογίσετε το γινόμενο (*); (προσοχή στην αρχική τιμή της μεταβλητής)

Ασκήσεις

1. Να γραφεί πρόγραμμα που θα διαβάζει 5 ακεραίους από τον χρήστη και θα υπολογίζει το άθροισμά των θετικών μόνο.

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

3. Να γραφεί πρόγραμμα που να διαβάζει 5 βαθμούς που δίνει ο χρήστης και υπολογίζει τον μέσο όρο τους ( ΜΟ= (άθροισμα βαθμών)/(πλήθος βαθμών) )

Δευτέρα 19 Ιανουαρίου 2026

Δομή Επανάληψης με γνωστό αριθμό επαναλήψεων (For)

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


Το πρόγραμμα φαίνεται παρακάτω: 







To for i in range(5): εξασφαλίζει ότι οι εντολές μέσα του θα εκτελεστούν 5 φορές (η μεταβλητή i παίρνει τιμές από 0 ως και 4).

Προσέξτε ότι στον κώδικα (κείμενο) μετά το for οι εντολές που θα εκτελεστούν πολλές φορές μέσα στον βρόχο (επανάληψη)  έχουν μία εσοχή από αριστερά
Το print  δεν έχει εσοχή, που σημαίνει ότι θα εκτελεστεί μετά την ολοκλήρωση των 5 επαναλήψεων και θα εμφανίσει μία φορά και μόνη το τελικό αποτέλεσμα.

Όταν μιλάγαμε για απόδοση τιμής σε μεταβλητή, χρησιμοποιήσαμε το:


Αυτό στη γραμμή εντολής γράφεται x=0.
Αν ερευνήσουμε τι υπάρχει στο μεσαίο βελάκι θα δούμε : + =, - =
Είναι σα να γράφουμε: c=c+1
Δηλαδή, η μεταβλητή c παίρνει μία νέα τιμή που προκύπτει από την παλιά που είχε το c, προσθέτοντας το  1.
Πρώτα κάνει την πράξη που βρίσκεται δεξιά από το ίσον και μετά καταχωρεί στην μεταβλητή c το αποτέλεσμα.

Για να γίνει κατανοητό, ας γράψουμε ένα πρόγραμμα που να μετράει το πλήθος των θετικών αριθμών που δίνει ένας χρήστης.
Κάθε φορά που ψάχνουμε πλήθος, βάζουμε αρχική τιμή στο c το 0 (αρχικά έχει δώσει μηδέν αριθμούς ο χρήστης)
Κατόπιν, ξεκινά μία δομή επανάληψης (for), ας πούμε, 5 επαναλήψεων.
Ζητάει από τον χρήστη να δώσει ένα πραγματικό αριθμό, τον οποίον αποθηκεύει στο x
Ελέγχει (Δομή επιλογής - if) αν ο αριθμός είναι μεγαλύτερος από το 0.
Αν ναι, αυξάνει το χ κατά έναc=c+1.

Τέλος, εμφανίζει το πλήθος (c)






Ασκήσεις

1. Να γραφεί πρόγραμμα που να διαβάζει 5 ηλικίες και να εμφανίζει πόσα άτομα (πλήθος) είναι ενήλικα.
2. Να γραφεί πρόγραμμα που να διαβάζει 5 βαθμούς και να εμφανίζει πόσοι είναι κάτω από την βάση (10)
3. Να γραφεί πρόγραμμα που να διαβάζει 5 αριθμούς συνολικών απουσιών μαθητών και να εμφανίζει πόσοι επαναλαμβάνουν την τάξη λόγω απουσιών.
4. Να γραφεί πρόγραμμα που να διαβάζει τις θερμοκρασίες 5 ημερών του χειμώνα και να εμφανίζει το πλήθος των ημερών με παγετό (<=0 C)
5. Να γραφεί πρόγραμμα που να διαβάζει ονόματα (με κεφαλαία ελληνικά, π.χ. ΓΙΩΡΓΟΣ) και να μετράει πόσα άτομα ονομάζονται "ΜΑΡΙΑ"

Χρησιμοποιώντας λογικούς τελεστές (NOT, AND, OR)

 

Ή λογική πράξη με  AND για να είναι αληθής πρέπει να ισχύουν (αληθείς) όλες συνθήκες που περιέχει.
Για παράδειγμα, αν οι απουσίες του μαθητή είναι μικρότερες από 114 και ο μέσος όρος μεγαλύτερος του 10, τότε ο μαθητής προάγεται.

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


Στον λογικό τελεστή OR (Ή) αν μία από τις δύο συνθήκες ή και οι δύο είναι αληθείς (ισχύουν) τότε το αποτέλεσμα της λογικής πράξης είναι αληθές. Το αποτέλεσμα θα είναι ψευδές μόνο όταν όλες οι συνθήκες είναι ψευδείς (δεν ισχύουν).

Για παράδειγμα, δίνεται το πρόγραμμα που διαβάζει τον μέσο όρο των βαθμών και παρουσιάζει τον χαρακτηρισμό "Προάγεται" ή "Απορρίπτεται" ανάλογα αν ο μέσος όρος είναι μεγαλύτερος ή μικρότερος του 10 αντίστοιχα. Αν ένας χρήστης, κατά λάθος, δώσει έναν βαθμό έξω από την περιοχή 0-20 (π.χ. 345), τότε το πρόγραμμα θα πρέπει να ενημερώσει τον χρήστη σχετικά: 





Οι λογικοί τελεστές έχουν την εξής προτεραιότητα εκτέλεσης :

  1) NOT (OXI) 2) AND (KAI) 3) OR(Ή).

Φυσικά, οι πράξεις μέσα σε παρενθέσεις εκτελούνται πρώτες.

Παράδειγμα: (A or B) and

Θα εκτελεστεί πρώτα το 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 εξασφαλίζει ότι η προηγούμενη συνθήκη δεν ισχύει!
Π.χ. εκεί που ελέγχει αν έδωσες 2, έχει εξασφαλιστεί ότι δεν έδωσες 1.

Ασκήσεις

1. Να γραφεί πρόγραμμα που να διαβάζει έναν πραγματικό αριθμό και να εμφανίζει αν είναι θετικός, αρνητικός ή μηδέν

2. Να γραφεί πρόγραμμα που να διαβάζει έναν βαθμό από 1 ως 20 και να εμφανίζει τον χαρακτηρισμό βαθμολογίας όπως παρακάτω: 

    

Χαρακτηρισμός

Βαθμολογικό Εύρος (Γ.Μ.Ο.)

Άριστα

18,5 έως 20

Πολύ Καλά

15 έως 18,4

Καλά

10 έως 14,9

Απορρίπτεται

Μικρότερο του 10


3. Να γραφεί πρόγραμμα που να διαβάζει δύο αριθμούς και το σύμβολο της πράξης (+,-,*,/) και να εμφανίζει το αποτέλεσμα.


Παρασκευή 16 Ιανουαρίου 2026

Δομή Επιλογής If

 Κάποιες φορές το αποτέλεσμα του προγράμματος είναι τελείως διαφορετικό, αναλόγως αν ισχύει ή όχι μία συνθήκη. Τότε χρησιμοποιούμε   την δομή επιλογής:


Δομή Απλής Επιλογής


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

Δομή σύνθετης επιλογής

Στην δομή σύνθετης επιλογής προσθέτουμε κάποιες εντολές που οφείλει να εκτελέσει το πρόγραμμα, όταν ΔΕΝ ισχύει η συνθήκη που εξετάζουμε:

Για παράδειγμα,  αν η ηλικία του είναι μεγαλύτερη ή ίση του 18, να εμφανίζει "Ανήλικος", αλλιώς να εμφανίζει "Ενήλικος".

Ή αν κάποιος έχει μέσο όρο βαθμών μεγαλύτερο ή ίσο του 10,  να εμφανίζει "Προάγεται", αλλιώς "Απορρίπτεται".

To τελευταίο παράδειγμα στο Edublocks υλοποιείται ως εξής:






Είναι προφανές ότι αν ισχύει η συνθήκη μέσα στο if (MO>=10),  τότε εκτελούνται οι εντολές μέσα στο if, αν δεν ισχύει, εκτελούνται οι εντολές που βρίσκονται στο else.


Ήδη χρησιμοποιήσαμε έναν Σχεσιακό (ή συγκριτικό) Τελεστή, το  >= .

Οι σχεσιακοί τελεστές παίρνουν μόνο δύο τιμές: Αληθής - Ψευδής, True- False, ανάλογα αν ισχύει ή όχι η συνθήκη που περιγράφουν.

Στο συγκεκριμένο παράδειγμα ο χρήστης ή δίνει ΜΟ >=10 ή όχι. Δεν υπάρχει άλλη περίπτωση.



Προσέξτε ότι όταν ελέγχουμε αν είναι ίσο βάζουμε = = και όταν ελέγχουμε αν είναι διάφορο από, βάζουμε != (όχι ίσο).
Δηλαδή: 
Αν γράψουμε  χ=5, καταχωρούμε στην μεταβλητή χ τον αριθμό 5
Αν γράψουμε χ = =5, ελέγχουμε αν η τιμή της μεταβλητής ισούται με 5.
Αν γράψουμε χ != 5, ελέγχουμε αν η τιμή του χ ισούται με 5

Ασκήσεις

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()



Το αποτέλεσμα είναι: 20202020.
Δηλαδή τέσσερις φορές το 20, επομένως βλέπει το 20 ως αλφαριθμητικό (χαρακτήρες -  string) και όχι ως αριθμό, ώστε να εμφανίσει το αποτέλεσμα της πράξης.


Μάλιστα, με την συνάρτηση len() μπορούμε να μετρήσουμε (σε περιβάλλον γραμμής εντολής) το πλήθος των χαρακτήρων μιας αλφαριθμητικής τιμής: print(len("Λιλιπούπολη")).
H εντολή αυτή ουσιαστικά παρουσιάζει πόσους χαρακτήρες έχει το "Λιλιπούπολη", επομένως το αποτέλεσμα είναι 11.

Αν θέλουμε να μετρήσουμε το πλήθος των χαρακτήρων του προηγούμενου παραδείγματος (20202020), γράφουμε: 
print(len(str(20)*4));

Το αποτέλεσμα είναι 8.


Ασκήσεις:

1, Να γραφεί πρόγραμμα που να διαβάζει δύο μεταβλητές (βάση και ύψος τριγώνου) και να υπολογίζει το εμβαδόν τριγώνου: 

2. Να γραφεί πρόγραμμα που να διαβάζει δύο αριθμούς x,y από το πληκτρολόγιο και να υπολογίζει το μέσο όρο τους:

Ελέγξτε αν το αποτέλεσμα είναι σωστό. Αν όχι, χρησιμοποιείστε σωστά την προτεραιότητα πράξεων (παρενθέσεις).


3. Υπολογίστε  τον όγκο της σφαίρας σύμφωνα με τον τύπο:

4. Υπολογίστε το μήκος της διεύθυνσης: "Πατησίων 327, 11123, Αθήνα"







Η φωτογραφία αυτή δεν προέρχεται από το Ιράν αλλά από τον Καναδά - ELLINIKA HOAXES

 Η φωτογραφία αυτή δεν προέρχεται από το Ιράν αλλά από τον Καναδά - ELLINIKA HOAXES