Zadání:
Sestavte program, který převede zlomek na základní tvar.
Řešení:
Program využívá program 04.25 - hledání největšího společného dělitele. Na začátku programu otestujeme, zda
jmenovatel není nulový. Pokud ano, vytiskneme chybové hlášení. Poté otestujeme čitatel na nulovou hodnotu.
Pokud ji obsahuje, vytiskneme hlášení o nulovém zlomku. Pokud ani jedna zadaná hodnota není nulová, zjistíme
znaménko výsledného zlomku, absolutní hodnotou odstraníme znaménka čitatele i jmenovatele a dalčí část
programu zjistí největší společný dělitel jmenovatele a čitatele. Poté čitatel a jmenovatele vydělíme největším
společným dělitelem a výsledek vytiskneme včetně znaménka.
Module Module1
Sub Main()
Dim a, b, c, j, nsd As Integer
Dim znamenko As Char
Console.Write("Zadejte citatel: ")
a = Console.ReadLine
Console.Write("Zadejte jmenovatel: ")
b = Console.ReadLine
If b = 0 Then
Console.WriteLine("Nelze vypocitat.")
Else
If a = 0 Then
Console.WriteLine("Zlomek v zakladnim tvaru: 0")
Else
If a * b < 0 Then
znamenko = "-"
Else
znamenko = " "
End If
End If
c = Math.Abs(a)
j = Math.Abs(b)
Do While c <> j
If c > j Then
c = c - j
Else
j = j - c
End If
Loop
End If
nsd = c
c = Math.Abs(a) \ nsd
j = Math.Abs(b) \ nsd
If j = 1 Then
Console.WriteLine("Zlomek v zakladnim tvaru: {0}{1}", znamenko, c)
Else
Console.WriteLine("Zlomek v zakladnim tvaru: {0}{1}/{2}", znamenko, c, j)
End If
Console.ReadLine()
End Sub
End Module
program ke stažení