Sei sulla pagina 1di 13

Algoritmos, Programas, DFDs, Sistemas y

Solucin de Problemas.
La razn principal por las que personas aprenden lenguajes y tcnicas de
programacin es para utilizar la computadora como una herramienta para
resolver problemas.
La resolucin de problemas exige al menos los siguientes pasos:
1. Definicin y anlisis del problema
2. Diseo del algoritmo o Diagrama de Flujo de Datos
3. Transformacin del algoritmo en un programa.
4. Ejecucin y validacin del programa.
Los pasos anteriores permiten la creacin de un programa de computadora.

PROGRAMA
Conjunto de instrucciones en un lenguaje de programacin que
especifican la secuencia lgica y ordenada de las operaciones a
realizar, para resolver un problema. El programa a diferencia del
pseudo-cdigo puede ser interpretado y ejecutado en la
computadora para obtener resultados.

Los programas son escritos a travs de un Lenguaje de Programacin.

LENGUAJE

DE PROGRAMACIN

Sistema de smbolos y reglas que permite la construccin de


programas con los que la computadora puede operar as como
resolver problemas de manera eficaz.
Los lenguajes de programacin contienen un conjunto de
instrucciones que nos permiten realizar operaciones de entrada /
salida, calculo, manipulacin de textos, lgica / comparacin y
almacenamiento / recuperacin.

Los lenguajes de programacin se clasifican en:

Lenguaje Mquina: Son aquellos cuyas instrucciones son directamente


entendibles por la computadora y no necesitan traduccin posterior para
que la CPU pueda comprender y ejecutar el programa. Las instrucciones
en lenguaje maquina se expresan en trminos de la unidad de memoria
ms pequea el bit (dgito binario 0 1).

Lenguaje de Bajo Nivel (Ensamblador): En este lenguaje las


instrucciones se escriben en cdigos alfabticos ms complicados
conocidos como mnemotcnicos para las operaciones y direcciones
simblicas, utiliza el sistema hexadecimal y binario para el manejo de
direcciones de memoria y datos; su mayor fortaleza radica en que es un
lenguaje que puede explotar al 100% el hardware de una computadora.
Ejemplo: lenguaje Ensamblador.

Lenguaje de Medio Nivel: Son lenguajes que pueden ser entendidos


fcilmente por el humano como los lenguajes de alto nivel, pero que a la
vez explotan en un alto porcentaje el hardware de la computadora, como
los de bajo nivel.

Lenguaje de Alto Nivel: Los lenguajes de programacin de alto nivel


(BASIC, Pascal, Cobol, Fortran, Java, etc.) son aquellos en los que las
instrucciones o sentencias a la computadora son escritas con palabras
similares a los lenguajes humanos (en general en ingles), lo que facilita la
escritura y comprensin del programa.

Un conjunto de
informacin.

programas crea un

sistema de procesamiento

de

SISTEMA DE PROCESAMIENTO DE INFORMACIN


Coleccin organizada de programas con una interaccin regulada y
diseada para cumplir un propsito especfico.

Un sistema que
significativa y til.

transforma

datos

brutos

en

informacin

organizada,

Para poder entender lo que es un sistema de procesamiento de informacin


debemos diferenciar las palabras datos e informacin:

datos se refiere a la representacin de algn hecho, concepto o


entidad real (por ejemplo palabras escritas, habladas, nmeros y
dibujos);
informacin involucra datos procesados y organizados.

Fig. 1 Sistema de Procesamiento de Informacin.

Las fases de un sistema de proceso de informacin son: entrada, salida


y procesador
Ejemplo de sistemas:

1. un termostato que controla la temperatura. La entrada es la


temperatura media. La salida es una seal que controla la caldera
del aire acondicionado.

Concepto de algoritmo.
La palabra algoritmo se deriva de la traduccin al latn de la palabra rabe
alkhowarizmi, nombre de un matemtico y astrnomo rabe que escribi un

tratado sobre manipulacin de nmeros y ecuaciones en el siglo IX.


ALGORITMO
Sucesin de pasos ordenados y lgicos a seguir para resolver un
problema.
Las caractersticas fundamentales de un algoritmo son:

