Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Gambas
1. UNIVERSIDAD LAICA ELOY ALFARO DE
MANABI
PROGRAMACION AVANZADA
Programación realizada dentro de mi guía de estudio siendo
expuesta para cualquier usuario
EJERCICIOS “GAMBAS”
CONSOLA
EJERCICIO 1
“SUMA”
PUBLIC SUB Main()
`Mi primera suma
DIM A AS Integer
DIM B AS Integer
DIM S AS Integer
A = 10
B = 20
S=A+ B
PRINT "LA SUMA ES...:"
PRINT S
END
EJERCICIO 2
“MAYOR DE 3”
2. ‘entre 3 números averiguar cuál es el mayor
‘el menor y el intermedio.
PUBLIC SUB Main()
DIM A, B, C AS Integer
A= 6
B = 10
C = 80
IF A > B AND A > C THEN
PRINT "MAYOR ES..: " & A
IF C > B THEN
PRINT "INTERMEDIO ES..: " & C
PRINT "MENOR ES..: " & B
ELSE
PRINT "INTERMEDIO ES..: " & B
PRINT "MENOR ES..: " & C
ENDIF
ELSE
IF B > C THEN
PRINT "MAYOR ES..: " & B
IF A > C THEN
PRINT "INTERMEDIO ES..: " & A
PRINT "MENOR ES..: " & C
ELSE
PRINT "INTERMEDIO ES..: " & C
PRINT "MENOR ES..: " & A
ENDIF
ELSE
PRINT "MAYOR ES..: " & C
IF A > B THEN
PRINT "INTERMEDIO ES..: " & A
PRINT "MENOR ES..: " & B
ELSE
PRINT "INTERMEDIO ES..: " & B
PRINT "MENOR ES..: " & A
ENDIF
ENDIF
ENDIF
END
3. EJERCICIO 3
“DIGITO AUTOVERIFICADOR”
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
4. K = J MOD 10
W = 10 - K
PRINT "EL NUMERO VERIFICADOR DE LA CEDULA ES : "
PRINT W
END
EJERCICIO 4
PUBLIC SUB Main()
DIM a AS Integer
DIM NOMBRE, C AS String
DIM 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..", a
PRINT "EL NOMBRE ES..", NOMBRE
C = Mid(NOMBRE, 2, 2)
PRINT "EL CARACTER SELECCIONADO ES..:", C
F=1
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
5. EJERCICIO 5
“EXPORTACION”
'El Ecuador exporta cafe, 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 Integer
DIM B AS Integer
DIM C AS Integer
DIM S AS Integer
DIM P1 AS Float
DIM P2 AS Float
DIM P3 AS Float
A = 300
B = 400
C = 800
S=A+ B+ C
P1 = A * 100 / S
P2 = B * 100 / S
P3 = C * 100 / S
PRINT "El Total de las exportaciones es..: " & S
PRINT "El porcentaje de MAIZ es..: " & P1 & "%"
PRINT "El porcentaje de CAFE es..: " & P2 & "%"
PRINT "El porcentaje de CACAO es..: " & P3 & "%"
END
6. EJERCICIO 6
“FUNCIONES”
'PROCEDIMIENTO PRINCIPAL
PUBLIC 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 1
PUBLIC SUB pintamedia(v1 AS Integer, v2 AS Integer) AS Integer
DIM s AS Integer
s = v1 + v2
PRINT "La suma es..: ", s
END
7. EJERCICIO 7
“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, multiplicación y división
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 suma
PUBLIC SUB suma(v1 AS Integer, v2 AS Integer) AS Integer
DIM s AS Integer
s = v1 + v2
RETURN s
END
'Función resta
PUBLIC SUB resta(v1 AS Integer, v2 AS Integer) AS Integer
DIM r AS Integer
r = v1 - v2
RETURN r
END
'Función multiplicación
PUBLIC SUB multiplicacion(v1 AS Integer, v2 AS Integer) AS Integer
DIM m AS Integer
m = v1 * v2
RETURN m
END
'Función división
PUBLIC SUB division(v1 AS Integer, v2 AS Integer) AS Integer
DIM d AS Integer
d = v1 / v2
RETURN d
END
8. EJERCICIO 8
“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 fibo
END
EJERCICIO 9
“OBJETO SUPERHEROE”
9. PRIVATE Heroe1 AS NEW SUPERHEROE
PRIVATE 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"
.Imprime
END WITH
END
EJERCICIO 10
“OBJETO SERES VIVOS”
INHERITS SeresVivos
PRIVATE Nombre AS String
PRIVATE Apellido AS String
10. PUBLIC SUB PoneNombre(cadena AS String)
Nombre = cadena
END
PUBLIC SUB PoneApellido(cadena AS String)
Apellido = cadena
END
PUBLIC FUNCTION Nombrecompleto() AS String
RETURN Nombre & " " & Apellido
END
EJERCICIOS “GAMBAS”
APLICACIÓN GRAFICA
11. EJERCICIOS
“OPERACIONES BÁSICAS”
PUBLIC SUB Button1_Click()
suma.text = Val(num1.text) + Val(num2.text)
resta.text = num1.text - num2.text
multi.text = num1.text * num2.text
divi.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
EJERCICIO
“VENTANA”
PUBLIC SUB Main()
12. DIM vent AS window
vent = NEW window
vent.show()
END
EJERCICIO
“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
horas.text = Val(horas.text) + 1
minutos.text = "0"
ENDIF
13. 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
“JUEGO”
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")
14. 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
“GRÁFICOS”
PUBLIC r AS Integer
PUBLIC posy AS Integer
PUBLIC posx AS Integer
PUBLIC al AS Integer
PUBLIC ba AS Integer
PUBLIC SUB Form_Open()
r = 20
END
PUBLIC SUB Button1_Click()
posy = area1.Height / 2
posx = area1.Width / 2
Draw.Begin(area1)
Draw.FillColor = Color.RGB(128, 255, 0)
15. Draw.FillStyle = Fill.Solid
Draw.Circle(posx, posy, r)
r = r + 20
'Draw.Ellipse(200, 200, 100, 50)
Draw.End
END
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.End
END
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
EJERCICIO
“PROTECTOR DE PANTALLA”
PUBLIC C1 AS Integer
PUBLIC C2 AS Integer
16. PUBLIC C AS Integer
PUBLIC 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)
Draw.End
END
EJERCICIO
“CALCULADORA”
PUBLIC BAN AS Integer
PUBLIC OP1 AS Float
PUBLIC OP2 AS Float
17. 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
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 Float
DIM 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
18. 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
visor.Clear
END
PUBLIC SUB Button15_Click()
IF visor.text <> 0 THEN
OP2 = visor.Text
ELSE
OP2 = 0
19. 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)
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()
20. 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
END
PUBLIC 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
21. 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
END
PUBLIC 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 = b
END
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
22. EJERCICIO DE FACTURACION
“FACTURA”
PUBLIC r AS Integer
PUBLIC i AS Integer
PUBLIC m AS Integer
PUBLIC SUB Form_Open()
TextBox6.SetFocus
'Número de columnas
cuadro.Columns.Count = 5
'Número de filas
cuadro.Rows.Count = 10
cuadro.Columns[0].width = 50
cuadro.Columns[1].width = 200
cuadro.Columns[2].width = 80
cuadro.Columns[3].width = 50
cuadro.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=0
i=0
END
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
23. 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()
ME.Close
END