Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- TYPE frac
- nume AS SINGLE
- deno AS SINGLE
- END TYPE
- DIM f1, f2, fr AS frac
- DIM opc, res, pow, aux, i, may AS SINGLE
- DIM simop AS STRING
- menu:
- PRINT "Que Quiere hacer?:"
- PRINT "1.Sumar"
- PRINT "2.Restar"
- PRINT "3.Multiplicar"
- PRINT "4.Dividir"
- PRINT "5.Elevar"
- INPUT opc
- IF opc > 5 OR opc < 1 THEN GOTO menu
- lectura:
- PRINT "Ingrese la primera fracci�n (Numerador/Denominador)"
- INPUT f1.nume
- PRINT "_________________"
- INPUT f1.deno
- PRINT "Ahora la segunda"
- INPUT f2.nume
- PRINT "_________________"
- INPUT f2.deno
- IF f1.deno = 0 OR f2.deno = 0 THEN
- PRINT "Denominador es 0"
- GOTO lectura
- END IF
- IF opc = 1 THEN
- IF f1.deno = f2.deno THEN
- fr.deno = f1.deno
- fr.nume = (f1.nume + f2.nume)
- END IF
- fr.nume = (f1.nume * f2.deno) + (f2.nume * f1.deno)
- fr.deno = (f1.deno * f2.deno)
- GOTO impresora
- END IF
- IF opc = 2 THEN
- IF f1.deno = f2.deno THEN
- fr.deno = f1.deno
- fr.nume = (f1.nume - f2.nume)
- END IF
- fr.nume = (f1.nume * f2.deno) - (f2.nume * f1.deno)
- fr.deno = (f1.deno * f2.deno)
- GOTO impresora
- END IF
- IF opc = 3 THEN
- fr.nume = (f1.nume * f2.nume)
- fr.deno = (f1.deno * f2.deno)
- GOTO impresora
- END IF
- IF opc = 4 THEN
- fr.nume = (f1.nume * f2.deno)
- fr.deno = (f1.deno * f1.nume)
- GOTO impresora
- END IF
- IF opc = 5 THEN
- IF (f2.nume / f2.deno) < 0 THEN
- aux = f1.nume
- f1.nume = f1.deno
- f1.deno = aux
- pow = ABS(f2.nume / f2.deno)
- END IF
- fr.nume = (f1.nume ^ f2.nume) ^ (1 / (f2.deno))
- fr.deno = (f1.deno ^ f2.nume) ^ (1 / (f2.deno))
- GOTO impresora
- END IF
- impresora:
- PRINT "Resultado"
- PRINT fr.nume
- PRINT "_________________"
- PRINT fr.deno
- PRINT "En decimal ser�a" + STR$(fr.nume / fr.deno)
- IF simop = "s" THEN END
- PRINT "�Quiere intentar simplificar?(S/N)"
- INPUT simop
- IF simop = "s" THEN GOTO simplificador
- simplificador:
- IF fr.nume > fr.deno THEN
- may = fr.nume
- ELSE may = fr.deno
- END IF
- FOR i = may TO 1 STEP -1
- IF (fr.nume MOD i) = 0 AND (fr.deno MOD i) = 0 THEN
- fr.nume = fr.nume / i
- fr.deno = fr.deno / i
- IF fr.nume > deno THEN
- may = fr.nume
- ELSE may = fr.deno
- END IF
- END IF
- NEXT
- GOTO impresora
Advertisement
Add Comment
Please, Sign In to add comment