Τμήμα 2

Άσκηση της εβδομάδας (Νέα!)

Να αναπτύξετε αλγόριθμο ο οποίος:
Α. Θα διαβάζει 50 πραγματικούς αριθμούς.
Β. Θα υπολογίζει και θα εκτυπώνει το άθροισμα και τον μέσο όρο των αριθμών που διάβασε.
Γ. Σε περίπτωση που διαβάζει θετικούς αριθμούς θα υπολογίζει και  θα εκτυπώνει τον μέσο όρο των θετικών.













Άσκηση της εβδομάδας (Νο2)

Να αναπτύξετε αλγόριθμο ο οποίος θα διαβάζει βαθμούς μαθητών στην κλίμακα 1-100 και τα επώνυμά τους, μέχρι να εισαχθεί ως βαθμός αρνητική τιμή ή τιμή μεγαλύτερη του 100 ή ως επώνυμο το κενό. Ο αλγόριθμος θα υπολογίζει και θα εμφανίζει τον μέγιστο και τον ελάχιστο βαθμό, καθώς και το επώνυμο του μαθητή που έχει τον μέγιστο και τον ελάχιστο βαθμό. 

Θεωρήστε ότι ένας μόνο μαθητής έχει τον μέγιστο βαθμό και ένας μόνο μαθητής έχει τον ελάχιστο βαθμό.


(Για εύρεση μεγίστου και ελαχίστου σε άγνωστο αριθμό επαναλήψεων, χρησιμοποιούμε την Όσο ... επανάλαβε)










Άσκηση της εβδομάδας (Νο1)


Για την πολυήμερη εκδρομή της Γ΄ Λυκείου, το μαθητικό συμβούλιο της τάξης έχει συγκεντρώσει τρεις προσφορές. Τα πρακτορεία έχουν προσφέρει μία επιπλέον ημέρα παραμονής σε περίπτωση που οι μαθητές που θα συμμετάσχουν είναι περισσότεροι από 70. 
Να αναπτύξετε αλγόριθμο ο οποίος:
Α. Για κάθε προσφορά θα διαβάζει το κόστος της εκδρομής ανά άτομο, τις ημέρες διαμονής, καθώς και τον προορισμό.
Β. Θα εντοπίζει την προσφορά με το μικρότερο κόστος ανά ημέρα και θα εμφανίζει τον προορισμό.
Γ. Θα διαβάζει το πλήθος των μαθητών που θα συμμετάσχουν στην εκδρομή και ανάλογα με το πλήθος, θα υπολογίζει και θα εμφανίζει τις ημέρες διαμονής, καθώς και το τελικό κόστος ανά άτομο. Θεωρήστε ότι το πλήθος των μαθητών είναι θετικός ακέραιος.

