Αποστολέας Θέμα: Τελεστές MOD και DIV  (Αναγνώστηκε 16522 φορές)

anasta

  • Βετεράνος
  • ****
  • Μηνύματα: 58
  • Ok, yes... Ok, yes...
Τελεστές MOD και DIV
« στις: 12 Οκτ 2006, 09:08:28 μμ »
α) Η προτεραιότητα των τελεστών MOD και DIV είναι ίδια με αυτή των * και /;
β) Μπορούμε να χρησιμοποιήσουμε τους τελεστές αυτούς για πράξεις πραγματικών αριθμών;
Είναι σωστά δηλαδή τα: 5DIV1.5=3 και 5MOD1.5=0.5 ;

gpapargi

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2455
  • I 'm not young enough to know everything
Απ: Τελεστές MOD και DIV
« Απάντηση #1 στις: 13 Οκτ 2006, 08:52:57 πμ »
α) Η προτεραιότητα των DIV και MOD είναι η ίδια με αυτή των * και /. Θα ήταν παράλογο αν δεν είχαν την ίδια προτεραιότητα αφού πχ το 4/2 και το 4 DIV 2 είναι ακριβώς το ίδιο πράγμα.

β) Οι τελεστές DIV και MOD ορίζονται μόνο για ακεραίους. Αν θες να δεις πόσες φορές χωράει ένας δεκαδικός σε έναν άλλο δεκαδικό πολλαπλασίασε και τα 2 με την κατάλληλη δύναμη του 10 έτσι ώστε να γίνουν και οι 2 ακέραιοι.

Από φυσική άποψη αυτό σημαίνει αλλαγή στη μονάδα μέτρησης. Πχ από κιλά περνάς σε γραμμάρια. Προσοχή στο υπόλοιπο που εκφράζεται πλέον στη νέα μονάδα.

Peandbal

  • Θαμώνας
  • ***
  • Μηνύματα: 48
  • Αρθρο 16
Απ: Τελεστές MOD και DIV
« Απάντηση #2 στις: 20 Οκτ 2006, 01:23:23 πμ »
Στο πρώτο ερώτημα σου, αν και το βιβλίο δεν αναφέρει πουθενά (διόρθώστε με αν κάνω λάθος) την ιεραρχία σχετικά με τους τελεστές DIV και MOD, νομίζω ότι είναι σωστό να λέμε στους μαθητές μας ότι η ιεραρχία είναι ίδια με τους τελεστές / και * σαν απόρεια του ότι εκτελούν ακέραια διαίρεση.
Στο δεύτερο ερώτημά σου συμφωνώ με την απάντηση του Γιώργο.

Με εκτίμηση.

andress

  • Νέος
  • *
  • Μηνύματα: 2
Απ: Τελεστές MOD και DIV
« Απάντηση #3 στις: 05 Νοέ 2006, 12:54:05 μμ »
Άλλη μια ερώτηση για τους τελεστές : 
 Τι γίνεται όταν έχω π.χ. 5MOD13 Ή 2DIV20 ?
είναι 0? αδύνατη? υπάρχει αποτέλεσμα ?

Ευχαριστώ 

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2225
Απ: Τελεστές MOD και DIV
« Απάντηση #4 στις: 05 Νοέ 2006, 03:43:36 μμ »
H διαδικασία για να βρούμε τα αποτελέσματα σε πράξεις div και mod συμβαδίζει με την ευκλείδια διαίρεση, δηλαδή:

Δ=π*δ +υ

Η πράξη Div δίνει ως αποτέλεσμα το π και η πράξη Mod δίνει ως αποτέλεσμα το υ

Συνεπώς, μπορείς να υπολογίσεις εύκολα τα αποτελέσματα που λες

Σαν παρατήρηση σου λέω ότι όταν ο διαιρέτης είναι μεγαλύτερος από τον διαιρετέο, το πηλίκο είναι 0 και το υπόλοιπο ίσο με τον διαιρετέο

Παράδειγμα:

4div13=0
4mod13=4

αφού

4=0*13 + 4
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

andress

  • Νέος
  • *
  • Μηνύματα: 2
Απ: Τελεστές MOD και DIV
« Απάντηση #5 στις: 05 Νοέ 2006, 06:19:53 μμ »
Ευχαριστώ πολύ
γιατί τα βιβλία που κυκλοφορούν στο εμπόριο με είχαν μπερδέψει....