Debe ser preciso e indicar el orden de realizacin de cada paso.


Debe estar definido. Si se sigue el algoritmo dos veces, se debe
obtener el mismo resultado cada vez.
Debe ser finito. Si se sigue un algoritmo, se debe terminar en
algn momento.

Cuando el procesador es una computadora, el algoritmo se expresa por medio


de un programa. Cada paso esta expresado por medio de una instruccin.
Ejemplo:
Algoritmo: Hacer un sandwich de mermelada con crema de cacahuate
1. Inicio
2. Tomar una rebanada de pan
3. Untar mermelada sobre una cara del pan
4. Tomar segunda rebanda de pan
5. Untar crema de cacahuate sobre una cara del segundo pan
6. Colocar las caras untadas de los panes juntas
7. Fin

Representacin de los algoritmos.


Los mtodos usuales para representar un algoritmo son:

1. Diagrama de flujo
2. Pseudocdigo.
Diagrama de flujo
DIAGRAMA DE FLUJO
Conjunto de smbolos estndar en los cuales se encuentran escritos
los pasos del algoritmo, dichos smbolos se encuentran unidos por
medio de flechas, denominadas lneas de flujo, que indican la
secuencia en que se deben de ejecutar.
Los smbolos mas frecuentemente empleados se describen en la tabla
siguiente:
Tabla 1. Smbolos Estndar para Diagramas de Flujo

Nombre

Smbolo

Funcin

Terminal

Representa el inicio y
fin de un programa.
Tambin puede
representar una
parada o interrupcin
programada que sea
necesaria realizar en
un programa.

Entrada/Salida

Cualquier tipo de
introduccin de datos
en la memoria desde
los perifricos o
registro de
informacin procesada
en un perifrico.

Proceso

Cualquier tipo de
operacin que pueda
originar cambio de
valor, formato o
posicin de la
informacin

almacenada en
memoria, operaciones
aritmticas, de
transformaciones, etc.

Decisin

Indica operaciones
lgicas o de
comparacin entre
datos (normalmente
dos) y en funcin del
resultado de la misma
determina
(normalmente si y no)
cual de los distintos
caminos alternativos
del programa se debe
seguir.

Conector Misma
Pgina

Sirve para enlazar dos


partes cualesquiera de
un diagrama a travs
de un conector en la
salida y otro conector
en la entrada. Se
refiere a la conexin
en la misma pagina
del diagrama

indicador de
direccin o lnea
de flujo

Indica el sentido de la
ejecucin de las
operaciones

Impresora

Se utiliza en ocasiones
en lugar del smbolo
de salida. El dibujo
representa un pedazo
de hoja.

Teclado

Se utiliza en ocasiones
en lugar del smbolo
de entrada.

Reglas de los diagramas de flujo

Debe de indicar claramente dnde inicia y dnde termina el


diagrama.
Cualquier camino del diagrama debe de llevarte siempre a la
terminal de fin.
Organizar los smbolos de tal forma que siga visualmente el flujo
de arriba hacia abajo y de izquierda a derecha.
No usar lenguaje de programacin dentro de los smbolos.
Centrar el diagrama en la pgina.

Las lneas deben ser verticales u horizontales, nunca diagonales.

No cruzar las lneas de flujo empleando los conectores adecuados


sin hacer uso excesivo de ellos.

No fraccionar el diagrama con el uso excesivo de conectores.


Solo debe llegar una sola lnea de flujo a un smbolo. Pero pueden
llegar muchas lneas de flujo a otras lneas.

Las lneas de flujo deben de entrar a un smbolo pro la parte


superior y/o izquierda y salir de l por la parte inferior y/o
derecha.
Evitar que el diagrama sobrepase una pgina; de no ser posible,
enumerar y emplear los conectores correspondientes.
Usar lgica positiva, es decir, realizar procesos cuando es
verdadera la condicin y expresar las condiciones de manera clara
(por ej., "no es a =/= de b" ==> "a=b").

El siguiente es un ejemplo de diagrama de flujo de datos (DFD) y de cmo


debe llevarse la secuencia lgica de pasos:

