====== Άσκηση 5 - Εμφωλιασμένες if ======
* Μέχρι τώρα έχουμε δει τις **writeln** και **readln**, έχουμε κάνει πράξεις και αποθηκεύσαμε τιμές σε μεταβλητές. Είδαμε τέλος πως ελέγχουμε αν ισχύει κάτι με την **if** και **τότε** εκτελούμε κάποιες εντολές **αλλιώς** εκτελούμε άλλες
* Στην νέα άσκηση θα δούμε τα εξής :
* Πως μπορούμε να βάλουμε if μέσα σε if κάνοντας επιπλέον ελέγχους.
* Έστω λοιπόν ότι έχουμε γραφείο ευρέσεως εργασίας και υπάρχουν 4 διαθέσιμες δουλειές : **Οδηγός νταλίκας**, **Delivery με παπάκι**, **Κομμώτρια** και **Εργάτης σε οικοδομή**.
* Έρχονται άτομα που ψάχνουν για δουλειά. Θα τους κάνουμε κάποιες βασικές ερωτήσεις, ώστε να τους προτείνουμε τελικά μόνο μία δουλειά. {{ :el:school:lessons:programmatismos:pascal:ergasia_flowchart_simple.png?74x49 }}
- **ΔΗΜΙΟΥΡΓΙΑ ΕΡΓΟΥ** : Θα δημιουργήσουμε το νέο έργο **ergasia**
* Κάνουμε όμοιες ενέργειες όπως στην Άσκηση1, όπου hello τώρα ο τίτλος είναι **ergasia**
- **ΕΝΤΟΛΕΣ**
- Ανάμεσα στο **BEGIN .. END.** τοποθετούνται οι εντολές του προγράμματος.
- Η 1η ερώτηση που θα κάνουμε είναι **Έχεις δίπλωμα;(ναι/όχι)**. Δεν θα αλλάξουμε γραμμή ώστε να απαντήσει δίπλα. Θα διαβάσουμε από το πληκτρολόγιο και θα αποθηκεύσουμε σε μια μεταβλητή π.χ. **diploma**.
- Σε παρένθεση του βάζουμε τις πιθανές απαντήσεις (ναι/όχι). Προσοχή!! Για απλότητα, αν απαντήσει οτιδήποτε άλλο εκτός από **ναι**, θεωρούμε ότι απάντησε **όχι**.
- Στην συνέχεια ελέγχουμε την απάντηση με την **if**
{.. εντολές για εμφάνιση ερώτησης και διάβασμα της απάντησης από πληκτρολόγιο - Τα ξέρετε ήδη.. }
if diploma='ναι' then
begin
{.. εντολές1}
end
else
begin
{.. εντολές2}
end
- Στις **εντολές1** θα ξαναρωτήσουμε **Έχεις επαγγελματικό δίπλωμα;(ναι/όχι)**. Δεν θα αλλάξουμε γραμμή ώστε να απαντήσει δίπλα. Θα διαβάσουμε από το πληκτρολόγιο και θα αποθηκεύσουμε σε μια μεταβλητή π.χ. **epaggelmatiko**.
- Στην συνέχεια ελέγχουμε την 2η απάντηση με την **if**
..
if diploma='ναι' then
begin
{.. εντολές για εμφάνιση ερώτησης και διάβασμα της απάντησης από πληκτρολόγιο - Τα ξέρετε ήδη.. }
if epaggelmatiko='ναι' then
{εμφανίζουμε στην οθόνη μήνυμα 'Σου προτείνω εργασία σαν Οδηγός Νταλίκας' }
else
{εμφανίζουμε στην οθόνη μήνυμα 'Σου προτείνω εργασία σαν Delivery με παπάκι' }
end
else
begin
{.. εντολές2}
end
- Στο **else** τώρα θα κάνουμε αντίστοιχα ερώτηση **Τι φύλο είσαι;(Α/Γ)**. Δεν θα αλλάξουμε γραμμή ώστε να απαντήσει δίπλα. Θα διαβάσουμε από το πληκτρολόγιο και θα αποθηκεύσουμε σε μια μεταβλητή π.χ. **fylo**.
- Σε παρένθεση του βάζουμε τις πιθανές απαντήσεις (Α/Γ). Προσοχή!! Για απλότητα, αν απαντήσει οτιδήποτε άλλο εκτός από **Α** (ελληνικό), θεωρούμε ότι απάντησε **Γ**.
- Στην συνέχεια ελέγχουμε την 2η απάντηση με την **if** και εμφανίζουμε τα μηνύματα **Σου προτείνω εργασία ως Κομμώτρια** ή **Σου προτείνω εργασία ως Εργάτης σε Οικοδομή**, αντίστοιχα όπου πρέπει το καθένα (στο **then** ή στο **else**) {{ :el:school:lessons:programmatismos:pascal:ergasia_flowchart_full.png?74x49 }}
-**ΠΡΟΣΘΗΚΕΣ 1**
- Στις δηλώσεις όλες οι μεταβλητές είναι ίδιου τύπου. Δηλώστε τις όλες σε μία γραμμή.
- Στον προγραμματισμό αποφεύγουμε να έχουμε ίδια πράγματα σε πολλά σημεία. Εδώ έχουμε το κείμενο **Σου προτείνω εργασία ως** 4 φορές. Αν αποφασίσουμε να το γράψουμε διαφορετικά π.χ. **Μπορείς να δουλέψεις ως** θα πρέπει να το αλλάξουμε 4 φορές. Το μοναδικό που αλλάζει κάθε φορά είναι το επάγγελμα. Θα κάνουμε λοιπόν τα εξής.
- Θα ορίσουμε μια νέα μεταβλητή **protasi_ergasias**
- Αντί για **writeln('Σου προτείνω εργασία σαν Οδηγός Νταλίκας')** θα έχουμε **protasi_ergasias:='Οδηγός Νταλίκας'**. Το μόνο που αλλάζει, δηλαδή. Αντίστοιχα θα αλλάξουμε και τα άλλα 3 σημεία.
- Έξω από όλη την **if .. then .. else** θα εμφανίσουμε το μήνυμα **Σου προτείνω εργασία σαν //ταδε//** (όπου //τάδε// η μεταβλητή που έχει την εργασία).
----
* **ΕΠΕΚΤΑΣΗ 1 / ΑΣΚΗΣΗ ΓΙΑ ΤΟ ΣΠΙΤΙ**
* Δείτε την επέκταση της προηγούμενης άσκησης, όπου ο Κώστας είναι 12 χρονών και λαμβάνουμε από τον χρήστη το όνομα και την ηλικία του.
* Ελέγξαμε αν ο χρήστης είναι μεγαλύτερος και εμφανίζουμε κάτι, αλλιώς εμφανίζουμε κάτι άλλο.
- Στο αλλιώς να γίνει ξανά έλεγχος (με εμφωλιασμένη **if**) ώστε αν είναι ίδια ηλικία να εμφανίσει ένα ανάλογο μήνυμα αλλιώς να εμφανίσει ότι είσαι //τόσα// χρόνια μικρότερος
* **ΕΠΕΚΤΑΣΗ 2 / ΑΣΚΗΣΗ ΓΙΑ ΤΟ ΣΠΙΤΙ**
* Δείτε το **//''{{:el:school:lessons:programmatismos:pascal:ergasia_flowchart_full.png?linkonly|Διάγραμμα Ροής}}''//** για το πρόγραμμα ergasia.
* Αποτελείται από **τετράγωνα** - (εντολές ακολουθίας), **ρόμβους** - (συνθήκες if) και **βελάκια** που μας δείχνουν προς τα που θα πάει η εκτέλεση. Είναι απλό
- Σχεδιάστε (με μολύβι) κάτι αντίστοιχο στο τετράδιό σας για το πρόγραμμα της **ΕΠΕΚΤΑΣΗΣ 1** με την ηλικία.