Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Εχω μια ασκηση που εχει μπερδεψει λιγο και θα ηθελα αν μπορει καποιος να μου γραψει τη λυση της.Η ασκηση ειναι:

 

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

  • Απαντ. 50
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Συχνή συμμετοχή στο θέμα

Δημοσιευμένες Εικόνες

Δημοσ.

Ειναι το κολπακι με DIV και MOD .

Γενικα να προσπαθεις να πιανεις το νοημα της ασκησης και θα γραψεις καλα. Οι εντολες ειναι τυφλοσουρτι αρκει να ξερεις ποτε και πως πρεπει να τις χρησιμοποιεις . Γενικα θα διαβαζει 3 αριθμους ας πουμε 2 5 9 . Αν το ακεραιο μερος της διαιρεσης με το 2 ειναι ένα τοτε ο αριθμος αριθμος ειναι ακεραιος . για παραδειγμα 2/2 κανει 1 ενω 5/2 κανει 1κομμα κάτι . Θα προσπαθησω να σου δωσω μια λυση , ισως και να γ ινεται με το MOD δλδ το υπολοιπο , αν X MOD 2 = 0 ΤΟΤΕ γιατι 2/2 δινει υπολοιπο 0 !

 

Aλγόριθμος Άσκηση

ΔΙΑΒΑΣΕ Χ, Υ, Ζ

Π1 <-0 ! πληθος ακεραίων

Π2<-0 !πληθος περιττων

 

Αν Χ DIV 2 = 1 TOTE

Π1 <- Π1 + 1

Αλλιως

Π2 <- Π2 + 1

ΤΕΛΟΣ_ΑΝ

 

ΑΝ Υ DIV 2 = 1 TOTE

Π1<- Π1 +1

ΑΛΛΙΩΣ

Π2 <- Π2 + 1

ΤΕΛΟΣ ΑΝ

 

ΑΝ Ζ DIV 2 = 1 TOTE

Π1 <- Π1 +1

ΑΛΛΙΩΣ

Π2 <- Π2 +1

ΤΕΛΟΣ ΑΝ

ΕΜΦΑΝΙΣΕ Π1 , Π2

ΤΕΛΟΣ Άσκηση

Δημοσ.

τι ακριβώς μπέρδεψες; απλό είναι...

 

γενικά:

έχουμε 2 μετρητές.

θα διαιρείς κάθε αριθμό με το 2. αν έχεις υπόλοιπο 0 τότε είναι άρτιος (οπότε αυξάνουμε +1 τον μετρητή) αν όχι = περιττός (οπότε αυξάνουμε +1 τον άλλον μετρητή)

 

με πρόλαβε ο απο πάνω

Δημοσ.

και ίσως ο τροπος με το MOD να ειναι πιο ενδεδειγμενος δηλαδη ΑΝ Χ ΜΟD 2 = 0 ... Δε θυμαμαι ακριβως ,ισως και οι δυο τροποι να ειναι σωστοι !

Δημοσ.

Ευχαριστώ για τις γρηγορες απαντήσεις. Απλά εμείς τα καναμε με δομη ακολουθίας ακομα και δεν έχουμε μπει στην επιλογή. Άρα δε γινεται με απλές πράξεις ακολουθίας έτσι?

 

Αποστολή από το GT-I9000 με τη χρήση Insomnia App

Δημοσ.

πω μου θυμιζεις τα περσυνα μου. και εγω νομιζω ειχα ρωτησει κατι περσυ τετοια εποχη οταν πηγαινα φροντιστηριο

τελικα εγραψα 17.4 αεππ

Δημοσ.
Ειναι το κολπακι με DIV και MOD .

