Γράψε
"--------------------------------------------------"
Γράψε
"Πολλαπλασιασμός αλά ρώσικα"
Γράψε
"--------------------------------------------------"
Διάβασε
m1
Διάβασε
m2
r <- 0
Όσο
m2 > 0
Επανάλαβε
Αν
m2 mod 2 = 1
Τότε
r <- r + m1
Τέλος_Αν
m1 <- m1 * 2
m2 <- m2 div 2
Τέλος_Επανάληψης
Γράψε
"Το γινόμενο είναι: ", r
Γράψε
"--------------------------------------------------"
Γράψε
"--------------------------------------------------"
Γράψε
"Πολλαπλασιασμός αλά ρώσικα"
Γράψε
"(με εκτύπωση δεδομένων)"
Γράψε
"--------------------------------------------------"
Διάβασε
m1
Διάβασε
m2
r <- 0
Γράψε
"m1 m2 m1"
Γράψε
"--------------------------------------------------"
Όσο
m2 > 0
Επανάλαβε
Αν
m2 mod 2 = 1
Τότε
r <- r + m1
Γράψε
m1, " ", m2, " ", m1
Αλλιώς
Γράψε
m1, " ", m2
Τέλος_Αν
m1 <- m1 * 2
m2 <- m2 div 2
Τέλος_Επανάληψης
Γράψε
"--------------------------------------------------"
Γράψε
"Το γινόμενο είναι: ", r
Γράψε
"--------------------------------------------------"
Γράψε
"--------------------------------------------------"
Γράψε
"Πολλαπλασιασμός αλά ρώσικα"
Γράψε
"(δυαδική αναπαράσταση)"
Γράψε
"--------------------------------------------------"
Διάβασε
m1
Διάβασε
m2
r <- 0
Γράψε
"ΔΜ1(m1) ΔΜ2(m2) ΔΜ1(m1)"
Γράψε
"--------------------------------------------------"
Όσο
m2 > 0
Επανάλαβε
ΔΜ1 <- Δυαδικό(m1)
ΔΜ2 <- Δυαδικό(m2)
Αν
m2 mod 2 = 1
Τότε
r <- r + m1
Γράψε
ΔΜ1, "(", m1, ") ", ΔΜ2, "(", m2, ") ", ΔΜ1, "(", m1, ")"
Αλλιώς
Γράψε
ΔΜ1, "(", m1, ") ", ΔΜ2, "(", m2, ")"
Τέλος_Αν
m1 <- m1 * 2
m2 <- m2 div 2
Τέλος_Επανάληψης
Γράψε
"--------------------------------------------------"
Γράψε
"Το γινόμενο είναι: ", r
Γράψε
"--------------------------------------------------"
Συνάρτηση
Δυαδικό
(ΑΡ)
ΑΠ <- 0
συντελεστής <- 1
Αρχή_Επανάληψης
ΥΠ <- ΑΡ mod 2
ΑΡ <- ΑΡ div 2
ΑΠ <- ΥΠ * συντελεστής + ΑΠ
συντελεστής <- 10 * συντελεστής
Δυαδικό <- ΑΠ
Τέλος_Συνάρτησης