38
PRÁCTICAS EN GAMBAS EJERCICIOS “GAMBAS” (BAJO CONSOLA) EJERCICIO 1 “HOLA MUNDO” EJERCICIO 2 “SUMA” Ingeniería en Sistemas Página 1 PUBLIC SUB Main() PRINT "HOLA MUNDO\n" PRINT "SOY STALIN RODRIGUEZ" END

PROGRAMAS GAMBAS

Embed Size (px)

Citation preview

Page 1: PROGRAMAS GAMBAS

PRÁCTICAS EN GAMBAS

EJERCICIOS “GAMBAS”(BAJO CONSOLA)

EJERCICIO 1“HOLA MUNDO”

EJERCICIO 2“SUMA”

Ingeniería en Sistemas Página 1

PUBLIC SUB Main()PRINT "HOLA MUNDO\n"

PRINT "SOY STALIN RODRIGUEZ"END

PUBLIC SUB Main()PRINT "HOLA MUNDO\n"

PRINT "SOY STALIN RODRIGUEZ"END

Page 2: PROGRAMAS GAMBAS

PRÁCTICAS EN GAMBAS

EJERCICIO 3“MAYOR DE 3”

'entre 3 números averiguar cual es el mayor'el menor y el intermedio.

PUBLIC SUB Main()

DIM A, B, C AS IntegerA = 6B = 10C = 80

IF A > B AND A > C THEN PRINT "MAYOR ES..: " & A

IF C > B THENPRINT "INTERMEDIO ES..: " & C

Ingeniería en Sistemas Página 2

PUBLIC SUB Main()‘Mi primera sumaDIM A AS IntegerDIM B AS IntegerDIM S AS Integer

A = 10B = 20

S = A + BPRINT "LA SUMA ES...:"

PRINT SEND

PUBLIC SUB Main()‘Mi primera sumaDIM A AS IntegerDIM B AS IntegerDIM S AS Integer

A = 10B = 20

S = A + BPRINT "LA SUMA ES...:"

PRINT SEND

Page 3: PROGRAMAS GAMBAS

PRÁCTICAS EN GAMBAS

PRINT "MENOR ES..: " & BELSE

PRINT "INTERMEDIO ES..: " & BPRINT "MENOR ES..: " & C

ENDIF

ELSE IF B > C THEN

PRINT "MAYOR ES..: " & B IF A > C THEN

PRINT "INTERMEDIO ES..: " & APRINT "MENOR ES..: " & C

ELSE PRINT "INTERMEDIO ES..: " & C

PRINT "MENOR ES..: " & AENDIF

ELSEPRINT "MAYOR ES..: " & C

IF A > B THENPRINT "INTERMEDIO ES..: " & A

PRINT "MENOR ES..: " & BELSE

PRINT "INTERMEDIO ES..: " & BPRINT "MENOR ES..: " & A

ENDIFENDIF ENDIF

END

EJERCICIO 4“DIGITO AUTOVERIFICADOR”

Ingeniería en Sistemas Página 3

Page 4: PROGRAMAS GAMBAS

PRÁCTICAS EN GAMBAS

PUBLIC SUB Main()DIM B, C, D, E, F, G, H, I, J, K, W AS Integer

DIM A AS String PRINT "INGRESE EL NUMERO DE CEDULA"

INPUT A

FOR B = 1 TO 9 STEP 1 C = Str(Mid(A, B, 1))

D = B MOD 2

IF D = 0 THEN I = I + C

ELSE H = C * 2

IF H > 9 THEN D = H MOD 10 E = Int(h / 10)

F = D + E ELSE F = H

ENDIF G = G + F

ENDIF

NEXT J = G + I

K = J MOD 10 W = 10 - K

PRINT "EL NUMERO VERIFICADOR DE LA CEDULA ES : "PRINT W

END

EJERCICIO 5“DE TODO UN POCO”

PUBLIC SUB Main()DIM a AS Integer

DIM NOMBRE, C AS StringDIM F, I, X, T AS Integer

PRINT "INGRESE UN NÚMERO..:"INPUT a

PRINT "INGRESE UN NOMBRE..:"INPUT NOMBRE

PRINT "EL NÚMERO QUE INGRESE ES..", aPRINT "EL NOMBRE ES..", NOMBRE

