Αποστολέας Θέμα: ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΣ ΑΛΑ ΡΩΣΙΚΑ ΜΕ ΑΛΛΑΓΗ  (Αναγνώστηκε 1515 φορές)

landreou

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 124
ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΣ ΑΛΑ ΡΩΣΙΚΑ ΜΕ ΑΛΛΑΓΗ
« στις: 23 Ιαν 2013, 01:14:05 μμ »
Γεια σας φίλοι του ΣτΠ. Στο βιβλίο σελ.44 ξεκινάει το θέμα "Πολλαπλασιασμός αλά Ρώσικα" και λέει (σελ.45) : "Ωστόσο, η πράξη του πολλαπλασιασμού δεν εκτελείται από τον υπολογιστή με τον τρόπο αυτό. Πιο συγκεκριμένα, ο χρησιμοποιούμενος τρόπος είναι ο λεγόμενος πολλαπλασιασμός αλά ρωσικά. Χωρίς βλάβη της γενικότητας θεωρούμε ότι οι ακέραιοι είναι θετικοί (μεγαλύτεροι του μηδενός), αλλά η μέθοδος μπορεί εύκολα να μετατραπεί, ώστε να περιγράψει και την περίπτωση των αρνητικών ακεραίων."
Αν γίνεται αυτή η μετατροπη να εκφραστεί σε αλγόριθμο για να καλύψουμε και αυτή τη περίπτωση .

Εκ προοιμίου σας ευχαριστώ

gthal

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 879
Απ: ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΣ ΑΛΑ ΡΩΣΙΚΑ ΜΕ ΑΛΛΑΓΗ
« Απάντηση #1 στις: 23 Ιαν 2013, 08:46:45 μμ »
Υποθέτω εφαρμόζεις τον αλγόριθμο κανονικά (για τις απόλυτες τιμές των αριθμών) και στο τέλος, ανάλογα με τα πρόσημα των αριθμών που πολ/σιάζεις καθορίζεις και το πρόσημο του αποτελέσματος.
Φιλικά,
Γιώργος Θαλασσινός

landreou

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 124
Απ: ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΣ ΑΛΑ ΡΩΣΙΚΑ ΜΕ ΑΛΛΑΓΗ
« Απάντηση #2 στις: 30 Ιαν 2013, 10:02:22 πμ »
Ο αλγόριθμος του σχ. βιβλίου αναφέρεται σε θετικούς ακέραιους. Τι συνθήκες πρεπει να έχουμε στην γενικότερη περίπτωση ακεραίων; (μαζί και αρνητκών δηλαδή).

nikolasmer

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 534
  • There can be only one...may it be AEPP.
Απ: ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΣ ΑΛΑ ΡΩΣΙΚΑ ΜΕ ΑΛΛΑΓΗ
« Απάντηση #3 στις: 30 Ιαν 2013, 10:12:50 πμ »
Θα προσθέσεις τις εξής εντολές:

Διάβασε χ, ψ ! που μπορεί να είναι και ομόσημοι και ετερόσημοι.
α <- Α_Τ(χ)
β <- Α_Τ(ψ)
! κάνεις πολ/σμό Αλά Ρώσικα με τις α και β μεταβλητές και στο τέλος
Αν χ * ψ >0 τότε ! ομόσημοι
   Εμφάνισε αποτέλεσμα
Αλλιώς  ! ετερόσημοι
   Εμφάνισε - αποτέλεσμα
Τέλος_αν

Απ' τα τσακάλια δεν γλυτώνεις μ'ευχές ή παρακάλια
(Κ. Βάρναλης)

Μερεντίτης Νικόλαος
Καθηγητής Πληροφορικής - Φροντιστής

gthal

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 879
Απ: ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΣ ΑΛΑ ΡΩΣΙΚΑ ΜΕ ΑΛΛΑΓΗ
« Απάντηση #4 στις: 31 Ιαν 2013, 02:51:58 πμ »
ε, εντάξει, επειδή είναι λίγο ειρωνεία να παλεύουμε τόση ώρα για να βρούμε το γινόμενο χ*ψ με πολ/σμό αλά ρωσικά και στο τέλος να λέμε
"Αν χ*ψ >0 "  (δηλ. να χρησιμοποιούμε έτοιμο το γινόμενο για να βρούμε το πρόσημό του)
θα προτιμούσα τις στοιχειώδεις συγκρίσεις με το μηδέν

Αν (χ<0 και ψ>0) ή (χ>0 και ψ<0) τότε
  αποτέλεσμα <-  - αποτέλεσμα
τέλος_αν
Φιλικά,
Γιώργος Θαλασσινός

nikolasmer

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 534
  • There can be only one...may it be AEPP.
Απ: ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΣ ΑΛΑ ΡΩΣΙΚΑ ΜΕ ΑΛΛΑΓΗ
« Απάντηση #5 στις: 31 Ιαν 2013, 09:56:38 πμ »
Ναι έχεις  απόλυτο δίκαιο. Δε μου πέρασε καθόλου από το μυαλό.
Διορθώνω

Αν (χ<0 και ψ>0) ή (χ>0 και ψ<0) τότε
  αποτέλεσμα <-  - αποτέλεσμα
τέλος_αν

Απ' τα τσακάλια δεν γλυτώνεις μ'ευχές ή παρακάλια
(Κ. Βάρναλης)

Μερεντίτης Νικόλαος
Καθηγητής Πληροφορικής - Φροντιστής

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

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 184
Απ: ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΣ ΑΛΑ ΡΩΣΙΚΑ ΜΕ ΑΛΛΑΓΗ
« Απάντηση #6 στις: 09 Δεκ 2018, 04:50:29 πμ »
ε, εντάξει, επειδή είναι λίγο ειρωνεία να παλεύουμε τόση ώρα για να βρούμε το γινόμενο χ*ψ με πολ/σμό αλά ρωσικά και στο τέλος να λέμε
"Αν χ*ψ >0 "  (δηλ. να χρησιμοποιούμε έτοιμο το γινόμενο για να βρούμε το πρόσημό του)
θα προτιμούσα τις στοιχειώδεις συγκρίσεις με το μηδέν

Αν (χ<0 και ψ>0) ή (χ>0 και ψ<0) τότε
  αποτέλεσμα <-  - αποτέλεσμα
τέλος_αν

και γιατι να μην το ελεγξεις ως εξης?
ΑΝ X/Y>0 ...κτλ κτλ (δεν χρησιμοποιεις το γινομενο αλλα διαιρεση) ;) ;) ;)

dpats

  • Νέος
  • *
  • Μηνύματα: 3
Απ: ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΣ ΑΛΑ ΡΩΣΙΚΑ ΜΕ ΑΛΛΑΓΗ
« Απάντηση #7 στις: 04 Ιαν 2019, 02:09:45 μμ »
Αν και το σχολικό αναφέρει ότι "Χωρίς βλάβη της γενικότητας θεωρούμε ότι οι ακέραιοι είναι θετικοί", ωστόσο η μέθοδος του πολ/σμού αλά ρωσικά δουλεύει και για Υ = 0, ενώ η διαίρεση Χ/Υ όχι. Μια άλλη λύση θα ήταν
ΑΝ Χ < 0 ΤΟΤΕ
  αποτέλεσμα <- - αποτέλεσμα
ΤΕΛΟΣ_ΑΝ
ΑΝ Υ < 0 ΤΟΤΕ
  αποτέλεσμα <- - αποτέλεσμα
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ αποτέλεσμα