22 σχόλια:

  1. Για εντολή εκχώρησης να χρησιμοποιήσετε τα σύμβολα <-

    ΑπάντησηΔιαγραφή
    Απαντήσεις
    1. κυρια εγω θελω κατι ποιο δυσκολο αυτα ειναι ευκολακια ...

      Διαγραφή
  2. Μπορείτε να γράφετε τους αλγορίθμους στον διερμηνευτή της Ψευδογλώσσας (που έχω αναρτήσει στην Αρχική Σελίδα) και να τους αντιγράφετε εδώ.

    ΑπάντησηΔιαγραφή
  3. Θα εκτελέσω τις εντολες με την σειρα που μου τις δινει??? Δηλαδη θα βαλω δυο διαβασε????

    ΑπάντησηΔιαγραφή
    Απαντήσεις
    1. Ναι! με τη σειρά που τις δίνει!! Ρία στείλε μου αν θέλεις και την άσκηση που έλεγες!

      Διαγραφή
  4. Αλγόριθμος Εκδρομή
    Για i από 1 μέχρι 3
    Διάβασε Κοστος_α , μερες , προορ , Πληθ_μ ! Το κοστος_α ειναι το κοστος ανα ατομο ,
    !το πληθ_μ ειναι το πληθος των μαθητων που θα παρουν μερος
    Αν i = 1 τότε
    min ← Κοστος_α
    min_Πρ← προορ
    Τέλος_αν
    Αν min > Κοστος_α τότε
    min ← Κοστος_α
    min_Πρ← προορ
    Τέλος_αν
    Αν Πληθ_μ > 70 τότε
    μερες← μερες + 1
    Τέλος_αν
    Τελ_κοστος← Πληθ_μ* κοστος_α
    Εμφάνισε Οι μερες της εκδρομης ειναι ''μερες'' , το κοστος ανα ατομο ειναι '' κοστος_α ''
    Τέλος_επανάληψης
    Εμφανισε min , min_Πρ

    ΑπάντησηΔιαγραφή
    Απαντήσεις
    1. Ρία, επειδή υπάρχουν λάθη, διάβασε παρακάτω τι γράφω στον Πασχάλη και προσπάθησε να τη διορθώσεις. Θα ανεβάσω και εγώ τη λύση το Σαββατοκύριακο!

      Διαγραφή
  5. Αλγόριθμος Εκδρομή
    min← 10^50
    Για πρ από 1 μέχρι 3
    Εμφάνισε "Δωσε το κοστος εκδρομης ανα ατομο,τις ημερες διαμονης τον προορισμο και το πληθος μαθητων"
    Διάβασε κ_εκ,ηδ,προορ,πλ_μαθ
    Αν κ_εκ 70 τότε
    ηδ← ηδ+1 !προσθετει μια μερα διαμονης αν οι μαθητες ειναι περισσοτεροι των 70.
    Τέλος_αν
    Τελ_κοστ← κ_εκ/ ηδ !υπολογιζει το τελικο κοστος ανα ατομο.
    Τέλος_επανάληψης
    Εμφάνισε "Το μικροτερο κοστος ειναι:" ,min, "και ο προορισμος ειναι:", Χπροορ
    Εμφάνισε "Το τελικο κοστος ειναι:" ,Τελ_κοστ
    Εμφάνισε "Οι ημερες διαμονης ειναι:",ηδ
    Τέλος Εκδρομή

    ΑπάντησηΔιαγραφή
  6. κυρια συγνωμη εγινε ενα λαθος στην αντιγραφη επικολληση το Σωστο ειναι:
    Αλγόριθμος Εκδρομή
    min← 10^50
    Για πρ από 1 μέχρι 3
    Εμφάνισε "Δωσε το κοστος εκδρομης ανα ατομο,τις ημερες διαμονης τον προορισμο και το πληθος μαθητων"
    Διάβασε κ_εκ,ηδ,προορ,πλ_μαθ
    Αν κ_εκ < min τότε
    min ← κ_εκ !το ελαχιστο κοστος ανα ημερα
    Χπροορ ← προορ !ο προορισμος με το μικροτερο κοστος ανα ατομο.
    Τέλος_αν
    Αν πλ_μαθ > 70 τότε
    ηδ ← ηδ+1 !προσθετει μια μερα διαμονης αν οι μαθητες ειναι περισσοτεροι των 70.
    Τέλος_αν
    Τελ_κοστ← κ_εκ / ηδ !υπολογιζει το τελικο κοστος ανα ατομο ανα ημερα.
    Τέλος_επανάληψης
    Εμφάνισε "Το μικροτερο κοστος ειναι:" ,min, "και ο προορισμος ειναι:", Χπροορ
    Εμφάνισε "Το τελικο κοστος ειναι:" ,Τελ_κοστ
    Εμφάνισε "Οι ημερες διαμονης ειναι:",ηδ
    Τέλος Εκδρομή


    ΑπάντησηΔιαγραφή
  7. Κυρια μια διευκρινηση στην εκφωνηση νομιζω οτι χρειαζεται.Λεει οτι δινεται το κοστος της εκδρομης ανα ατομο.Και στο β ερωτημα ζηταει το κοστος ανα ημερα.Υπαρχουν 2 περιπτωσεισ αν το ζηταει το μικροτερο κοστος ανα ημερα ανα ατομο η το ευρυτερο μικροτερο κοστος ανα ημερα.Διοτι επιδεχεται 2 λυσεις.Αν ισχυει η το πρωτο τοτε ισχυει κοστος εκδρομης/κοστος ανα ημερα αλλιως κοστος εκδρομης * πληθος μαθητων/κοστος ανα ημερα.Ισως το εχω λαθος στην ασκηση

    ΑπάντησηΔιαγραφή
    Απαντήσεις
    1. Πασχάλη το β ερώτημα αναφέρεται στο μικρότερο κόστος ανά ημέρα ανά άτομο, καθώς ακόμη δεν έχει διαβαστεί το πλήθος των μαθητών.
      Επιπλέον, μία εξήγηση για το ζητούμενο της άσκησης είναι ότι στο β ερώτημα βρίσκουμε τον τελικό προορισμό. Οι μαθητές ουσιαστικά αποφασίζουν στο β ερώτημα ότι θα πάνε στη φθηνότερη εκδρομή και έτσι ξέρουμε πλέον τον προορισμό (στη λύση σου είναι ο Χπροορ).
      Έτσι, στο γ ερώτημα διαβάζουμε το πλήθος των μαθητών και υπολογίζουμε τις ημέρες τις εκδρομής, που είναι πλέον γνωστές γιατί την έχουμε βρει στο β ερώτημα. Συνεπώς, εμφανίζουμε τις ημέρες που θα πάνε εκδρομή οι μαθητές και το τελικό κόστος ανά άτομο που θα είναι το κόστος της εκδρομής που επέλεξαν διά το πλήθος των μαθητών.

      Διαγραφή
  8. Αλγόριθμος Άσκηση_εβδομάδας_1
    ι ← 1
    κόστος_3 ← 0
    Όσο ι <= 3 επανάλαβε
    Γράψε 'Δώστε το κόστος της εκδρομής ανά άτομο, τις ημέρες διαμονής,και τον προορισμό για την προσφόρα ' , ι, '.'
    Διάβασε κόστος_άτομο, ημέρες_διαμονής, προορισμός
    Αν ι = 1 τότε
    κόστος_1 ← κόστος_άτομο
    ημέρες_διαμονής_1 ← ημέρες_διαμονής
    Αλλιώς_αν ι = 2 τότε
    κόστος_2 ← κόστος_άτομο
    ημέρες_διαμονής_2 ← ημέρες_διαμονής
    Αλλιώς_αν ι = 3 τότε
    κόστος_3 ← κόστος_άτομο
    ημέρες_διαμονής_3 ← ημέρες_διαμονής
    Τέλος_αν
    ι ← ι + 1
    Τέλος_επανάληψης
    min ← κόστος_1
    ημέρες_διαμονής ← ημέρες_διαμονής_1
    Αν κόστος_2 < min τότε
    min ← κόστος_2
    ημέρες_διαμονής ← ημέρες_διαμονής_2
    Τέλος_αν
    Αν κόστος_3 < min τότε
    min ← κόστος_3
    ημέρες_διαμονής ← ημέρες_διαμονής_3
    Τέλος_αν
    Γράψε "Δώστε το πλήθος των μαθητών"
    Διάβασε μαθητές
    Αν μαθητές > 70 τότε
    ημέρες_διαμονής ← ημέρες_διαμονής + 1
    Τέλος_αν
    μιν ← κόστος_1
    Γράψε 'Η εκδρομή θα έχει διάρκεια ', ημέρες_διαμονής, ' ημέρες και το κόστος ανα άτομο θα είναι ', min, '.'
    Τέλος Άσκηση_εβδομάδας_1

    ΑπάντησηΔιαγραφή
  9. Κυρια την καινουργια εργασια την δοκιμασα με Αρχη_επαναληψης .. Μεχρις_οτου και βαζω την εντολη διαβασε μεσα στην επαναληψη αλλα οταν βαζω για βαθμο -1 για παραδειγμα μ εμφανιζει το min οτι ειναι -1 πρεπει να βαλω εμφανισε μεσα στην επαναληψη μηπως?

    ΑπάντησηΔιαγραφή
    Απαντήσεις
    1. Επειδή η Αρχή_επανάληψης εκτελείται τουλάχιστον μία φορά δεν ενδείκνυται για εύρεση ελαχίστου και μεγίστου. Ο λόγος είναι ότι, όπως είπες, αν δώσεις αρνητικό αριθμό θα τον εμφανίσει ως min. Ομοίως και στο max. Όταν βλέπεις ότι κάτι βγαίνει λάθος με την Αρχή_επανάληψης, τότε να προτιμάς την Όσο ... επανάλαβε!
      θα το προσθέσω σαν διευκρίνιση!

      Διαγραφή
  10. Αλγόριθμος Βαθμοί
    min ← 10 ^ 20
    max ← -5
    ΕΠmax ← "Α"
    ΕΠmin ← "Κ"
    κ ← 0
    Αρχή_επανάληψης
    Εμφάνισε "Δωσε το επωνυμο του μαθητη και τον βαθμο του."
    Διάβασε ΕΠ, Β
    Αν ΕΠ ≠ " " τότε
    Αν Β ≥ 0 και Β ≤ 100 τότε
    κ ← 1 !Το κ ειναι μεταβλητη για να ελεγχω που δεν γινει επαναληψη
    Αν Β > max τότε
    max ← Β
    ΕΠmax ← ΕΠ !Εκχωρει το επωνυμο του μαθητη με το μεγαλυτερο βαθμο
    Τέλος_αν
    Αν Β < min τότε
    min ← Β
    ΕΠmin ← ΕΠ !Εκχωρει το επωνυμο του μαθητη με το μικροτερο βαθμο
    Τέλος_αν
    Τέλος_αν
    Τέλος_αν
    Μέχρις_ότου Β < 0 ή Β > 100 ή ΕΠ =" "

    Αν κ = 1 τοτε
    Εμφάνισε "Ο μεγιστος βαθμος ειναι:" , max ,"και ο μαθητης με τον μεγαλυτερο βαθμο ειναι:" , ΕΠmax
    Εμφάνισε "Ο ελαχιστος βαθμος ειναι:", min ,"και ο μαθητης με τον μικροτερο βαθμο ειναι:" , ΕΠmin
    αλλιώς
    Εμφάνισε "Δεν δοθηκε ουτε μια εισοδος"
    Τέλος_αν

    Τέλος Βαθμοί

    ΑπάντησηΔιαγραφή
    Απαντήσεις
    1. Μπράβο Πασχάλη!! Με Αρχή_επανάληψης είναι αρκετά δύσκολη γιατί πρέπει να ελέγχεις πολλές παραμέτρους, αλλά την έλυσες σωστά!

      Διαγραφή
  11. Αλγόριθμος Άσκηση_Εβδομάδας2
    Γράψε 'Δώστε τον βαθμό και το επώνυμο του μαθητή.'
    Δίαβασε βαθμός, επίθετο
    max ← -1
    min ← 1000000000000000000
    επίθετο_max ← 'a'
    επίθετο_min ← 'b'
    Όσο βαθμός >= 0 και βαθμός <= 100 και επίθετο <> ' ' επανάλαβε
    Αν βαθμός > max τότε
    max ← βαθμός
    επίθετο_max ← επίθετο
    Τέλος_αν
    Αν βαθμός < min τότε
    min ← βαθμός
    επίθετο_min ← επίθετο
    Τέλος_αν
    Διάβασε βαθμός, επώνυμο
    Τέλος_επανάληψης
    Αν max <> -1 και min <> 1000000000000000000 και επίθετο_max <> 'a' και επίθετο_min <> 'b' τότε
    Γράψε 'Ο/η μαθητής/τρια με τον μεγαλύτερο βαθμό ήταν ο/η ', επίθετο_max , ' και έβγαλε ', max , ' και ο/η μαθητής/τρια με τον μικρότερο βαθμό ήταν ο/η ' , επίθετο_min , ' και έβγαλε ', min , '.'
    Αλλιώς
    Γράψε 'Δεν δόθηκαν αρκετά δεδομένα.'
    Τέλος_αν

    ΑπάντησηΔιαγραφή
  12. Αλγόριθμος ασκ_αριθμοί
    i←1
    iα←0
    aθρ←0
    αθρθ←0
    Αρχή_επανάληψης
    Διάβασε α
    αθρ←αθρ+α
    μο←αθρ/i
    Εκτύπωσε "το άθροισμα είναι:",αθρ
    Εκτύπωσε "και ο μέσος όρος είναι:",μο
    Αν α> 0 τότε
    αθρθ←αθρθ+α
    μοθ←αθρθ/iα
    Εκτύπωσε "ο μέσος όρος των θετικών είναι:",μοθ
    Τέλος_αν
    i←i+1
    Μέχρις_ότου i≥50
    Τέλος ασκ_αριθμοί
    (είχα ένα προβληματάκι με το πρόγραμμα που κάνουμε τους αλγορίθμους...αλλά δεν κατάλαβα τι έκανα λάθος!!)

    ΑπάντησηΔιαγραφή
    Απαντήσεις
    1. Μαριάννα, έχεις κάνει τα εξής λάθη:
      α)Ο μέσος όρος όλων των αριθμών και ο μέσος όρος των θετικών πρέπει να υπολογιστούν και να εμφανιστούν έξω από την επανάληψη, όταν θα έχεις το συνολικό άθροισμά τους και το πλήθος τους.
      β)Η μεταβλητή ia πρέπει να μετράει το πλήθος των θετικών αριθμών που δίνονται, ώστε έπειτα να είσαι σε θέση να υπολογίσεις τον μέσο όρο τους.
      γ)Η συνθήκη στην Μέχρις_ότου είναι i>50.

      Διαγραφή
  13. Αλγόριθμος Αριθμοί
    αθροισμα ← 0
    πληθος ← 0
    πληθος_θετ ← 0
    αθροισμα_θετ ← 0
    κ ← 0
    Για i από 1 μέχρι 50
    Εμφανισε "Δωσε εναν πραγματικο αριθμο:"
    Διαβασε j
    αθροισμα ← αθροισμα + j
    πληθος ← πληθος + 1
    Αν j > 0 τότε
    πληθος_θετ ← πληθος_θετ + 1
    αθροισμα_θετ ← αθροισμα_θετ + j !υπολογιζει το αθροισμα των θετικων αριθμων αμα δοθηκαν
    κ ← 1
    Τέλος_αν
    Τέλος_επανάληψης
    ΜΟ_αριθμων ← αθροισμα / πληθος
    Αν κ = 1 τότε
    ΜΟ_αριθμων_θετικων ← αθροισμα_θετ / πληθος_θετ
    Εκτύπωσε "Ο μεσος ορος των θετικων αριθμων που δοθηκαν ειναι:" , ΜΟ_αριθμων_θετικων
    αλλιώς
    Εκτύπωσε "Δοθηκε εν συνεχεια αριθμος j=0 ή j < 0 παρακαλω δωστε αλλον αριθμο για να υπολογισετε μεσο ορο θετικων αριθμων!"
    Τέλος_αν
    Εκτύπωσε "Ο μεσος ορος των αριθμων που διαβαστηκαν ειναι:" , ΜΟ_αριθμων
    Εκτύπωσε "Το αθροισμα των αριθμων ειναι που διαβαστηκαν ειναι:" , αθροισμα
    Τέλος Αριθμοί

    ΑπάντησηΔιαγραφή
    Απαντήσεις
    1. Πασχάλη, πολύ σωστά!
      Μία μικρή παρατήρηση: είναι περιττή η μεταβλητή πλήθος, καθώς ξέρεις ότι οι αριθμοί είναι 50.

      Διαγραφή