C = Mid(NOMBRE, 2, 2)

Ingeniería en Sistemas Página 4

Page 5: PROGRAMAS GAMBAS

PRÁCTICAS EN GAMBAS

PRINT "EL CARACTER SELECCIONADO ES..:", C

F = 1FOR I = 1 TO 5

F = F * INEXT

PRINT "EL FACTORIAL DE 5 ES..: ", F

X = 1WHILE X <= 10

T = 2 * X PRINT "2 X " & Str(X) & "=" & Str(T)

X = X + 1 WEND

END

EJERCICIO 6“EXPORTACION”

'El Ecuador exporta café, cacao y maíz en qq, se desea calcular el total de las exportaciones'y el porcentaje de cada producto exportado, con los siguientes datos

'MAIZ 300, CAFE 400, CACAO 800

PUBLIC SUB Main()DIM A AS IntegerDIM B AS IntegerDIM C AS IntegerDIM S AS IntegerDIM P1 AS FloatDIM P2 AS Float

Ingeniería en Sistemas Página 5

Page 6: PROGRAMAS GAMBAS

PRÁCTICAS EN GAMBAS

DIM P3 AS Float

A = 300B = 400C = 800

S = A + B + CP1 = A * 100 / SP2 = B * 100 / SP3 = C * 100 / S

PRINT "El Total de las exportaciones es..: " & SPRINT "El porcentaje de MAIZ es..: " & P1 & "%"PRINT "El porcentaje de CAFE es..: " & P2 & "%"

PRINT "El porcentaje de CACAO es..: " & P3 & "%"END

EJERCICIO 7“FUNCIONES”

'PROCEDIMIENTO PRINCIPALPUBLIC SUB Main()

DIM a, b, h, z AS Integer PRINT "Ingrese un número.:"

INPUT a PRINT "Ingrese un número.:"

INPUT b pintamedia(a, b)

h = 30 z = 70

pintamedia(h, z) END

'PROCEDIMIENTO 1PUBLIC SUB pintamedia(v1 AS Integer, v2 AS Integer) AS Integer

Ingeniería en Sistemas Página 6

Page 7: PROGRAMAS GAMBAS

PRÁCTICAS EN GAMBAS

DIM s AS Integer s = v1 + v2

PRINT "La suma es..: ", sEND

EJERCICIO 8“PINTAMEDIA”

PUBLIC SUB Main() DIM a, b AS Integer

PRINT "Ingrese un número.:" INPUT a

PRINT "Ingrese un número.:" INPUT b

'Llamada a función suma, resta, multiplicacion y division PRINT "La suma es..: ", suma(a, b) PRINT "La resta es..: ", resta(a, b)

PRINT "La multiplicación es..: ", multiplicacion(a, b) PRINT "La división es..: ", division(a, b)

END

'Función sumaPUBLIC SUB suma(v1 AS Integer, v2 AS Integer) AS Integer

DIM s AS Integer s = v1 + v2 RETURN s

END

'Función restaPUBLIC SUB resta(v1 AS Integer, v2 AS Integer) AS Integer

DIM r AS Integer r = v1 - v2

Ingeniería en Sistemas Página 7

Page 8: PROGRAMAS GAMBAS

PRÁCTICAS EN GAMBAS

RETURN rEND

'Función multiplicaciónPUBLIC SUB multiplicacion(v1 AS Integer, v2 AS Integer) AS Integer

DIM m AS Integer m = v1 * v2 RETURN m

END

'Función divisiónPUBLIC SUB division(v1 AS Integer, v2 AS Integer) AS Integer

DIM d AS Integer d = v1 / v2 RETURN d

END

EJERCICIO 9“MODULO FIBONACCI”

PUBLIC SUB Main() 'Serie de Fibonacci

DIM p, s, x, t AS Integer DIM fibo AS String

p = 0 s = 1

fibo = Str(p) & " " & Str(s) WHILE x < 5

t = p + s fibo = fibo & " " & Str(t)

p = s

Ingeniería en Sistemas Página 8

Page 9: PROGRAMAS GAMBAS

PRÁCTICAS EN GAMBAS

s = t x = x + 1

WEND PRINT fibo

END