A continuacin se presenta un DFD que resuelve el problema de sumar dos


nmeros:

Pseudocdigo
PSEUDOCDIGO
Lenguaje de especificacin del algoritmo que se utiliza para
representar las acciones palabras reservadas en ingles, las cuales
son similares a las de los lenguajes de programacin, tales como
start, end, if-then-else, while-wend, repeat-until, etc. (o su
equivalente en espaol)
Este naci como un lenguaje similar al ingles y era un medio de representar
bsicamente las estructuras de control de programacin estructurada.
El pseudocdigo NO PUEDE SER EJECUTADO POR UNA COMPUTADORA. Una ventaja
del pseudocdigo es que puede ser traducido fcilmente a lenguajes de
programacin como Pascal, C, COBOL, QuickBasic, etc.
La escritura del pseudocdigo exige normalmente la identacin (sangra en el
margen izquierdo) o en su defecto, numeracin jerrquica.
El siguiente es un ejemplo de pseudocdigo que resuelve el problema de
sumar dos nmeros:

Ejemplo Sumar dos nmeros:


Pseudocdigo

Inicio
Entero a,b,c
Leer a,b
c= a+b
Imprimir c
fin

declara las variables a utilizar


solicita el valor de a y b
suma a y b y lo almacena en c
muestra el resultado almacenado en la variable c

Fases para la creacin de un programa


9

Definicin del Problema


Esta fase est dada por el enunciado del problema, el cual requiere una
definicin clara y precisa. Es importante que se conozca lo que se desea que
realice la computadora; mientras esto no se conozca del todo no tiene mucho
caso continuar con la siguiente etapa.
Anlisis del Problema
Una vez que se ha comprendido lo que se desea de la computadora, es
necesario definir:
Los datos de entrada.
Cual es la informacin que se desea producir (salida)
Los mtodos y frmulas que se necesitan para procesar los datos.
Una recomendacin muy practica es el que nos pongamos en el lugar de la
computadora y analicemos que es lo que necesitamos que nos ordenen y en
que secuencia para producir los resultados esperados.
Diseo del DFD o Algoritmo
Las caractersticas de un buen DFD o algoritmo son:
Debe tener un punto particular de inicio.
Debe ser definido, no debe permitir dobles interpretaciones.
Debe ser general, es decir, soportar la mayora de las variantes
que se puedan presentar en la definicin del problema.
Debe ser finito en tamao y tiempo de ejecucin.
Codificacin del Programa
La codificacin es la operacin de escribir la solucin del problema (de acuerdo
a la lgica del diagrama de flujo o pseudocdigo), en una serie de instrucciones
detalladas, en un cdigo reconocible por la computadora, la serie de
instrucciones detalladas se le conoce como cdigo fuente, el cual se escribe en
un lenguaje de programacin o lenguaje de alto nivel.
Prueba y Depuracin
Los errores humanos dentro de la programacin de computadoras son muchos
y aumentan considerablemente con la complejidad del problema. El proceso de
identificar y eliminar errores, para dar paso a una solucin sin errores se le
llama depuracin.
La prueba consiste en la captura de datos hasta que el programa no presente
errores (los ms comunes son los sintcticos y lgicos).
Documentacin
Es la gua o comunicacin escrita es sus variadas formas, ya sea en
enunciados, procedimientos, dibujos o diagramas.
A menudo un programa escrito por una persona, es usado por otra. Por ello la
documentacin sirve para ayudar a comprender o usar un programa o para
facilitar futuras modificaciones (mantenimiento).

10

La documentacin se divide en tres partes:

Documentacin Interna: Son los comentarios o mensaje que se


aaden al cdigo fuente para hacer mas claro el entendimiento de un
proceso.
Documentacin Externa: Se define en un documento escrito los
siguientes puntos:
Descripcin del Problema
Nombre del Autor
Algoritmo (diagrama de flujo o pseudocdigo)
Diccionario de Datos
Cdigo Fuente (programa)
Manual del Usuario: Describe paso a paso la manera como funciona
el programa, con el fin de que el usuario obtenga el resultado
deseado.

