ασκησεις στη δομη ακολουθιας

Ξεκίνησε από Κωστας τζιαννης, 23 Οκτ 2019, 02:49:13 ΜΜ

« προηγούμενο - επόμενο »

Κωστας τζιαννης

οι παρακατω 4 ασκησεις εχουν πολυ συντομες λυσεις και βοηθανε κατα τη γνωμη μου στην αναπτυξη της αλγοριθμικης σκεψης. Δεν ειναι οι κλασσικες του στυλ "μετατρεψτε δευτερολεπτα σε ωρες κτλ"  και πιστευω ειναι καλο οι μαθητες να δοκιμαστουν σε κατι το οποιο ισως να μην εχουν ξανασυναντησει.ειναι ισως πιο απλες απο αυτες που εχουν συνηθισει να λυνουν ,ομως οι περισσοτεροι δυσκολευονται στα απλα.

1) Να γραφει προγραμμα σε Γλωσσα το οποιο θα διαβαζει έναν θετικο πραγματικο αριθμο και θα τον στρογγυλοποιει στον πλησιεστερο ακεραιο.Να εμφανιζει το αποτελεσμα. θα χρειαστει να χρησιμοποιηθει η Α_Μ.

2)Να γραφει προγραμμα σε γλωσσα το οποιο θα διαβαζει από τον χρηστη έναν αριθμο ο οποιος μπορει να ισος με 1 ή 2.Αν ο χρηστης δωσει τον αριθμο 1 να εμφανιζεται το 2 ,ενώ αν δωσει το 2 να εμφανιζεται το 1. Αποκλειεται ο χρηστης να δωσει καποιον αλλον αριθμο.

3)να γραφει προγραμμα σε γλωσσα το οποιο θα διαβαζει 2 ακεραιους θετικους αριθμους και θα τους εκχωρει σε 2 μεταβλητες α και β. αφου αντιμεταθεσει τις τιμές των α,β να εμφανιζει τις τιμές που έχουν πια τα α,β. να μη χρησιμοποιηθει καμια άλλη μεταβλητη περαν των α,β.  hint:λυνεται πιο ευκολα αν λυθει πρωτα η ασκηση 2

4)θεωρειστε δεδομενη τη συναρτηση μαξιμουμ(χ,υ) η οποια δεχεται 2 πραγματικες τιμές και επιστρεφει τη μεγαλυτερη από αυτές. Πχ
Χ<-μαξιμουμ(2,8) σημαινει ότι το χ εγινε 8. Να φτιαχτει προγραμμα που θα διαβαζει 3 πραγματικους αριθμους και θα εμφανιζει τον μεγαλυτερο από αυτους.



gpapargi

Αυτά τα μηνύματα δημιουργούν πάντα ωραίες συζητήσεις καθώς οι λύσεις συχνά είναι περισσότερες  από μια.
Για το 1 θα έλεγα
Πλησιέστερος <- A_M(x+0.5)
Για το 2 βλέπω 2 λύσεις: Η μια είναι
Y<-x+3
Η άλλη είναι y<- x mod 2 +1
Για το 3 και για όλους τους πραγματικούς ισχύει:
Διάβασε x,y
x<- x+y
y<-x-y
x<-x-y
Για το 4 θα συμπλήρωνα να βρεθεί λύση και με την αντιμετάθεσε καθώς μπορείς να χρησιμοποιήσεις την ιδέα της φυσαλίδας και να κάνεις  μια σάρωση από κάτω προς τα πάνω εμφανίζοντας μια φυσαλίδα στην πρώτη θέση. Στην πραγματικότητα οι 2 προσεγγίσεις κάνουν εύρεση μεγίστου, η μια με τη μέθοδο στην οποία στηρίζεται  η ταξινόμηση επιλογής και η άλλη με τη μέθοδο στην οποία στηρίζεται η ταξινόμηση φυσαλίδας.

FANBOY_21