EJERCICIO 10“OBJETO SUPERHEROE”

PRIVATE Heroe1 AS NEW SUPERHEROEPRIVATE Heroe2 AS NEW SUPERHEROE

PUBLIC SUB Main()

Heroe1.Nombre = "Superman"Heroe1.Actor = "Ramón Zambrano"

Heroe1.Habilidad = "Volar"Heroe1.Imprime()

WITH Heroe2 .Nombre = "Batman"

.Actor = "Ochoa" .Habilidad = "Visión Nocturna"

.ImprimeEND WITH

END

Ingeniería en Sistemas Página 9

Page 10: PROGRAMAS GAMBAS

PRÁCTICAS EN GAMBAS

EJERCICIO 11“OBJETO SERES VIVOS”

INHERITS SeresVivos

PRIVATE Nombre AS StringPRIVATE Apellido AS String

PUBLIC SUB PoneNombre(cadena AS String) Nombre = cadena

END PUBLIC SUB PoneApellido(cadena AS String)

Apellido = cadenaEND

PUBLIC FUNCTION Nombrecompleto() AS String RETURN Nombre & " " & Apellido

END

Ingeniería en Sistemas Página 10

Page 11: PROGRAMAS GAMBAS

PRÁCTICAS EN GAMBAS

EJERCICIO 12“OBJETO VEHICULO”

PRIVATE marca AS StringPRIVATE modelo AS IntegerPRIVATE precio AS IntegerPRIVATE color AS StringPRIVATE placa AS String

PUBLIC SUB mar(marca1 AS String) marca = marca1

END PUBLIC SUB model(fecha AS String)

modelo = fechaEND

PUBLIC SUB pre(valor AS Integer) precio = valor

END PUBLIC SUB col(tinte AS String)

color = tinteEND

Ingeniería en Sistemas Página 11

Page 12: PROGRAMAS GAMBAS

PRÁCTICAS EN GAMBAS

PUBLIC SUB pla(codigo AS String) placa = codigo

END

PUBLIC FUNCTION marcaauto() AS String RETURN marca

END

PUBLIC FUNCTION modeloauto() AS String RETURN modelo

END

PUBLIC FUNCTION precioauto() AS Integer RETURN precio

END

PUBLIC FUNCTION colorauto() AS String RETURN color

END

PUBLIC FUNCTION placaauto() AS String RETURN placa

END

EJERCICIOS “GAMBAS”(APLICACIÓN GRAFICA)

EJERCICIO 13“OPERACIONES BÁSICAS”

PUBLIC SUB Button1_Click() suma.text = Val(num1.text) + Val(num2.text)

resta.text = num1.text - num2.textmulti.text = num1.text * num2.textdivi.text = num1.text / num2.text

END

PUBLIC SUB Button2_Click()

Ingeniería en Sistemas Página 12

Page 13: PROGRAMAS GAMBAS

PRÁCTICAS EN GAMBAS

num1.text = "" num2.text = "" suma.text = "" resta.text = "" multi.text = "" divi.text = ""

END

PUBLIC SUB Button3_Click() ME.Close

END

EJERCICIO 14“VENTANA”

PUBLIC SUB Main()

DIM vent AS window

vent = NEW window

vent.show()

END

EJERCICIO 15“MENU”

Ingeniería en Sistemas Página 13

Page 14: PROGRAMAS GAMBAS

PRÁCTICAS EN GAMBAS

PUBLIC SUB Timer1_Timer() segundos.text = Val(segundos.Text) + 1

IF segundos.text = 59 THEN minutos.text = Val(minutos.text) + 1

segundos.text = "0" segundos.text = Val(segundos.text) + 1

ELSE IF minutos.text = 59 THEN

horas.text = Val(horas.text) + 1 minutos.text = "0"

ENDIF ENDIF

END

PUBLIC SUB Button1_Click() IF Button1.text = "Iniciar" THEN

Timer1.enabled = TRUE Button1.caption = "Parar"

ELSE Timer1.Enabled = FALSE

Button1.text = "Iniciar" ENDIF

END

PUBLIC SUB Button2_Click() segundos.text = "0" minutos.text = "0"

horas.text = "0"END

EJERCICIO 16“JUEGO”

Ingeniería en Sistemas Página 14

