0% encontró este documento útil (0 votos)
64 vistas30 páginas

Introducción a los Algoritmos y Programación

Cargado por

arizzagonzalo3
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
64 vistas30 páginas

Introducción a los Algoritmos y Programación

Cargado por

arizzagonzalo3
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

Introducción a los Algoritmos

Introducción a la Programación
Unidad 2- Algoritmos
Concepto de Algoritmo

◦ Un algoritmo es una secuencia ordenada de acciones (llamadas


“acciones primitivas”) que pueden ser ejecutadas por una máquina y
que dan la solución a un problema dado.

◦ Un algoritmo es un método para resolver un problema mediante una


serie de pasos.

◦ Los algoritmos son independientes tanto del lenguaje de


programación en que se expresan como de la computadora que los
ejecuta.

◦ En cada problema el algoritmo se puede expresar en un lenguaje


diferente de programación y ejecutarse en una computadora distinta;
sin embargo, el algoritmo será siempre el mismo.
Unidad 2- Algoritmos
Propiedades de los Algoritmos

◦ Un algoritmo debe ser preciso e indicar el orden de realización de


cada paso.

◦ Un algoritmo debe estar definido. Si se sigue un algoritmo dos


veces, se debe obtener el mismo resultado cada vez.

◦ Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe


terminar en algún momento; o sea, debe tener un numero finito de
pasos.
Unidad 2- Algoritmos
◦ La definición de un algoritmo debe describir tres partes: Entrada,
Proceso y Salida.

Ejemplo:
 Un cliente ejecuta un pedido a una fábrica. La fábrica examina
en su banco de datos la ficha del cliente, si el cliente es
solvente entonces la empresa acepta el pedido; en caso
contrario, rechazará el pedido.

Pasos del Algoritmo:


1. Inicio.
2. Leer el pedido.
3. Examinar la ficha del cliente.
4. Si el cliente es solvente, aceptar pedido; en caso contrario, recha zar pedido.
5. Fin.
Unidad 2- Algoritmos
Fases en la resolución de problemas
◦ El proceso de resolución de un problema conduce a la escritura
de un programa y a su ejecución. Se puede considerar una serie
de fases o pasos comunes, que generalmente se deben seguir.
◦ Las fases de resolución de un problema con computadora son:

 Análisis del problema.


 Diseño del algoritmo.
 Codificación.
 Compilación y ejecución.
 Verificación.
 Depuración.
 Mantenimiento.
 Documentación.
Unidad 2- Algoritmos
Análisis del problema

 Esta fase requiere una clara definición, donde se contemple


exactamente lo que debe hacer el programa y el resultado o solución
deseada.
 Para poder definir bien un problema es conveniente responder a las
siguientes preguntas:
 ¿,Qué entradas se requieren? (tipo y cantidad).
 ¿Cuál es la salida deseada? (tipo y cantidad).
 ¿Qué método produce la salida deseada?
Unidad 2- Algoritmos
◦ Diseño del algoritmo

 En la etapa de diseño se determina como hace el programa la tarea


solicitada. Los métodos más eficaces para el proceso de diseño se
basan en el conocido por divide y vencerás.

 La resolución de un problema complejo se realiza dividiendo el


problema en subprogramas y a continuación dividir estos
subprogramas en otros de nivel más bajo, hasta que pueda ser
implementada una solución en la computadora. Este método se
conoce técnicamente como diseño descendente (top-down) o
modular.

 Cada subprograma es resuelto mediante un módulo (subprograma)


que tiene un solo punto de entrada y un solo punto de salida.
Unidad 2- Algoritmos
◦ Enunciado 1:
 Preparar una tortilla de papas de 3 huevos.

 Acciones:
 T.1 meclar papas, huevos y algo de sal en un recipiente

 T.2 Freirla

Entrada: ingredientes y utensilios.


Proceso: elaboración de la receta en la cocina.
Salida: terminación del plato.
Unidad 2- Algoritmos
◦ Enunciado 1: Entrada: ingredientes y utensilios
 Preparar una tortilla de papas de 3 huevos. empleados.
Proceso: elaboración de la receta en
 Acciones: la cocina.
 T.1 meclar papas, huevos y una pizca de Sal en un recimpiente
 t1.1 Cortar las papas en láminas
Salida: terminación del plato (por
 t1.2 Dorar las papas ejemplo, cordero).
 T1.2.1 colocar las papas en el recipiente
 Si las papas estan doradas
entonces
 T1.2.2 retirarlas
