Qbasic 2017 Aprendizaje

Descargar como doc, pdf o txt
Descargar como doc, pdf o txt
Está en la página 1de 16

QBASIC 2017

Ejemplos
Los ejemplos que se pueden presentar de programas escritos en este lenguaje son muchos,
veamos algunos que nos permiten ver el formato de este lenguaje de programacin.
Ejemplos que vienen con el QBasic
QBasic vino completo con cuatro programas de ejemplo escritos de antemano. Estos eran
"Nibbles" (una variante del juego Snake), "gorilas", un juego de artillera, "MONEY
MANAGER", manejador de finanzas personales y un "RemLine", un programa removedor de
nmero de lneas para cdigo de GW-BASIC.1

Hola mundo

El siguiente es un muy sencillo programa de "hola mundo" escrito en QBASIC:

PRINT "Hola mundo"


INPUT "Ingrese Su Nombre: "; Nombre$
PRINT "Su Nombre es: " + Nombre$
'Esto es un comentario

Ecuacin de segundo grado


Programa para resolver una ecuacin de segundo grado:

CLS
PRINT " Resolucin de una ecuacion de segundo grado"
PRINT " Ax^2 + Bx + C = 0"
PRINT
INPUT " Coeficiente A: ", A
INPUT " Coeficiente B: ", B
INPUT " Coeficiente C: ", C
PRINT
IF A = 0 THEN
REM A = 0
IF B = 0 THEN
REM A = 0 Y B = 0
IF C = 0 THEN
REM A = 0, B = 0 Y C = 0
PRINT " Sin ecuacion"
ELSE
REM A = 0, B = 0, C <> 0
PRINT C; "= 0, Imposible"
END IF
ELSE
REM A = 0, B <> 0
PRINT " Ecuacin de primer grado"
PRINT " X="; -C / B
END IF
ELSE
REM A <> 0
D = B ^ 2 - 4 * A * C
IF D > 0 THEN
REM A <> 0, D > 0
PRINT " Dos soluciones reales"
PRINT " X1="; (-B + SQR(D)) / (2 * A)
PRINT " X2="; (-B - SQR(D)) / (2 * A)
ELSE
REM A <> 0, D <= 0
IF D = 0 THEN
REM A <> 0, D = 0
PRINT " Solucin real unica"
PRINT " X1=X2="; -B / (2 * A)
ELSE
REM A <> 0, D < 0
R = -B / (2 * A)
I = ABS(SQR(-D) / (2 * A))
PRINT " Raiz compleja"
PRINT " X1= "; R; "+"; I; "i"
PRINT " X2= "; R; "-"; I; "i"
END IF
END IF
END IF

Este programa contempla el siguiente rbol de decisin:

Resolviendo en cada caso los valores de x que cumplen la ecuacin, se emplea


la instruccin IF para seleccionar el caso concreto y realiza las operaciones
oportunas, presentando segn el caso la solucin de x que cumple la ecuacin,
contemplndose casos extremos como: a=0, b=0, c=0.

#2 Ejemplos de cdigo fuente


Ejemplo 1: Hola Mundo!

PRINT "Hola Mundo!"

Ejemplo 2: BASIC original no estructurado (Applesoft BASIC)

10 INPUT "Cul es su nombre:"; NN$


20 PRINT "Bienvenido al 'asterisquero' ";NN$
25 PRINT
30 INPUT "con cuntos asteriscos inicia [Cero sale]:"; N
40 IF N<=0 THEN GOTO 200
50 AS$=""
60 FOR I=1 TO N
70 AS$=AS$+"*"
80 NEXT I
90 PRINT "AQUI ESTAN:"; AS$
100 INPUT "Desea ms asteriscos:";SN$
110 IF SN$="" THEN GOTO 100
120 IF SN$<>"S" AND SN$<>"s" THEN GOTO 200
130 INPUT "CUANTAS VECES DESEA REPETIRLOS [Cero sale]:"; VECES
140 IF VECES<=0 THEN GOTO 200
150 FOR I=1 TO VECES
160 PRINT AS$;
170 NEXT I
180 PRINT
185 REM A repetir todo el ciclo (comentario)
190 GOTO 25
200 END

