Heineken Team
Para poder disfrutar del contenido completo del foro debes estar registrado
Últimos temas
» Boyero electronico o seguridad para rejas jeje
Mar Dic 14, 2010 6:42 pm por Seiya

» Sacar virus de forma manual
Sáb Oct 17, 2009 9:24 pm por warang

» Paginas PTC
Mar Oct 13, 2009 8:05 pm por phillip

» McDonnell Douglas F-4 Phantom II
Sáb Oct 10, 2009 10:27 pm por warang

» Cañon Bofors de 40 mm
Dom Sep 27, 2009 12:24 pm por warang

» calculadora de imperia
Sáb Sep 26, 2009 8:09 am por warang

» Imperial Hero
Mar Sep 15, 2009 8:32 am por TanoCyrano

» Gif's animados
Mar Sep 15, 2009 8:27 am por TanoCyrano

» Reparacion Monitores (Rev Electronica y servicio)
Mar Sep 15, 2009 8:22 am por warang

Compañeros
Crear foro

Entradas y salidas en QBasic

Ver el tema anterior Ver el tema siguiente Ir abajo

Entradas y salidas en QBasic

Mensaje  warang el Jue Abr 16, 2009 11:15 am

SENTENCIAS REM, PRINT, CLS, END (6)
Escribamos en el editor de QB el siguiente programa:

rem Simple saludo (saludo.bas)
rem 17/08/2000
cls
print "¡¡¡ BIENVENIDO A QUICKBASIC 4.5 Smile !!!"
end

¿Qué es lo que hace el programa anterior?. Presiona <F5>. Nos muestra en la pantalla el texto “¡¡¡ BIENVENIDO A QUICKBASIC 4.5 Smile !!!”. Ahora, lo que hace la sentencia REM (abreviatura de la palabra inglesa remark) es insertar un comentario dentro de nuestro programa fuente; esto es, el comentario no será tomado en cuenta por el compilador, solo sirve para insertar datos que sirvan como referencia al programa, para saber quien lo hizo, cuándo, para qué sirve, etc. Es bueno insertar comentarios de manera regular en nuestros programas como referencia a una orden o a algo que sea de interés para nosotros o para quien vaya a utilizar nuestro programa, especialmente si trabajamos en grupo o distribuimos nuestras fuentes. Lo que sigue es la sentencia CLS que borra la pantalla. Es primordial limpiar la pantalla cada vez que iniciemos un programa, esto para poder trabajar mejor y que se vea más sexy. Para los que todavía no capich, PRINT es la orden que nos permite la salida por la pantalla, en este caso es la cadena de texto ¡¡¡ BIENVENIDO A QUICKBASIC 4.5 Wink !!!. Cuando queremos que con la orden PRINT salga texto, este ha de ir entre comillas dobles (“”). La sentencia END nos indica que nuestro programa ha terminado.

SENTENCIA COLOR
Ahora analicemos este otro programa:

REM Salida de texto con color (saludo2.bas)

CLS
COLOR 10 ‘Color verde brillante
PRINT "¡¡¡ BIENVENIDO A QUICKBASIC 4.5 Smile!!!"
END

En realidad este programa hace lo mismo que el anterior, solo que el texto sale con un color verde. La sentencia COLOR nos permite dar color al texto que saldrá por la pantalla:

Sintaxis:
COLOR principal [,de fondo] [,de borde]

- El color principal va del 0 al 15 y del 16 al 31 con parpadeo.
- El color de fondo es opcional y va del 0 al 7
- El color de borde es opcional y va del 0 al 15

Pero ¿qué es ese ‘ y el texto que esta enseguida?. Como se puede adivinar, el apóstrofe (‘) es otra manera de insertar un comentario y es lo mismo que REM.

CARACTERES Y OPERACIONES BÁSICAS
Veamos ahora como realizar las operaciones más básicas:

REM Manejo de operadores (operador.bas)