sino
 T.1.2.3 dejarlas un tiempo mas

 t1.3 Batir los huevos en un recipiente

 T1.3.1 tomar un huevo de la mesada x


 T1.3.2 tomar un huevo de la mesada 3
 T1.3.3 cascar el huevo y verter su contenido en el recipiente
 T1.3.4 tirar la cascara en el recipiente de residuos

 t1.4 Verter las papas en el recipiente y echar una pizca de sal

 T.2 Freirla
 t2.1 Calentar el aceite en la sarten
 t2.2 verter el contenido del recipiente en la sarten
 t2.3 dorar la tortilla
Unidad 2- Algoritmos
 Herramientas de Programación para diseñar algoritmos

◦ Para representar un algoritmo se debe utilizar algún método que


permita independizar dicho algoritmo del lenguaje de
programación elegido.

◦ Ello permitirá que un algoritmo pueda ser codificado


indistintamente en cualquier lenguaje.

◦ Para conseguir este objetivo se precisa que el algoritmo sea


representado gráfica o numéricamente para su transformación en
un programa, es decir, su codificación.
Unidad 2- Algoritmos

Representación de Algoritmos.
1. Gráfica
2. No Gráfica

Los métodos usuales para representar un algoritmo son:


Los mas populares son:
 1. Diagrama de flujo
 2. Lenguaje de especificación de algoritmos: pseudocódigo,
Otros metodos:
 3. Diagrama N-S (Nassi-Schneiderman),
 4. Lenguaje formal español, inglés ...
 5. Fórmulas
Unidad 2- Algoritmos
◦ Diagramas de flujo
 Un diagrama de flujo (flowchart) es una representación gráfica
de un algoritmo. Los símbolos utilizados han sido
normalizados por el Instituto Norteamericano de
Normalización (ANSI).
Unidad 2- Algoritmos
 Los más frecuentemente empleados según PSINT:

◦ Inicio

Si
◦ Asignacion

◦ Lectura

◦ Escritura
Unidad 2- Algoritmos
 Los más frecuentemente empleados se muestran
a continuación:
◦ Según
Para

◦ Repetir Mientras
Unidad 2- Algoritmos
 Ejemplo suma 5 primeros números naturales:
Unidad 2- Algoritmos
◦ Pseudocódigo

 El pseudocódigo es una herramienta de programación en la que


las instrucciones se escriben en palabras que facilitan tanto la
escritura como la lectura de programas. En esencia, el
pseudocódigo se puede definir como un lenguaje de
especificaciones de algoritmos.
Unidad 2- Algoritmos
 Ejemplo suma 5 primeros números naturales:

Proceso sin_titulo
vnumero<-0
vsuma<-0
para vnumero=1 hasta 5 con paso 1
vsuma<-vsuma+vnumero
Finpara
escribir "Este es la suma:", vsuma
FinProceso
Unidad 2- Algoritmos
Diagrama N-S (Nassi-Schneiderman)

◦ El Diagrama N-S (Nassi-Schneiderman) -también conocido


como diagrama de Chapin- es como un diagrama de flujo en el
que se omiten las flechas de unión y las cajas son contiguas.
Las acciones sucesivas se escriben en cajas sucesivas y, como
en los diagramas de flujo, se pueden escribir diferentes
acciones en una caja.
Unidad 2- Algoritmos
Unidad 2- Algoritmos
• Ejemplo suma 5 primeros números naturales:
Unidad 2- Algoritmos

◦ Ejemplo:
 Dados 3 números, determinar el numero mayor y el menor
Unidad 2- Algoritmos
Codificación

◦ Es la escritura en un lenguaje de programación de la representación


del algoritmo desarrollada en las etapas precedentes. Dado que el
diseño de un algoritmo es independiente del lenguaje de
programación utilizado para su implementación, el código puede ser
escrito con igual facilidad en un lenguaje o en otro.
◦ Documentación interna: Como se verá más tarde, la documentación de
un programa se clasifica en interna y externa. La documentación
interna es la que se incluye dentro del código del programa fuente
mediante comentarios que ayudan a la comprensión del código.
Unidad 2- Algoritmos
Compilación y ejecución de un programa

◦ Una vez que el algoritmo se ha convertido en un programa fuente debe


ser traducido a lenguaje de máquina, este proceso se realiza con el
compilador y el sistema operativo que se encarga prácticamente de la
compilación.

◦ Si tras la compilación se presentan errores (errores de compilación) en


el programa fuente, es preciso volver a editar el programa, corregir los
errores y compilar de nuevo
Unidad 2- Algoritmos
Verificación y depuración de un programa
◦ Verificación o compilación es el proceso de ejecución del programa con una amplia
variedad de datos de entrada, llamados datos de test o prueba, que determinarán si
el programa tiene errores.

◦ La depuración es el proceso de encontrar los errores del programa y corregir o


eliminar dichos errores. Cuando se ejecuta un programa, se pueden producir tres
tipos de errores:

 Errores de compilación. Se producen normalmente por un uso incorrecto de


