1. Alma Lucrecia Olivet López
Ingeniera en Sistemas de Información
Maestría en Liderazgo y Desarrollo Organizacional
Doctora en Liderazgo y Desarrollo Organizacional
3. ¿QUÉ ES UN PROBLEMA?
Es un asunto del que se espera una solución
Es una cuestión o situación que debe aclararse o resolverse y puede tener un
número determinado o indefinido de soluciones.
Es un conjunto ordenado y finito de pasos para resolver un problema
específico.
Para llegar a la realización de un programa es necesario el diseño previo
de algoritmo, de modo que sin algoritmo no puede existir un programa.
¿QUÉ ES UN ALGORITMO?
6. Características de los algoritmos
CARACTERISTICAS
FINITO: Un algoritmo siempre debe de terminar
después de realizarse un numero especifico de pasos.
DEFINIDO: Si un algoritmo se ejecuta varias veces con las
Mismas condiciones, el resultado que se obtenga será siempre
El mismo.
PRECISO: Debe indicar claramente y sin ambigüedades
Cada uno de los pasos y el orden en que se deben realizar.
7. Recomendaciones:
• Utilizar palabras Inicio y fin para identificar el punto de partida y
el termino del algoritmo aunque este enumerado.
• Enumerar cada paso
• Las instrucciones deben ser frases cortas, claras y concretas.
• No iniciar las instrucciones con artículos (el, la , los, etc.) o
pronombres.
• Las instrucciones inician con un verbo que identifican la acción
que se va a realizar.
• Cuando un problema es muy complejo se recomienda dividirlo
en módulos o subalgoritmos.
8. Otrasdefiniciones dealgoritmos
Un conjunto de pasos que nos permite obtener la solución
a un problema.
Una serie de pasos organizados que describe el proceso
que se debe seguir para dar solución a un problema
específico.
Una secuencia finita de instrucciones realizables, no
ambiguas, cuya ejecución conduce a la resolución de un
problema.
13. Representación de algoritmos…
Gráfica: es con
símbolos, utilizando
algúntipo de diagrama
No Gráfica. También se le llama
de Pseudocódigo (lenguaje
simulado donde se pueden
describir las tareas a realizar sin
conocer los comandos de un
lenguajeespecifico).
15. CLASIFICACION DE LOS
ALGORITMOS
No deterministas: deben
decidir en cada paso de la
ejecución entre varias
alternativas y agotarlas todas
antes de encontrar la solución.
16. Partes de un algoritmo
Entrada. Cantidades dadas antes de empezar que representan
al mundo real.
Proceso. Descripción de las operaciones que se llevarán a
cabo con las entradas anteriores.
Salida. Producto obtenido después del algoritmo (dato o
producto final).
18. QUE ES UN PROBLEMA?
• Problema.- Asunto o conjunto de cuestiones que se plantean para ser
resueltas.
• Son situaciones nuevas que requieren que la gente responda con
comportamientos nuevos, y varían de acuerdo al contexto en el que se
plantean: ejemplo, problemas matemáticos, químicos, filosóficos, etcétera …
19. Elementos de un problema:
• Situación inicial
• Situación final u objetivo a alcanzar.
• Restricciones o pautas respecto a métodos,
actividades, tipos de operaciones, etc…
24. Se busca desarrollar de manera teórica los pasos que seguiremos par resolver dicho problema
1. Enunciado del problema. Es el enunciado del problema, con el cual se delimita (¿qué se desea
realizar?).
2. Análisis de requisitos. Se realiza una lista de los requisitos o restricciones que posee el problema para
su mejor delimitación.
3. Codificación. Se traducen las instrucciones o pasos de la etapa anterior (en informática se utiliza un
lenguaje de alto nivel para obtener un programa).
4. Prueba y depuración. Se lleva a cabo los pasos del codificado y se comprueba que se llegue a la
solución esperada, de detectan errores y se van corrigiendo, además de busques la eficiencia.
5. Implementación. Es la puesta en marcha.
6. Documentación: En informática es el desarrollo de manuales para los usuarios del programa.
7. Mantenimiento. Es la actualización y modificación del programa para resolver necesidades nuevas
del usuario.
FASES PARA LA SOLUCION DE PROBLEMAS
27. DIAGRAMAS
• Una forma de representar los algoritmos es mediante el uso
de diagramas, principalmente diagramas de flujo.
• Definición. Diagrama es una representación gráfica que
muestra las relaciones entre diferentes partes de un conjunto
o sistema.
28. DIAGRAMA DE FLUJO
• Son representaciones gráficas de los pasos a seguir para lograr un resultado.
• Se utilizan para representar algoritmos pequeños, ya que requieren espacio y
tiempo para su elaboración.
• Debe ilustrar gráficamente los pasos o procesos a seguir .
• Se constituye principalmente de la siguiente manera: inicia, recibe datos, realiza el
procesamiento, muestra resultados y finaliza.
29. Funciones de un diagrama
1. Muestran gráficamente las acciones que se
realizaran de acuerdo con el programa.
2. Ayudan a pensar claramente.
3. Ayudan a detectar errores.
4. Facilitan cambios en el programa.
30. SIMBOLOGIA DE LOS DIAGRAMAS DE FLUJO
• PROCESO. Se utiliza para representar operaciones de proceso.
Son símbolos de entrada y salida.
Usualmente se colocan dentro de el
instrucciones aritméticas y movimiento de datos.
• TERMINAL. Represente el comienzo (Inicio) y el final (fin) de
un programa o algoritmo.
• DECISION. Tiene una entrada y por lo menos dos salidas o
transferencias, indica operaciones de lógica o comparación y
las salidas por lo general indican un sí o un no para una
instrucción condicional.
31. Conector
dentro de
página
SIMBOLOGIA DE LOS DIAGRAMAS DE FLUJO
• CONECTOR. Indican una salida a otra parte del diagrama o indican una entrada hacia
cierta parte del diagrama, sirven para evitar confusiones con las líneas de flujo.
• PROCESO PREDETERMINADO. Indican una parte del programa que se repite, se
escribe una sola vez y luego se integra donde se requiera.
• ANOTACION. Se emplean para añadir comentarios y se dibujan a un lado de los
símbolos u operaciones a comentar.
Conector
fuera de
página
32. SIMBOLOGIA DE LOS DIAGRAMAS DE FLUJO
• PROCESO MANUAL.
• Lectura/Ingreso de datos.
• Pantalla
• Impresora
• Disco.
• Cinta magnética.
33. SIMBOLOGIA DE LOS DIAGRAMAS DE FLUJO
SIMBOLO OPERACIÓN SIMBOLO OPERACIÓN
+ Sumar ≥ Mayor o igual que
- Menos ≤ Menor o igual que
* Multiplicación ≠ <> Diferente de
/ División Si
± Más o menos No
= Equivalente True
> Mayor que False
< Menor que
34. ETAPAS EN CONSTRUCCION DE
DIAGRAMAS DE FLUJO
1. Todo diagrama debe tener un inicio y un fin.
2. Las líneas de conexión deben ser rectas verticales y horizontales
(ni inclinadas ni cruzadas)
3. Todas las líneas deben estar conectadas por un símbolo.
4. La notación utilizada es independiente al lenguaje de
programación.
5. Debe construirse de arriba abajo y de izquierda a derecha.
6. Si se requiere más de una hoja se deben utilizar conectores fuera
de página.
7. No puede legar más de una línea en un símbolo.
35. Ejemplos
1. Diseñar un algoritmo que dando como dato la calificación de un
alumno en un examen escriba «Aprobado» si su calificación es mayor
que 8 y «Reprobado» en caso contrario.
2. Diagrama de flujo que encuentre la suma de los primeros 15 números
naturales.
38. Ejemplos
1. Diseñar un algoritmo que dando como dato la calificación de un
alumno en un examen escriba «Aprobado» si su calificación es mayor
que 8 y «Reprobado» en caso contrario.
2. Diagrama de flujo que encuentre la suma de los primeros 15 números
naturales.
41. PSEUDOCODIGO
• Es un lenguaje de especificaciones de algoritmos.
• Es la representación narrativa de los pasos que debe seguir un
algoritmo para dar solución a un problema determinado.
• Utiliza palabras que indican el proceso a realizar.
• El pseudocódigo siempre comienza con la palabra inicio y
termina con la palabra fin.
42. Componentes del pseudocódigo
• ESCRITURA O SALIDA DE DATOS. Consiste en mandar por
un dispositivo de salida un resultado o mensaje
(«mensaje«, valor).
FORMATO
salida: (<lista de expresiones>)
43. Componentes del pseudocódigo
• LECTURA DE DATOS. Consiste en recibir desde un
dispositivo de entrada un valor o un dato, que se almacena
en una variable.
FORMATO
LEA <variable>
44. Ventajas del pseudocódigo frente al
diagrama de flujo
Ocupa menos espacio en una hoja de papel.
Permite representar en forma fácil operaciones
repetitivas complejas.
Es muy fácil de pasar del pseudocódigo a un lenguaje
de programación.
Si se da seguimiento a las reglas se pueden observar
los niveles que tiene cada operación.a
45. OPERACIONESIMPORTANTESENLOSALGORITMOS
• ASIGNACIÓN DE DATOS. Consiste en el paso de valores o resultados de
una zona de memoria (variable) a otra.
• Simple. Dar un valor constante a una variable.
• Contador. Se utiliza como un verificador de número de veces que se realiza el
algoritmo.
• Acumulador. Se usa como un sumador en el proceso.
• De trabajo. Puede recibir resultados de operaciones matemáticas.
FORMATO
<nombre de variable> ← <expresión>
46. ESTRUCTURAS DE CONTROL DE LOS
ALGORITMOS.
• Son un grupo de formas de trabajo que permiten realizar
ciertos procesos para llegar a la solución del problema.
Existen tres grupos o estructuras de los algoritmo:
1. Secuencial.
2. Alternativa.
3. Repetitiva.
47. 1. Secuencial.
• Es una estructura con una entrada y una salida, con
una serie de acciones con ejecución lineal y un
orden.
Las reglas o acciones del algoritmo deben cumplir
las siguientes propiedades:
1. Deben ser seguidas de una secuencia definida de
pasos.
2. Sólo puede ejecutarse una operación a la vez.
49. 2. Estructura Selectiva
• Es una estructura con una entrada y dos o más salidas.
• Se realiza una acción elegida entre varias de acuerdo a una condición.
• Puede ser simple o compuesta.
Se clasifica en:
a) ESTRUCTURA DE DOS SALIDAS.
b) ESTURTURA DE TRES O MÁS SALIDAS.
• Utiliza palabras de control como si, no, entonces o if, then, else)
51. 3. Repetitiva
• Es una estructura con una entrada y una salida en la cual se repite una acción
un número determinado o indeterminado de veces.
• Se condiciona al cumplimiento de una condición.
• Estas estructuras pueden ser:
Estructura para (for). Una acción se repite un número fijo de veces.
Estructura mientras (while). Se repite una acción mientras se cumpa una
condición que controla el ciclo o bucle. LA CONDICIÓN SE EVALÚA SIMPRE
ANTES DE CADA REPETICIÓN.
Estructura Hasta (until). Se repite la acción hasta que se cumpla una
condición
53. 1.Construye el algoritmo para preparar tu postre favorito
2.Construye el algoritmo para cambiar la llanta de un automóvil
3.Construye el algoritmo para hacer una torta de jamón
4.Construye el algoritmo del diario vivir, de levantarse por la
mañana que sigue un corredor de bolsa para ir al trabajo:
5.Construye el algoritmo de un cliente que ejecuta un pedido a una
fabrica. La fabrica 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. Redactar el
GUIA #1. Ejercicio 1
54. bibliografia
Tomado de Slideshare.net en español Presentaciones elaboradas por
Mauricio Joaquín Orellana Grande, David Arturo Ríos.
Libros de texto
Cómo aprender a programar. Deitel y Deitel.
Joyanes Aguilar, Luís. Programación en C++.
Y otros libros propuestos:
Oswaldo Cairo, Metodología de la programación, Alfa y Omega
Fundamientos de Programación, Luis Joyanes Aguilar.