Αρχή_επανάληψης
Εντολές
Μέχρις_ότου συνθήκη
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
Τέλος πχ
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου