Τελεστές MOD και DIV

Ξεκίνησε από anasta, 12 Οκτ 2006, 09:08:28 ΜΜ

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

koniordos

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

.....
ΠΡΑΓΜΑΤΙΚΕΣ: χ
......


χ<--2
χ<--4 DIV 2


Εάν όχι, όταν δηλωνόταν μία μεταβλητή ως πραγματική, θα έπρεπε η εκχώρηση σε αυτή αριθμητικής σταθεράς χωρίς δεκαδικά να γίνεται αναγκαστικά ως εξής

χ<--2.0

Τσορώνης Τάκης
Ηλ.Μηχ. & Μηχ. Η/Υ ΕΜΠ

P.Tsiotakis

Πολύ σωστά,

Όμως αν το χ είναι πραγματικό, δεν μπορεί να συμμετάσχει σε άλλη πράξη div/mod
------

.....
ΠΡΑΓΜΑΤΙΚΕΣ: χ
ΑΚΕΡΑΙΕΣ: υ
.....
χ<--2
υ <--χ DIV 2  ! λάθος

koniordos

Τσορώνης Τάκης
Ηλ.Μηχ. & Μηχ. Η/Υ ΕΜΠ

Michael

Μια σχετική με το θέμα ερώτηση:

Χθές έλυνα το πρώτο διαγώνισμα για τους πίνακες (από το στέκι). Στο ερώτημα 1.Δ.ii. ζητείται πίνακας τιμών για κάποιο αλγόριθμο. Εκεί, στον δοθέντα αλγόριθμο υπάρχουν οι εντολές:

...
X ← X/2 + i mod 2
...
Y ← i + X div i
...

Η πρώτη εντολή υποδηλώνει ότι το Χ πρέπει οπωσδήποτε να είναι πραγματική μεταβλητή. Η δεύτερη, ότι πρέπει οπωσδήποτε να είναι ακέραια. Εδώ το Χ, εκεί το Χ, πού θα έπρεπε να δηλωθεί το Χ?

Επίσης, αν δεν έχω κάνει κάποιο λάθος, κατά τη διάρκεια της εκτέλεσης του αλγορίθμου, το Χ παίρνει όντως μη ακέραια τιμή (1.5), οπότε συνάντησα πρόβλημα με την "πράξη"
Χ div i και σταμάτησα... Αλήθεια, υπάρχουν κάπου οι λύσεις των διαγωνισμάτων? Ρωτάω, επειδή τα έχω πάρει όλα με τη σειρά και θα ήταν χρήσιμο να μπορώ να ελέγχω τις λύσεις μου. (Συγχαρητήρια πάντως σε όσους τα έφτιαξαν, περιλαμβάνονται όντως πολλές πρωτότυπες ασκήσεις.)

andreas_p

Το σωστό  :

...
X ← X/2 + i mod 2
...
Y ← i + Α_Μ(X) div i
...


Ανδρέας