GUIA PROGRAMACIÓN

30
Guía Algoritmia y Programación ACTIVIDAD TECNOLÓGICA ESCOLAR ALGORITMIA Y PROGRAMACIÓN (QBASIC) INTENCIONALIDAD: Que el alumno identifique un problema y construya las posibles soluciones escritas paso a paso, utilizando en un principio un pseudocódigo, luego algoritmos y al final del proceso los convierta al lenguaje de programación QBASIC. Orientaciones para la educación en tecnología: identifico cuál es el problema o la necesidad que originó el desarrollo de una tecnología y como fue posible llegar a esa solución. Activación Cognitiva: Se hará la introducción al tema proponiendo al estudiante que reflexione acerca de cualquier programa de computador: procesador de texto, hoja de cálculo, juego, etc.), cuestionándose ¿cómo se hizo? CAPITULO 1: INTRODUCCIÓN A BASIC Definición: Cada programa que se ejecuta en el computador, fue escrito en una herramienta especial para el desarrollo de programas para computador, llamada Lenguaje de Programación. Un programa es un conjunto de instrucciones que ejecuta el computador, para realizar una tarea especifica. Las instrucciones son llamadas palabras reservadas, que tienen una función única y específica como: Borrar la pantalla Escribir datos en la pantalla Tomar la entrada del usuario Ejecutar ciclos Cambiar colores Reproducir sonidos Abrir archivos, etc. Existen diferentes Lenguajes de Programación, algunos muy difíciles de usar y entender, otros están limitados para propósitos especiales como: cálculos científicos, herramientas graficas o manejo de bases de datos. Algunos lenguajes de programación son: Lenguaje Propósito Dificultad C/C++ General Difícil Pascal Educativo Medio Logo Dibujo para Niños Muy Fácil FORTRAN Científico Difícil BASIC General Fácil El Lenguaje De Programación Basic BASIC es un Lenguaje de alto nivel desarrollado en 1964 en los Estados Unidos por John Kemeney y Thomas Kurtz de la Universidad Dartmouth.

Transcript of GUIA PROGRAMACIÓN

Page 1: GUIA PROGRAMACIÓN

Guía Algoritmia y Programación

ACTIVIDAD TECNOLÓGICA ESCOLAR

ALGORITMIA Y PROGRAMACIÓN (QBASIC)

INTENCIONALIDAD:

Que el alumno identifique un problema y construya las posibles soluciones escritas paso a paso, utilizando en un principio un pseudocódigo, luego algoritmos y al final del proceso los convierta al lenguaje de programación QBASIC.

Orientaciones para la educación en tecnología: identifico cuál es el problema o la necesidad que originó el desarrollo de una tecnología y como fue posible llegar a esa solución.

Activación Cognitiva: Se hará la introducción al tema proponiendo al estudiante que reflexione acerca de cualquier programa de computador: procesador de texto, hoja de cálculo, juego, etc.), cuestionándose ¿cómo se hizo?

CAPITULO 1: INTRODUCCIÓN A BASIC

Definición: Cada programa que se ejecuta en el computador, fue escrito en una herramienta especial para el desarrollo de programas para computador, llamada Lenguaje de Programación.

Un programa es un conjunto de instrucciones que ejecuta el

computador, para realizar una tarea especifica.

Las instrucciones son llamadas palabras reservadas, que tienen una función única y específica como: Borrar la pantalla Escribir datos en la pantalla Tomar la entrada del usuario Ejecutar ciclos Cambiar colores Reproducir sonidos Abrir archivos, etc.

Existen diferentes Lenguajes de Programación, algunos muy difíciles de usar y entender, otros están limitados para propósitos especiales como: cálculos científicos, herramientas graficas o manejo de bases de datos.

Algunos lenguajes de programación son:

Lenguaje Propósito Dificultad

C/C++ General Difícil

Pascal Educativo Medio

Logo Dibujo para

Niños Muy Fácil

FORTRAN Científico Difícil

BASIC General Fácil

El Lenguaje De Programación Basic

BASIC es un Lenguaje de alto nivel desarrollado en 1964 en los Estados Unidos por John Kemeney y Thomas Kurtz de la Universidad Dartmouth.

Page 2: GUIA PROGRAMACIÓN

Guía Algoritmia y Programación

Es uno de los lenguajes de programación más populares por la facilidad que ofrece para aprenderlo y su sencillez en el manejo de las instrucciones.

BASIC es un acrónimo de:

Beginner's All - Purpose Symbolic Instruction Code

(Código de Instrucciones Simbólicas Multipropósito para Principiantes)

Diferentes Versiones de BASIC

Entre las versiones más populares de BASIC podemos encontrar GW-BASIC, Turbo BASIC, Quick BASIC, QBasic, Visual BASIC, Liberty BASIC, Power BASIC, etc.; y en la mayoría de ellas las instrucciones son las mismas.

Visual Basic es probablemente la más difundida y potente de todas. Posee muchas ventajas sobre las otras, lo que permite escribir grandes y eficientes programas en un corto tiempo y con un mínimo o nada de código, usando las herramientas para ello.

Programación en QBasic

QBasic fue desarrollado en 1987 y es una versión ligera de Quick BASIC, contiene cerca de 250 palabras reservadas (Instrucciones).

Donde se encuentra QBasic?

QBasic se encuentra desde Ms-DOS 5.0 y esta disponible en el CD-ROM de Windows 95/98. Como ejecutar QBasic?

El ejecutable de QBasic es Qbasic.exe si QBasic esta en el directorio raíz, desde el prompt de DOS, se escribe:

C:\>Qbasic

Si se tiene Windows instalado y tiene QBasic en el disco duro, sería fácil colocar un acceso directo en el escritorio o en el menú de inicio para ejecutarlo.

El Entorno Integrado de Desarrollo (IDE) de QBasic

El IDE de QBasic es simple y fácil de entender, esta dividido en dos ventanas: la primera ventana de fondo azul con titulo “Sin_Nombre”, que se usa para escribir las instrucciones, y la otra ventana inmediata de bienvenida.

Para ejecutar cualquier programa debemos hacer lo siguiente:

Page 3: GUIA PROGRAMACIÓN

Guía Algoritmia y Programación

Click en Ejecutar Iniciar o presionar F5

Para salir de QBasic:

Click en Archivo Salir

Dos palabras reservadas de BASIC

No es necesario al comenzar, conocer todas las instrucciones de BASIC, Se pueden escribir muchos programas con cerca de 10 instrucciones y para iniciar se verán solo dos de ellas:

CLS Esta instrucción se usa para

borrar la pantalla.

PRINT La instrucción PRINT se usa

para mostrar datos en la pantalla.

El primer programa en BASIC

Para comenzar se escribirá un programa sencillo, que escribe un texto en la pantalla.

Transcriba lo siguiente en la ventana “Sin_Nombre”:

PRINT "¡Hola!"

PRINT "Este es mi primer programa en BASIC."

Y para ejecutar el programa:

