Afey
Πολύ δραστήριο μέλος
Ο Θέμης αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 33 ετών, Φοιτητής και μας γράφει απο Πάτρα (Αχαΐα). Έχει γράψει 1,326 μηνύματα.
29-10-08
17:46
Ρε Χρήστο, αν μπω εγώ στη μέση της χρονίας σε μια ώρα Χημείας σ' ένα φροντιστήριο τι νομίζεις ότι θα καταλάβω; Αυτό σημαίνει ότι το μυαλό μου είναι φτωχό ή η Χημεία δύσκολη;
Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Afey
Πολύ δραστήριο μέλος
Ο Θέμης αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 33 ετών, Φοιτητής και μας γράφει απο Πάτρα (Αχαΐα). Έχει γράψει 1,326 μηνύματα.
29-10-08
17:30
Το ΑΓΑΠΩ . Είναι το μόνο μάθημα που προάγει (αν και όχι εξετάζει) την κριτική ικανότητα και την αυτενέργια του μαθητή.
Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Afey
Πολύ δραστήριο μέλος
Ο Θέμης αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 33 ετών, Φοιτητής και μας γράφει απο Πάτρα (Αχαΐα). Έχει γράψει 1,326 μηνύματα.
28-04-08
14:07
Παίδες άκυρο. Για εντελώς άλλο πράγμα νόμιζα ότι μιλούσατε. Ναι όντως έχετε δίκιο, div και mod αυστηρά και μόνο για ακέραιους, my bad που λένε και στο χωριό μου.
Σημείωση: Το μήνυμα αυτό γράφτηκε 16 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Afey
Πολύ δραστήριο μέλος
Ο Θέμης αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 33 ετών, Φοιτητής και μας γράφει απο Πάτρα (Αχαΐα). Έχει γράψει 1,326 μηνύματα.
23-04-08
19:34
Το βιβλίο έχει όντως παραδείγματα που συνδιάζουν ακέραιους και πραγματικούς και υπάρχει πρόβλημα γιατί ορίζει κάτι και το αναιρεί έπειτα.
Κατά τη γνώμη μου πρέπει να τηρηθεί η σημείωση στη σελίδα 155. Σε κάθε εντολή εκχώρησης τόσο η μεταβλητή όσο και η έκφραση πρέπει να είναι ίδιου τύπου.
Το Β και Γ είναι ΑΚΕΡΑΙΟΥ τύπου. Το Α θα έχει ακέραια τιμή προφανώς, αλλά λόγω της σημείωσης στη σελίδα 155 πρέπει κι ο τύπος του να είναι ΑΚΕΡΑΙΟΣ.Code:Α ← Β [B]DIV[/B] Γ
Δεν μπορείς να το δηλώσεις ΠΡΑΓΜΑΤΙΚΟ γιατί σε περιορίζει η σελίδα 155 (όχι γιατί έχει ακέραια τιμή, μπορεί μία μεταβλητή πραγματικού τύπου να έχει ακέραια τιμή).
(Εάν κάποιος δεν καταλαβαίνει τη διαφορά ακέραιας τιμής - ακέραιου τύπου ας ποστάρει ).
Σημείωση: τα DIV και ΜOD είναι με κεφαλαία στο πρόγραμμα.
Τι γίνεται λοιπόν αν θέλουμε ακέραια διαίρεση σε δεδομένα πραγματικού τύπου; Αν για παράδειγμα έχουμε:
Και θέλουμε ακέραια διαίρεση των Β και Γ;Code:[B]ΜΕΤΑΒΛΗΤΕΣ[/B] [B]ΠΡΑΓΜΑΤΙΚΕΣ:[/B] Β, Γ, ΠΗΛΙΚΟ, ΥΠΟΛΟΙΠΟ [B]ΑΡΧΗ[/B] Β←7 Γ←3
Μία σκέψη
Γιατί τα Β και Γ είναι ΠΡΑΓΜΑΤΙΚΟΥ τύπου, άσχετα με το αν έχουν ακέραιες τιμές.Code:Β [B]DIV[/B] Γ [COLOR=DarkGreen][B]!ΛΑΘΟΣ[/B][/COLOR]
Το σωστό είναι:
Τα σχόλια δεν χρειάζονται στο πρόγραμμα, τα έβαλα για να καταλάβουμε τι παίζει.Code:[B]ΑΝ[/B] (Α_Μ(Β)=Β) [B]KAI[/B] (Α_Μ(Γ)=Γ) [B]ΚΑΙ[/B] (Β<>0) [B]ΤΟΤΕ[/B] [COLOR=DarkGreen][B]!Έτσι ελέγχουμε αν μεταβλητές οι Β και Γ έχουν ακέραιες τιμές. Αν ένας τουλάχιστον είναι δεκαδικός, δεν έχει νόημα να προχωρήσουμε. Και φυσικά ελέγχουμε ότι δεν διαιρούμε με το μηδέν.[/B][/COLOR] ΠΗΛΙΚΟ ← Α_Τ(Α_Μ(Β/Γ)) [COLOR=DarkGreen][B]!Κρατάμε το ακέραιο μέρος της διαίρεσης και ύστερα παίρνουμε την απόλυτη τιμή καθώς μπορεί να είναι αρνητικοί.[/B][/COLOR] ΥΠΟΛΟΙΠΟ ← Β - Γ * ΠΗΛΙΚΟ [COLOR=DarkGreen][B]!Ταυτότητα του Ευκλείδη. [/B][/COLOR] [B]ΑΝ[/B] Β*Γ<0 [B]ΤΟΤΕ[/B] [COLOR=DarkGreen][B]!Αν είναι ετερόσημοι, απλώς βάζουμε ένα '-' μπροστά από τα αποτελέσματα, όπως είπαμε προηγουμένως.[/B][/COLOR] ΠΗΛΙΚΟ ← (-1)*ΠΗΛΙΚΟ ΥΠΟΛΟΙΠΟ ← (-1)*ΥΠΟΛΟΙΠΟ [B]ΤΕΛΟΣ_ΑΝ[/B] [B]ΓΡΑΨΕ[/B] 'Πηλίκο = ', ΠΗΛΙΚΟ [B]ΓΡΑΨΕ[/B] Υπόλοιπο = ', ΥΠΟΛΟΙΠΟ [B]ΤΕΛΟΣ_ΑΝ[/B]
Από Γιώργος
Έλα ρε φίλε... Ωραίος για τη δουλειά που έκανες και το λεπτό σημείο που πρόσεξες αλλά πραγματικά πιστεύεις ότι αν γράψεις B DIV Γ υπάρχει περίπτωση να στο πάρει κανένας λάθος; Εγώ σου λέω ότι πιο πιθανό είναι να πέσεις σε κανένα γίδι που να μην έχει καταλάβει ή να μη δέχεται αυτά που έχεις κάνει εσύ και να σου κόψει από εκεί.
Θα μου πεις πως αυτός δεν είναι τρόπος να σκέφτεσαι. Θα σου πω OK.
ΔΙΟΡΘΩΣΗ: εκατσα και το έψαξα, οι πράξη a mod b με τον μαθηματικό ορισμό της δεν ορίζεται για a αρνητικό
Όχι βέβαια, ποιός τα λέει αυτά;
Σημείωση: Το μήνυμα αυτό γράφτηκε 16 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.