Mantenimiento
Se lleva acabo despus de terminado el programa, cuando se detecta que es
necesario hacer algn cambio, ajuste o complementacin al programa para que
siga trabajando de manera correcta. Para poder realizar este trabajo se
requiere que el programa este correctamente documentado.

PROGRAMACIN
Los Datos y Operaciones Bsicas
1. IDENTIFICADOR. Un identificador es una serie de caracteres formados por
letras, dgitos y el carcter subrayado ( _ ) que no inicie con dgito, asi mismo
es el nombre que damos a todo lo que manipulamos dentro de un programa
(variables, constantes, funciones, etc). Por ejemplo variables, constantes,
funciones, tipos definidos por el usuario etc.
2. TIPOS DE DATOS. Todos los datos tienen un tipo asociado con ellos. Un
dato puede ser un simple carcter, tal como b, un valor entero tal como 35. El
tipo de dato determina la naturaleza del conjunto de valores que puede tomar
una variable.

11

3. VARIABLES. Una variable es un identificador que puede tomar diferentes


valores dependiendo del tipo que esta se declare.
Una variable es un identificador que puede cambiar de valor durante la
ejecucin de un programa.
Una variable es una posicin de memoria donde se puede almacenar una
valor para uso de un programa.
4. INICIALIZACIN DE VARIABLES
Inicializar una variable es el darle un valor despus que se ha declarado
pero antes de que se ejecuten las sentencias en las que se emplea.
5. CONSTANTES. Constantes son los valores que no pueden ser modificados.
En C, pueden ser de cualquier tipo de datos.
Adems de los ejemplificados anteriormente, Podemos crear constantes de
caracteres con barra invertida. Estos corresponden a los caracteres que son
imposibles introducir desde el teclado.
6. OPERADORES
Un operador es un smbolo que indica al compilador que realice manipulaciones
lgicas o matemticas especficas.
Los operadores del mismo nivel de precedencia son evaluados por el
compilador de izquierda a derecha. Por supuesto, se puede utilizar parntesis
para ordenar la evaluacin.
Tambin, conviene utilizar parntesis para hacer ms claro el orden en que se
producen las evaluaciones, tanto para la persona que lo elabora o para los que
despus tengan que seguir el programa.
Operadores Lgicos:
Estos operadores se utilizan para establecer relaciones entre valores
lgicos.Estos valores pueden ser resultado de una expresin relacional.
Operadores Lgicos
And Y
Or
O
Not Negacin
Prioridad de los Operadores Lgicos
Not

And
Or
Operadores de Asignacin. Los operadores de asignacin se utilizan para
formar expresiones de asignacin, en las que se asigna el valor de una
expresin a un identificador. ***** Por definir el operador de asignacin** .
Cada expresin toma un valor que se determina tomando los valores de
las variables y constantes implicadas y la ejecucin de las operaciones
indicadas.
Una expresin consta de operadores y operandos. Segn sea el tipo de
datos que manipulan, se clasifican las expresiones en:
- Aritmticas

12

Relacinales
Lgicas

Operadores de Asignacin
Son palabras que tienen un significado especial para el lenguaje y no se
pueden utilizar como identificadores.
7. COMENTARIOS.
Los comentarios pueden aparecer en cualquier parte del programa,
mientras estn situados entre los delimitadores /* comentario */. Los
comentarios son tiles para identificar los elementos principales de un
programa o para explicar la lgica subyacente de estos.
Un diagrama de flujo es la representacin grfica de un algoritmo.
Tambin se puede decir que es la representacin detallada en forma grfica de
como deben realizarse los pasos en la computadora para producir resultados.
Esta representacin grfica se da cuando varios smbolos (que indican
diferentes procesos en la computadora), se relacionan entre s mediante lneas
que indican el orden en que se deben ejecutar los procesos.
Los smbolos utilizados han sido normalizados por el instituto
norteamericano de normalizacin (ANSI).

Referencias:

Fundamentos de Programacin; Luis Joyanes Aguilar; 2da. Ed.1998;


McGraw-Hill

Diagramacin y Programacin; Letvin Lozano; McGraw-Hill


Metodologa de la Programacin; Osvaldo Cair; Alfaomega

13

Potrebbero piacerti anche