andreas_p

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 1015
Απ: Τελεστές MOD και DIV
« Απάντηση #6 στις: 06 Νοέ 2006, 10:27:07 πμ »
Άλλη μια ερώτηση για τους τελεστές : 
 Τι γίνεται όταν έχω π.χ. 5MOD13 Ή 2DIV20 ?
είναι 0? αδύνατη? υπάρχει αποτέλεσμα ?

Απάντηση  :

αδύνατο το   5  Ή  0 

( το  Ή είναι λογικός τελεστής  ενώ τα 5, 0 αριθμητικές ποσότητες)

Ανδρέας

nikosx

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 361
  • ___
Απ: Τελεστές MOD και DIV
« Απάντηση #7 στις: 06 Νοέ 2006, 12:39:07 μμ »
Οι λογικοί τελεστές Η, ΟΧΙ, ΚΑΙ ενώνουν λογικές προτάσεις και όχι αριθμητικές, δηλαδή πρέπει να υπάρχουν και τελεστές σύγκρισης,

π.χ. 7>=2 ΚΑΙ 6<>6
Νίκος Ξένος
nkxenos@yahoo.gr

tomemeto1

  • Θαμώνας
  • ***
  • Μηνύματα: 29
Απ: Τελεστές MOD και DIV
« Απάντηση #8 στις: 20 Σεπ 2007, 02:36:04 μμ »
Ερώτηση:
Αν   i <-- a div b  και   k <-- a mod b
Τα a και b πρέπει να είναι ακέραιοι.
Τα i και k πρέπει να είναι ακέραιοι ή μπορεί να είναι και πραγματικοί αριθμοί;

koniordos

  • Ομάδα διαγωνισμάτων 2008
  • *
  • Μηνύματα: 94
  • Το Α είναι Β και το Β είναι Α
Απ: Τελεστές MOD και DIV
« Απάντηση #9 στις: 20 Σεπ 2007, 02:51:41 μμ »
Θεωρώ πως μπορεί να είναι καί πραγματικοί.
Αντίστοιχα με το αν γράψω χ<--α*β με α,β ακεραίους
δεν υπάρχει πρόβλημα προορισμού. Ο περιορισμός είναι μόνο στους τελεστέους
Τσορώνης Τάκης
Ηλ.Μηχ. & Μηχ. Η/Υ ΕΜΠ

EleniK

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 708
Απ: Τελεστές MOD και DIV
« Απάντηση #10 στις: 20 Σεπ 2007, 03:19:33 μμ »
Έχω την εντύπωση ότι ειναι ακεραιοι όλοι. Το Div  ειναι το ακέραιο πηλίκο, (ακέραιο) και απο τη στιγμή που το mod είναι υπόλοιπο διαίρεσης ακεραίου, νομίζω και αυτό προκύπτει παντα ακέραιο.
Ελένη Κοκκίνου
Καθηγήτρια Πληροφορικής, ΠΕ19

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 5191
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Τελεστές MOD και DIV
« Απάντηση #11 στις: 20 Σεπ 2007, 03:57:24 μμ »
Το a div b
και το a mod b
όπως λέει και η Ελένη είναι ακέραιοι εξ' ορισμού των πράξεων.

Η ανάθεση τιμής επιτρέπει όμως την ανάθεση ενός ακεραίου σε πραγματικό:
πραγματικός <- 1

Επομένως, όπως λέει και ο Τάκης, τα i και k επιτρέπεται να είναι πραγματικοί, όχι λόγω των mod/div αλλά λόγω της ανάθεσης τιμής.

tomemeto1

  • Θαμώνας
  • ***
  • Μηνύματα: 29
Απ: Τελεστές MOD και DIV
« Απάντηση #12 στις: 20 Σεπ 2007, 04:13:29 μμ »
Καταλαβαίνω ότι σε μια πραγματική μεταβλητή μπορεί να εκχωρηθεί η τιμή μιας ακέραιας μεταβλητης
δηλ αν η μεταβλητή t είναι ακέραια και η μεταβλητή i πραγματική, μπορεί να γίνει
i <-- t
αλλά όχι t <-- i

Στην σελ 155 του σχολικού λέει όμως ότι τα δύο μέλη μιας εντολής εκχώρησης τιμής πρέπει να είναι ίδιου τύπου.. Πως δικαιολογείται λοιπόν ότι το (i <-- t ) είναι σωστο; Λέει κάτι σχετικό το βιβλίο;

