BASIC

Las Estructuras de Control
rev. 14/03/2011
Un conjunto de comandos se encarga de organizar la forma en que se irn ejecutando las instrucciones dentro de un programa, ms precisamente en base a evaluar una circunstancia, determinan un conjunto de instrucciones se repetir, o elegir en base a una condicin si se ejecuta una u otra instruccin o bloque de instrucciones. Se denomina bloque de instrucciones a un conjunto de instrucciones que se ejecutarn en forma secuencial todo o nada
Existen varias estructuras bsicas de control:
Estructura Condicional: simplemente especifica si un bloque de instrucciones se ejecutar o n. alternativamente permite elegir entre 2 posibles bloques a ejecutarse uno solo de ellos y saltearse el otro. Comnmente llamada Decisin.
Estructura Iterativa: repite N cantidad de veces un bloque de instrucciones.
Estructura Repetitiva Condicional: Repite un bloque de instrucciones hasta que no se modifique una determinada condicin.
Estructura de Salto incondicional: Bifurca la secuencia de ejecucin de hacia otro bloque de instrucciones.
 
Anidamiento de estructuras: as se denomina cuando una estructura se encuentra comprendida dentro de otra, en ese caso siempre se debe cerrar primero la ltima estructura que se abri, para que estn perfectamente encerradas la una en la otra.
Comando IF
El comando IF va asociado a una expresin de tipo lgico (una expresin de tipo lgico: es un clculo de donde se obtiene un resultado verdadero o falso), a continuacin la palabra clave THEN e inmediatamente despus una instruccin que se ejecutar en el caso de que la expresin mencionada sea verdadera, opcionalmente a continuacin se puede poner la palabra reservada ELSE y a continuacin otra instruccin que se ejecutara en el caso que a expresin sea falsa.
Se suele utilizar con frecuencia un salto incondicional a continuacin del THEN para saltear un bloque de instrucciones que se ejecutaran por falso.
Formato
[<nl>] IF <expresin lgica> THEN <instruccin>[: <instruccin>...] [ELSE <instruccin>[:<instruccin>...]]
Ejemplos
120 IF A > 0 THEN PRINT A; Es Positivo
130 IF A < 0 THEN PRINT A; Es Negativo
IF N$ = THEN PRINT No ingres un nombre ELSE PRINT Hola ; N$
Comando FOR
El Comando FOR determina el principio de un bloque que se ejecutar en forma repetida una cantidad determinada de veces (se le denomina iteracin). El bloque finaliza con el comando NEXT. Siempre al FOR se le asocia una variable que va contando las repeticiones desde un valor inicial hasta alcanzar un valor final.
Formato:
<nl> FOR <variable> = <expresin numrica para valor inicial> TO <expresin numrica para valor final> [STEP <expresin numrica de incremento>]
<nl> <instruccin 1>
        ...
<nl> <instruccin n>
<nl> NEXT [<variable>]
Ejemplos
5 INPUT "Ingrese un nmero:", n
10 FOR inc = 1 TO 10
20   LET resultado = n * inc
30   PRINT n; " x "; inc; " = "; resultado
40 NEXT inc
Este ejemplo muestra por pantalla la tabla de multiplicar del nmero n
Comando WHILE
Este comando delimita un bloque que se ejecutar en forma repetida hasta que una determinada condicin se haga falsa. Siempre va asociada a una expresin de tipo lgico que si es verdadera permite que se ejecute un bloque de instrucciones, al finalizar se vuelve a evaluar la expresin y mientras sea verdadera se seguir ejecutando ese bloque. Este comando no se encuentra implementado en todos lo dialectos de BASIC, si no existe siempre es posible reemplazarlo por una sentencia condicional asociada a un par de saltos incondicionales como veremos ms adelante.
Formato
<nl> WHILE <expresin lgica>
<nl> <instruccin 1>
    ...
<nl> <instruccin n>
<nl> WEND [<variable>]
Ejemplos
10 LET cuenta = 0 : LET total = 0
20 INPUT Ingrese el precio del primer gasto, gasto
30 WHILE g>0
40   LET total = total + gasto
50   LET cuenta = cuenta + 1
60   INPUT Ingrese el precio del siguiente gasto, gasto
70 WEND
80 PRINT Total de gastos=; total
90 PRINT Gasto promedio=; total / cuenta
Este pequeo programa permite obtener la suma y el promedio de un conjunto de valores. Se debe ingresar 0 para finalizar la carga y obtener los resultados
Observese que el bloque de instrucciones dentro del comando WHILE est corrido un par de espacios hacia adentro para poder apreciar perfectamente donde comienza y donde termina la estructura repetitiva. A esto se denomina indentacin, no todos los dialectos de BASIC lo admiten, aunque es preferible usarlo si se admite para clarificar el cdigo en caso de tener muchas estructuras anidadas.
Comando GOTO
Este comando, muy odiado por los profesores de diagramacin y programacin lgica, rompe la secuencia de ejecucin de un programa para seguir ejecutando en otra parte del cdigo. Si se hace un abuso de saltos incondicionales se forman los denominados cdigo espaguetti pues los saltos transforman en imposible de seguir la lgica del programa en el momento de analizar su funcionamiento.
Formato
<nl> GOTO <nl>
Ejemplos
100 GOTO 10
300 IF A=0 THEN GOTO 400 ELSE GOTO 500
Simulacin del WHILE / WEND:
Arriba mencionabamos que es posible simular una estructura repetitiva condicional con una estructura de decisin y un par de saltos incondicionales. Se reescribe el ejemplo anterior de clculo de totales para ver como hacerlo de esta forma.
10 LET cuenta = 0 : LET total = 0
20 INPUT Ingrese el precio del primer gasto, gasto
30 IF NOT G>0 THEN GOTO 80
40 LET total = total + gasto
50 LET cuenta = cuenta + 1
60 INPUT Ingrese el precio del siguiente gasto, gasto
70 GOTO 30
80 PRINT Total de gastos=; total
90 PRINT Gasto promedio=; total / cuenta


Artculos:
Evolucin de las Computadoras
Lenguaje BASIC



Mensajes
Mensaje de: GRISELDA HERNANEZ DE LA TORRE
El 20/04/2009, 01:35:47 de villahermosa Edad 39
Mail: ***********Sitio:
Nos encontró: en el buscador gogle

quiero saber si me pueden ayudar, porque estoy haciendo un trabajo en basic pero no se como se escribe el guion (_),
de antemano gracias.
Dejar un comentario:

Nombre
El mail debe ser real, te llegará un mail de confirmación que deberás responder para que tu mensaje sea publicado.
pasadas las 24 horas si no hubo confirmación, el mensaje será eliminado.
E-Mail
-

No mostrar la dirección de Mail
Tu sitio Web
Lugar Edad
Como encontraste
esta página
+Opinión? el Mensaje es Privado
Mensaje / Comentario