#2
Παράθεση από: gpapargi στις 24 Οκτ 2019, 12:11:26 ΜΜ
Για το 2 βλέπω 2 λύσεις: Η μια είναι
Y<-x+3

Θα εννοείς 3-x (ή -x+3, οπότε Υ<--x+3). ;)

gpapargi

Ναι...  το "-" ενσωματώθηκε κατά λάθος με το δεύτερο χαρακτήρα του "<-"   :)

Κωστας τζιαννης

επιπροσθετα:
5) να γραφει προγραμμα σε γλωσσα που θα διαβαζει 2 πραγματικους αριθμους α,β και θα εμφανιζει στην οθονη ενα πολυωνυμο που εχει ριζες τα α,β. πχ
για α=1 και β=2 εμφανιζεται χ^2-3*χ+2


FANBOY_21

Παράθεση από: Κωστας τζιαννης στις 25 Οκτ 2019, 08:49:10 ΜΜ
5) να γραφει προγραμμα σε γλωσσα που θα διαβαζει 2 πραγματικους αριθμους α,β και θα εμφανιζει στην οθονη ενα πολυωνυμο που εχει ριζες τα α,β. πχ
για α=1 και β=2 εμφανιζεται χ^2-3*χ+2


Εδώ μπορεί να υπάρξει μπέρδεμα με τα πρόσημα, τις μονάδες και τα μηδενικά, οπότε γίνεται πιο "σύνθετο". Για παράδειγμα, το (x+2)(x-1) θέλουμε να εμφανιστεί ως x^2+x-2 και όχι 1x^2+1x+-2, κάτι που μπορεί να γίνει αν δεν συμπεριλάβουμε κώδικα για να το χειριζόμαστε αυτό. Εκτός κι αν απαιτήσουμε παρενθέσεις και παρουσία και των τριών όρων αx^2, βx και γ, κι ας είναι ο β ή ο γ μηδέν, οπότε θα βγει (1)x^2+(1)x+(-2), το οποίο είναι διαφορετικό από το παράδειγμά σου.

Κωστας τζιαννης

Παράθεση από: FANBOY_21 στις 25 Οκτ 2019, 10:30:31 ΜΜ
Εκτός κι αν απαιτήσουμε παρενθέσεις και παρουσία και των τριών όρων αx^2, βx και γ, κι ας είναι ο β ή ο γ μηδέν, οπότε θα βγει (1)x^2+(1)x+(-2), το οποίο είναι διαφορετικό από το παράδειγμά σου.

η υπαρξη παρενθεσεων δεν αλλαζει σε κατι το αποτελεσμα.ειναι αυτονοητα ιδια.

FANBOY_21

Παράθεση από: Κωστας τζιαννης στις 25 Οκτ 2019, 11:23:22 ΜΜ
η υπαρξη παρενθεσεων δεν αλλαζει σε κατι το αποτελεσμα.ειναι αυτονοητα ιδια.

Για να πω την αλήθεια, θα μπορούσε απλά να δίνει τους συντελεστές α, β και γ χωρίς άλλη μορφοποίηση. Κάπως έτσι:

ΠΡΟΓΡΑΜΜΑ παραγωγή_τριωνύμου
ΜΕΤΑΒΛΗΤΕΣ
  ΠΡΑΓΜΑΤΙΚΕΣ: ρ1, ρ2, α, β, γ
ΑΡΧΗ
  ΔΙΑΒΑΣΕ ρ1, ρ2
  α <- 1
  β <- -ρ1 - ρ2
  γ <- ρ1*ρ2
  ΓΡΑΨΕ α, β, γ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


Θεωρώ πως αυτός πρέπει να είναι ο πυρήνας της άσκησης, και όχι τόσο η μορφοποίηση του αποτελέσματος ή το αν οι συντελεστές πρέπει να είναι ακέραιοι ή όχι, αφού ο στόχος όλων αυτών των ασκήσεων είναι να είναι απλές αλλά διαφορετικές. Στην πραγματικότητα, αυτό βασίζεται σε γνώσεις της Α' Λυκείου, όπου μαθαίνουμε πως, αν το τριώνυμο αx ^ 2 + βx + γ έχει τις ρίζες x1 και x2, τότε x1 + x2 = -β / α και x1x2 = γ / α. Για απλούστευση της άσκησης, θεωρούμε ότι α = 1.

Κωστας τζιαννης

η ουσια ειναι η ιδια ισχυει.απλα την εβαλα ετσι ωστε αν καποιος τη δωσει σε μαθητη,να δει πως χρησιμοποιει την εντολη ΓΡΑΨΕ ,τα εισαγωγικα κτλ,να χει συναισθηση δηλαδη τι εμφανιζεται ακριβως,τι πρεπει να προσεξει (να βαλει παρανθεσεις) κτλ. βεβαια στις περισσοτερες κανονικες γλωσσες υπαρχει συχωνευση χαρακτηρων,ετοιμες συναρτησεις που δινουν το προσημο κτλ αλλα στη ΓΛΩΣΣΑ θελει καποια σκεψη στο πως θα εμφανιζεται γιατι οι περισσοτεροι δε δινουν σημασια στη μορφη εμφανισης του αποτελεσματος οποτε θεωρω οτι ειναι καλο να το δουν κι αυτο.

Κωστας τζιαννης


6)Να γραψετε προγραμμα σε ΓΛΩΣΣΑ που θα διαβαζει 5 ακεραιους θετικους αριθμους και θα εμφανιζει  το πληθος των αρτιων.

Επιπλεον να εμφανιζει τον αριθμο 1 αν το πληθος τον περιττων ειναι αρτιος αριθμος και το 0 αν το πληθος των περιττων ειναι περιττος αριθμος

ApoAntonis

Παράθεση από: Κωστας τζιαννης στις 26 Οκτ 2019, 05:10:39 ΜΜ

6)Να γραψετε προγραμμα σε ΓΛΩΣΣΑ που θα διαβαζει 5 ακεραιους θετικους αριθμους και θα εμφανιζει  το πληθος των αρτιων.

ΔΙΑΒΑΣΕ a,b,c,d,e

! για το εφέ, να το κάνετε σε μια εντολή εκχώρησης

n <- 5
n <- n - a MOD 2
...
n <- n - e MOD 2


Παράθεση από: Κωστας τζιαννης στις 26 Οκτ 2019, 05:10:39 ΜΜ
Επιπλεον να εμφανιζει τον αριθμο 1 αν το πληθος τον περιττων ειναι αρτιος αριθμος και το 0 αν το πληθος των περιττων ειναι περιττος αριθμος

n <- (6- n ) MOD 2

Κωστας τζιαννης

Παράθεση από: ApoAntonis στις 26 Οκτ 2019, 09:06:19 ΜΜ
ΔΙΑΒΑΣΕ a,b,c,d,e

! για το εφέ, να το κάνετε σε μια εντολή εκχώρησης

n <- 5
n <- n - a MOD 2
...
n <- n - e MOD 2

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

Παράθεση από: ApoAntonis στις 26 Οκτ 2019, 09:06:19 ΜΜ
n <- (6- n ) MOD 2
θα μπορουσε να μη χρησιμοποιηθει ο αριθμος 6 ,δλδ το πληθος αριθμων που διαβαστηκε+1, για να ειναι πιο γενικο(το πληθος των αριθμων που διαβαστηκαν δεν ειναι απαραιτητο). ακομα καλο θα ηταν να μη χρησιμοποιειται συνεχως η ιδια μεταβλητη .δεν ειναι καλη πρακτικη. σε θεμα αποτελεσματων ,βεβαια ειναι απολυτως σωστο.επισημαινω καποιες λεπτομερειες σε περιπτωση που το διαβασει καποιος μαθητης.