las reglas del lenguaje de programación y suelen ser errores de síntesis.

 Errores de ejecución. Estos errores se producen por instrucciones que la


computadora puede comprender pero no ejecutar. Ejemplos típicos son:
división por cero.

 Errores lógicos. Se producen en la lógica del programa y la fuente del error


suele ser el diseño del algoritmo. Estos errores son los más difíciles de
detectar, ya que el programa puede funcionar y no producir errores de
compilación ni de ejecución, y sólo puede advertir el error por la obtención de
resultados incorrectos.
Unidad 2- Algoritmos
Como Mitigar errores lógicos.
◦ Prueba de escritorio del algoritmo
La prueba de escritorio es una herramienta útil para entender que hace
un determinado algoritmo, o para verificar que un algoritmo cumple con
la especificación sin necesidad de ejecutarlo.

Proceso sin_titulo vnumero vsuma

vnumero<-0 0

vsuma<-0 0 0

para vnumero=1 hasta 5 con paso 1 5

vsuma<-vsuma+vnumero 15

Finpara

escribir "Este es la suma:", vsuma 15

FinProceso
Unidad 2- Algoritmos
 Documentación y mantenimiento

◦ La documentación de un problema consta de las descripciones


de los pasos a dar en el proceso de resolución de un problema.
◦ Programas pobremente documentados son difíciles de leer,
más difíciles de depurar y casi imposibles de mantener y
modificar.
◦ La documentación de un programa puede ser interna y externa.
 La documentación interna es la contenida en líneas de
comentarios.
 La documentación externa incluye análisis, diagramas de flujo
y/o pseudocódigos, manuales de usuario con instrucciones
para ejecutar el programa y para interpretar los resultados.
Unidad 2- Algoritmos
 Ejercicio 1:
◦ Diagramar un algoritmo que describa la lógica para una
persona que viaja de lunes a viernes para ir a estudiar
aacceder a la universidad de JCPaz.

Entrada: zona en la que vive y transporte que toma


Proceso: Transportar al estudiante hasta la universidad
Salida: Al entrar a la universidad llama a sus padres y notifica.
Unidad 2- Algoritmos
◦ Enunciado 1:
◦ Diagramar un algoritmo que describa la lógica para una persona que viaja de lunes a viernes para ir a estudiar aacceder a la universidad de JCPaz

 Acciones:
 T.1 En función a la zona en que vive, tomar el transporte correpondiente
 t1.0 Identificar el dia de la semana
Si es no es de Lunes a Viernes
 T.1.0.1 Mensaje a los Padres “Hoy no curso”
Fin del Algorirmo

 t1.1 Tomar los elementos de estudio

 T.2 Transportar a la persona


 T2.1 Identificar la parada de Transporte que corresponde
 T2.1 Identificar la zona donde vive
 T2.2 Identificar el Medio de transporte que va a utilizar
 Si medio de transporte no esta disponible
ir a 2.1 E
s
 p
t2.2 Tomar el Transporte y aguardar arribo
e
r
a
 T2.2.1 Sacar Ticket r
 T2.2.2 tomar el transporte x (Tren San Martin) e Mientras
 T2.2.3 Sentarse
s
v
 T2.2.4 Esperar es Verdadero
e
 T2.2.5 Evaluar la parada de arrivo r
Si Estacion es JCPaz d
[Link] Esperar es falso a
Fin si d
 e
T2.2.5 Bajar y caminar
r
 T.3 Notificar a los padres o
 t3.1 l Llamar a mama
 3.1.1 Sacar el Telefono

 3.1.2 Marcar el numero


Unidad 2- Algoritmos
◦ Enunciado 2:
◦ Diagramar un algoritmo que describa la lógica para, dados los 3 lados de
un triangulo, determinar el tipo del mismo.
◦ A saber…3 lados iguales… es equilatero. 2 lados iguales es isosceles. 3
Lados desiguales es Escaleno

 Acciones:
 T.1 Ingresar las dimensiones del triángulo
 t1.0 ingresar dimensión lado A
 t1.1 ingresar dimensión lado b
 t1.1 ingresar dimension lado c

 T.2 verificar tipo de triángulo


 T2.1 verificar dimensiones
 Si Lado A = Labo B y = Lado C
 Determino que es Equilatero
 Si (Lado A = Labo B) o (Lado C = A ) o (Lado B = C)
 Determino que es Isoceles
 Si (Lado A <> Labo B AND <> Lado C)
 Determino que es Isosceles

 T.3 Notificar resultado


 t3.1 Mostrar el resultado en una pantalla
!!!Terminamos.!!!
Quedaron dudas ?

También podría gustarte