Γενικα να προσπαθεις να πιανεις το νοημα της ασκησης και θα γραψεις καλα. Οι εντολες ειναι τυφλοσουρτι αρκει να ξερεις ποτε και πως πρεπει να τις χρησιμοποιεις . Γενικα θα διαβαζει 3 αριθμους ας πουμε 2 5 9 . Αν το ακεραιο μερος της διαιρεσης με το 2 ειναι ένα τοτε ο αριθμος αριθμος ειναι ακεραιος . για παραδειγμα 2/2 κανει 1 ενω 5/2 κανει 1κομμα κάτι . Θα προσπαθησω να σου δωσω μια λυση ' date=' ισως και να γ ινεται με το MOD δλδ το υπολοιπο , αν X MOD 2 = 0 ΤΟΤΕ γιατι 2/2 δινει υπολοιπο 0 !

 

Aλγόριθμος Άσκηση

ΔΙΑΒΑΣΕ Χ, Υ, Ζ

Π1 <-0 ! πληθος ακεραίων

Π2<-0 !πληθος περιττων

 

Αν Χ DIV 2 = 1 TOTE

Π1 <- Π1 + 1

Αλλιως

Π2 <- Π2 + 1

ΤΕΛΟΣ_ΑΝ

 

ΑΝ Υ DIV 2 = 1 TOTE

Π1<- Π1 +1

ΑΛΛΙΩΣ

Π2 <- Π2 + 1

ΤΕΛΟΣ ΑΝ

 

ΑΝ Ζ DIV 2 = 1 TOTE

Π1 <- Π1 +1

ΑΛΛΙΩΣ

Π2 <- Π2 +1

ΤΕΛΟΣ ΑΝ

ΕΜΦΑΝΙΣΕ Π1 , Π2

ΤΕΛΟΣ Άσκηση[/quote']

 

το div ειναι λαθος, mod ειναι το σωστο. το 4πχ ειναι αρτιος γιατι 4mod2=0. 4div2=2 δε σου δειχνει κατι αυτο...

Δημοσ.

Με δομή ακολουθίας:

 

Αλγόριθμος Ασκ1

ΠΛΗΘΟΣΠΕΡ <- 0

Διάβασε αρ1

ΠΛΗΘΟΣΠΕΡ <- ΠΛΗΘΟΣΠΕΡ + αρ1mod2

Διαβασε αρ2

ΠΛΗΘΟΣΠΕΡ <- ΠΛΗΘΟΣΠΕΡ + αρ2mod2

Διάβασε αρ3

ΠΛΗΘΟΣΠΕΡ <- ΠΛΗΘΟΣΠΕΡ + αρ3mod2

Εμφάνισε "Περιττοί: ",ΠΛΗΘΟΣΠΕΡ

Εμφάνισε "Άρτιοι: ",3-ΠΛΗΘΟΣΠΕΡ

Τέλος Ασκ1

Δημοσ.

Με δομή ακολουθίας:

 

Αλγόριθμος Ασκ1

ΠΛΗΘΟΣΠΕΡ <- 0

Διάβασε αρ1

ΠΛΗΘΟΣΠΕΡ <- ΠΛΗΘΟΣΠΕΡ + αρ1mod2

Διαβασε αρ2

ΠΛΗΘΟΣΠΕΡ <- ΠΛΗΘΟΣΠΕΡ + αρ2mod2

Διάβασε αρ3

ΠΛΗΘΟΣΠΕΡ <- ΠΛΗΘΟΣΠΕΡ + αρ3mod2

Εμφάνισε "Περιττοί: ",ΠΛΗΘΟΣΠΕΡ

Εμφάνισε "Άρτιοι: ",3-ΠΛΗΘΟΣΠΕΡ

Τέλος Ασκ1

Στους υπολογιστες το υπολοιπο μιας διαιρεσης ακεραιων αριθμων πως βρισκεται? Το λεω αυτο γιατι υπαρχουν δυο τροποι. Ενας που οδηγει σε θετικο και ενας σε αρνητικο υπολοιπο.

Πχ -5/2-->

α) πηλικο = -3 , υπολοιπο = 1

β) πηλικο = -2 , υπολοιπο = -1

 

