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

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

PRINT "MENOR ES..: " & BELSE

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

Page 3: Programas Gambas

PRÁCTICAS EN GAMBAS

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)PRINT "EL CARACTER SELECCIONADO ES..:", C

F = 1

Ingeniería en Sistemas Página 4

Page 5: Programas Gambas

PRÁCTICAS EN GAMBAS

FOR I = 1 TO 5 F = F * I

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

X = 1

WHILE 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 FloatDIM P3 AS Float

A = 300B = 400

Ingeniería en Sistemas Página 5

Page 6: Programas Gambas

PRÁCTICAS EN GAMBAS

C = 800S = A + B + C

P1 = 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

DIM s AS Integer s = v1 + v2

PRINT "La suma es..: ", sEND

Ingeniería en Sistemas Página 6

Page 7: Programas Gambas

PRÁCTICAS EN GAMBAS

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 RETURN r

END

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

Ingeniería en Sistemas Página 7

Page 8: Programas Gambas

PRÁCTICAS EN GAMBAS

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 s = t

x = x + 1 WEND

PRINT fiboEND

Ingeniería en Sistemas Página 8

Page 9: Programas Gambas

PRÁCTICAS EN GAMBAS

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

PUBLIC SUB pla(codigo AS String) placa = codigo

END

PUBLIC FUNCTION marcaauto() AS String RETURN marca

END

Ingeniería en Sistemas Página 11

Page 12: Programas Gambas

PRÁCTICAS EN GAMBAS

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() num1.text = "" num2.text = "" suma.text = "" resta.text = "" multi.text = "" divi.text = ""

END

PUBLIC SUB Button3_Click() ME.Close

END

Ingeniería en Sistemas Página 12

Page 13: Programas Gambas

PRÁCTICAS EN GAMBAS

EJERCICIO 14“VENTANA”

PUBLIC SUB Main()

DIM vent AS window

vent = NEW window

vent.show()

END

EJERCICIO 15“MENU”

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

Ingeniería en Sistemas Página 13

Page 14: Programas Gambas

PRÁCTICAS EN GAMBAS

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”

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

RANDOMIZE n1 = Int(Rnd() * 10) n2 = Int(Rnd() * 10) n3 = Int(Rnd() * 10)

Ingeniería en Sistemas Página 14

Page 15: Programas Gambas

PRÁCTICAS EN GAMBAS

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

PUBLIC SUB Form_Open()r = 20END

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

Ingeniería en Sistemas Página 15

Page 16: Programas Gambas

PRÁCTICAS EN GAMBAS

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() 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)

Ingeniería en Sistemas Página 17

Page 18: Programas Gambas

PRÁCTICAS EN GAMBAS

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

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

END

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

END

Ingeniería en Sistemas Página 18

Page 19: Programas Gambas

PRÁCTICAS EN GAMBAS

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 CASE 6

re = v1 ^ 2 CASE 7

re = v1 ^ 3 CASE 8

re = v1 ^ v2 CASE 9

re = 1 / v1

Ingeniería en Sistemas Página 19

Page 20: Programas Gambas

PRÁCTICAS EN GAMBAS

END SELECT

RETURN reEND

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 visor.Clear

END

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

OP2 = visor.Text ELSE

OP2 = 0

Ingeniería en Sistemas Página 20

Page 21: Programas Gambas

PRÁCTICAS EN GAMBAS

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

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)

Ingeniería en Sistemas Página 21

Page 22: Programas Gambas

PRÁCTICAS EN GAMBAS

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 ENDIF

valor = x2 WEND

FOR i = Len(cadena) TO 1 STEP -1

cadena2 = cadena2 & (Mid(cadena, i, 1)) NEXT

visor.Text = cadena2

Ingeniería en Sistemas Página 22

Page 23: Programas Gambas

PRÁCTICAS EN GAMBAS

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

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

Ingeniería en Sistemas Página 23

Page 24: Programas Gambas

PRÁCTICAS EN GAMBAS

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 deci = deci & Mid(numero, paso, 1)

END IF END IF

NEXT

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

END IF

Ingeniería en Sistemas Página 24

Page 25: Programas Gambas

PRÁCTICAS EN GAMBAS

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 " 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 "

Ingeniería en Sistemas Página 25

Page 26: Programas Gambas

PRÁCTICAS EN GAMBAS

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"

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

flag = "S" ELSE

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

END IF

Ingeniería en Sistemas Página 26

Page 27: Programas Gambas

PRÁCTICAS EN GAMBAS

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

expresion = expresion & "uno " ELSE

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

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

Ingeniería en Sistemas Página 27

Page 28: Programas Gambas

PRÁCTICAS EN GAMBAS

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

expresion = expresion & "millones " END IF END IF

NEXT

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

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

Ingeniería en Sistemas Página 28

Page 29: Programas Gambas

PRÁCTICAS EN GAMBAS

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 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)

Ingeniería en Sistemas Página 30

Page 31: Programas Gambas

PRÁCTICAS EN GAMBAS

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() ME.Close

END

Ingeniería en Sistemas Página 31