Page 15: PROGRAMAS GAMBAS

PRÁCTICAS EN GAMBAS

PUBLIC SUB Button1_Click() DIM n1, n2, n3 AS Integer

RANDOMIZE n1 = Int(Rnd() * 10) n2 = Int(Rnd() * 10) n3 = Int(Rnd() * 10) TextBox1.Text = n1 TextBox2.Text = n2 TextBox3.Text = n3

IF n1 = n2 AND n1 = n3 THEN Message("GANASTES")

TextBox5.Text = TextBox4.Text * 2 ELSE

IF n1 = 7 AND n2 = 7 AND n3 = 7 THEN Message("CONGRATULATIONS GANASTES EL PREMIO MAYOR")

TextBox5.Text = TextBox4.Text * 4 ENDIF

ENDIF END

PUBLIC SUB Button2_Click() ME.Close

END

EJERCICIO 17“GRÁFICOS”

PUBLIC r AS IntegerPUBLIC posy AS IntegerPUBLIC posx AS Integer

PUBLIC al AS IntegerPUBLIC ba AS Integer

Ingeniería en Sistemas Página 15

Page 16: PROGRAMAS GAMBAS

PRÁCTICAS EN GAMBAS

PUBLIC SUB Form_Open()r = 20END

PUBLIC SUB Button1_Click() posy = area1.Height / 2 posx = area1.Width / 2

Draw.Begin(area1) Draw.FillColor = Color.RGB(128, 255, 0)

Draw.FillStyle = Fill.Solid Draw.Circle(posx, posy, r)

r = r + 20 'Draw.Ellipse(200, 200, 100, 50)

Draw.EndEND

PUBLIC SUB Button3_Click() ME.Close

END

PUBLIC SUB Button2_Click() area1.Clear

posy = area1.Height / 2 posx = area1.Width / 2

Draw.Begin(area1) Draw.FillColor = Color.RGB(128, 255, 0)

Draw.FillStyle = Fill.Solid Draw.Circle(posx, posy, r)

r = r - 20 'Draw.Ellipse(200, 200, 100, 50)

Draw.EndEND

PUBLIC SUB Button4_Click() area1.Clear

Draw.Begin(area1) posy = area1.Height / 2 posx = area1.Width / 2

Draw.FillColor = Color.RGB(255, 223, 117) Draw.FillStyle = Fill.Solid

Draw.Rect(posx, posy, al, ba)

Draw.End al = al + 10 ba = ba + 10

END

Ingeniería en Sistemas Página 16

Page 17: PROGRAMAS GAMBAS

PRÁCTICAS EN GAMBAS

EJERCICIO 18“PROTECTOR DE PANTALLA”

PUBLIC C1 AS IntegerPUBLIC C2 AS IntegerPUBLIC C AS IntegerPUBLIC r AS Integer

PUBLIC SUB Button1_Click() IF Button1.Text = "Iniciar Fondo" THEN

Timer1.Enabled = TRUE Button1.Caption = "Parar"

ELSE Timer1.Enabled = FALSE

Button1.Text = "Iniciar Fondo" ENDIF

END

PUBLIC SUB Button2_Click() ME.Close

END

PUBLIC SUB Timer1_Timer()

Ingeniería en Sistemas Página 17

Page 18: PROGRAMAS GAMBAS

PRÁCTICAS EN GAMBAS

C1 = Int(Rnd() * 700) C2 = Int(Rnd() * 700) C = Int(Rnd() * 15) Draw.Begin(area1)

Draw.FillColor = Color.RGB((160 + c1), (2 + c2), (c1 + C2)) ' coge los colores que se designen

Draw.FillStyle = Fill.Solid Draw.Circle(C1, C2, C)

Draw.EndEND

EJERCICIO 19“CALCULADORA”

PUBLIC BAN AS IntegerPUBLIC OP1 AS FloatPUBLIC OP2 AS Float

PUBLIC SUB Button10_Click() visor.text = visor.Text & "0"

END

PUBLIC SUB Button11_Click() visor.text = visor.Text & "."

END

PUBLIC SUB Button7_Click() visor.text = visor.Text & "1"

END

PUBLIC SUB Button8_Click() visor.text = visor.Text & "2"

END