Click en Ejecutar Iniciar o Presionar F5

En la pantalla se mostrara lo siguiente:

¡Hola! Este es mi primer programa en BASIC. Presione cualquier tecla y continué

Una vez se completa la ejecución del programa, BASIC muestra "Presione cualquier tecla y continué" en la pantalla, entonces presionamos cualquier tecla para retornar al ambiente de programación anterior. Si se ejecuta el programa muchas veces, se podrá ver que el mismo texto se muestra en la pantalla de la siguiente manera: ¡Hola! Este es mi primer programa en BASIC. ¡Hola! Este es mi primer programa en BASIC. ¡Hola! Este es mi primer programa en BASIC. ¡Hola! Este es mi primer programa en BASIC.

Presione cualquier tecla y continué

Para que la pantalla se limpie o borre, cada vez que ejecuta el programa, se coloca la instrucción CLS al comienzo del programa así:

CLS

PRINT "¡Hola!"

PRINT "Este es mi primer programa en BASIC."

Page 4: GUIA PROGRAMACIÓN

Guía Algoritmia y Programación

Note la presencia de las comillas (" ") en la instrucción PRINT, siempre se colocan cuando se quiere mostrar frases o caracteres.

Símbolos Matemáticos

Algunos operadores matemáticos y su equivalente en BASIC:

Operación Símbolo Equivalente

BASIC

Suma + + Resta - -

Multiplicación x * División ÷ /

Exponencial a2 a^2

CAPITULO 2: USO DE LA MEMORIA DEL COMPUTADOR

Almacenamiento de datos en la memoria Tipos de Datos:

Constantes

Variables Se necesitara almacenar los datos en la memoria del computador cuando se este escribiendo un programa. Los datos se clasifican en 2 tipos:

Números

Cadenas de caracteres Ejemplos de números:

10 +5 0.32 -1.234

Ejemplos de Cadenas de caracteres:

"!Hola! ¿Como estas?" "Jhon Sanz"

"Calle 14 Real" "$123" Los caracteres consisten en:

Letras

Números

Símbolos

Caracteres especiales

Para almacenar datos en la memoria se necesita colocarlos primero en variables de memoria o constantes de memoria.

Una variable de memoria almacenara valores que varían o cambian y una constante de memoria almacenara valores que permanecen constantes y no cambian. La memoria del computador La memoria de los seres humanos esta compuesta millones de células, que almacenan diferente información que se adquiere a diario, en la vida. Análogamente la memoria del computador se podría representar por células de almacenamiento y a cada una de ellas se le puede asignar un nombre o dirección así:

Valor 10 +5 0.32 -1.234

Nombre de la

célula a b c d

Valor ¡Hola! Como estas

Carlos Arias

Calle Jiménez

$123

Page 5: GUIA PROGRAMACIÓN

Guía Algoritmia y Programación

Nombre de la

célula a$ b$ c$ d$

¿Como usar la memoria en BASIC?

¡Recuerda! Los datos son almacenados en variables o constantes de memoria, en QBasic las variables deben respetar las siguientes reglas:

1. La longitud del nombre no debe ser mayor que 40 caracteres

2. Deben empezar con mínimo una letra

3. No deben tener espacios

