You are on page 1of 16

Universidad Nacional Mayor de San Marcos

Universidad del Per, Decana de Amrica

Facultad de Ciencias Matemticas

E.A.P. Matemtica

CURSO: PROGRAMACION DE
COMPUTADORAS I

Prof. Luis Vicente Bazalar Guerrero

Algoritmo
Es un conjunto ordenado y finito de
operaciones que permite hallar la solucin
de un problema. Mtodo y notacin en las
distintas frmulas del clculo.
El algoritmo constituye un mtodo para
resolver un problema mediante una
secuencia de pasos a seguir. Dicha secuencia
puede ser expresada en forma de diagrama
de flujo con el fin de seguirlo de una forma
ms sencilla. Algunos ejemplos en
matemtica
son
el
algoritmo
de
multiplicacin, para calcular el producto o el
mtodo de Gauss para resolver un sistema de
ecuaciones lineales.

Figura 1. Los diagramas de


flujo sirven para representar
algoritmos
de
manera
grfica.

Algoritmo
Caractersticas de un algoritmo
Indicar un orden a seguir en cada uno de sus pasos.
Ser definido (confiable), si se ejecuta dos veces debe lograrse el mismo
resultado.
Ser finito, es decir, terminar en un nmero finito de pasos.

Figura 2.

Algoritmo
Tipos de Algoritmo
Algoritmo Cualitativo.- Son los algoritmos descritos mediante palabras.
Ejemplos:
La elaboracin de una receta de cocina
El tejido a mano de una chompa.
Bsqueda de un numero telefnico.
El cambio de una llanta.
El cambio de un foco quemado.
Algoritmo Cuantitativo.- Son los algoritmos que se basan en clculos numricos.
Ejemplos:
Pasos a seguir para resolver una ecuacin de segundo grado.
Pasos a seguir para calcular los sueldos de los empleados de una empresa.
Instrucciones para calcular los impuestos a pagar de los vecinos de un
municipio.

Algoritmo
Partes de un Algoritmo
Todo algoritmo debe obedecer a la estructura bsica de un sistema, es decir:
Entrada: Corresponde al insumo, a los datos necesarios que requiere el proceso
para ofrecer los resultados esperados.
Proceso: Pasos necesarios para obtener la solucin del problema o la situacin
planteada.
Salida: Resultados arrojados por el proceso como solucin.

Figura 2.
Por ejemplo, en el algoritmo de la sumatoria de los dos nmeros, tenemos:
Entrada: Valores de las variables A y B.
Proceso: Asignar a la variable Suma, el valor de A mas el valor de B.
Salida: Impresin del valor de la variable Suma, que contiene la sumatoria de
los valores de A y B.

Algoritmo
Definicin formal
Muchos autores los sealan como listas de instrucciones para resolver un clculo
o un problema abstracto, es decir, que un nmero finito de pasos convierten los
datos de un problema (entrada) en una solucin (salida). Sin embargo cabe notar
que algunos algoritmos no necesariamente tienen que terminar o resolver un
problema en particular.
A lo largo de la historia varios autores han tratado de definir formalmente a los
algoritmos utilizando modelos matemticos. Esto fue realizado por Alonzo
Church en 1936 con el concepto de "calculabilidad efectiva" basada en su clculo
lambda y por Alan Turing basndose en la mquina de Turing. Los dos enfoques
son equivalentes, en el sentido en que se pueden resolver exactamente los
mismos problemas con ambos enfoques. Sin embargo, estos modelos estn
sujetos a un tipo particular de datos como son nmeros, smbolos o grficas
mientras que, en general, los algoritmos funcionan sobre una vasta cantidad de
estructuras de datos.

Pseudocdigo
Es una descripcin de alto nivel compacta e informal del principio operativo de
un programa informtico u otro algoritmo.
Utiliza las convenciones estructurales de un lenguaje de programacin real, pero
est diseado para la lectura humana en lugar de la lectura mediante mquina, y
con independencia de cualquier otro lenguaje de programacin.
Normalmente, el pseudocdigo omite detalles que no son esenciales para la
comprensin humana del algoritmo, tales como declaraciones de variables,
cdigo especfico del sistema y algunas subrutinas. Se utiliza pseudocdigo pues
este es ms fcil de entender para las personas que el cdigo del lenguaje de
programacin convencional, ya que es una descripcin eficiente y con un entorno
independiente de los principios fundamentales de un algoritmo. Se utiliza
comnmente en los libros de texto y publicaciones cientficas que se documentan
varios algoritmos, y tambin en la planificacin del desarrollo de programas
informticos, para esbozar la estructura del programa antes de realizar la efectiva
codificacin.

