|
1) CUIT |
Bajar los
fuentes |
|
Verificación del Ingreso
del CUIT en Argentina (al menos) |
QBasic en Español |
|
2) Pianola |
Bajar los
fuentes |
|
Un interesante programa
efectuado con el Play del Basic. |
|
3) Fibonacci |
Bajar los
fuentes |
|
Programa que muestra la
serie de Fibonacci entre 1 y 86 |
|
4) Conversión a Binarios |
Bajar los
fuentes |
|
Actualmente los números binarios no tienen tanta aplicación,
dado que la programación se ha simplificado con los nuevos lenguajes, sin
embargo, son una curiosidad muy interesante. Aquí me propongo explicar
como es el proceso de conversión de decimales a binarios, tras una breve
introducción al respecto.
El método que se explicará utiliza la
división sucesiva sobre dos, guardando el residuo como dígito
binario y el resultado como la siguiente cantidad a dividir.
Tomemos como ejemplo el número 43
decimal.
|
Nro |
Div 2 |
Resto |
|
43 |
21 |
1 |
|
21 |
10 |
1 |
|
10 |
5 |
0 |
|
5 |
2 |
1 |
|
2 |
1 |
0 |
|
1 |
0 |
1 |
Armando el número de abajo hacia arriba
tenemos que el resultado en binario es
101011
Al intentar aplicar este principio en programas efectuados en
QBasic y Visual Basic, estaba convencido que todo sería fácil utilizando
Mod (función que en Basic y otros lenguajes extrae el resto de una
división) y dentro del código escribí:
R = NUM Mod 2 Para almacenar en R el resto de la división
de NUM / 2
Y con gran satisfacción y un pequeño esfuerzo, logré hacer
funcionar mi programa. Tras varias pruebas, noté fallas y entonces utilicé
otro algoritmo, el de comparar si la parte entera de NUM / 2 era igual a
NUM /2 así:
IF INT(NUM/2) = NUM/2 THEN
R=0 ' Sin resto ELSE R=1
' Con resto ENDIF
Y quedé encantado con mi gran deducción. Probé el programa
varias veces y andaba de maravillas (cotejado con la Calculadora
científica del Windows).
Me propuse hacer lo mismo en C++ y ahí descubrí que todo era
una gran "Nube de Humo". El 11 funcionaba mal y al seguir probando, más y
más números daban cualquier cosa. ¿Por qué? Pues, porque al ir dividiendo
sobre dos el número deseado, los siguientes resultados quedaban con
decimales dando información errónea al MOD o al otro método. Tras varios
fracasos, confeccioné el programa que hoy, convencido, presento como ejemplo y que está
realizado con un algoritmo mucho más complicado que mis primeros intentos
pero, que, al menos funciona. Si alguien descubre algo más sencillo, envíe
su idea y se la publico con nombre y apellido.
El ejemplo, por tratar de ser didáctico, no es práctico. En
otros ejemplos, iré puliéndolo. |
|
5) While |
|
Diferentes ejemplos del ciclo While (mientras) |
|
Código
Fuente |
|
Ricardo
Faggella - 23/04/2004 ' Ejemplo de While (mientras que) cerrado con Wend
' Ejemplo CLS WHILE x$
<> CHR$(27) ' Se sale con ESC PRINT "A "; x$ =
INPUT$(1) WEND
' Ejemplo de Do While cerrado con
Loop CLS DO WHILE x$ <> CHR$(27)
' Se sale con ESC PRINT "A "; x$ =
INPUT$(1) LOOP
'
Ejemplo de Do While cerrado con
Loop CLS DO PRINT "A
"; x$ = INPUT$(1) LOOP WHILE x$ <>
CHR$(27) ' Se sale con ESC' |
|
|
6) Until |
Bajar los
fuentes |
|
Forma de utilizar el Until
(Bucles o Lazos). |
|
Código
Fuente |
|
' Ricardo
Faggella - 23/04/2004 ' Ejemplo
de Until (hasta que) CLS DO PRINT "A
"; x$ = INPUT$(1) LOOP UNTIL x$ = CHR$(27) ' Se
sale con ESC |
|
7) Cuál de los 3 es el Mayor? |
Bajar los
fuentes |
|
El clásico y nunca bien
ponderado ejercicio de averiguar cuál de los tres números es el mayor (una
vez le pidieron a un alumno del Hogar Naval de Flores, Buenos Aires,
averiguar 5!). Con abundantes psicofármacos y ayuda psiquiátrica, salió
del estado autista en 6 meses... |
|
8) Cuál de los 3 es el Mayor? en un ciclo
While. |
Bajar los
fuentes |
|
Una variante de el mayor de
3 con un ciclo while. |
|
9) Informar si un Número es Primo. |
Bajar los
fuentes |
|
En un ciclo While con
salida por Escape, se ingresa un número y se averigua e informa si es
primo. Si no lo es, informa sobre cual es divisible, exhibiendo el
resultado para poder cosntatarlo fácilmente. La técnica de búsqueda se
basa en el Teorema de Eratóstenes que demuestra que para saber si un
número es o no es primo solo hace falta comprobarlo con los números
primos inferiores a su raíz cuadrada (para comprobar el
100 tendríamos de hacerlo solo con el 2, 3, 5,
7, pues la raíz de 100 es 10).
Para evitar posibles desbordes,
utilizo el ON ERROR GOTO... y su combinación RESUME
NEXT. |
|
10) BINARIOS. |
Bajar los
fuentes |
|
Se trata de una mejora del
ejemplo 4 (conversión de decimal a binario). Con ciclo Until y rutina
Gosub. Se sale ingresando 0 por teclado en el Nº decimal. Es posible
ingresar nros. de grueso calibre, pero no me tomé demasiado trabajo en
constatar su eficacia en valores elevados.
Según creo: Un Nº de 15 (9)
daría: 11100011010111111010100100110001100111111111111111
Y según Qbasic y la Calculadora de Windows: Así
es! Pero... |
|
11) BINARIOS a DECIMAL. |
Bajar los
fuentes |
|
Conversión de binario A
decimal . Con ciclo Until del que se sale con Esc. Manejo de COLOR y
LOCATE. Controlo si se ingresan otros número que no sean 0 y 1.
El cálculo consiste (previo
invertir el binario) en Bit*2^Pos. del Bit. Por ejemplo; dado que el
binario sea 100, invertir el orden de
los bit, o sea 011 y luego efectuar la
siguiente fórmula:
Dec = 0*2^0 + 0*2^1 +
1*2^2
0 +
0 + 4 =
4 que es, precisamente el decimal de
100. |
|
12) Barras de Color |
Bajar los
fuentes |
|
Muestro barras con los 15
colores, comprendidos entre el 1 (azul oscuro) y el 15 (blanco). El código
para las barras es el 219 (Alt Izquierdo 219). |
|
Código
Fuente |
|
CLS FOR c = 1 TO
15 COLOR c LOCATE c, 3 PRINT "█████████"
‘ Son 7 ú 8 Ascii 219 NEXT |
|
13) Números Romanos |
Bajar los fuentes |
|
Un
modesto ejemplo de conversión de números decimales a romanos. Espero que
alguien logre mejorarlo. |
|
14) Ejemplos de Dibujo |
Bajar los fuentes |
|
Varios usos de instrucciones para dibujar en QBasic |
|
15) Trivar |
Bajar los fuentes |
|
Ingreso de 3 variables determinando, si nos son
iguales, cuál es la mayor, la media y la menor. |
|
16) Conversor numérico |
Bajar los fuentes |
|
Función recursiva
para convertir numero a cualquier base. Autor: Luis Cornejo.
http://www.freewebs.com/lcsweb |
|
17)
Números a letras |
Bajar los fuentes |
|
Permite convertir números de hasta 999 Millones a letras. |
|
18) Serie
ambigua |
Bajar los fuentes |
|
Serie que primero suma por 4 y luego multiplica
por 2. |
|
|