koniordos

  • Ομάδα διαγωνισμάτων 2008
  • *
  • Μηνύματα: 94
  • Το Α είναι Β και το Β είναι Α
Απ: Τελεστές MOD και DIV
« Απάντηση #13 στις: 20 Σεπ 2007, 04:27:53 μμ »
Μπορείς να "ερμηνεύσεις" αυτή την πρόταση, θεωρώντας πως οι τύποι στους οποίους αναφέρεται, είναι οι

α. μεταβλητές αριθμητικού τύπου (με τους όποιους περιορισμούς)
β. αλφαριθμητικού τύπου
γ. λογικού τύπου

και όχι στους διακριτούς τύπους όπως αυτοί αναφέρονται στο τμήμα δηλώσεων της ΓΛΩΣΣΑΣ.

Αλφαριθμητικού τύπου μεταβλητές σε ορισμένες γλώσσες, (λχ C#) είναι το string (αντίστοιχο με τους ΧΑΡΑΚΤΗΡΕΣ της ΓΛΩΣΣΑΣ), και το char που είναι μεαβλητή που μπορεί να κουβαλήσει μόνον ένα χαρακτήρα τη φορά. Εκεί λοιπόν, μία εκχώρηση ενός χαρακτήρα σε μία μεταβλητή string είναι προφανώς αποδεχτή, ενώ πάνω από ένας (λχ 'ααα δδδ') σε μεταβλητή char απλά δεν χωράει. Κάτι αντίστοιχο υφίσταται και στη σχέση ακεραίων - πραγματικών ως διακριτοί τύποι μεταβλητών.
Τσορώνης Τάκης
Ηλ.Μηχ. & Μηχ. Η/Υ ΕΜΠ

Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3222
  • I love you more than 3000
    • Panagiotis Tsiotakis
Απ: Τελεστές MOD και DIV
« Απάντηση #14 στις: 20 Σεπ 2007, 04:46:41 μμ »
Έχω την αίσθηση οτι στην ευκλείδια διαίρεση αριθμών: ο διαιρετέος, ο διαιρέτης, το πηλίκο και το υπόλοιπο είναι ακέραιοι αριθμοι..

koniordos

  • Ομάδα διαγωνισμάτων 2008
  • *
  • Μηνύματα: 94
  • Το Α είναι Β και το Β είναι Α
Απ: Τελεστές MOD και DIV
« Απάντηση #15 στις: 20 Σεπ 2007, 04:54:56 μμ »
Νομίζω η "αίσθησή" σου μας βρίσκει όλους σύμφωνους.
Πράγματι όλοι οι συντελεστές της ευκλείδιας διαίρεσης είναι ακέραιοι. Τούτο δε σημαίνει πως δεν μπορούν να εκχωρηθούν σε μεταβλητή πραγματικού τύπου.
Εγώ βρίσκω πως οι ακόλουθες εκχωρήσεις είναι απολύτως ισοδύναμες.

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


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


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

χ<--2.0

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

Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3222
  • I love you more than 3000
    • Panagiotis Tsiotakis
Απ: Τελεστές MOD και DIV
« Απάντηση #16 στις: 20 Σεπ 2007, 05:01:42 μμ »
Πολύ σωστά,

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

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

koniordos

  • Ομάδα διαγωνισμάτων 2008
  • *
  • Μηνύματα: 94
  • Το Α είναι Β και το Β είναι Α
Απ: Τελεστές MOD και DIV
« Απάντηση #17 στις: 20 Σεπ 2007, 05:13:01 μμ »
Συμφωνώ απόλυτα.
Τσορώνης Τάκης
Ηλ.Μηχ. & Μηχ. Η/Υ ΕΜΠ

Michael

  • Βετεράνος
  • ****
  • Μηνύματα: 79
Απ: Τελεστές MOD και DIV
« Απάντηση #18 στις: 20 Σεπ 2007, 08:40:59 μμ »
Μια σχετική με το θέμα ερώτηση:

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

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

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

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

andreas_p

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 1015
Απ: Τελεστές MOD και DIV
« Απάντηση #19 στις: 21 Σεπ 2007, 10:35:32 πμ »
Το σωστό  :

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


Ανδρέας