Γενικό Λύκειο > Δομή επανάληψης

Άσκηση στη Δομή Επανάληψης

(1/3) > >>

kiro:
Γεια σας!

Να σας ρωτήσω τη γνώμη σας για μια ακόμα άσκηση. Στο βιβλίο του Λαζαρίνη υπάρχει η  παρακάτω άσκηση με την εξής εκφώνηση

Να γράφει ο αλγόριθμος ο οποίος θα διαβάζει το βάρος ενός πλήθους από αντικείμενα σε τόνους, κιλά και γραμμάρια και θα υπολογίζει και θα εμφανίζει το συνολικό βάρος σε τόνους. Ο αλγόριθμος θα τερματίζει όταν το βάρος ενός αντικειμένου ξεπερνά τους δέκα τόνους.

Για λύση δίνει την εξής

Αλγόριθμος Βάρη
Άθροισμα ί 0
Πλήθοςί 0
    Αρχή_Επανάληψης
    Διάβασε τόνοι, κιλά, γραμμάρια
       Βαρος_τονοι ί τονοι + κιλα/1000+γραμμαρια/1000000
    Εμφάνισε ΄΄Βαρος σε τονους είναι΄΄, Βαρος_τονοι
                 Μέχρις_ότου Βαρος_τονοι <10
Τέλος Βάρη
Το άθροισμα και το πλήθος δεν τα χρησιμοποιεί πουθενά. Για τον υπολογισμό του  Βαρος_τονοι δε θα ήταν πιο σωστό στην αρχή αντί για άθροισμα και πλήθσς να δηλώσουμε βάροςί 0 και μετά το διάβασμα να πούμε

Βαρος_τονοι ί βάρος + (τόνοι + κιλα/1000+γραμμαρια/10^6)


Και κάτι ακόμα για μια άλλη άσκηση. Στην άσκηση από το τετράδιο μαθητή,  κεφαλαίο 2ασκησηΔΣ3 είναι απαραίτητο μετά την επανάληψη να πάρουμε την περίπτωση που το πόσο που ξοδέψαμε είναι μεγαλύτερο του 5000;

αν εξοδα>5000 τοτε
εξοδαί εξοδα- τιμη
τελος_αν


Συγνώμη που ρωτάω συνεχεία για ασκήσεις απλά δεν μπορώ να πάρω την ευθύνη να πω στα παιδία ότι είναι λάθος μια άσκηση αν δεν είμαι 100%

Σας ευχαριστώ πολύ!

kiro:
μαι διευκρινηση....το βελος δεν μπορω να το πετυχω  ::) και ειναι βαρος >10 και οχι μικροτερο

Laertis:
Μάλλον ο αλγόριθμος ζητά το συνολικό βάρος σε τόνους κάθε αντικειμένου, απο ότι κατάλαβα απο τη λύση που δίνει, οπότε η αρχικοποίηση πριν την επανάληψη είναι άσκοπη.
Αυτό που εννοείς εσύ είναι ότι θα έπρεπε ο αλγόριθμος να υπολογίζει και εμφανίζει το συνολικό βάρος όλων των αντικειμένων, οπότε και θα ίσχυε αυτό που προτείνεις με την εντολή εμφάνισε εκτός επανάληψης.
Δε ξέρω αν η εκφώνηση είναι ακριβώς έτσι όπως τη γράφεις, αλλά εγώ θα διάλεγα την Όσο για να την λύσω γιατί αυτός ο τρόπος που προτείνεται εμφανίζει και την τιμή τερματισμού (τιμή φρουρός) ενώ νομίζω ότι δε θα έπρεπε.

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

Φιλικά

EleniK:
Η ακριβής διατύπωση της άσκησης από το βιβλίο είναι η εξής:

Ν.γ.α. ο οποίος θα διαβάζει το βάρος ενός πλήθους από αντικείμενα σε τόνους, κιλά και γραμμάρια και θα υπολογίζει και θα εμφανίζει το συνολικό βάρος σε τόνους. Ο αλγόριθμος θα τερματίζει όταν το βάρος ενός αντικειμένου ξεπερνά τους 10 τόνους.

Εγώ από τη συγκεκριμένη άσκηση καταλαβαίνω ότι ζητάει το συνολικό βάρος όλων των αντικειμένων, αλλά ο αλγόριθμος τερματίζει όταν το βάρος ενός αντικειμένου ξεπερνα τους 10 τόνους. Έτσι θα την έκανα:

Αλγόριθμος Ασκηση
Sum <- 0
Αρχή_επανάληψης
Διάβασε τόνους, κιλά, γραμ
βάρος <- τόνους + κιλά/1000 + γραμ/10^6
Αν βάρος <= 10 τότε
Sum <- Sum + βάρος
τέλος_αν
μέχρις_ότου βάρος>10
Εμφάνισε Sum
Τέλος Άσκηση

Το πλήθος μπορεί να το υπολογίζει σε περίπτωση που θα ήθελε να εμφανίσει μήνυμα του τύπου:
Εμφάνισε 'Το συνολικό βάρος των', πλήθος, 'αντικειμένων είναι', Sum

Ελπίζω να βοήθησα.

Ελένη

P.Tsiotakis:
Μια άλλη προσέγγιση με την χρήση της ισχυρότερης δομής επανάληψης Όσο, είναι η εξής:

Αλγόριθμος Ασκηση
 Sum <- 0
 βάρος <- 0
 Όσο βάρος <= 10 επανάλαβε
    Sum <- Sum + βάρος
    Διάβασε τόνους, κιλά, γραμ
    βάρος <- τόνους + κιλά/1000 + γραμ/10^6
 Τέλος_επανάληψης
 Εμφάνισε Sum
Τέλος Άσκηση

Πλοήγηση

[0] Λίστα μηνυμάτων

[#] Επόμενη σελίδα

Μετάβαση στην πλήρη έκδοση