Pseudocdigo
Ejemplo 1:
Hacer un programa que permita ingresar tres nmeros enteros de dos cifras
(notas) y muestre el promedio de los valores ingresados.
PROGRAMA: PROMEDIO
VARIABLES:
ENTERO: NOTA1, NOTA2, NOTA3
DECIMAL: PROM
INICIO
LEER <-- NOTA1, NOTA2, NOTA3
PROM = ( NOTA1 + NOTA2 + NOTA3 ) / 3
MOSTRAR --> "EL PROMEDIO ES:" PROM
FIN

Pseudocdigo
Ejemplo 2:
Hacer un programa que determine si un nmero entero es PAR o IMPAR.
PSEUDOCDIGO:
PROGRAMA: PAR_IMPAR
VARIABLES:
ENTERO: NUM, RESULTADO
INICIO
LEER <-- NUM */ Obtener si el nmero es PAR o IMPAR */
RESULTADO = NUM % 2
SI (RESULTADO = 0) ENTONCES
MOSTRAR --> "NUMERO PAR"
SI NO
MOSTRAR --> "NUMERO IMPAR"
FIN SI
FIN

Diagrama de Flujo
Es una representacin grfica de un proceso. Cada paso del proceso es
representado por un smbolo diferente que contiene una breve descripcin de la
etapa de proceso.
Los smbolos grficos del flujo del proceso estn unidos entre s con flechas que
indican la direccin de flujo del proceso.
El diagrama de flujo ofrece una descripcin visual de las actividades implicadas
en un proceso mostrando la relacin secuencial ente ellas, facilitando la rpida
comprensin de cada actividad y su relacin con las dems, el flujo de la
informacin y los materiales, las ramas en el proceso, la existencia de bucles
repetitivos, el nmero de pasos del proceso, las operaciones de
interdepartamentales. Facilita tambin la seleccin de indicadores de proceso

Diagrama de Flujo
Elaboracin del Diagrama de Flujo
Debe ser realizado por un equipo de trabajo en el que las distintas personas
aporten, en conjunto, una perspectiva completa del proceso, por lo que con
frecuencia este equipo ser multifuncional y multijerrquico.
Determinar el proceso a diagramar.
Definir el grado de detalle. El diagrama de flujo del proceso puede mostrar a
grandes rasgos la informacin sobre el flujo general de actividades principales, o
ser desarrollado de modo que se incluyan todas las actividades y los puntos de
decisin.
Identificar la secuencia de pasos del proceso. Situndolos en el orden en que
son llevados a cabo.
Construir el diagrama de flujo. Para ello se utilizan determinados smbolos.
Cada organizacin puede definir su propio grupo de smbolos. En la siguiente
figura se mostrar un conjunto de smbolos habitualmente utilizados. Al respecto
cabe decir que en la figura Conector de proceso es frecuentemente utilizado un
crculo como smbolo.
Revisar el diagrama de flujo del proceso.

Diagrama de Flujo

Figura 3. Simbologa y significado

Diagrama de Flujo
Ejemplo:
Hacer un programa que permita ingresar dos nmeros enteros y muestre el
mayor de los valores ingresados.

Figura 4.

Diagrama de Flujo
Ejemplo 2:
Hacer un programa que determine si un nmero entero es PAR o IMPAR.

Figura 5.

Diagrama de Flujo
Ventajas de los diagramas de flujo
Favorecen la comprensin del proceso al mostrarlo como un dibujo. El
cerebro humano reconoce muy fcilmente los dibujos. Un buen diagrama de
flujo reemplaza varias pginas de texto.
Permiten identificar los problemas y las oportunidades de mejora del
proceso. Se identifican los pasos, los flujos de los reprocesos, los conflictos de
autoridad, las responsabilidades, los cuellos de botella, y los puntos de
decisin.
Muestran las interfaces cliente-proveedor y las transacciones que en ellas se
realizan, facilitando a los empleados el anlisis de las mismas.
Son una excelente herramienta para capacitar a los nuevos empleados y
tambin a los que desarrollan la tarea, cuando se realizan mejoras en el
proceso.
Al igual que el pseudocdigo, el diagrama de flujo con fines de anlisis de
algoritmos de programacin puede ser ejecutado en un ordenador.

Diagrama de Flujo vs Pseudocdigo


Ventajas del Pseudocdigo sobre los Diagramas de Flujo
Ocupan mucho menos espacio en el desarrollo del problema.
Permite representar de forma fcil operaciones repetitivas complejas.
Es ms sencilla la tarea de pasar de pseudocdigo a un lenguaje de
programacin formal.
Se puede observar claramente los niveles en la estructura del programa.
En los procesos de aprendizaje de los alumnos de programacin, stos
estn ms cerca del paso siguiente (codificacin en un lenguaje determinado,
que los que se inician en esto con la modalidad Diagramas de Flujo).
Mejora la claridad de la solucin de un problema.

You might also like