LinuxFanClub Wiki

Υπηρεσίες, Προγραμματισμός, Εκπαίδευση ..

User Tools

Site Tools


el:school:lessons:programmatismos:pascal:askisi5_emfoliasmenes_if

Άσκηση 5 - Εμφωλιασμένες if

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

  • ΕΠΕΚΤΑΣΗ 1 / ΑΣΚΗΣΗ ΓΙΑ ΤΟ ΣΠΙΤΙ
    • Δείτε την επέκταση της προηγούμενης άσκησης, όπου ο Κώστας είναι 12 χρονών και λαμβάνουμε από τον χρήστη το όνομα και την ηλικία του.
    • Ελέγξαμε αν ο χρήστης είναι μεγαλύτερος και εμφανίζουμε κάτι, αλλιώς εμφανίζουμε κάτι άλλο.
    1. Στο αλλιώς να γίνει ξανά έλεγχος (με εμφωλιασμένη if) ώστε αν είναι ίδια ηλικία να εμφανίσει ένα ανάλογο μήνυμα αλλιώς να εμφανίσει ότι είσαι τόσα χρόνια μικρότερος
  • ΕΠΕΚΤΑΣΗ 2 / ΑΣΚΗΣΗ ΓΙΑ ΤΟ ΣΠΙΤΙ
    • Δείτε το Διάγραμμα Ροής για το πρόγραμμα ergasia.
    • Αποτελείται από τετράγωνα - (εντολές ακολουθίας), ρόμβους - (συνθήκες if) και βελάκια που μας δείχνουν προς τα που θα πάει η εκτέλεση. Είναι απλό
    1. Σχεδιάστε (με μολύβι) κάτι αντίστοιχο στο τετράδιό σας για το πρόγραμμα της ΕΠΕΚΤΑΣΗΣ 1 με την ηλικία.
el/school/lessons/programmatismos/pascal/askisi5_emfoliasmenes_if.txt · Last modified: Y/m/d H:i by vagk