You are on page 1of 9

Universidad San Pedro /Filial Lima/Sede Huacho EAP Ingeniera Informtica y de Sistemas

________________________________________________________________________________
Algoritmos Ing. CIP Pierre Paul Loncn Salazar
1


Universidad San Pedro
Filial Lima Sede Huacho



ESCUELA ACADEMICA PROFESIONAL
DE INGENIERIA INFORMTICA Y DE SISTEMAS




CURSO
ALGORITMOS


SEPARATA
Diseo de Programas y Algoritmos



DOCENTE
ING. CIP PIERRE PAUL LONCAN SALAZAR



HUACHO PERU


Universidad San Pedro /Filial Lima/Sede Huacho EAP Ingeniera Informtica y de Sistemas
________________________________________________________________________________
Algoritmos Ing. CIP Pierre Paul Loncn Salazar
2
Diseo de Programas y Algoritmos
Indice
1. Diseo de Programas
a. Pasos
2. Algoritmos
3. Anlisis del problema
4. Diseo del algoritmo.
a. Pseudocdigo
b. Diagramas de flujo (flows charts)
5. Ejercicios Prcticos
6. Ejercicios Propuestos
1. Diseo de Programas
El diseo de programas tiene como finalidad, resolver toda clase de problemas que forman parte del da
a da de las empresas de hoy. Estos problemas pueden ser simples o complejos, ello depender de las
clases de informacin que se estn manejando, de los tipos de operaciones que se deseen automatizar
y del volumen de informacin involucrada en cada operacin.

El diseo de programas es un proceso creativo que lleva al programador a pasar por diversas etapas
con la finalidad de llegar a la solucin del problema pero sin descuidar el tema de la complejidad del
diseo, pues determinar entre otras cosas:

Facilidad en su mantenimiento
Ahorro de recursos empleados para llegar a la solucin
Velocidad en los tiempos de respuesta, etc.
a. Pasos:
El proceso de diseo de un programa consta de los siguientes pasos o etapas:

Pasos Etapa Descripcin
1 Anlisis del problema Conducen al diseo detallado por medio un cdigo escrito en
forma de un algoritmo 2 Diseo de algoritmo
3 Codificacin
Se implementa el algoritmo en un cdigo escrito en un lenguaje
de programacin. Refleja las ideas desarrolladas en las etapas
de anlisis y diseo
4
Compilacin y
ejecucin
Traduce el programa fuente a programa en cdigo de maquina y
lo ejecuta.
5 Verificacin
Busca errores en las etapas anteriores y los elimina.
6 Depuracin
7 Documentacin
Son comentarios, etiquetas de texto, que facilitan la comprensin
del programa
2. Algoritmos
En un sentido amplio, dado un problema y un dispositivo donde resolverlo, es necesario proporcionar un
mtodo preciso que lo resuelva, adecuado al dispositivo. A tal mtodo lo denominamos algoritmo.

Hay dos aspectos muy importantes de los algoritmos, su diseo y su eficiencia. El primero se refiere a la
bsqueda de mtodos o procedimientos, secuencias finitas de instrucciones adecuadas al dispositivo
que disponemos, que permitan resolver el problema. Por otra parte, el segundo permite medir de alguna
forma el coste (en tiempo y recursos) que consume un algoritmo para encontrar la solucin y nos ofrece
la posibilidad de comparar distintos algoritmos que resuelven un mismo problema.

Un algoritmo debe de cumplir los siguientes requisitos:

Universidad San Pedro /Filial Lima/Sede Huacho EAP Ingeniera Informtica y de Sistemas
________________________________________________________________________________
Algoritmos Ing. CIP Pierre Paul Loncn Salazar
3
Preciso: implica el orden de realizacin de cada uno de los pasos
Definido: si se sigue dos veces, se obtiene el mismo resultado.
Finito: Tiene un numero determinado de pasos, lo que implica que tiene un fin.

Los algoritmos se pueden expresar de las siguientes formas:

Tipo de Expresin Ejemplos
Formulas


Diagramas de flujo
Norte-Sur / Top-Down

Pseudocdigo
Inicio
Entero: a, b, c, perimetro
Leer a,b,c
Calcular
Escribir permetro
fin
3. Anlisis del problema:
Requiere la clara definicin del problema, donde se indique que va hacer el programa y cual va a ser el
resultado. Debe detallarse las especificaciones de entrada y salida,
Los requisitos que definen el anlisis son:


Ejemplo:
Problema: Hallar las dos races x
1
y x
2
de una ecuacin de segundo grado, conociendo el valor de
sus tres coeficientes a, b, c.
La ecuacin de segundo grado se define algebraicamente como:


La solucin general viene dada por la expresin algebraica:


Inicio
Entero: a
a
a > 0
P = a / 2
Nmero debe
ser positivo
Fin
Ingrese un Nmero
Resultado: p
Definicin
Del
Problema
Especificaciones
de
entrada
Especificaciones
de
salida
Universidad San Pedro /Filial Lima/Sede Huacho EAP Ingeniera Informtica y de Sistemas
________________________________________________________________________________
Algoritmos Ing. CIP Pierre Paul Loncn Salazar
4
Perifrico
1 Anlisis del problema
2 Def. del problema Hallar races ecuaciones 2do grado
3 Especif. de entrada coeficientes a, b, c Teclado
4 Especif. de salida X
1,
X
2
Pantalla
Impresora

Entrada: por teclado
coef Descripcin Codificacin en C++
a Trmino cuadrtico
cout<< "Coef a = ";
cin>>A;
b Trmino lineal
cout<< "Coef b = ";
cin>>B;
c Trmino independiente
cout<< "Coef c = ";
cin>>C;

Proceso:
Clculo Expresin algebraica Codificacin en C++
x
1


X1 = (( -B + sqrt (pow(B,2) -4*A*C )) / 2a
x
2


X2 = (( -B - sqrt (pow(B,2) -4*A*C )) / 2a

Salida: Visualizacin de:
- Datos de entrada: A, B, C
- Datos procesados: Races: X1, X2

Variable Significado Codificacin en C++
A, B, C Coeficiente
cout<<" A = "<< A << " \n ";
cout<<" B = "<< B << " \n ";
cout<<" C = "<< C << " \n ";
X1 Primera raz cout<<" X1 = "<< X1 << " \n ";
X2 Segunda raz cout<<" X2 = "<< X2 << " \n ";
4. Diseo del algoritmo.
Anlisis de proceso: implica determinar que hace el programa.
Diseo: implica establecer como se hace o realiza la tarea para resolver el (problema) solicitado

En el diseo:

El todo es la sumatoria de las partes.
Divide el todo en varias partes.
En la resolucin de un problema complejo, este se divide en varios sub problemas y seguidamente se
vuelven a dividir los sub problemas en otros ms sencillos, hasta que puedan implementarse en el
computador.
Esta caracterstica define lo que se entiende como Diseo Descendente ( Top-Down / Norte-Sur ) o
diseo 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 diseado consta de un programa principal (modulo de nivel mas alto) que
llama a subprogramas (mdulos de nivel mas bajo), que a su vez pueden llamar otros sub
programas.
Universidad San Pedro /Filial Lima/Sede Huacho EAP Ingeniera Informtica y de Sistemas
________________________________________________________________________________
Algoritmos Ing. CIP Pierre Paul Loncn Salazar
5
Los programas que se estructuran de esta forma, se dicen que tienen Diseo Modular y el mtodo de
romper el programa en modos pequeos se llama Programacin Modular.
Los mdulos pueden ser planificados, codificados, compilados y depurados independientemente
pueden ser intercambiados entre si.
Este proceso implica la ejecucin de los siguientes pasos:
Paso Descripcin
1 Programar un modulo
2 Comprobar un modulo
3 Depurar el modulo
4 Combinar el modulo con mdulos anteriores
Este proceso convierte el resultado del anlisis del problema en un diseo modular con refinamientos
sucesivos que permiten una traduccin a un lenguaje que se denomina diseo del algoritmo.
El algoritmo se puede representar por medio de dos formas:
Pseudocdigo
Diagrama de flujo:
a. Pseudocdigo:
Es el lenguaje de especificacin de algoritmos y tiene una estructura:
Las instrucciones se escriben en ingles o en palabras similares al ingles o espaol
que facilitan la escritura de programacin
Para la resolucin de una ecuacin de segundo grado se escribira:
Inicio
Ingresar coeficientes a, b y c
Mostrar ttulos primera raz, segunda raz, no tiene solucin,
Calcular raz 1 y raz 2
Mostrar raz 1 y raz 2
Fin
Instrucciones utilizadas:
Instruccin Descripcin
Mostrar Escribe en pantalla.
Ingresar Introduce (entra datos)
Calcular Lleva acabo un proceso






Universidad San Pedro /Filial Lima/Sede Huacho EAP Ingeniera Informtica y de Sistemas
________________________________________________________________________________
Algoritmos Ing. CIP Pierre Paul Loncn Salazar
6
b. Diagramas de flujo (flows charts):
Es la representacin grafica del algoritmo; segn la ANSI consta de una simbologa, que tiene los
siguientes significados:
Nombre Smbolo Funcin
Terminal


Representa en Inicio y Final de un Programa,
puede representar una parada o interrupcin
programada.

Entrada/Salida


Cualquier tipo de introduccin de datos en la
memoria desde los perifricos de entrada o
informacin mostrada en un perifrico de salida

Proceso


Cualquier tipo de operacin que origine cambio de
valor, formato, posicin de la informacin
almacenada en memoria.

Decisin:







Indica operaciones lgicas o de comparacin entre
datos - normalmente entre dos y en funcin del
resultado, determina cual de los dos caminos
alternativos se debe seguir; normalmente tiene dos
salidas- respuestas si o no.

Decisin
Mltiple:






En funcin del resultado de la comparacin se
seguir uno de los diferentes caminos de acuerdo a
dicho resultado.



Conector


Sirve para enlazar dos partes cualesquiera de un
organigrama a travs de un conector de salida y
otro en la entrada en la misma pagina del diagrama

Conector fuera
de pgina


Conexin entre dos puntos del organigrama
situados en paginas diferentes

Lnea Conectora Sirve para la unin entre dos smbolos dentro del
diagrama

Indicador de
direccin
Indica en sentido de la ejecucin de las
operaciones

Llamada a
subrutina,
funcin o
procedimiento

Es la llamada a un modulo, que recibe una entrada
procedente del programa principal u otro mdulo,
realiza una tarea y regresa al terminar al programa
o mdulo desde donde fue llamado.

Impresora


Se utiliza para indicar la salida de datos a travs de
la impresora

Monitor

Se utiliza para indicar la salida de datos por la
pantalla

Teclado

Se utiliza para indicar entrada de datos por teclado



Universidad San Pedro /Filial Lima/Sede Huacho EAP Ingeniera Informtica y de Sistemas
________________________________________________________________________________
Algoritmos Ing. CIP Pierre Paul Loncn Salazar
7
5. Ejercicios:
1. Una madre de familia le pide a su hijo realizar la compra de 3 artculos. Luego de lo cual le solicita
que le indique el monto total que gast por dichas compras.

Definicin del Problema: Calcular la suma de 3 nmeros
Entradas: 3 Nmeros (por teclado)
Salidas: Resultado de la suma (por pantalla)

Pseudocdigo Diagrama Cdigo
Inicio
Real: n1, n2, n3, suma
Mostrar: Ingrese N1:
Ingresar: n1
Mostrar: Ingrese N2:
Ingresar: n2
Mostrar: Ingrese N3:
Ingresar: n3
Calcular: suma n1+n2+n3
Mostrar: Rpta: suma
Fin












2. En un viaje de excursin un maestro les pide a sus estudiantes que formen grupos para que lleven a
cabo la observacin de la cima de las montaas que hay a su alrededor. Para realizar esta tarea el
maestro le proporciona a cada grupo un telescopio cuya altura es de 1m. Adicionalmente el maestro
les da a cada grupo los siguientes datos:
Distancia desde el punto de observacin hasta la base de la montaa
Altura de la montaa
Nota: Cada grupo debe de ingresar en su telescopio el ngulo de observacin.

Definicin del Problema: .................................................................................................................
Entradas: ..........................................................................................................................................
Salidas: .............................................................................................................................................

Pseudocdigo Diagrama Cdigo










































Inicio
Real: n1, n2, n3, suma
n1
Fin
Ingrese N1:
n2
Ingrese N2:
n3
Ingrese N3:
suma n1+n2+n3
Rpta: suma
Universidad San Pedro /Filial Lima/Sede Huacho EAP Ingeniera Informtica y de Sistemas
________________________________________________________________________________
Algoritmos Ing. CIP Pierre Paul Loncn Salazar
8
3. Una empresa esta realizando el cierre de mes y desea conocer la ganancia obtenida basndose
nicamente en 2 factores: los ingresos producto de las ventas y a los egresos como consecuencia
de la produccin. Para realizar esta tarea se deben de considerar los siguientes datos:
Ingresos: Valor de cada unidad vendida: S/. 34.00
Egresos: Costo de Produccin de cada unidad: S/. 15.00

Definicin del Problema: .................................................................................................................
Entradas: ..........................................................................................................................................
Salidas: .............................................................................................................................................

Pseudocdigo Diagrama Cdigo










































6. Ejercicios Propuestos:
1. Se nos ha pedido calcular la masa del aire para lo cual se nos ha proporcionado la siguiente
frmula:
masa = (presin * volumen)/(0.37 * (temperatura + 460))

Definicin del Problema: .................................................................................................................
Entradas: ..........................................................................................................................................
Salidas: .............................................................................................................................................

Pseudocdigo Diagrama Cdigo











































Universidad San Pedro /Filial Lima/Sede Huacho EAP Ingeniera Informtica y de Sistemas
________________________________________________________________________________
Algoritmos Ing. CIP Pierre Paul Loncn Salazar
9
2. Un estudiante desea planificar su gasto semanal de movilidad, sin embargo no esta seguro de
cuando dinero en promedio debera presupuestarse diariamente ya que cada da gasta un monto
ligeramente diferente. Para calcular una aproximacin decide considerar el gasto realizado los
ltimos 4 das.

Definicin del Problema: .................................................................................................................
Entradas: ..........................................................................................................................................
Salidas: .............................................................................................................................................

Pseudocdigo Diagrama Cdigo











































3. Un cambista inicia su jornada con S/. 3000 y $ 2000. Al terminar el da se dio cuenta que slo
vendi una cantidad X de dlares. Cuanto dinero tendr ahora en cada moneda si consideramos el
siguiente tipo de cambio: Compra: S/. 3.05 / Venta: S/. 3.15

Definicin del Problema: .................................................................................................................
Entradas: ..........................................................................................................................................
Salidas: .............................................................................................................................................

Pseudocdigo Diagrama Cdigo

You might also like