Ingeniería en Sistemas Página 18

Page 19: PROGRAMAS GAMBAS

PRÁCTICAS EN GAMBAS

PUBLIC SUB Button9_Click() visor.text = visor.Text & "3"

END

PUBLIC SUB Button4_Click() visor.text = visor.Text & "4"

END

PUBLIC SUB Button5_Click() visor.text = visor.Text & "5"

END

PUBLIC SUB Button6_Click() visor.text = visor.Text & "6"

END

PUBLIC SUB Button1_Click() visor.text = visor.Text & "7"

END

PUBLIC SUB Button2_Click() visor.text = visor.Text & "8"

END

PUBLIC SUB Button3_Click() visor.text = visor.Text & "9"

END

PUBLIC SUB Button12_Click() ME.Close

END

PUBLIC SUB Button16_Click() visor.text = ""

END

PUBLIC FUNCTION operacion(v1 AS Float, v2 AS Float, opera AS Integer) AS FloatDIM re AS Float

SELECT CASE opera CASE 1

re = v1 + v2 CASE 2

re = v1 - v2 CASE 3

re = v1 * v2 CASE 4

re = v1 / v2 CASE 5

re = (v1 * v2) / 100

Ingeniería en Sistemas Página 19

Page 20: PROGRAMAS GAMBAS

PRÁCTICAS EN GAMBAS

CASE 6 re = v1 ^ 2

CASE 7 re = v1 ^ 3

CASE 8 re = v1 ^ v2

CASE 9 re = 1 / v1 END SELECT

RETURN re

END

PUBLIC SUB Button13_Click() BAN = 1

IF visor.text <> 0 THEN OP1 = visor.Text

ELSE OP1 = 0

ENDIF visor.Clear

END

PUBLIC SUB Button14_Click() BAN = 2

IF visor.text <> 0 THEN OP1 = visor.Text

ELSE OP1 = 0

ENDIF visor.Clear

END

PUBLIC SUB Button18_Click() BAN = 3

IF visor.text <> 0 THEN OP1 = visor.Text

ELSE OP1 = 0

ENDIF visor.Clear

END

PUBLIC SUB Button17_Click() BAN = 4

IF visor.text <> 0 THEN OP1 = visor.Text

ELSE OP1 = 0

ENDIF

Ingeniería en Sistemas Página 20

Page 21: PROGRAMAS GAMBAS

PRÁCTICAS EN GAMBAS

visor.ClearEND

PUBLIC SUB Button15_Click() IF visor.text <> 0 THEN

OP2 = visor.Text ELSE

OP2 = 0 ENDIF

visor.Text = operacion(OP1, OP2, BAN)

END

PUBLIC SUB Button19_Click() BAN = 5

IF visor.text <> 0 THEN OP1 = visor.Text

ELSE OP1 = 0

ENDIF visor.Clear

END

PUBLIC SUB Button20_Click() BAN = 6

IF visor.text <> 0 THEN OP1 = visor.Text

ELSE OP1 = 0

ENDIF visor.text = OP1

END

PUBLIC SUB Button21_Click() DIM valor, x1, x2, i AS Integer DIM cadena, cadena2 AS String

valor = visor.Text WHILE valor > 0

x1 = valor MOD 2 x2 = Int(valor / 2)

cadena = cadena & Str(x1) valor = x2

WEND

FOR i = Len(cadena) TO 1 STEP -1 cadena2 = cadena2 & (Mid(cadena, i, 1))

NEXT visor.text = cadena2

END

Ingeniería en Sistemas Página 21

Page 22: PROGRAMAS GAMBAS

PRÁCTICAS EN GAMBAS

PUBLIC SUB Button22_Click() DIM valor, x1, x2, i AS Integer DIM cadena, cadena2 AS String

valor = visor.Text

WHILE valor > 0 x1 = valor MOD 8 x2 = Int(valor / 8)

cadena = cadena & Str(x1) valor = x2

WEND

FOR i = Len(cadena) TO 1 STEP -1 cadena2 = cadena2 & (Mid(cadena, i, 1))

NEXT visor.text = cadena2

END

PUBLIC SUB Button23_Click() DIM valor, x1, x2, i AS Integer DIM cadena, cadena2 AS String