numero1 = 5
numero2 = 5
suma = numero1 + numero2
multi = numero1 * numero2
divi = numero1 / numero2
resta = numero1 - numero2
expo = numero1 ^ numero2

CLS
PRINT "La suma de"; numero1; "más"; numero2; "es igual a"; suma
PRINT "El producto de"; numero1; "por"; numero2; "es igual a"; multi
PRINT "El cociente de"; numero1; "entre"; numero2; "es igual a"; divi
PRINT "La resta de"; numero1; "menos"; numero2; "es igual a"; resta
PRINT “El resultado de elevar”; numero1;”a la”; numero2 ;”es”; expo
END

Como se puede apreciar en el ejemplo anterior, hacemos 5 operaciones básicas con 2 números ambos iguales a 5 y guardamos el resultado en cuatro variables cuyo nombre indica más o menos que operación se hizo con los números. Luego imprimimos en la pantalla 4 mensajes alusivos a las diversas operaciones que realizamos utilizando las variables numero1 y numero2. Cuando imprimimos variables, estas no van entre comillas ya que si las ponemos entre comillas QB las entenderá como si fueran texto e imprimirá solo el nombre de la variable. Por esto pusimos punto y coma (Wink para diferenciarlas del texto y además indicar que después del texto se deje un espacio para que no se amontone el número con el texto anterior.

Veamos este otro ejemplo:

REM Manejo PRINT y variables (prin1var.bas)

numero1 = 5
numero2 = 27

CLS
PRINT "El primer número es igual a"; numero1
PRINT "El segundo número es igual a"; numero2
PRINT "La suma de ambos es igual a"; numero1 + numero2
END

Como podemos ver, también podemos realizar operaciones dentro de la misma sentencia PRINT y no hay purrún. Las operaciones básicas son las siguientes:

Operador Función
* Multiplicación
+ Suma
- Resta
^ Exponenciación
/ División

Existe también el operador MOD que da el residuo de una división de dos números enteros hasta donde el cociente es entero. Por ejemplo 14 MOD 5 retorna 4:

Hasta aquí el cociente es entero y el residuo es 4.

Si por ejemplo ponemos 14 MOD 4.6, entonces 4.6 será redondeado a 5 ya que no podemos utilizar reales con MOD, solo enteros.

También existe el operador división entera que se representa por la diagonal invertida (\) y cuya función es obtener el cociente entero de una división. Siguiendo con el ejemplo anterior, 14 \ 5 retornara 2:
Hasta aquí el cociente es entero.


Ahora analicemos el siguiente ejemplo:

REM Manejo de operadores (triangu.bas)

baze = 10 ‘Debe ser baze y no base. Ojo...
altura = 5
CLS
PRINT "El área de un triángulo cuya base mide"; baze;
PRINT "y cuya altura mide"; altura; "es:"
PRINT baze * altura / 2
END

Como podemos apreciar, el punto y coma al final de una sentencia PRINT sirve para juntar en una misma línea de la pantalla otra sentencia PRINT que esta en otro renglón en nuestra fuente. ¿Si ponemos una coma (,) en vez de punto y coma que pasará?. Ponle (,) en vez de (Wink y córrelo (<F5>). Como puedes ver, lo que esta después de una coma se separa una tabulación (generalmente 7 espacios).

EL MODIFICADOR TAB
El modificador TAB(n) va después de PRINT y nos permite colocar texto en una determinada posición del renglón en uso, y donde n es la posición donde queremos que se empiece a imprimir nuestro texto:

REM Uso de TAB (tab.bas)

CLS
PRINT TAB(3); "Hello, world!"
PRINT TAB(23); “¡Hola, mundo!”
END

Aquí el texto Hello, world! se imprimirá después de 3 espacios, y el texto ¡Hola mundo! en otro renglón y desde la posición 23.

 Nota: La pantalla en modo texto consta de 70 columnas y 25 renglones.



TIPOS DE DATOS
Los tipos de datos que se manejan en QuickBASIC son los siguientes:

Nombre Descripción Rango Declaración Espacio en memoria
Integer Entero corto con signo -32768 a 32767 % 2 bytes (16 bits)
Long Entero largo con signo -2,147,483,648 a 2,147,483,647 & 4 bytes (32 bits)
Single Real de simple precisión con signo y con 7 decimales 1.5 E-45 a 3.4 E38
! 4 bytes (32 bits)
Double Real de doble precisión con signo y 15 decimales 5.0 D-324 a 1.7 D308 # 8 bytes (64 bits)
String Cadena de caracteres 0 a 256 caracteres $ 1 byte p/caracter

Por default, todas las variables que utilizamos sin declarar el tipo se asumen como Single.
Pero...¿Cómo declaramos los tipos de las variables?. Para declarar, por ejemplo, una variable que vaya a almacenar una dirección de una persona (por lo tanto será de tipo String) que se llame direccion la declaramos de la siguiente forma:

direccion$ = “Morelos y 4ª S/N, Barrio El Paso Blanco”

Para declarar una variable de un tipo basta con poner el identificador al final. Ahora, cuando nosotros guardamos una cadena de texto en una variable de tipo String, el texto debe de ir entre comillas dobles (“”).

Para declarar una variable de tipo real, por ejemplo de simple precisión (Single) y que vaya a guardar el numero 5.123 x 1024 la declaramos de la siguiente forma:

numero! = 5.123E24

Ahora una de doble precisión (Double) que se llame numero2 y que tenga el valor de
1.45877 x 10-298

numero2# = 1.45877D-298

 Observación: Para declarar un exponencial en una variable Single utilizamos E y para declararlo en una variable de tipo Double utilizamos D.

'--------------
'Ejemplo de tipos de datos (tipos.bas)
'--------------

cadena$ = "Soy una cadena "
enterocorto% = 1200
enterolargo& = 198108
simplereal! = 1.5688
doblereal# = 3.458D+301

CLS
PRINT cadena$
PRINT "Yo soy un entero corto:"; enterocorto%
PRINT "Yo soy un entero largo:"; enterolargo&
PRINT "Yo soy un real simple:"; simplereal!
PRINT "Yo soy un real doble:"; doblereal#
END

RESTRICCIONES Y NOTAS IMPORTANTES
Una de las ventajas y a la vez desventaja que tiene el lenguaje BASIC frente a otros lenguajes de programación es que podemos crear variables en cualquier parte del programa según las vayamos necesitando. Cuando creamos una nueva variable, QB automáticamente reserva un espacio en memoria para almacenar el valor de esa variable, en el caso de los números la variable almacena un 0 y en el caso de las cadenas se almacena la cadena nula (“”). Esta es un arma de dos filos ya que podemos caer en errores como el siguiente:

numeroquevalepi=3.141592

CLS
PRINT “El valor de pi es”; numeroqevalepi
END

Nosotros declaramos una variable (Single por default) que se llama numeroquevalepi y que almacena el valor 3.141597 y al tratar de imprimirla escribimos mal el nombre de la variable y ponemos numeroqevalepi (sin la u) y lo que hicimos fue crear una nueva variable que por default toma el valor de 0 en memoria, así lo que se imprimirá en pantalla será:

El valor de pi es 0

Esta es la “desgracia” que tiene marcado al lenguaje BASIC y la mayor causa por la cual esta mal considerado entre los programadores “profesionales”. Esto en programas cortos es fácil de detectar, pero en programas largos es un poco más difícil; aun así, esto permite una programación más fluida, y es ideal para usar variables “sobre la marcha”, cosa que no tienen otros lenguajes como Pascual o Modula-2. Con la práctica es muy fácil de detectar este tipo de errores. Por fortuna Mocosoft...¡digo Microsoft!, pensó en esto y agregó la opción de requerir la declaración de las variables en el Visual Basic; o sea, si una variable es hallada en el programa y no tiene declaración, se marca un error. Bueno, pero eso es otra historia.

Otra observación es que no podemos usar palabras reservadas para nombrar una variable, por ejemplo, no podemos utilizar una variable que se llame Print, Base, Rem, Cls, End, Len, Right$, Color, etc. ni en mayúsculas ni en minúsculas; tambien las variables no pueden empezar por un número o por un identificador de tipo como #perro, !cosa, 3cadenas, etc., ni tener espacios, operadores, la ñ o el guión bajo (_).

Una manera más fácil de declarar el tipo de una variable es con DIM.

ORDEN DIM
Permite la declaración de variable de un tipo determinado.

'--------------
'Ejemplo de tipos de datos usando DIM (tipos2.bas)
'--------------

DIM cadena AS STRING
DIM enterocorto AS INTEGER
DIM enterolargo AS LONG
DIM simplereal AS SINGLE
DIM doblereal AS DOUBLE

cadena = "Soy una cadena "
enterocorto = 1200
enterolargo = 198108
simplereal = 1.5688
doblereal = 3.458D+301

CLS
PRINT cadena$
PRINT "Yo soy un entero corto:"; enterocorto
PRINT "Yo soy un entero largo:"; enterolargo
PRINT "Yo soy un real simple:"; simplereal
PRINT "Yo soy un real doble:"; doblereal
END

La orden DIM permite una mejor manera de declarar variables y evita tener que poner los identificadores de tipo cada vez que la utilicemos, lo cual ahorra una muy tediosa tarea en programas largos.

 Nota: Si estas utilizando Turbo Basic (de Borland) no puedes declarar variables de esta manera.

ENTRADA DE DATOS: LA ORDEN INPUT
Hasta ahora hemos visto como guardar valores y como sacarlos por la pantalla, ahora vamos a ver dejar que el usuario los introduzca:

' Ejemplo de INPUT (input.bas)

CONST pi = 3.1416 ' Con CONST se declara una constante cuyo valor no
' cambiará durante el programa (solo QB).

CLS : COLOR 10 ' Podemos utilizar mas de dos ordenes en una misma línea
' separándolas por dos puntos (Smile.

PRINT TAB(33); "AREA DE UN CIRCULO"
PRINT : PRINT
COLOR 7
INPUT "¿Cuál es el radio del círculo"; radio
area = pi * (radio ^ 2)
PRINT "El área del circulo es"; area
END

La sentencia INPUT se compone por:
- Un letrero (opcional) entre comillas, seguido de un (Wink que le pondrá un signo de interrogación al final del letrero al salir por la pantalla.
- Una o más variables donde se almacenaran valores.

En el caso de que queramos que el usuario nos dé 2 o más mas valores en una misma sentencia INPUT se hace de la siguiente manera:

' Ejemplo de INPUT con mas de un valor (input2.bas)

CLS : COLOR 10
PRINT TAB(33); "AREA DE UN TRIANGULO"
PRINT : PRINT
COLOR 7
INPUT "Introduzca la base y la altura del triángulo (separados entre sí por una coma) => “, b, h
a = (b * h) / 2
PRINT "El área del triángulo es"; a : END

Si no queremos que aparezca un signo de interrogación (?) al final de nuestro letrero debemos ponerle una coma (,) . Para almacenar más de una variable en una misma sentencia INPUT, estas deben ir separadas entre si por comas; de igual manera el usuario debe de introducir los datos que se le piden separados entre si por una coma. Por ejemplo, si el programa anterior pide

Introduzca la base y la altura del triángulo (separados entre sí por una coma) => _

El usuario puede introducir

5.6, 4

_________________

avatar
warang
Admin
Admin

Cantidad de envíos : 100
Puntos : 3462
Reputación : -2
Fecha de inscripción : 13/04/2009
Edad : 33
Localización : Argentina

Ver perfil de usuario http://heinekenanonimus.forosactivos.net

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.