Zadání:
Sestavte program, který sečte dvě celá velká čísla.
Řešení:
Program po zadání dvou celých čísel otestuje pomocí příkazu IF, které z obou čísel je kratší a pomocí cyklu FOR
ho doplní zleva nulami na délku druhého čísla.
Poté program pomocí cyklu FOR prochází obě čísla zprava, převede každý znak na číslo, sečte tato čísla, přičte k nim
přenos, výsledek převede na znak a přidá ho zleva k výsledku. Poté vypočte přenos do vyššího řádu.
Na konci programu se výsledek vytiskne.
Module Module1
Sub Main()
Dim c1, c2, v As String
Dim i As Integer
Dim z1, z2, prenos, s As Byte
Console.Write("Zadejte prvni cislo: ")
c1 = Console.ReadLine
Console.Write("Zadejte druhe cislo: ")
c2 = Console.ReadLine
If Len(c1) > Len(c2) Then
For i = 1 To Len(c1) - Len(c2)
c2 = "0" + c2
Next i
Else
For i = 1 To Len(c2) - Len(c1)
c1 = "0" + c1
Next i
End If
prenos = 0
v = ""
For i = Len(c1) - 1 To 0 Step -1
z1 = Asc(c1(i)) - Asc("0")
z2 = Asc(c2(i)) - Asc("0")
s = z1 + z2 + prenos
v = Chr((s Mod 10) + Asc("0")) + v
prenos = s \ 10
Next i
If prenos = 1 Then
v = "1" + v
End If
Console.WriteLine("Vysledek: {0}", v)
Console.ReadLine()
End Sub
End Module
program ke stažení