valor = visor.Text

WHILE valor > 0 x1 = valor MOD 16 x2 = Int(valor / 16) IF x1 = 10 THEN

cadena = cadena & "A" ELSE

IF x1 = 11 THEN cadena = cadena & "B"

ELSE IF x1 = 12 THEN

cadena = cadena & "C" ELSE

IF x1 = 13 THEN cadena = cadena & "D"

ELSE IF x1 = 14 THEN

cadena = cadena & "E" ELSE

IF x1 = 15 THEN cadena = cadena & "F"

ELSE cadena = cadena & Str(x1)

ENDIF ENDIF ENDIF ENDIF ENDIF

Ingeniería en Sistemas Página 22

Page 23: PROGRAMAS GAMBAS

PRÁCTICAS EN GAMBAS

ENDIF valor = x2

WEND

FOR i = Len(cadena) TO 1 STEP -1 cadena2 = cadena2 & (Mid(cadena, i, 1))

NEXT visor.Text = cadena2

ENDPUBLIC SUB Button24_Click()

BAN = 7 IF visor.text <> 0 THEN

OP1 = visor.Text ELSE

OP1 = 0 ENDIF

visor.text = OP1 END

PUBLIC SUB Button27_Click() BAN = 8

IF visor.text <> 0 THEN OP1 = visor.Text

ELSE OP1 = 0

ENDIF visor.Clear

END

PUBLIC SUB Button25_Click() BAN = 9

IF visor.text <> 0 THEN OP1 = visor.Text

ELSE OP1 = 0

ENDIF visor.text = OP1

ENDPUBLIC SUB Button26_Click()

DIM a, b AS Long DIM valor AS Integer

valor = visor.Text b = 1

FOR a = valor TO 1 STEP -1 b = b * a NEXT

visor.Text = bEND

Ingeniería en Sistemas Página 23

Page 24: PROGRAMAS GAMBAS

PRÁCTICAS EN GAMBAS

PUBLIC SUB Button28_Click() DIM r AS Float

r = Rad(visor.text) visor.text = Sin(r)

END

PUBLIC SUB Button29_Click() DIM r AS Float

r = Rad(visor.text) visor.text = Cos(r)

END

PUBLIC SUB Button30_Click() DIM r AS Float

r = Rad(visor.text) visor.text = Tan(r)

END

EJERCICIO 20“CONVIERTE NÚMERO A LETRAS”

PUBLIC FUNCTION EnLetras(numero AS String) AS String DIM b, paso AS Integer

DIM expresion, entero, deci, flag AS String flag = "N"

FOR paso = 1 TO Len(numero) IF Mid(numero, paso, 1) = "." THEN

flag = "S" ELSE

IF flag = "N" THEN entero = entero & Mid(numero, paso, 1)

ELSE

Ingeniería en Sistemas Página 24

Page 25: PROGRAMAS GAMBAS

PRÁCTICAS EN GAMBAS

deci = deci & Mid(numero, paso, 1) END IF END IF

NEXT

IF Len(deci) = 1 THEN deci = deci & "0"

END IF flag = "N"

IF Val(numero) >= -999999999 AND Val(numero) <= 999999999 THEN FOR paso = Len(entero) TO 1 STEP -1

b = Len(entero) - (paso - 1)

SELECT CASE paso CASE 3, 6, 9

SELECT CASE Mid(entero, b, 1) CASE "1"

IF Mid(entero, b + 1, 1) = "0" AND Mid(entero, b + 2, 1) = "0" THEN expresion = expresion & "cien "

ELSE expresion = expresion & "ciento "

END IF CASE "2"

expresion = expresion & "doscientos " CASE "3"

expresion = expresion & "trescientos " CASE "4"

expresion = expresion & "cuatrocientos " CASE "5"

expresion = expresion & "quinientos " CASE "6"

expresion = expresion & "seiscientos " CASE "7"

expresion = expresion & "setecientos " CASE "8"

expresion = expresion & "ochocientos " CASE "9"

expresion = expresion & "novecientos " END SELECT

CASE 2, 5, 8

SELECT CASE Mid(entero, b, 1) CASE "1"

IF Mid(entero, b + 1, 1) = "0" THEN flag = "S"

expresion = expresion & "diez " END IF