Ejemplo 3: Equivalente en BASIC estructurado (Quick BASIC)


[editar]

DEFINT I-N 'Declara entera toda variable que comience con letras
I a N
iTrue = -1 'Flag en Verdadero
INPUT "Cul es su nombre"; NombreUsuario$
PRINT "Bievenido al 'asterisquero',"; NombreUsuario$
DO
PRINT
INPUT "Con cuntos asteriscos inicia [Cero sale]:"; NroAsteriscos
IF NroAsteriscos<=0 THEN EXIT DO
Asteriscos$ = ""
FOR I=1 TO NroAsteriscos
Asteriscos$=Asteriscos$ + "*"
NEXT I
PRINT "AQUI ESTAN: "; Asteriscos$
DO
INPUT "Desea ms asteriscos:";SN$
LOOP UNTIL SN$<>""
IF SN$<>"S" AND SN$<>"s" THEN EXIT DO 'Salida
INPUT "CUANTAS VECES DESEA REPETIRLOS [Cero sale]:";iVeces
IF iVeces<=0 THEN EXIT DO 'Salida
FOR I = 1 TO iVeces
PRINT Asteriscos$;
NEXT I
PRINT
LOOP WHILE iTrue
END

Captulo 16:
39 ejercicios resueltos (2/4)
11. Programa que suma los n primeros nmeros naturales.

CLS

INPUT "Cantidad: ", N

FOR i = 0 TO N

suma = suma + i

NEXT

PRINT suma

12. Dada la duracin (en minutos) en una llamada telefnica. Calcular su costo
de la siguiente manera:

Hasta 3 minutos el costo es de 0.50


Por encima de 3 minutos al costo hay que sumar 0.10 por cada minuto adicional
a los 3 primeros.

CLS

INPUT "Minutos: ", NM

IF NM <= 3 THEN

Costo = NM * .5

ELSE

Costo = 3 * .5 + (NM - 3) * (.6)

END IF

PRINT Costo Total por la LLamada, Costo

13. Hacer un programa para convertir un nmero natural en romano. Solucin


adquirida de la pgina de Microsoft, soporta la conversin hasta el ao 3999.

DIM I AS INTEGER, Digit AS INTEGER, Temp AS STRING

CONST Digits = "IVXLCDM"

INPUT "Numero Narutal: ", N

I=1

Temp = ""

DO WHILE N > 0

Digit = N MOD 10

N = N \ 10

SELECT CASE Digit

CASE 1

Temp = MID$(Digits, I, 1) + Temp

CASE 2
Temp = MID$(Digits, I, 1) + MID$(Digits, I, 1) + Temp

CASE 3

Temp = MID$(Digits, I, 1) + MID$(Digits, I, 1) + MID$(Digits, I, 1)


+ Temp

CASE 4

Temp = MID$(Digits, I, 2) + Temp

CASE 5

Temp = MID$(Digits, I + 1, 1) + Temp

CASE 6

Temp = MID$(Digits, I + 1, 1) + MID$(Digits, I, 1) + Temp

CASE 7

Temp = MID$(Digits, I + 1, 1) + MID$(Digits, I, 1) + MID$(Digits, I, 1)


+ Temp

CASE 8

Temp = MID$(Digits, I + 1, 1) + MID$(Digits, I, 1) + MID$


(Digits, I, 1) + MID$(Digits, I, 1) + Temp

CASE 9

Temp = MID$(Digits, I, 1) + MID$(Digits, I + 2, 1) + Temp

END SELECT

I=I+2

LOOP

PRINT "Nmero en Romano", Temp

14. Dada una hora, por ejemplo en horas, minutos, y hacer un programa para
calcular la hora en el siguiente segundo.
CLS

INPUT "Hora: ", Hora

INPUT "Minuto: ", Minuto

INPUT "Segundo: ", Segundo

IF Segundo = 59 THEN

Segundo = 0