4. No pueden soportar ciertos caracteres, como (

5. Si no se coloca sufijo, BASIC considera la variable como tipo single-precisión

La tabla siguiente muestra los diferentes tipos de variables:

Tipo de Datos Sufijo

Single-precision (Real) !

Integer (Entero) %

Double-precision (Real Largo)

#

Long-integer (Entero Largo)

&

String (Cadena) $

Los primeros cuatro tipos se usan para almacenar números.

Los tipos Single-precision y double-precision almacenan números flotantes.

los tipos integer & long-integer almacena enteros (Números sin punto décimal).

El tipo String son variables que almacenan caracteres, letras, texto y frases.

Ejemplos:

Código Comentario

a% = 10 Asigna el valor 10 a

la variable a%.

mensaje$ = "Hola Amigos"

Almacena el texto "Hola Amigos" en la

variable de memoria

mensaje$.

numero1 = 10 numero2 = 15

suma = numero1 + numero2

Asigna 10 a la variable numero1.

Asigna 15 a la

variable numero2.

Asigna 25 a la variable suma.

b% = 4.5

En este caso BASIC trunca la parte decimal del

número y almacena solo 4 en la memoria.

Nota: Esto es un error y BASIC no

genera un mensaje de error.

c! = 10.123

Una variable tipo single-precision se

usa para almacenar punto flotante.

c = 10.123

Igual al de arriba. Cuando una

variable no tiene sufijo, es

considerada como single-precision.

Page 6: GUIA PROGRAMACIÓN

Guía Algoritmia y Programación

Declaración de variables

BASIC ha recibido muchas críticas porque tiene la habilidad de crear y declarar variables en cualquier momento y lugar.

La instrucción DIM se usa para especificar un tipo de dato para una variable y las variables declaradas no deben terminar con sufijo. La sintaxis es la siguiente:

DIM nombre de variable AS tipo de variable

Ejemplo:

DIM nombre AS STRING

DIM edad AS INTEGER

nombre = "Juancho Cruz"

edad = 25

Este código es equivalente a:

nombre$ = "Juancho Cruz"

edad% = 25

¿Entonces cuál es el mejor método de trabajo con variables?

Se prefiere usar la primera porque es bueno declarar cada variable que se use al dar claridad al programa. Errores causados por escribir incorrectamente las variables

Uno de los errores más comunes en la programación en BASIC es escribir mal nombres de variables. Se suele encontrar así:

largo = 10

ancho = 5

area = larga * ancho

PRINT area

La variable "largo" esta mal escrita en la línea 3. BASIC diferencia entre "largo" y "larga", buscara por el valor de la variable "larga" en la memoria, entonces como no la puede encontrar, le asignara el valor 0; entonces, cuando se imprima, debido al contenido de la variable "area", se vera 0 en vez de 50.

Desafortunadamente, aparte de revisar la escritura de cada variable, no se puede hacer más para prevenir ese tipo de errores.

CAPITULO 3: ESCRIBIR DATOS EN LA PANTALLA

La Instrucción PRINT

Con esta instrucción se pueden escribir datos en pantalla tales como números, caracteres, frases, textos y el contenido de variables y constantes de memoria

Page 7: GUIA PROGRAMACIÓN

Guía Algoritmia y Programación

Nota: Caracteres y frases se escriben dentro de comillas (" "), lo que se escribe entre comillas se mostrara durante la ejecución del programa. Los siguientes ejemplos muestran las diferentes maneras de usar la instrucción PRINT:

Código Salida en pantalla

Comentario

PRINT "5" 5 Se escribe el carácter 5 en la pantalla.

PRINT 5 5 Se escribe número 5 en la pantalla.

PRINT 5 PRINT "5"

5 5

Note el espacio antes del número 5 en la primera línea. BASIC siempre coloca espacios para los signos +/- cuando se escribe un numero.

PRINT "5 + 7" 5 + 7

Escribe textualmente lo que se encuentre entre comillas.

PRINT 5 + 7 12 Escribe la suma de 5 y 7 en la pantalla.

PRINT 6 * 7 42

El asterisco (*) se usa para la multiplicación.

PRINT 12 / 4 3

El signo (/) se usa para la división.

PRINT 8 - 3 5

a = 3 b = 4 c = a + b d = a * b PRINT a PRINT b PRINT c PRINT d

3 4 7 12

a, b, c y d son variables de memoria. El valor 3 se asigna a la variable de memoria a. El valor 4 se asigna a la variable de

memoria b. En la 3

ra línea, el

computador asigna la suma de las variables de memoria a y b a la variable de memoria c. En la 4ta línea el computador asigna el producto de las variables de memoria a y b a la variable de memoria d. En la 5ta línea, el computador busca el valor de la variable de memoria a y la escribe en la pantalla.

a = 3 PRINT "a"

a

¿Esperaba a que se escribiera 3 en la pantalla? No olvide que cualquier cosa que se escriba entre comillas, se escribirá en pantalla. El código correcto es:

a = 3 PRINT a

CAPITULO 4: SOLUCIÓN DE PROBLEMAS MATEMÁTICOS

Solucionar problemas matemáticos simples es una de las tareas más fáciles que se puede hacer en BASIC.

Antes de seguir es necesario entender algunos conceptos básicos:

Page 8: GUIA PROGRAMACIÓN

Guía Algoritmia y Programación

¿Qué es un programa?

Un programa es un conjunto de instrucciones que ejecuta el computador, para realizar una tarea especifica.

En la mayoría de programas, es necesario escribir cada cosa que debo hacer y necesito pensar como lo haría:

¿Cuales datos necesito ingresar al computador?

¿Que operaciones, el computador realizara con los datos ingresados?

¿Que resultados escribirá en pantalla el computador?

Existen tres partes en cada programa que se lleva a cabo:

ENTRADA PROCESO SALIDA

Entrada: Lo que se necesita.

Proceso: Qué se necesita hacer, calculado con los datos de la entrada.

Salida: Es el resultado obtenido cuando el proceso ha terminado.

Antes de comenzar a escribir el programa, es importante escribir algoritmos o pseudocódigos escritos como un bosquejo de lo que se quiere hacer.

Algoritmos

Un algoritmo es un conjunto de instrucciones precisas para solucionar un problema.

Los algoritmos pueden representarse en leguaje escrito (pseudocódigo) o en flujo gramas (Diagramas de Flujo)

Aquí hay un ejemplo de un simple algoritmo para calcular la suma de dos números.

Obtenga el primer número

Obtenga el segundo número

Calcule la suma

Muestre la suma

A continuación se ilustra este concepto usando algunos ejemplos matemáticos: Ejemplo 4.1: Escribir un programa que muestre la suma de los números 8 y 12

Algoritmo Código del Programa

Obtenga el primer número Obtenga el segundo número Calcule la suma Escriba el resultado

numero1 = 8 numero2 = 12 suma = Numero1 + Numero2 PRINT suma

Escritura en Pantalla

20

Se puede ver que este programa no es muy explicito, el siguiente

Page 9: GUIA PROGRAMACIÓN

Guía Algoritmia y Programación

programa hace que la presentación sea más entendible:

Ejemplo 4.2: Escribir un programa que muestre la suma de los números 8 y 12 (mejorado)

Código del Programa

CLS numero1 = 8 numero2 = 12 suma = Numero1 + Numero2 PRINT "Este programa encuentra la suma de 2 números" PRINT "El primer numero es:" PRINT numero1 PRINT "El segundo numero es:" PRINT numero2 PRINT "La suma es:" PRINT suma

Escritura en Pantalla

Este programa encuentra la suma de 2 números El primer numero es: 8 El segundo numero es: 12 La suma es: 20

El uso de Punto y Coma al final del argumento de la instrucción PRINT, le dice a BASIC que coloque el cursor en la misma línea para escribir la próxima vez así:

Ejemplo 4.3: Escribir un programa que muestre la suma de los números 8 y 12 (optimizado)

Código del Programa

CLS numero1 = 8 numero2 = 12 suma = Numero1 + Numero2 PRINT "Este programa encuentra la suma de 2 números" PRINT "El primer numero es:" ; PRINT numero1 PRINT "El segundo numero es:" ; PRINT numero2 PRINT "La suma es:" ; PRINT suma

Escritura en Pantalla

Este programa encuentra la suma de 2 números El primer numero es: 8 El segundo numero es: 12 La suma es: 20

La práctica hace la perfección. Ejemplo 4.4: Escribir un programa que muestre el producto de los números 8 y 12

Algoritmo Código del Programa

Obtenga el primer número Obtenga el segundo número Calcule el producto

numero1 = 8 numero2 = 12 producto = Numero1 +

Page 10: GUIA PROGRAMACIÓN

Guía Algoritmia y Programación

Escriba el resultado

Numero2 PRINT producto

Se debe tener cuidado de nombrar variables o constantes con el mismo nombre de instrucciones de BASIC. En el ejemplo siguiente, se usara la palabra "base" para almacenar la base del triangulo. La palabra "BASE" no se puede usar porque es una palabra reservada o instrucción en BASIC. Ejemplo 4.5: Escribir un programa que calcule el área de un triangulo de base = 10 y altura = 5

Algoritmo Código del Programa

Obtener la base Obtener la altura Calcular el área Escribir el área

'la palabra BASE es ‘reservada in BASIC 'Entonces se usara ‘tbase para almacenar ‘la base tbase = 10 altura = 5 area = 1/2 * tbase * altura PRINT area

Como es el caso en las matemáticas, las operaciones en BASIC se ejecutan en la siguiente secuencia PDMAS 1. Paréntesis. 2. División.

3. Multiplicación. 4. Adición. 5. Substracción. En el ejemplo siguiente, BASIC calculara la suma de la altura y el ancho entre paréntesis y luego multiplicara esto por 2. Ejemplo 4.6: Escribir un programa que calcule el perímetro de un rectángulo de alto = 20 y ancho = 8.

Algoritmo Código del Programa

Obtenga la altura Obtenga el ancho Calcule el perímetro Escriba el perímetro

alto = 20 ancho = 8 perimetro = 2 * (alto + ancho) PRINT perimetro

Existen muchas maneras para realizar las tareas en BASIC. Use una que considere mejor para usted. Ejemplo 4.7 (método 1): Escriba un programa que calcule el área de un circulo de radio = 7.

Algoritmo Código del Programa

Obtenga el radio Obtener π Calcular área Escribir el área

radio = 7 PI = 3.1416 area = PI * radio * radio PRINT area

Page 11: GUIA PROGRAMACIÓN

Guía Algoritmia y Programación

Ejemplo 4.8 (método 2): Escriba un programa que calcule el área de un circulo de radio = 7.

Algoritmo Código del Programa

Obtenga el radio Obtener PI Calcular área Escribir el área

radio = 7 PI = 3.1416 area = PI * (radio ^ 2) PRINT area

CAPÍTULO 5: MEJORANDO EL CÓDIGO DEL PROGRAMA

Es importante mejorar el código del programa para:

Documentar el programa

Usar variables significantes

Informar el propósito del programa Documentar el programa

Como se pudo dar cuenta, los programas pueden llegar a ser muy grandes y difíciles de entender, para solucionar esto la instrucción REM permite colocar comentarios en el programa. En el momento de ejecución cualquier línea que comience con la instrucción REM será ignorada.

Se puede reemplazar la instrucción REM, por el símbolo de comilla simple (‘) al inicio del comentario, así pues, las dos líneas de código siguientes son similares:

REM Programa escrito por CPE.

' Programa escrito por CPE.

La comilla simple se puede ubicar al final de una instrucción así:

PRINT "Bienvenidos todos" ' mensaje de bienvenida

Uso de variables significantes El uso de una sola letra para el nombre de las variables, puede ser muy fácil de escribir si se escribe lento. Sin embargo puede causar que el programa sea difícil de entender a lo largo del mismo. El uso de variables significantes hace que el programa sea fácil para entender y comprender. Aquí una ilustración: x = 2000

y = 10

z = x * (100 + y) / 100

¿Puede imaginarse que propósito tiene el código del programa anterior?

Ahora veremos como es de fácil, cuando se usa nombres de variables significantes: SueldoAntiguo = 2000

PorcentejeAumento = 10

Page 12: GUIA PROGRAMACIÓN

Guía Algoritmia y Programación

SueldoNuevo = SueldoAntiguo * (100 + PorcentejeAumento ) / 100 Decir cual es el propósito del programa

Muchos nuevos programadores aprenden como programar pero suelen olvidar decir cual es el propósito del programa. Ejemplo de un programa sin documentar: a = 20 b = 30

c = a * b

PRINT "El producto es "; c Como se ve en el siguiente programa, el uso de la instrucción REM para colocar comentarios, el uso de variables significativas a lo largo del programa, dice que esta haciendo el programa. REM Este programa calcula el producto de 2 numeros: 20 y 30.

numero1 = 20

numero2 = 30

producto = numero1 * numero2

PRINT "Este programa calcula el producto de 2 numeros"

PRINT "El primer numero es "; numero1

PRINT "El segundo numero es "; numero2

PRINT "El producto es "; producto

CAPITULO 6: ADQUISICIÓN DE

DATOS DEL USUARIO EN EJECUCIÓN

Dos instrucciones o comandos permiten obtener datos del usuario que ejecuta el programa:

La instrucción INPUT

La instrucción INKEY$ INPUT

La instrucción INPUT lee datos del usuario y los almacena en una variable de memoria, la sintaxis es la siguiente:

INPUT “ Texto que se muestra ” ; nombre de variable

INPUT “ Texto que se muestra ” , nombre de variable

INPUT nombre de variable

Ejemplo 6.1: Preguntar al usuario por su nombre y saludarlo

Código del Programa

DIM nombreusuario AS STRING PRINT " Ingrese su nombre: " ;

Page 13: GUIA PROGRAMACIÓN

Guía Algoritmia y Programación

INPUT nombreusuario PRINT "Hola"; nombreusuario ; ". ¡Que tenga un buen día! "

Escritura en Pantalla

Ingrese su nombre: Juanito Hola Juanito. ¡Que tenga un buen día!

Las líneas:

PRINT " Ingrese su nombre: " ;

INPUT nombreusuario

Se pueden escribir también así:

INPUT " Ingrese su nombre: " ; nombreusuario

Se prefiere usar la primera opción porque es más fácil de entender y porque es el procedimiento estándar en la mayoría de lenguajes de programación.

Ejemplo 6.2: Preguntar al usuario por sus notas en español y matemáticas y sumarlas.

Código del Programa DIM español AS INTEGER DIM matematicas AS INTEGER DIM suma AS INTEGER PRINT "Ingrese su nota de Español :" ; INPUT español PRINT "Ingrese su nota de Matemáticas :" ; INPUT matematicas suma = español + matematicas PRINT "La suma es:" ; suma

Escritura en Pantalla

Ingrese su nota de Español : 65

Ingrese su nota de Matemáticas : 59 La suma es: 124

INKEY$

INKEY$ lee un carácter del teclado. Esta es la principal ventaja comparada con la instrucción INPUT, no se requiere que el usuario presione la

tecla ENTER ().

El programa siguiente muestra una secuencia repetitiva hasta que la tecla escape (Esc) es presionada.

DO

PRINT "¡Presione escape (Esc) para detener el programa!"

LOOP UNTIL INKEY$ = CHR$(27) Nota: La memoria de computador guarda toda la información en formato digital. No hay forma de almacenar caracteres directamente. Cada uno de los caracteres tiene un código digital equivalente. Esto se denomina código ASCII (American Standard Code for Information Interchange), código estándar americano para el intercambio de información y el código para la tecla ESC es 27. Ejemplo 6.3: Escoger entre dos opciones

Código del Programa

PRINT "1. Jugar Pacman" PRINT "2. Jugar Tetris" PRINT "Ingrese su selección:"

Page 14: GUIA PROGRAMACIÓN

Guía Algoritmia y Programación

DO a$ = INKEY$ LOOP UNTIL a$ = "1" OR a$ = "2" IF a$ = "1" THEN PRINT "Selecciono jugar Pacman." END IF IF a$ = "2" THEN PRINT "Selecciono jugar Tetris." END IF

Escritura en Pantalla

En el programa de prueba el usuario selecciono el numero "1"

1. Jugar Pacman 2. Jugar Tetris Ingrese su selección: Selecciono jugar Pacman.

CAPITULO 7: TOMANDO DECISIONES

Es necesario preguntar al usuario, cuando se requiere escoger entre una o más opciones. Las instrucciones:

IF - THEN - ELSE

SELECT CASE

Se usan para tomar decisiones dependiendo de condiciones específicas.

La Instrucción IF - THEN - ELSE

La sintaxis de la instrucción IF - THEN es como sigue:

IF condicion1 THEN

[Lista de instrucciones que se ejecutaran si la condicion1 se cumple]

END IF

IF condicion1 THEN

[Lista de instrucciones que se ejecutaran si la condicion1 se cumple]

ELSE

[Lista de instrucciones que se ejecutaran si la condicion1 NO se cumple]

END IF

IF condicion1 THEN

[Lista de instrucciones que se ejecutaran si la condicion1 se cumple]

ELSEIF condicion2 THEN

[Lista de instrucciones que se ejecutaran si la condicion1 NO se cumple

Y la condicion2 se cumple ]

ELSE

[Lista de instrucciones que se ejecutaran si la condicion2 NO se cumple]

END IF

Ejemplo 7.1: Escribir un programa que pregunte al usuario su nota en

Page 15: GUIA PROGRAMACIÓN

Guía Algoritmia y Programación

matemáticas y le diga si aprobó o no la evaluación (se aprueba con 40).

Algoritmo Código de Programa Borrar la Pantalla Escribir mensaje en pantalla Tomar nota de evaluación Comparar si la nota es mayor a 40 y Escribir “Aprobó evaluación"

CLS PRINT "Ingrese su Nota de Matemáticas: "; INPUT nota IF nota >= 40 THEN PRINT "Aprobo evaluacion." END IF

Escritura en Pantalla (aprueba)

Ingrese su Nota de Matemáticas: 45 Aprobó evaluación.

Escritura en Pantalla (No aprobó)

Ingrese su Nota de Matemáticas: 30

Se puede ver que el programa no muestra ningún mensaje, si no se aprueba, debido a que la condición no se cumple. Se puede usar la instrucción ELSE para mostrar el mensaje cuando la condición no se cumple es decir cuando no aprueba, así:

Código del Programa CLS PRINT " Ingrese su Nota de Matematicas: "; INPUT nota IF nota >= 40 THEN PRINT " Aprobo evaluacion." ELSE PRINT "Perdio evaluacion." ‘No se cumple la condicion END IF

Escritura en Pantalla (aprueba)

Ingrese su Nota de Matematicas: 45

Aprobo evaluacion.

Escritura en Pantalla (No aprueba)

Ingrese su Nota de Matemáticas: 30 Perdio evaluacion.

Algunas veces es necesario usar la instrucción IF - THEN - ELSE dentro de una instrucción IF-THEN-ELSE y esta a su vez dentro de otra instrucción IF-THEN-ELSE.

La instrucción SELECT CASE

SELECT CASE es otro tipo de instrucción para tomar decisiones en BASIC. La sintaxis es como sigue:

SELECT CASE Textosentencia

CASE opcion1

[Lista de instrucciones que se ejecutaran si Textosentencia = opcion1 ]

CASE opcion2

[Lista de instrucciones que se ejecutaran si Textosentencia = opcion2 ] …

CASE ELSE

[Lista de instrucciones que se ejecutaran si Textosentencia no se encuentra en las opciones anteriores ]

END SELECT

Page 16: GUIA PROGRAMACIÓN

Guía Algoritmia y Programación

Ejemplo 7.2: Como usar la instrucción SELECT CASE. Escribir un programa que muestre un menú en donde se seleccione un juego.

Algoritmo Código de Programa

Mostrar el menú Escribir caso 1 Escribir caso 2 Escribir caso 3 Tomar el valor de selección Selecciona entre los casos: caso opción = 1 Escribir "Escogió jugar Tetris" caso opción = 2 Escribir "Escogió jugar Pacman" caso opción = 3 Escribir "Hasta luego" case choice = 4 Escribir "Opción Incorrecta" Fin selección

'Diseño del Menú PRINT "1. Jugar Tetris" PRINT "2. Jugar Pacman" PRINT "3. Salir" INPUT "Ingrese su selección: "; opcion SELECT CASE opcion CASE 1 PRINT "Escogió jugar Tetris" CASE 2 PRINT "Escogio jugar Pacman" CASE 3 PRINT "Hasta luego" END CASE ELSE PRINT "Opción Incorrecta" END SELECT

CAPITULO 8: CREACION DE CICLOS

Un ciclo se usa para repetir un bloque de instrucciones un cierto numero de veces, hasta que la condición se cumple. Existen 4 clases de ciclos en BASIC.

La instrucción FOR - NEXT

La instrucción DO - LOOP

La instrucción WHILE - WEND

La instrucción GOTO

Las instrucciones más populares son el ciclo FOR-NEXT y el ciclo DO-LOOP.

¿Donde son usados? Aquí hay algunos ejemplos:

En la solución de problemas matemáticos cuando se tiene que imprimir una lista de números con un incremento constante.

En juegos cuando se tiene que monitorear constantemente la entrada de teclado o entrada de Mouse.

La instrucción FOR - NEXT

FOR - NEXT se usa para repetir un bloque de instrucciones en un específico número de veces, la sintaxis es la siguiente:

FOR contador = inicio TO fin [ STEP incremento ]

[Bloque de instrucciones]

NEXT

En la instrucción FOR - NEXT un bloque de instrucciones se ejecuta un número de veces. El valor de la variable contador es incrementado en 1 hasta que es igual al valor fin.

Page 17: GUIA PROGRAMACIÓN

Guía Algoritmia y Programación

La variable contador por defecto (sin la instrucción STEP) se incrementa en 1. Se puede cambiar el incremento en cada ciclo usando la instrucción STEP parámetro. Veremos el ejemplo 2 como una ilustración. Ejemplo 8.1: Este programa imprime enteros del 1 al 10

Código del Programa

Escritura en Pantalla

DIM contador AS INTEGER FOR contador = 1 TO 10 PRINT contador NEXT

1 2 3 4 5 6 7 8 9 10

En el ejemplo anterior la instrucción PRINT contador se ejecuta 10 veces. Después de cada ciclo el valor de la variable contador es incrementado en 1. Ejemplo 8.2: Este programa imprime los números impares del 1 al 10

Código del Programa

Escritura en Pantalla

DIM contador AS INTEGER FOR contador = 1 TO 10 STEP 2 PRINT contador NEXT

1 3 5 7 9

La instrucción DO - LOOP DO - LOOP ejecuta un bloque de instrucciones mientras o hasta que una condición sea verdadera, La sintaxis es:

DO [Lista de instrucciones] LOOP UNTIL condicion1

DO [Lista de instrucciones] LOOP WHILE condicion1

Mientras que un contador es automáticamente incrementado en la instrucción FOR - NEXT, en la instrucción DO - LOOP uno mismo tiene que incrementar el contador.

A continuación una comparación de los dos métodos:

FOR - NEXT DO - LOOP

'Este programa muestra una frase

'Este programa

Page 18: GUIA PROGRAMACIÓN

Guía Algoritmia y Programación

5 veces CLS DIM contador AS INTEGER FOR contador = 1 TO 5 PRINT "¡Hola! ¿Como estas?" NEXT

muestra una frase 5 veces CLS DIM contador AS INTEGER contador = 0 DO PRINT "¡Hola! ¿Como estas?" contador = contador + 1 LOOP UNTIL contador = 5

La Instrucción WHILE – WEND WHILE - WEND es otra clase de instrucción para ejecutar ciclos. La instrucción DO - LOOP de todas maneras provee una mejor manera hacerlo.

Código del Programa

Escritura en Pantalla

DIM contador AS INTEGER contador = 0 WHILE contador < 5 contador = contador + 1 PRINT contador WEND

1 2 3 4 5

La Instrucción GOTO

GOTO se dirige a una línea específica o a la primera instrucción después de una etiqueta específica.

En el ejemplo siguiente la instrucción GOTO salta después de la etiqueta "Etiqueta1" a la instrucción siguiente, hasta que le valor de la variable contador sea igual 5.

Código del Programa

Escritura en Pantalla

DIM contador AS INTEGER contador = 0 Etiqueta1: contador = contador + 1 PRINT contador IF contador < 5 THEN GOTO Etiqueta1 END IF

1 2 3 4 5

Se debería en lo posible no trabajar con la instrucción GOTO. Los programadores que usan GW-BASIC, el predecesor de QBasic, usaban muchas instrucciones GOTO saltando en todas las direcciones, es sus programas, haciendo muy difícil de mantener y entender el programa. Este tipo de programación es llamado código spaghetti. El siguiente programa evita el uso de la instrucción GOTO con la instrucción DO - LOOP.

Código del Programa

Escritura en Pantalla

Page 19: GUIA PROGRAMACIÓN

Guía Algoritmia y Programación

'Este programa muestra el contador DIM contador AS INTEGER CLS contador = 0 DO PRINT contador contador = contador + 1 LOOP UNTIL contador = 5

1 2 3 4 5

Sin embargo en algunos casos no hay alternativa. La instrucción GOTO se usa unida con la instrucción ON ERROR la cual se usa para atrapar los errores en el programa.

CAPITULO 9: USO DE COLORES

La instrucción COLOR se usa para configurar los colores que se mostraran en pantalla.

Puede ser usado para modificar el color del fondo y el color para escribir en pantalla así:

COLOR [Color de Escritura] , [Color de Fondo]

Para modificar únicamente el color de la escritura se usa:

COLOR [Color de Escritura]

Para modificar únicamente el color del fondo se usa:

COLOR , [Color de Fondo ]

La tabla siguiente muestra una lista de colores y su correspondiente numero.

Núm.

Color Núm. Color

0 Negro 8 Gris

1 Azul 9 Azul Claro

2 Verde 10 Verde Claro

3 Aguamarin

a 11

Aguamarina Claro

4 Rojo 12 Rojo Claro

5 Fucsia 13 Morado

6 Café 14 Amarillo

7 Blanco 15 Blanco Claro

El siguiente ejemplo ilustra como usar la instrucción COLOR:

Ejemplo 9.1: Escribir en amarillo sobre azul

Código del Programa

COLOR 14, 1 PRINT "Este texto esta en Amarillo sobre Azul"

Escritura en Pantalla

Este texto esta en Amarillo sobre Azul

Si se quiere que no quede solo un recuadro de color azul se usa la instrucción CLS después de configurar el color con la instrucción COLOR así:

Ejemplo 9.2:

Código del Programa

Page 20: GUIA PROGRAMACIÓN

Guía Algoritmia y Programación

COLOR 14, 1 CLS PRINT " Este texto esta en Amarillo sobre Azul "

Escritura en Pantalla

Este texto esta en Amarillo sobre Azul

Se debe tener cuidado con el uso de los colores porque algunas combinaciones de colores no son agradables a la vista.

CAPITULO 10: LA INSTRUCCIÓN LOCATE

LOCATE se usa para mover el cursor en la pantalla, la sintaxis es:

LOCATE Fila , Columna

Ejemplo:

LOCATE 20, 30

PRINT "Fila numero 20, Columna numero 30"

Por defecto hay 25 Filas y 80 Columnas en BASIC, pero esto puede ser modificado dependiendo de la resolución de pantalla que se este trabajando.

El ejemplo anterior muestra el texto “Fila numero 20, Columna numero 30” en la fila 20 y columna 30 en la pantalla de BASIC.

El uso de la instrucción LOCATE en BASIC puede resultar en una función extraña para el programa, como se ve en el siguiente ejemplo:

CLS

LOCATE 1, 20

PRINT "¿Puede verme?"

LOCATE 25, 20

PRINT "¿Donde estoy?"

SLEEP

En el ejemplo anterior la frase “¿Puede verme?” desaparece de la pantalla. ¿Que paso?

El problema se encuentra en las líneas 4 y 5 del código del programa. Cuando se usa la instrucción PRINT sin colocar una coma o un punto y coma en el final de la línea, BASIC envía el cursor a la siguiente línea y como estamos en la última fila (la fila 25) la siguiente línea es la primera línea, entonces la pantalla retorna a la línea original que es en comienzo de la pantalla.

Para solucionar este problema se coloca un punto y coma al final de la instrucción PRINT.

CLS

LOCATE 1, 20

PRINT "¿Puede verme?"

LOCATE 25, 20

PRINT "¿Donde estoy?";

SLEEP

Page 21: GUIA PROGRAMACIÓN

Guía Algoritmia y Programación

CAPITULO 11: SUBRUTINAS Y FUNCIONES

Después de aprender los fundamentos de BASIC, como comandos, flujo de funciones y programas simples, se esta listos para hacer programas más grandes.

Al escribir programas largos, algunas veces, es necesario repetir partes del código una y otra vez, veamos como podemos agilizar esta tarea. Si se usan formulas matemáticas complejas con muchas variables para calcular un valor, las subrutinas (SUBs) y funciones (FUNCTIONS) son una herramienta que ayuda a organizar el código y a crear “mini” programas en el programa principal. Subrutinas

Es un juego de instrucciones que se pueden ejecutar con una simple instrucción: El nombre de la subrutina.

Ejemplo: Imagine que se quiere mostrar un párrafo de texto como la introducción al programa así:

CLS

PRINT "Este es el párrafo introductorio de texto al programa"

PRINT

PRINT "Este programa es bueno, aunque no lo crean y"

PRINT "es lo mejor que haya podido hacer."

Este código es el comienzo del programa y se quiere mostrar antes nada, esas 5 líneas no es tan mal, pero qué tal fueran 20? o muchas paginas que se tengan que imprimir al mismo tiempo?

Se deberá usar una subrutina para ejecutar todo el código con una simple instrucción.

Existen dos maneras simples de crear subrutinas en QBasic:

La primera es abrir el menú Click en Edición Nueva SUB… un pequeño cuadro de dialogo se abre pidiendo el nombre de la subrutina. Se puede usar cualquier carácter alfanumérico (A-Z, 0-9) comenzando por una letra y siguiendo el mismo concepto que para todo tipo de variable. Lo recomendable es escribir un nombre que describa el funcionamiento de la misma.

En la imagen anterior la nueva subrutina se llama “Instrucción”.

Cuando se presiona (Enter), después de ingresar el nombre,

Page 22: GUIA PROGRAMACIÓN

Guía Algoritmia y Programación

automáticamente cambiamos a la ventana de la subrutina “Instrucción” y el editor contiene solamente lo siguiente:

SUB instrucción

END SUB

Ahora es el momento de colocar el código que se mostrara con todas sus instrucciones. Si se intenta adicionar alguna cosa antes de la instrucción SUB, saldrá un mensaje de error diciendo que sólo líneas de comentario son permitidas, no instrucciones; lo que asegura que todos los comandos se ejecuten.

Sin embargo comentar el código es la clave para completar los proyectos, lo ideal es utilizar un poco de espacio por encima para resumir el contenido de la subrutina, no importa cuán trivial o evidente parezca, realmente vale la pena:

’Esta subrutina muestra el párrafo introductorio del programa

SUB instrucción

CLS

PRINT "Este es el parrafo introductorio de texto al programa"

PRINT

PRINT "Este programa es bueno, aunque no lo crean y"

PRINT "es lo mejor que haya podido hacer."

END SUB

Para navegar entre las subrutinas y la ventana principal del programa pulse F2 y utilice las teclas de dirección para seleccionar una subrutina o el título del programa.

Simplemente presione (Enter) para ir a esa ventana. (Se puede tener en realidad dos ventanas abiertas a la vez, que es muy útil para comparar el código)

Ahora que se ha creado una subrutina que contiene las instrucciones que se ejecutarán, todo lo que hay que hacer para llamarla es usar su nombre como si fuera un comando:

‘Mostrar instrucción

Instrucción

La segunda manera de crear una subrutina es sólo un atajo. En cualquier lugar de su código escriba "SUB nombredesubrutina" y

presione (Enter). El editor de QBasic creará de forma automática la ventana de subrutina para que usted pueda comenzar a ingresar su código de inmediato.

Cuando se utiliza este método, por lo general, se quiere que la subrutina se ejecute en ese punto, así que primero se debería escribir la llamada y luego crearla, de ese modo, el llamamiento a la sub ya estará en marcha y sólo tendrá que introducirse el código.

En QBasic se deben declarar las subrutinas creadas, la instrucción

Page 23: GUIA PROGRAMACIÓN

Guía Algoritmia y Programación

DECLARE SUB se utiliza para hacerlo. Sin embargo, el QBasic es lo suficientemente inteligente como para saber que se ha creado una, y al guardar el programa, la declara y la inserta automáticamente en la parte superior del cuerpo principal del mismo.

Las Instrucciones DECLARE deben ser colocadas antes que cualquier otra instrucción, pero los comentarios por encima se pueden colocar porque no añaden nada.

Funciones

Las funciones (FUNCTIONS), trabajan exactamente de la misma manera que las subrutinas (SUBs), pero tienen una característica especial.

Las funciones pueden devolver un simple valor a la ubicación que las llama. El uso más común de las funciones es cuando se tienen varias líneas de código que producen un resultado, pero que necesita usar ese código varias veces.

Las Funciones se crean de dos formas iguales a como se crean las subrutinas.

Click en Edición Nueva FUNCTION…

También aparecen en la lista que se muestra al presionar F2. Con el fin de advertir la diferencia entre SUBs y FUNCTIONs en la ventana de diálogo

aparece una barra de estado que dice FUNCTION en lugar de SUB, es un simple indicador.

Vamos a crear una función que realiza una operación matemática y devuelve el resultado. Con el fin de devolver un valor llamando a la ubicación, se usa el nombre de la función como si fuera una variable, y se le asigna un valor a la misma:

'Una función matemática

FUNCTION suma ()

n = 5 + 2

suma = n

END FUNCTION

La ejecución de una función es un poco diferente a la ejecución de una subrutina, dado que las funciones retornan valores, se utiliza el nombre de la función como si fuera un valor que se le asigne a otra variable:

x = suma

Por supuesto, esta función no es de mucho uso ya que sólo devuelve un único valor: 7. La definición de una función (incluso entre los no programadores) incluye el uso de una o más variables de entrada, llamados parámetros, afectando a los valores del resultado.

Los parámetros se especifican en la línea de definición de la función, en la instrucción DECLARE y a

Page 24: GUIA PROGRAMACIÓN

Guía Algoritmia y Programación

continuación todas las funciones se ejecutan como resultado de la función.

Si modifica los parámetros de la función (en este caso, añadirlos) después de que haya guardado el programa, se tendrá que modificar la declaración que genera automáticamente BASIC, una manera fácil de hacer esto es borrar por completo la línea antigua y salvar el programa de nuevo.

' Suma de dos números

FUNCTION suma (a, b)

n = a + b

suma = n

END FUNCTION Llamar a esta función es muy simple, además de la asignación antes vista se adiciona los dos números a sumar así:

x = suma (10, 15)

PRINT x

El valor de x será 25, sobre la base de los 10 y 15 que se utilizaron como parámetros. Por supuesto, podría añadir otro parámetro a la función que permitiría 3 valores que se añadirán también. Las posibilidades son infinitas.

Ahora se entendió cómo las funciones trabajan, se verá que las subrutinas también pueden aceptar variables. Las subrutinas asignan variables de

trabajo del mismo modo que en una función.

En esencia, la única diferencia entre una función y una subrutina es que una función devuelve un valor que debe ser asignado a una variable, pero una subrutina sólo se ejecuta. Se puede usar una función para hacer todo lo que hace una subrutina siempre y cuando no tenga que retornar un resultado.

Variables

De Entrada

“Función” Variable

De Retorno

Variables de entrada “ Subrutina ”

Por ejemplo, una función podría contener instrucciones PRINT y decir a un jugador su puntuación y cómo ésta se incrementa:

'Suma un valor incremento, al resultado reportando el cambio

FUNCTION sumamarcador (marcador, incremento)

PRINT "Aumento"; incremento; "¡puntos!"

Sumamarcador = marcador + incremento

END FUNCTION

Es importante recordar que los nombres de variables definidas por la función, en el caso antes mencionado: "marcador" e "incremento" no tienen

Page 25: GUIA PROGRAMACIÓN

Guía Algoritmia y Programación

nada que ver con las variables de otros lugares en el programa que pueden ser llamadas "marcador" o "incremento". Estas variables son sólo locales, en el sentido de que están en existencia para la duración de la función.

La instrucción COMMON SHARED o DIM SHARED declara variables globales de manera que sean utilizables en el interior, y afectadas por, las funciones y las subrutinas. Esto depende del como se use:

' Usa la funcion sumamarcador

marcador_jugador = 100

marcador_jugador = sumamarcador (marcador_jugador, 20)

marcador jugador = sumamarcador (marcador_jugador, 12)

Después de esta secuencia, el valor de "marcador_jugador" será 132, y "Aumento incremento ¡puntos!" se imprimirá dos veces. El primer parámetro de uso es el valor actual de "marcador_jugador", el valor que toma la función se añade al valor de "Incremento", en el primer caso, 20.

Todos los anteriores ejemplos de función retornan números. Es posible retornar cadenas de caracteres también. El truco aquí es que el nombre de la función debe terminar con '$', así como una cadena. Además, diferentes combinaciones de números y cadenas pueden pasarse a funciones y subrutinas.

Aquí está un ejemplo de una función que acepta variables mixtas y devuelve una cadena:

'Funcion que reporta el nombre y la edad de una persona

FUNCTION reporta$ (nombre$, edad)

reporta$ = nombre$ + " tiene " + STR$(edad) + " años "

END FUNCTION

'Uso de la funcion reporta$:

frases$ = reporta$("La estacion QBasic", 9)

PRINT frases$

o

PRINT reporta$("La estacion QBasic", 9)

QBasic exige valores de retorno de las funciones que se utilizan, ya sea en una asignación de variable u otra cosa.

Uno motivo por el cual se usan preferiblemente las funciones que las subrutinas, es que estas pueden devolver una bandera verdadero/falso que indica si la función fue un éxito en su tarea o no.

Por ejemplo, supongamos que una función se utiliza para conectarse a una base de datos. Si la función devuelve cierto, la operación tuvo éxito, de ser falsa, entonces la

Page 26: GUIA PROGRAMACIÓN

Guía Algoritmia y Programación

conexión falló. Un ejemplo de bandera será:

'Pregunta para verificar salida de programa

FUNCTION verificar ()

PRINT "¿Esta seguro? (s/n)"

DO

a$ = INKEY$

LOOP UNTIL a$ <> ""

IF a$ = "s" THEN valorretorno = 1 ELSE valorretorno = 0

verificar = valorretorno

END FUNCTION

’Un excelente uso de esta función es:

IF verificar() THEN END ELSE GOTO Inicio Dado que el valor de cero causa una falsa evaluación en una instrucción IF - THEN "GOTO inicio" si el usuario no pulsa la letra "y". Por último, si se tiene que eliminar una subrutina o función, presione F2, seleccione la SUB / FUNCTIÓN y "Eliminar", se le pedirá que verifique la operación o cancele.

CAPITULO 12: DIAGRAMAS DE FLUJO

Introducción

Los diagramas de flujo son una manera de representar visualmente el flujo de datos a través de sistemas de tratamiento de información. Los diagramas de flujo describen que operaciones y en que secuencia se requieren para solucionar un problema dado.

Un diagrama de flujo u organigrama es una representación diagramática que ilustra la secuencia de las operaciones que se realizarán para conseguir la solución de un problema.

Los diagramas de flujo se dibujan generalmente antes de comenzar a programar el código frente a la computadora.

Estos diagramas de flujo desempeñan un papel vital en la programación de un problema y facilitan la comprensión de problemas complicados y sobre todo muy largos.

Una vez que se dibuja el diagrama de flujo, llega a ser fácil escribir el programa en cualquier lenguaje de alto nivel.

Vemos a menudo cómo los diagramas de flujo nos dan ventajas al momento de explicar el programa a otros, siendo una necesidad para mejorar la documentación de un programa complejo.

Símbolos

Page 27: GUIA PROGRAMACIÓN

Guía Algoritmia y Programación

Los Diagramas de flujo se dibujan generalmente usando algunos símbolos estándares; sin embargo, algunos símbolos especiales pueden también ser desarrollados cuando sean requeridos. Algunos símbolos estándares, que se requieren con frecuencia para diagramar programas se muestran a continuación:

Inicio o fin del programa

Pasos, procesos o líneas de instrucción de programa de computo

Operaciones de entrada y salida

Toma de decisiones y Ramificación

Conector para unir el flujo a otra parte del diagrama

Conector de pagina

Líneas de flujo

para mostrar datos

Envía datos a la impresora

Llamado a subrutina

Reglas para la creación de Diagramas

Los Diagramas de flujo deben escribirse de arriba hacia abajo, y/o de izquierda a derecha.

Los símbolos se unen con líneas, las cuales tienen en la punta una flecha que indica la dirección que fluye la información procesos, se deben de utilizar solamente líneas de flujo horizontal o verticales (nunca diagonales).

Se debe evitar el cruce de líneas, para lo cual se quisiera separar el flujo del diagrama a un sitio distinto, se pudiera realizar utilizando los conectores. Se debe tener en cuenta que solo se vana utilizar conectores cuando sea estrictamente necesario.

No deben quedar líneas de flujo sin conectar

Todo texto escrito dentro de un símbolo debe ser legible, preciso, evitando el uso de muchas palabras.

Todos los símbolos pueden tener más de una línea de entrada, a excepción del símbolo final.

Page 28: GUIA PROGRAMACIÓN

Guía Algoritmia y Programación

Solo los símbolos de decisión pueden y deben tener más de una línea de flujo de salida.

Ejemplo de diagrama de flujo:

El Diagrama de flujo anterior encuentra la suma de los primeros 50 números naturales Descripción del diagrama anterior SUMA, es la variable a la que se le va agregando el valor de cada número natural. NATURAL, es el contador. Éste recorrerá lo números hasta llegar al 50.

El primer bloque indica el inicio del Diagrama de flujo

El segundo bloque, es un Símbolo de procesos

En este bloque se asume que las variables SUMA y NATURAL han sido declaradas previamente e inicializa en 0 para comenzar el conteo y la suma de valores

El tercer bloque, es también un Símbolo de procesos

En éste paso se incrementa en 1 la variable NATURAL. Por lo que, en el primer ciclo NATURAL valdrá 1, ya que estaba inicializada en 0, además del conecto del ciclo.

El cuarto bloque es exactamente lo mismo que el anterior

Pero en éste, ya se le agrega el valor de NATURAL a la variable que contendrá la suma.

El quinto bloque es un Símbolo de Toma de decisiones y

Page 29: GUIA PROGRAMACIÓN

Guía Algoritmia y Programación

Ramificación Lo que hay dentro del bloque es una pregunta que se le hace a los valores que actualmente influyen en el proceso

¿ES NATURAL = 50?, Obviamente la respuesta es no, ya que NATURAL todavía es 1. Por lo que el flujo de nuestro programa se dirigirá hacía la parte en donde se observa la palabra no: Tercer Bloque, éste le sumará 1 y vuelve a llegar a éste bloque, donde preguntará ¿ES NATURAL = 50?,... ¡No!, todavía es 2, regresara al Tercer bloque y vuelve hacer lo mismo. Y así hasta llegar a 50, obteniendo así la suma de los primeros 50 primeros números naturales.

Por último indicamos que el resultado será mostrado en la impresora

Fin del programa (o diagrama)

Código del programa en QBASIC

'Este programa muestra suma de los ‘primeros 50 números naturales. DIM SUMA AS INTEGER DIM NATURAL AS INTEGER CLS SUMA = 0 NATURAL = 0 DO NATURAL = NATURAL + 1 SUMA = SUMA + NATURAL LOOP UNTIL NATURAL = 50 PRINT SUMA

REFERENCIAS: Qbasic Tutorial for beginners and Children http://pages.intnet.mu/jhbpage/Program/Qbasic/tutorial/index.htm Subroutines and Functions: Everything about how to use them

Page 30: GUIA PROGRAMACIÓN

Guía Algoritmia y Programación

http://www.qbasicstation.com/index.php?c=t_con&t=r_functions El código ASCII http://es.kioskea.net/base/ascii.php3 Aprenda a crear Diagramas de flujo http://www.mis-algoritmos.com/2006/08/06/aprenda-a-crear-diagramas-de-flujo/