IF Mid(entero, b + 1, 1) = "1" THEN flag = "S"

expresion = expresion & "once "

Ingeniería en Sistemas Página 25

Page 26: PROGRAMAS GAMBAS

PRÁCTICAS EN GAMBAS

END IF IF Mid(entero, b + 1, 1) = "2" THEN

flag = "S" expresion = expresion & "doce "

END IF IF Mid(entero, b + 1, 1) = "3" THEN

flag = "S" expresion = expresion & "trece "

END IF IF Mid(entero, b + 1, 1) = "4" THEN

flag = "S" expresion = expresion & "catorce "

END IF IF Mid(entero, b + 1, 1) = "5" THEN

flag = "S" expresion = expresion & "quince "

END IF IF Mid(entero, b + 1, 1) > "5" THEN

flag = "N" expresion = expresion & "dieci"

END IF

CASE "2" IF Mid(entero, b + 1, 1) = "0" THEN expresion = expresion & "veinte "

flag = "S" ELSE

expresion = expresion & "veinti" flag = "N"

END IF

CASE "3" IF Mid(entero, b + 1, 1) = "0" THEN expresion = expresion & "treinta "

flag = "S" ELSE

expresion = expresion & "treinta y " flag = "N"

END IF

CASE "4" IF Mid(entero, b + 1, 1) = "0" THEN

expresion = expresion & "cuarenta " flag = "S"

ELSE expresion = expresion & "cuarenta y "

flag = "N" END IF

CASE "5"

Ingeniería en Sistemas Página 26

Page 27: PROGRAMAS GAMBAS

PRÁCTICAS EN GAMBAS

IF Mid(entero, b + 1, 1) = "0" THEN expresion = expresion & "cincuenta "

flag = "S" ELSE

expresion = expresion & "cincuenta y " flag = "N"

END IF

CASE "6" IF Mid(entero, b + 1, 1) = "0" THEN expresion = expresion & "sesenta "

flag = "S" ELSE

expresion = expresion & "sesenta y " flag = "N"

END IF

CASE "7" IF Mid(entero, b + 1, 1) = "0" THEN expresion = expresion & "setenta "

flag = "S" ELSE

expresion = expresion & "setenta y " flag = "N"

END IF

CASE "8" IF Mid(entero, b + 1, 1) = "0" THEN expresion = expresion & "ochenta "

flag = "S" ELSE

expresion = expresion & "ochenta y " flag = "N"

END IF

CASE "9" IF Mid(entero, b + 1, 1) = "0" THEN

expresion = expresion & "noventa " flag = "S"

ELSE expresion = expresion & "noventa y "

flag = "N" END IF

END SELECT

CASE 1, 4, 7 SELECT CASE Mid(entero, b, 1)

CASE "1" IF flag = "N" THEN IF paso = 1 THEN

Ingeniería en Sistemas Página 27

Page 28: PROGRAMAS GAMBAS

PRÁCTICAS EN GAMBAS

expresion = expresion & "uno " ELSE

expresion = expresion & "un " END IF END IF CASE "2"

IF flag = "N" THEN expresion = expresion & "dos "

END IF CASE "3"

IF flag = "N" THEN expresion = expresion & "tres "

END IF CASE "4"

IF flag = "N" THEN expresion = expresion & "cuatro "

END IF CASE "5"

IF flag = "N" THEN expresion = expresion & "cinco "

END IF CASE "6"

IF flag = "N" THEN expresion = expresion & "seis "

END IF CASE "7"

IF flag = "N" THEN expresion = expresion & "siete "

END IF CASE "8"

IF flag = "N" THEN expresion = expresion & "ocho "

END IF CASE "9"

IF flag = "N" THEN expresion = expresion & "nueve "

END IF END SELECT END SELECT

IF paso = 4 THEN IF Mid(entero, 6, 1) <> "0" OR Mid(entero, 5, 1) <> "0" OR Mid(entero, 4, 1) <> "0" OR

(Mid(entero, 6, 1) = "0" AND Mid(entero, 5, 1) = "0" AND Mid(entero, 4, 1) = "0" AND Len(entero) <= 6) THEN

expresion = expresion & "mil " END IF END IF

IF paso = 7 THEN IF Len(entero) = 7 AND Mid(entero, 1, 1) = "1" THEN

expresion = expresion & "millón " ELSE

Ingeniería en Sistemas Página 28

Page 29: PROGRAMAS GAMBAS

PRÁCTICAS EN GAMBAS

expresion = expresion & "millones " END IF END IF

NEXT

IF deci <> "" THEN IF Mid(entero, 1, 1) = "-" THEN

expresion = "menos " & expresion & "con " & deci & "/100" ELSE

expresion = expresion & "con " & deci & "/100" END IF

ELSE IF Mid(entero, 1, 1) = "-" THEN

expresion = "menos " & expresion ELSE

expresion = expresion END IF END IF

ELSE expresion = ""

END IF TextBox2.Text = expresion

END FUNCTION

PUBLIC SUB Button1_Click()EnLetras(TextBox1.text)

END

PUBLIC SUB Button2_Click() ME.Close

END

PUBLIC SUB Button3_Click() TextBox1.Text = "" TextBox2.Text = ""

END

EJERCICIO 21“FACTURA”

Ingeniería en Sistemas Página 29

Page 30: PROGRAMAS GAMBAS

PRÁCTICAS EN GAMBAS

PUBLIC r AS IntegerPUBLIC i AS IntegerPUBLIC m AS Integer

PUBLIC SUB Form_Open()TextBox6.SetFocus

'Número de columnascuadro.Columns.Count = 5

'Número de filascuadro.Rows.Count = 10

cuadro.Columns[0].width = 50cuadro.Columns[1].width = 200cuadro.Columns[2].width = 80cuadro.Columns[3].width = 50cuadro.Columns[4].width = 80

cuadro[0, 0].text = "NUM"cuadro[0, 1].text = "DETALLE"cuadro[0, 2].text = "PRECIO.U"

cuadro[0, 3].text = "CANT"cuadro[0, 4].text = "TOTAL A PAGAR"

r = 0i = 0END

PUBLIC SUB TextBox3_KeyPress() IF Key.code = 65293 THEN

IF TextBox3.text = "" THEN Message.Info("Ingrese Valor")

TextBox3.SetFocus ELSE

i = i + 1 r = r + 1

TextBox4.text = i

Ingeniería en Sistemas Página 30

Page 31: PROGRAMAS GAMBAS

PRÁCTICAS EN GAMBAS

cuadro[r, 0].text = Val(TextBox4.text) cuadro[r, 1].text = (TextBox1.text) cuadro[r, 2].text = TextBox2.text cuadro[r, 3].text = TextBox3.text

'PRECIO TOTAL TextBox5.Text = (TextBox2.text) * (TextBox3.text)

cuadro[r, 4].text = Val(TextBox5.text) m = m + TextBox5.Text

TextBox1.text = "" TextBox2.text = "" TextBox3.text = "" TextBox1.SetFocus

ENDIF ENDIF

END

PUBLIC SUB Button2_Click() TextBox6.Text = m

TextBox7.Text = (m * 7) / 100 TextBox8.Text = (((TextBox6.Text) - (TextBox7.Text) * 12) / 100)

TextBox9.Text = (TextBox6.Text) - (TextBox7.Text) + (TextBox8.Text)END

PUBLIC SUB TextBox2_KeyPress() IF Key.code = 65293 THEN

IF TextBox2.text = "" THEN Message.Info("Ingrese Precio Unitario")

TextBox2.SetFocus ELSE

TextBox3.Text.SetFocus ENDIF ENDIF

END

PUBLIC SUB TextBox1_KeyPress() IF Key.code = 65293 THEN

IF TextBox1.text = "" THEN Message.Info("Ingrese Detalle")

TextBox1.SetFocus ELSE

TextBox2.Text.SetFocus ENDIF ENDIF

END

PUBLIC SUB Button1_Click() TextBox4.text = "" TextBox5.text = "" TextBox6.text = "" TextBox7.text = "" TextBox8.text = "" TextBox9.text = ""

END

PUBLIC SUB Button3_Click()

Ingeniería en Sistemas Página 31

Page 32: PROGRAMAS GAMBAS

PRÁCTICAS EN GAMBAS

ME.CloseEND

Ingeniería en Sistemas Página 32