Minuto = Minuto + 1

IF Minuto = 60 THEN

Minuto = 0

Hora = Hora + 1

END IF

END IF

PRINT Hora, ":", Minuto, ":", Segundo

15. Hacer un programa para calcular el pago por un boleto de viaje con la
condicin de que: si el recorrido supera los 800 kilmetros o a su vez el nmero de das
de estada es mayor a 7 el descuento es del 3%, si el pago por km recorrido es de 12.5
soles.

CLS

INPUT "Ingrese el Kilometraje: ", Kil

INPUT "Ingrese el Numero de Dias: ", NDE

IF Kil > 800 AND NDE > 7 THEN

Boleto= Kil * 12.5 - Kil * 12.5 * .03

ELSE

Boleto = Kil * 12.5


END IF

PRINT Boleto

16. Programa de la tabla de multiplicar descendente.

Primera Forma

CLS

FOR i = 12 TO 0 STEP -1

PRINT "2x", i, "="; 2 * i

NEXT

Segunda Forma

CLS

DO

PRINT "2x", i, "="; 2 * i

i=i+1

LOOP WHILE i <= 12

Tercera Forma

CLS

DO WHILE i <= 12

PRINT "2x", i, "="; 2 * i

i=i+1

LOOP

Cuarta Forma

CLS

DO UNTIL i >= 13
PRINT "2x", i, "="; 2 * i

i=i+1

LOOP

17. Calcular el total de las ventas de cinco clientes en un restaurante. Ante


cualquier consumo que supere los 70 soles se har un descuento del 5%. Imprima el
monto total consumido.

CLS

FOR i = 1 TO 5

INPUT "Pague: ", Consumo

PRINT "Pago por el Men: ", Consumo

Total = Total + Consumo

IF Total > 70 THEN

Total = Total - Total * .05

END IF

NEXT

PRINT "Total a Pagar: ", Total

18. Hacer un programa que permita calcular el mnimo comn mltiplo de 3


nmeros.

DIM a, b, c, d, acum AS LONG

INPUT "Primer Nmero: ", a

INPUT "Segundo Nmero: ", b

INPUT "Tercer Nmero: ", c

d=2

acum = 1
WHILE ((a <> 1) OR (b <> 1) OR (c <> 1))

WHILE ((a MOD d = 0) OR (b MOD d = 0) OR (c MOD d = 0))

IF (a MOD d = 0) THEN

a=a/d

ELSE

a=a

END IF

IF (b MOD d = 0) THEN

b=b/d

ELSE

b=b

END IF

IF (c MOD d = 0) THEN

c=c/d

ELSE

c=c

END IF

acum = acum * d

WEND

d=d+1

WEND

PRINT "Mnimo Comn Mltiplo: ", acum


19. Hacer un programa que calcule el mximo comn divisor de 3 nmeros
ingresados por el teclado.

DIM a, b, c, d, mcd AS LONG

INPUT "Primer Nmero: ", a

INPUT "Segundo Nmero: ", b

INPUT "Tercer Nmero: ", c

d=2

mcd = 1

r=0

IF ((a <> 1) AND (b <> 1) AND (c <> 1)) THEN

WHILE ((a MOD d = 0) AND (b MOD d = 0) AND (c MOD d = 0))

r=r+1

a=a/d

b=b/d

c=c/d

WEND

mcd = 2 ^ r

END IF

PRINT "Mximo Comn Divisor: ", mcd

PROGRAMAS SENCILLOS EN VISUAL BASIC


agosto 27, 2013 de gonzalezindra Aadir a marcadores el enlace permanente.
Programa que genera la hora
1. Entra a visual basic,, ya sabes como
2. crea un control timer

(-Recuerda solo tiene que seleccionarlo de la caja de herramientas y tirarlo al formulario-)

3. afectale la propiedad interval y ponle 1000,

4. crea un control label, afecta su propiedad caption dejala en blanco, a su propiedad


autosize asignale true

5. ahora vamos a crear los codigos necesarios:

-Doble clic en el control timer

-digitamos el siguiente codigo

