Algoritmos, Codificación, Sentencias, Seudo códigos, Diagramas de Flujo
- Algoritmos
- Análisis
del problema - Diseño del
algoritmo - Pseudo
código - Variables
vectores y matrices - Documentación
Algoritmos
El programador diseña un programa,
para resolver un problema particular.Diseñar es un proceso
creativo.El proceso de diseño de un
programa consta de los siguientes pasos o etapas:
Pasos:
Tipos :
Método | Descripción | Ejemplos | |||
Algorítmico | Utiliza un algoritmo y puede ser |
| |||
Heurística: | Se apoya en el resultado obtenido en |
Quick Basic es un lenguaje de
programación estructurado y el algoritmo se representara
en seudo código y/o diagrama de flujo.
Análisis del
problema
Requiere la clara definición del
problema donde se indique que va hacer el programa y cual ve a
ser el resultado.
Debe detallarse las especificaciones de
entrada y salida,
Los requisitos que definen el análisis
son :
La ecuación de segundo grado se define
algebraicamente como :
periférico | |||||||||||
1 | Análisis del problema | ||||||||||
2 | Def. del problema | Hallar raíces ecua. 2do | |||||||||
3 | Especif. de entrada | coeficientes a, b, c | Teclado | ||||||||
4 | Especif. de salida | X1, X2 | Pantalla Impresora |
Entrada: por teclado
coef | Descripción | Codificación en | |||||||
a | team. cuadrático | INPUT "Coef a =";A | |||||||
b | term. lineal | INPUT "Coef b =";B | |||||||
c | term. independiente | INPUT "Coef c =";C |
Diseño del
algoritmo
Análisis de proceso implica que
hace el programa.Diseño implica como se hace o
realiza la tarea (problema) solicitado
En el diseño:
El todo es la sumatoria de las
partes.Divide el todo en varias
partes.
En la resolución de un problema
complejo, se divide en varios sub problemas y seguidamente se
vuelven a dividir los sub problemas en otros mas sencillos, hasta
que puedan implementarse en el computador.
Esta característica define lo que se
entiende como diseño descendente( Top-Down /
Norte-Sur ) o diseño modular.
El proceso de ruptura del problema en cada
etapa se llama refinamiento sucesivo.
Cada problema se resuelve mediante un
modulo (subprograma) y tiene un solo punto de
entrada y un solo punto de salida.Un programa bien diseñado consta
de un programa principal (modulo de nivel mas alto)
que llama a subprogramas (módulos de nivel mas
bajo), que a su vez pueden llamar otros sub
programas.
Los programas que se estructuran de esta
forma, se dicen que tienen diseño modular y el
método de romper el programa en modos pequeños se llama
programación modular.
Los módulos pueden ser planificados,
codificados, compilados y depurados independientemente pueden ser
intercambiados entre si.
Este proceso implica la ejecución de
los siguientes pasos:
1 | programar un modulo | |||||||
2 | comprobar un modulo | |||||||
3 | depurar el modulo | |||||||
4 | combinar el modulo con módulos |
este proceso convierte el resultado del
análisis del problema en un diseño modular con
refinamientos sucesivos que permiten una traducción a un
lenguaje que se denomina diseño del algoritmo.
El algoritmo se puede representar
por medio de dos formas :
Pseudo código
Diagrama de flujo:
Pseudo código: es el lenguaje de
especificación de algoritmos y tiene una estructura: Las
instrucciones se escriben en ingles o en palabras similares al
ingles o español que facilitan la escritura de
programación
Para la resolución de una
ecuación de segundo grado se escribiría
inicio
Introducir coeficientes a, b y c
Imprimir títulos primera raíz,
segunda raíz, no tiene solución,
Calcular raíz 1 y raíz
2
Imprimir raíz 1 y raíz
2
Fin
Diagramas de flujo (flows charts):
Es la representación grafica del algoritmo; según la
ANSI consta de una simbologia , que tiene los siguientes
significados:
Símbolo | Función | ||
Proceso |
| Cualquier tipo de operación que
| |
Entrada/Salida |
| Cualquier tipo de de introduccion de | |
Impresora |
| Se utiliza en ocaciones en lugar del | |
Llamada a subrutina, funcion o | |||
Monitor | Pantalla ; en ocaciones se utiliza en | ||
Proceso: Decisión |
| Indica operaciones logicas o de | |
Conector |
| Sirve para enlazardos partes | |
Conector | Conexión entre dos puntos del | ||
Teclado | En ocaciones se utilisa en lugar del |
Símbolos del Diagrama de
flujo
Codificación :
Programación:
Windows/Dos/
Quick Basic = Editor de texto.Programa:
definición:
conjunto de datos y sentencias:
Un programa tiene la forma
En el editor de Quick Basic se
escribiría codificado el seudo código que tendría
la forma:
REM Programa para calcular las
soluciones
REM de una ecuacion de segundo
grado
PRINT "Escriba los valores de A, B y
C"
C$="Calculos"
INPUT " A,B,C", A, B, C
R = (B ^ 2 – 4 * A * C) ^ .5
LET X1 = (-B + R) / (2 * A)
LET X2 = (-B + R) / (2 * A)
PRINT " A="; A, " B="; B, "C=";
C
PRINT "X1="; X1, "X2="; X2
END
En el Menú
Ejecutar |
En la pantalla veríamos:
Mandatos e instrucciones:
Mandato (command): es una orden aislada de
efecto inmediato.
Ejemplo:
Mandato | Descripción | ||||
RUN | Ordena la ejecución de un | ||||
LIST | Escribe En la pantalla el listado del | ||||
SAVE. | Guarda, graba el programa como un |
Instrucción: es una orden contenida en
un programa.
Ejemplo:
Instrucción | Descripción | |
Escribe en pantalla. | ||
INPUT | Introduce (entra datos) |
Edición de un programa: un programa
esta formado por líneas secuenciales que se ejecutan en
forma descendente (Up Down)
Para dar por terminada una línea se
pulsa la tecla Enter (Return) en cualquier parte de la misma.
Para cambiar una línea basta volver a teclearla.
Se puede corregir una línea
(borrar, rescribir ) en pantalla o bien con el mandato
EDIT.Se pueden incluir varias instrucciones
en una misma línea, separándolos por dos
puntos.Una línea de pantalla (cuarenta u
ochenta posiciones) es diferente de una línea de
programa (doscientos cincuenta y seis posiciones).
Modo Directo:
Modo Programa
Run
Ventana activa
Ventana inmediata
mandato | Descripción | |
CLS | borra la pantalla |
Recomendaciones:
Todo programa debe estar documentado
con comentarios; la primera línea debe contener el
titulo del programa. Los comentarios deben de ir precedidos
de la palabra clave REM o de un apostrofo ( " )Si una línea ya tiene otras
instrucciones, el comentario debe ir al final de la
línea.Los comentarios solo aparecen en el
listado del programa y no aparecen escritos en la pantalla
durante la ejecución.
Constantes:
QBasic, trabaja con dos tipos de
datos:
Datos | Tipos | ||
numéricos: | Enteros (INT) Enteros largos (LNG) de simple precisión de doble precisión | ||
alfanuméricos | hileras o cadenas (STR) |
Las constantes alfanuméricas
pueden ser enteras o fraccionarias, se representan en forma
decimal; se puede emitir el cero a la izquierda del punto
decimal. Ejemplo
3452 | -12.67 | .23 | +12345 |
Estos son ejemplos de valores
numéricos de punto fijo; se puede emplear una notación
de punto flotante.
Mantisa | letra | exponente |
1,23456E+15 | |
123456.0000000000 | |
1.234567890789456D–10 | 0.000000000123456789012456 |
El numero máximo de cifras
significativas con que se trabaja es:
6 para la precisión simple
(SNG)
16 para la precisión doble
(DLB)
En las constantes de punto fijo hay que
añadir el carácter #Las constantes alfanuméricas son
hileras de caracteres; se escriben entre comillas, Ej. "Hola
" ; " A47EC
Variables vectores y
matrices
Una variable es una zona de memoria que
almacena un dato
Una variable se identifica mediante un
nombre. El nombre de una variable numérica debe empezar
por una letra y puede ir sucedido de otras letras y / o otros
dígitos (X, A, B1, peso, T341)Una variable alfanumérica debe
terminar con el carácter $ (x$, a23$, dias$,)Están terminantemente prohibidas
los nombres de variables que contengan palabras claves de
Basic (PRUN, LIST, NIF$,)Las variables de precisión doble y
enteros se identifican añadiendo el carácter # o el
carácter % , también se pueden declarar
como
DEFDBL A
Documentación
Los comentarios que se incluyan deben ser
significativos
Documentación interna:
Va incluida dentro del código del
programa fuente, por medio de comentarios que ayudan a la
comprensión del código.Todas las sentencias comienzan con la
sentencia REM o su equivalente el carácter
apostrofe ( ").
El programa en si no los necesita y los
ignora. Hace que los programas sean comprensibles.
Autor:
Documento cedido por:
Prof. Félix Bernabé Gutierrez
Aguado