Το λεω αυτο γιατι εαν η γλωσσα προγραμματισμου(μεταγλωτιστης or whatever) διαλεγει τον β) τροπο η μεθοδος σου δεν θα δουλεψει.

 

Το πιο απλο και γενικο θα ηταν:

Αλγόριθμος Ασκ1

Διάβασε α

Διαβασε β

Διάβασε γ

ΠΛΗΘΟΣΠΕΡ <- |α mod 2| + |β mod 2| + |γ mod 2|

Εμφάνισε "Περιττοί: ",ΠΛΗΘΟΣΠΕΡ

Εμφάνισε "Άρτιοι: ",3-ΠΛΗΘΟΣΠΕΡ

Τέλος Ασκ1

Δημοσ.

Στους υπολογιστες το υπολοιπο μιας διαιρεσης ακεραιων αριθμων πως βρισκεται? Το λεω αυτο γιατι υπαρχουν δυο τροποι. Ενας που οδηγει σε θετικο και ενας σε αρνητικο υπολοιπο.

Πχ -5/2-->

α) πηλικο = -3 , υπολοιπο = 1

β) πηλικο = -2 , υπολοιπο = -1

 

Το λεω αυτο γιατι εαν η γλωσσα προγραμματισμου(μεταγλωτιστης or whatever) διαλεγει τον β) τροπο η μεθοδος σου δεν θα δουλεψει.

 

Το πιο απλο και γενικο θα ηταν:

Αλγόριθμος Ασκ1

Διάβασε α

Διαβασε β

Διάβασε γ

ΠΛΗΘΟΣΠΕΡ <- |α mod 2| + |β mod 2| + |γ mod 2|

Εμφάνισε "Περιττοί: ",ΠΛΗΘΟΣΠΕΡ

Εμφάνισε "Άρτιοι: ",3-ΠΛΗΘΟΣΠΕΡ

Τέλος Ασκ1

 

 

:shifty: :shifty: :shifty: Το υπόλοιπο ΠΟΤΕ δεν είναι αρνητικό(εξ' ορισμού βάση της ευκελίδιας διαίρεσης). Έχουμε 5=2*2+1=>-5=-2*2-1=>-5=-3*2+1

 

άρα υ=1 και π=-3

Δημοσ.

:shifty: :shifty: :shifty: Το υπόλοιπο ΠΟΤΕ δεν είναι αρνητικό(εξ' ορισμού βάση της ευκελίδιας διαίρεσης). Έχουμε 5=2*2+1=>-5=-2*2-1=>-5=-3*2+1

 

άρα υ=1 και π=-3

Ναι οκ χαιρω πολυ, αλλά κάνεις ενα βασικο λαθος: Ποιος μιλησε για Ευκλειδια διαιρεση? :rolleyes: Οχι εγω παντως που απαντουσες....

 

Και ποιος σου ειπε οτι οι μεταγλωτιστες(compilers) κανουν Ευκλειδια διαιρεση και θεωρουν υπολοιπο ≥ 0?

Δημοσ.

Αν θυμάμαι καλά, όσον αφορά το μάθημα της Ανάπτυξης Εφαρμογών, τα div και mod χρησιμοποιούνται μόνο με θετικούς ακέραιους.

 

Edit: Ορίστε και η σχετική απάντηση του Π.Ι. http://users.sch.gr/vandr/files/aepp_div_mod.pdf

Αυτη πληροφορια δεν ηταν φανερη οποτε τωρα που την εκανες φανερη(σε εμενα τουλαχιστον), το υπολοιπο ειναι παντα μεγαλυτερο ή ισο με το μηδεν οποτε η λυση σου εχει και γενικη αξια ειναι και σωστη.

Δημοσ.

Φέτος το έδωσα και τα θυμάμαι ακόμα. Με έπιασε και η νοσταλγία μου βραδιάτικα με το συγκεκριμένο μάθημα.wub.gif

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...