label1.caption =time

la subrutina se ver as:

private subtimer(1)_timer()

label1.caption = time

End Sub

6. Fin, ahora puedes ejecutar tu programa y veras la hora actual desplegada en el control
label del
formulario.

Suerte..

Capitulo 2
programa que genera la fecha

1. crear un textbox 2. doble clic en el formulario 3. digitar el siguiente codigo text1.text =


date

la sub rutina se vera as: private sub form _ load() text1.text = date end sub

A practicar entoncessuerte..
Capitulo 3
programa que genera los nmeros del 1 al 100

1. crear un listbox en el formulario

2. doble clic en el formulario

3. digitar los siguientes codigos:

DIM a as integer

for a = 1 to 100

list1.additem a

a= a + 1

list1.additem a

next a

Bueno a practicar..suerte..Recuerda moverte por la barra de desplazamiento del


listbox . Al dar doble clic en el objeto (en este caso el formulario) la primera y ultima
linea se colocan automaticamente. (habla de las lineas private-end sub)

Capitulo 4

Programa que te indica la direccion IP de tu PC

1.Ir a project-components y dar clic en microsoft winsock control 6.0


ahora el winsock estara en tu caja de herramientas
2. tirar dicho winsock en el formulario
3. crear un textbox en el formulario
4. Dar doble clic en el formulario
5. digitamos lo siguiente

Text1.Text = Winsock1.LocalIPl

el procedimiento se vera de esta forma

Private Sub Form_Load()


Text1.Text = Winsock1.LocalIP
End Sub
Nota en el textbox apareceran los numeros correspondientes a la direccion IP de tu
computador.

Capitulo 5

mensaje de texto

. programa que genera un mensaje


Private Sub Form_Load()
MsgBox hola
End Sub

Capitulo 6
Private Sub Command1_Click()
Unload Me

End Sub

Notas: Debes crear un boton de comando, en su propiedad caption le pone &cerrar,


luego doble clic en el boton cerrar que acaba de crear y escribir el codigo arriba
indicado. Recuerda que tambien puedes lograrlo, simplemente escribiendo el codigo
END.

A practicar..

Capitulo 7

el mayor de dos nmeros

1. crear dos control label afectarle su propiedad caption y escribir primer numero y
segundo numero respectivamente en cada label

2. crear dos cuadro de textos, afectarles su propiedad text y dejarlo en blanco

3. crear tres botones de comando

afectarles su propiedad caption y escribir &calcular, &limpiar e &cerrar respectivamente.

Ahora comencemos a tirar los codigos correspondientes.

-Doble clic en el boton calcular y digitamos los codigos correspondientes

Private Sub Command1_Click()


Dim A, B As Integer
A = Val(Text1.Text)
B = Val(Text2.Text)
If A > B Then
List1.AddItem PRIMER NUMERO ES MAYOR

Else
If A = B Then
List1.AddItem ambos numeros son iguales

Else
List1.AddItem EL SEGUNDO NUMERO ES MAYOR

End If
End If

End Sub

-ahora doble clic en el botn limpiar y digitamos los siguientes codigo, este botn nos
permitir limpiar los cuadro de texto y cuadro de lista.

Private Sub Command2_Click()


List1.Clear
Text1.Text =
Text2.Text =
End Sub

-ahora doble clic en el botn salir y digitamos el comando correspondiente.

Private Sub Command3_Click()


Unload Me
End Sub

ahora a correr el programa, digita los nmeros en la casilla correspondiente, chequea el


resultado y luego presiona limpiar, y sigue probando. luego limpiar y salir.

Suerte.

P.D.

Recuerda que debes haber tomado el curso que publiqu en http://www.mailxmaiil.com,


Visual Basic para Principiantes,
A continuacion te presento el enlace a dicho curso

http://www.mailxmail.com/curso-visual-basic-principiantes-2/visual-basic-concepto-
acceso
copialo y pegalo a la barra de direccion de tu navegador.

Hasta pronto, Con amor


Ing. Indra Gonzalez P.

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy