📚 Οδηγίες για τις Ασκήσεις
- Κάθε άσκηση έχει επίπεδο δυσκολίας (Εύκολη, Μέτρια, Δύσκολη)
- Διάβασε προσεκτικά την εκφώνηση
- Χρησιμοποίησε τις βοηθητικές υποδείξεις αν χρειαστείς
- Προσπάθησε να λύσεις την άσκηση μόνος σου πρώτα
- Στη συνέχεια δες τη λύση και σύγκρινε με το δικό σου κώδικα
📦 Κεφάλαιο 1: Μεταβλητές και Τύποι Δεδομένων
📝 Εκφώνηση:
Δημιούργησε μεταβλητές για τα εξής προσωπικά σας στοιχεία:
- Όνομα (string)
- Επώνυμο (string)
- Ηλικία (integer)
- Μέσος όρος βαθμολογίας (float)
- Είμαι φοιτητής (boolean)
Εμφάνισε όλες τις πληροφορίες στην οθόνη με την echo.
- Οι μεταβλητές ξεκινούν με το σύμβολο $
- Χρησιμοποίησε διπλά εισαγωγικά " " για strings
- Για boolean χρησιμοποίησε true ή false
- Χρησιμοποίησε την τελεία (.) για να ενώσεις κείμενα
Το πρόγραμμα θα πρέπει να εμφανίσει:
- Τίτλο "Τα Στοιχεία μου"
- Όνομα: (το όνομά σας)
- Επώνυμο: (το επώνυμό σας)
- Ηλικία: (η ηλικία σας) χρονών
- Μέσος Όρος: (ο μέσος όρος σας)
- Κατάσταση: Φοιτητής (ή Όχι φοιτητής)
📝 Εκφώνηση:
Δημιούργησε τις παρακάτω μεταβλητές και χρησιμοποίησε τη συνάρτηση var_dump() για να δεις τον τύπο και την τιμή τους:
- Ένας θετικός ακέραιος αριθμός
- Ένας αρνητικός ακέραιος αριθμός
- Ένας δεκαδικός αριθμός
- Ένα κενό string
- Μια τιμή null
- Η var_dump() εμφανίζει τον τύπο και την τιμή
- Για κενό string χρησιμοποίησε ""
- Για null χρησιμοποίησε τη λέξη-κλειδί null
Για κάθε μεταβλητή θα εμφανιστεί:
- Θετικός αριθμός: int(42)
- Αρνητικός αριθμός: int(-15)
- Δεκαδικός αριθμός: float(3.14)
- Κενό string: string(0) ""
- Null τιμή: NULL
🔢 Κεφάλαιο 2: Τελεστές
📝 Εκφώνηση:
Φτιάξε έναν υπολογιστή που:
- Έχει την τιμή ενός προϊόντος: 100€
- Έχει ποσοστό έκπτωσης: 20%
- Υπολογίζει το ποσό της έκπτωσης
- Υπολογίζει την τελική τιμή
- Εμφανίζει όλες τις πληροφορίες
- Έκπτωση = τιμή * (ποσοστό / 100)
- Τελική τιμή = τιμή - έκπτωση
- Χρησιμοποίησε τους τελεστές *, /, -
Το πρόγραμμα θα εμφανίσει:
- Αρχική τιμή: €100
- Έκπτωση: 20%
- Ποσό έκπτωσης: €20
- Τελική τιμή: €80
📝 Εκφώνηση:
Δημιούργησε δύο μεταβλητές με αριθμούς και:
- Έλεγξε αν είναι ίσοι
- Έλεγξε ποιος είναι μεγαλύτερος
- Έλεγξε ποιος είναι μικρότερος
- Εμφάνισε τα αποτελέσματα με var_dump()
Παράδειγμα: $a = 15, $b = 20
Για $a = 15 και $b = 20:
- Είναι ίσοι; bool(false)
- Το 15 είναι μεγαλύτερο από το 20; bool(false)
- Το 15 είναι μικρότερο από το 20; bool(true)
- Το 15 είναι μικρότερο ή ίσο με το 20; bool(true)
🔀 Κεφάλαιο 3: Δομές Ελέγχου
📝 Εκφώνηση:
Φτιάξε ένα πρόγραμμα που:
- Έχει μια μεταβλητή $grade με βαθμό (0-100)
- Ελέγχει τον βαθμό και εμφανίζει μήνυμα:
- 90-100: "Άριστα! 🌟"
- 80-89: "Πολύ Καλά! 👍"
- 70-79: "Καλά 👌"
- 50-69: "Μέτρια 😐"
- 0-49: "Απορρίπτεις ❌"
- Χρησιμοποίησε if-elseif-else
- Ξεκίνα από τη μεγαλύτερη τιμή (90) και πήγαινε προς τα κάτω
- Χρησιμοποίησε τον τελεστή >= για τις συγκρίσεις
Ανάλογα με τον βαθμό:
- Βαθμός 85: "Βαθμός: 85 - Άριστα! Συγχαρητήρια!"
- Βαθμός 75: "Βαθμός: 75 - Πολύ καλά!"
- Βαθμός 55: "Βαθμός: 55 - Πέρασες!"
- Βαθμός 45: "Βαθμός: 45 - Απέτυχες. Προσπάθησε ξανά."
📝 Εκφώνηση:
Χρησιμοποίησε το switch για να φτιάξεις ένα πρόγραμμα που:
- Έχει μια μεταβλητή $month με αριθμό μήνα (1-12)
- Εμφανίζει το όνομα του μήνα στα ελληνικά
- Εμφανίζει πόσες μέρες έχει ο μήνας
- Για μη έγκυρο αριθμό εμφανίζει μήνυμα λάθους
- Χρησιμοποίησε switch ($month) { case 1: ... }
- Μην ξεχάσεις το break; μετά από κάθε case
- Χρησιμοποίησε default: για μη έγκυρες τιμές
- Ιανουάριος = 31, Φεβρουάριος = 28, κλπ.
Πίνακας αριθμών από 1 έως 10 με τα τετράγωνά τους:
- 1 στο τετράγωνο = 1
- 2 στο τετράγωνο = 4
- 3 στο τετράγωνο = 9
- ... μέχρι το 10 στο τετράγωνο = 100
📝 Εκφώνηση:
Χρησιμοποίησε το for loop για να φτιάξεις τον πίνακα πολλαπλασιασμού του 5:
- Εμφάνισε: 5 x 1 = 5
- 5 x 2 = 10
- ... μέχρι το 5 x 10 = 50
- Χρησιμοποίησε for ($i = 1; $i <= 10; $i++)
- Υπολόγισε το γινόμενο: $result = 5 * $i
- Χρησιμοποίησε <br> για νέα γραμμή
Θα εμφανιστούν μόνο οι άρτιοι αριθμοί από 1 έως 20:
2, 4, 6, 8, 10, 12, 14, 16, 18, 20
📝 Εκφώνηση:
Χρησιμοποίησε το while loop για να:
- Υπολογίσεις το άθροισμα των αριθμών από 1 έως 100
- Εμφανίσεις το τελικό αποτέλεσμα
- Εμφανίσεις πόσες επαναλήψεις έγιναν
- Ξεκίνα με $sum = 0 και $i = 1
- Στο loop: $sum += $i
- Αύξησε το $i σε κάθε επανάληψη
- Συνέχισε μέχρι το $i να γίνει > 100
Με $day = 3 (Τρίτη):
"Σήμερα είναι: Τρίτη"
Για κάθε διαφορετικό αριθμό (1-7) θα εμφανίζεται η αντίστοιχη ημέρα.
⚙️ Κεφάλαιο 4: Συναρτήσεις
📝 Εκφώνηση:
Δημιούργησε συναρτήσεις για τον υπολογισμό εμβαδών:
- calculateRectangleArea($width, $height) - Εμβαδόν ορθογωνίου
- calculateCircleArea($radius) - Εμβαδόν κύκλου (π * r²)
- calculateTriangleArea($base, $height) - Εμβαδόν τριγώνου (β * υ / 2)
Κάλεσε τις συναρτήσεις με παραδείγματα και εμφάνισε τα αποτελέσματα.
- Χρησιμοποίησε return για να επιστρέψεις το αποτέλεσμα
- Για το π χρησιμοποίησε 3.14 ή pi()
- Φόρμουλες: ορθογώνιο = πλάτος * ύψος, κύκλος = π * r², τρίγωνο = (βάση * ύψος) / 2
Λίστα με bullet points:
- Μήλα
- Πορτοκάλια
- Μπανάνες
- Φράουλες
- Σταφύλια
Σύνολο: 5 φρούτα
📝 Εκφώνηση:
Δημιούργησε μια συνάρτηση validatePassword($password) που ελέγχει αν ένας κωδικός είναι ισχυρός:
- Πρέπει να έχει τουλάχιστον 8 χαρακτήρες
- Επιστρέφει true αν ο κωδικός είναι έγκυρος
- Επιστρέφει false αν όχι
Δοκίμασε τη συνάρτηση με διάφορους κωδικούς.
- Χρησιμοποίησε strlen($password) για να βρεις το μήκος
- Σύγκρινε με τον τελεστή >=
- Επίστρεψε boolean τιμή (true/false)
Πίνακας HTML με τα εξής στοιχεία για κάθε φοιτητή:
- Γιώργος - Ηλικία: 22 - Βαθμός: 85
- Μαρία - Ηλικία: 21 - Βαθμός: 92
- Νίκος - Ηλικία: 23 - Βαθμός: 78
📚 Κεφάλαιο 5: Arrays (Πίνακες)
📝 Εκφώνηση:
Δημιούργησε ένα indexed array με προϊόντα για αγορά:
- Τουλάχιστον 5 προϊόντα
- Χρησιμοποίησε foreach για να τα εμφανίσεις σε μια HTML λίστα (<ul><li>)
- Εμφάνισε επίσης πόσα προϊόντα έχεις στη λίστα
- Χρησιμοποίησε $products = ["item1", "item2", ...]
- Χρησιμοποίησε count($products) για το πλήθος
- Χρησιμοποίησε foreach ($products as $product)
Για input $num = 5:
"Το τετράγωνο του 5 είναι: 25"
Για input $num = 7:
"Το τετράγωνο του 7 είναι: 49"
📝 Εκφώνηση:
Δημιούργησε ένα associative array με φοιτητές και βαθμούς:
- Κλειδιά: Ονόματα φοιτητών
- Τιμές: Βαθμοί (0-100)
- Χρησιμοποίησε foreach για να εμφανίσεις όλους τους φοιτητές
- Υπολόγισε και εμφάνισε τον μέσο όρο βαθμολογίας
- Χρησιμοποίησε $students = ["name" => grade, ...]
- Χρησιμοποίησε foreach ($students as $name => $grade)
- Άθροισε όλους τους βαθμούς και διαίρεσε με το πλήθος
- Χρησιμοποίησε round() για στρογγυλοποίηση
Πίνακας πολλαπλασιασμού του 7 (1-10):
- 7 x 1 = 7
- 7 x 2 = 14
- 7 x 3 = 21
- ... μέχρι το 7 x 10 = 70
📝 Εκφώνηση:
Δημιούργησε έναν multidimensional array με προϊόντα που έχουν:
- Όνομα προϊόντος
- Τιμή
- Ποσότητα σε stock
Εμφάνισε τα προϊόντα σε έναν HTML πίνακα και υπολόγισε:
- Συνολική αξία αποθέματος για κάθε προϊόν (τιμή * ποσότητα)
- Συνολική αξία όλων των προϊόντων
- Χρησιμοποίησε array of arrays
- Κάθε προϊόν είναι ένα associative array
- Χρησιμοποίησε foreach μέσα σε HTML table
- Άθροισε τις τιμές σε μια μεταβλητή
Πίνακας HTML με:
- Laptop - €799.99 - 2 τεμάχια - Σύνολο: €1,599.98
- Ποντίκι - €25.50 - 5 τεμάχια - Σύνολο: €127.50
- Πληκτρολόγιο - €59.99 - 3 τεμάχια - Σύνολο: €179.97
ΓΕΝΙΚΟ ΣΥΝΟΛΟ: €1,907.45
🎯 Κεφάλαιο 6: Συνδυαστικές Ασκήσεις
📝 Εκφώνηση:
Δημιούργησε ένα ολοκληρωμένο σύστημα βαθμολόγησης που:
- Έχει array με φοιτητές και βαθμούς τους
- Δημιουργεί συνάρτηση getLetterGrade($score) που μετατρέπει αριθμό σε γράμμα (A, B, C, D, F)
- Εμφανίζει πίνακα με: Όνομα, Βαθμός, Γράμμα
- Υπολογίζει και εμφανίζει:
- Μέσο όρο
- Πλήθος επιτυχόντων (>= 50)
- Πλήθος αποτυχόντων (< 50)
- Χρησιμοποίησε associative array για φοιτητές
- Στη συνάρτηση χρησιμοποίησε if-elseif για γράμματα
- Χρησιμοποίησε μετρητές για πλήθος επιτυχόντων/αποτυχόντων
- 90-100: A, 80-89: B, 70-79: C, 60-69: D, 0-59: F
Πίνακας HTML με στήλες: Όνομα, Βαθμός, Γράμμα, Κατάσταση
Παράδειγμα γραμμών:
- Γιώργος - 92 - A - ✅ Επιτυχία
- Μαρία - 87 - B - ✅ Επιτυχία
- Νίκος - 45 - F - ❌ Αποτυχία
Στατιστικά:
- Μέσος Όρος: 67.5
- Επιτυχόντες: 4 φοιτητές
- Αποτυχόντες: 2 φοιτητές
🎉 Συγχαρητήρια!
Ολοκλήρωσες όλες τις ασκήσεις των κεφαλαίων 4.1 - 4.10!
Επόμενα βήματα:
- Δοκίμασε να λύσεις ξανά τις ασκήσεις χωρίς να κοιτάς τις λύσεις
- Πειραματίσου με τον κώδικα - άλλαξε τιμές και δες τι συμβαίνει
- Προσπάθησε να δημιουργήσεις δικές σου παραλλαγές
- Συνέχισε με το Κεφάλαιο 4.11 και μετά!