Δευτέρα 10 Αυγούστου 2015

Εντολή Αρχή_επανάληψης ... Μέχρις_ότου


Αρχή_επανάληψης
             Εντολές
Μέχρις_ότου συνθήκη







1. Στην τρίτη λυκείου ενός σχολείου βρίσκονται 120 μαθητές.Να γραφεί αλγόριθμος ο οποίς για κάθε μαθητή :
Α. Θα διαβάζει τους βαθμούς του στα 5 μαθήματα στις πανελλήνιες εξετάσεις (από το 0 έως το 100) καθώς επίσης και το όνομά του.
Β. Θα βρίσκει τον μέσο όρο στα 5 μαθήματα.
Γ. Θα υπολογίζει και θα εμφανίζει συνοδευόμενα από τα κατάλληλα μηνύματα, πόσοι μαθητές κόπηκαν και πόσοι είχαν μέσο όρο μεγαλύτερο ή ίσο του 50.
(Να γίνει με μέχρις_ότου)

  Λύση

Αλγόριθμος πχ
  μαθ <- 1
  count1 <- 0
  count2 <- 0
  Αρχή_επανάληψης
              Διάβασε Ον, β1, β2, β3, β4, β5
              ΜΟ <- (β1 + β2 + β3 + β4 + β5 )/5
              Αν ΜΟ>=50 τότε
                          count1 <- count1 + 1
              Aλλιώς
                          count2 <- count2 + 1
              Τέλος_αν
               μαθ = μαθη +1
  Μέχρις_ότου μαθ = 121
  Εμφάνισε " Ο αριθμός των μαθητών που κόπηκαν είναι : " , count2
  Εμφάνισε "Ο αριθμός των παιδιών που είχαν μέσο όρο μεγαλύτερο ή ίσο του 50 είναι : ", count1
Τέλος πχ



2.Δίνεται το παρακάτω κομμάτι αλγορίθμου. Να μετατραπεί σε ισοδύναμο με τη χρήση της εντολής Μέχρις_ότου

ι <- 1
Όσο ι <= 5 επανάλαβε
         Εκτύπωσε ι
         ι <- ι + 1
Τέλος_επανάληψης


  Λύση

ι <- 1
Αρχή_επανάληψης
           Εκτύπωσε ι
           ι <- ι + 1
Μέχρις ότου ι > 5

παρατήρηση: όταν μετατρέπω ένα κομμάτι αλγορίθμου από Όσο επανάλαβε σε Μέχρις ότου αντιστρέφω τη συνθήκη επανάληψης!!!!

Άγνωστος αριθμός επαναλήψεων

3. Να γραφεί αλγόριθμος ο οποίος διαβάζει από το χρήστη διάφορα αλφαριθμητικά. Στη συνέχεια βρίσκει και εμφανίζει πόσες φορές ο χρήστης έδωσε τη λέξη ''καλημέρα'' και πόσες φορές έδωσε την λέξη ''καληνύχτα''. Η εισαγωγή δεδομένων τερματίζεται όταν ο χρήστης δώσει το αλφαριθμητικό ''αντίο''.

  Λύση

Αλγόριθμος πχ
  count1 <- 0
  count2 <- 0
  Αρχή_επανάληψης
               Διάβασε λέξη
               Αν λέξη=="καλημέρα" τότε
                               count1 <- count1 + 1
               Αλλιώς_αν λέξη=="καληνύχτα"τότε
                               count2 <- count2 +1
               Τέλος_αν
  Μέχρις_ότου λέξη=="αντίο"
  Εμφάνισε "Ο χρήστης έδωσε την λέξη καλημέρα : ", count1
  Εμφάνισε "Ο χρήστης έδωσε την λέξη καληνύχτα: ", count2
Τέλος πχ


Άγνωστος αριθμός επαναλήψεων και έλεγχος εισόδου


4. Μία εταιρεία έχει άγνωστο αριθμό υπαλλήλων. Ο μισθός τους υπολογίζεται σύμφωνα με τις ώρες που δούλεψαν σύμφωνα με τα παρακάτω :

  - Από 1 έως και 35 ώρες ---> 8ευρώ/ώρα
  - Από 36 έως και 50 ώρες ---> 10ευρώ/ώρα
  - Περισσότερες από 50 ώρες ---> 11ευρώ ανά ώρα

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

  Λύση

Αλγόριθμος πχ
  Αρχή επανάληψης
              Διάβασε ώρες
              Αρχή_επανάληψης
                          Αν ώρες<0 τότε
                                   Διάβασε ώρες
                          Τέλος_αν
              Μέχρις_ότου ώρες>=0
              Αν ώρες<=35 τότε
                       μισθός <- 8*ώρες
              Αλλιώς_αν ώρες>35 ΚΑΙ ώρες<=50 τότε
                       μισθός <- 10*ώρες
              Αλλιώς
                       μισθός <- 11*ώρες
              Τέλος_αν
              Εμφάνισε μισθός
  Μέχρις_ότου ώρες==0
Τέλος πχ

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου