Logo Studenta

2-Algoritmos1

¡Este material tiene más páginas!

Vista previa del material en texto

15-12-2011 
1 
Algoritmos y 
Diagramas de 
Flujo 
Mauricio Elgueta Lizarrague 
mauricio@isjom.com 
 El software se clasifica en 3 diferentes 
Categorías, de acuerdo a su uso: 
 
 Sistemas Operativos 
 
 Lenguajes de Programación 
 
 Software de Aplicación 
 
Conceptos Básicos 
15-12-2011 
2 
 
 
Conceptos Básicos 
 
 Bit es el acrónimo de Binary Digit (dígito binario). Es un 
dígito del sistema de numeración binario, se utilizan los 
dígitos 1 y 0. Unidad mínima de información 
empleada en informática, en cualquier dispositivo 
digital. 
 
 Byte Se describe como la unidad básica de 
almacenamiento de información, equivalente a ocho 
bits 
 
 
Definiciones Básicas 
Lenguajes de Programación - Resumen 
 Lenguaje de programación: lenguaje en el que 
podemos dar ordenes al computador. 
 
 Instrucción: Orden expresada en un lenguaje de 
programación. 
 
 Programa: Secuencia ordenada de instrucciones. 
15-12-2011 
3 
Algoritmos 
¿ Qué es un algoritmo? 
 
 Es un conjunto prescrito de 
instrucciones o reglas bien definidas, 
ordenadas y finitas, que permite realizar una 
actividad mediante pasos sucesivos que no 
generen dudas a quien deba realizar dicha 
actividad. 
 
Algoritmos 
¿Cómo se hace un algoritmo? 
 
 No existe ningún consenso definitivo 
en cuanto a la definición formal de 
algoritmo. 
 
 Por lo que distintos algoritmos 
pueden llegar a una misma solución. 
 
15-12-2011 
4 
Algoritmos 
 Los algoritmos pueden ser expresados de 
muchas maneras, incluyendo al lenguaje 
natural, pseudocódigo, diagramas de flujo y 
lenguajes de programación entre otros. 
 
 Las descripciones en lenguaje natural tienden 
a ser ambiguas y extensas. El usar 
pseudocódigo y diagramas de flujo evita 
muchas ambigüedades del lenguaje natural. 
Estas expresiones son formas más 
estructuradas para representar algoritmos. 
La descripción de un algoritmo 
usualmente se hace en tres niveles: 
 
 Descripción de alto nivel. Se establece el 
problema, se selecciona un modelo matemático 
y se explica el algoritmo de manera verbal, 
posiblemente con ilustraciones y omitiendo 
detalles. 
 Descripción formal. Se usa pseudocódigo para 
describir la secuencia de pasos que encuentran 
la solución. 
 Implementación. Se muestra el algoritmo 
expresado en un lenguaje de programación 
específico o algún objeto capaz de llevar a cabo 
instrucciones. 
 
15-12-2011 
5 
Los algoritmos tienen tres 
características 
fundamentales: 
 Son precisos, es decir, deben indicar el 
orden de realización de los pasos. 
 Están bien definidos, es decir, si se sigue el 
algoritmo dos veces usando los mismos 
datos, debe proporcionar la misma 
solución. 
 Son finitos, esto es, deben completarse en 
un número determinado de pasos. 
 
Algoritmos - Ejemplo 
 
 PROBLEMA: Un estudiante se encuentra 
en su casa (durmiendo) y debe ir a la 
universidad (a la clase de Informática I), 
¿qué debe hacer el estudiante? 
15-12-2011 
6 
Algoritmos - Ejemplo 
 Inicio 
Dormir 
haga 1 hasta que suene el 
despertador (o lo llame la 
mamá). 
Mirar la hora. 
¿Hay tiempo suficiente? 
Si hay, entonces 
 Bañarse. 
 Vestirse. 
 Desayunar. 
Sino, 
 Vestirse. 
Cepillarse los dientes. 
Despedirse de la mamá y el 
papá. 
 ¿Hay tiempo suficiente? 
Si, Caminar al paradero. 
Sino, Correr al paradero. 
Hasta que pase un bus para la 
universidad haga : 
 Esperar el bus 
 Ver a las demás personas que 
esperan un bus. 
Tomar el bus. 
Mientras no llegue a la 
universidad haga : 
 Seguir en el bus. 
 Pelear mentalmente con el 
conductor. 
Tocar el timbre. 
Bajarse. 
Entrar a la universidad. 
Fin 
Diagrama de Flujo 
¿ Que son? 
 
 Es una representación 
gráfica de un algoritmo o proceso. Se 
utiliza en disciplinas como 
la programación, la economía, los 
procesos industriales y la psicología 
cognitiva. 
15-12-2011 
7 
Diagrama de Flujo 
Importancia 
 
 Los diagramas de flujo son 
importantes porque nos facilita (además 
del entendimiento) la manera de 
representar visualmente el flujo de datos, 
en este realizamos un análisis de los 
procesos o procedimientos que 
requerimos para realizar un programa o 
un objetivo. 
Diagrama de Flujo 
Ventajas 
 
 Favorecen la comprensión del proceso a través de 
mostrarlo como un dibujo. El cerebro humano reconoce 
fácilmente los dibujos. 
 
 Permiten identificar los problemas y las oportunidades de mejora 
del proceso. 
 
 Muestran las interfaces cliente-proveedor y las transacciones que 
en ellas se realizan, facilitando a los empleados el análisis de las 
mismas. 
 
 Son una excelente herramienta para capacitar a los nuevos 
empleados y también a los que desarrollan la tarea, cuando se 
realizan mejoras en el proceso. 
15-12-2011 
8 
Diagrama de Flujo - Elementos 
Marca el Inicio / Fin del DF 
Pasos, procesos o líneas de instrucción de programa 
Operaciones de entrada y salida 
Toma de decisiones y Ramificación 
Líneas de flujo 
1.- Inicio 
2.- Caminar 50 pasos adelante 
3.- Girar 90º a la derecha 
4.- Caminar 100 pasos adelante 
5.- Girar 90º a la derecha 
6.- Caminar 50 pasos adelante 
7.- Retroceder 12 pasos 
8.- Fin 
Diagrama de Flujo - Ejemplo 
15-12-2011 
9 
 1.- Inicio 
 2.- Caminar 50 pasos adelante 
 3.- Girar 90º a la derecha 
 4.- Caminar 100 pasos adelante 
 5.- Girar 90º a la derecha 
 6.- Caminar 50 pasos adelante 
 7.- Retroceder 12 pasos 
 8.- Fin 
Diagrama de Flujo - Ejemplo 
PROBLEMA: Cambiar la rueda pinchada de un 
automóvil teniendo una gata mecánica en buen 
estado, una rueda de reemplazo y una llave. 
 Inicio 
 PASO 1. Soltar los tornillos de la rueda pinchada con la 
llave 
 PASO 2. Ubicar la gata mecánica en su sitio. 
 PASO 3. Levantar con la gata hasta que la rueda 
pinchada pueda girar libremente. 
 PASO 4. Quitar los tornillos y la rueda pinchada. 
 PASO 5. Poner rueda de repuesto y los tornillos. 
 PASO 6. Bajar el auto con la gata mecánica. 
 PASO 7. Sacar la gata de su sitio. 
 PASO 8. Apretar los tornillos con la llave inglesa. 
 Fin 
15-12-2011 
10 
Solución – Diagrama de Flujo 
Ejercicio 
 Determinar los pasos para preparar una 
taza de té 
 Elementos a incluir: 
 Té 
 Azúcar 
 Agua fría 
 Agua caliente 
 Cuchara 
 Termo para calentar agua 
 Electricidad (Toma de corriente) 
 
 
15-12-2011 
11 
DF - Condiciones 
 Las estructuras condicionales comparan una 
variable contra otro(s)valor (es), para que en base 
al resultado de esta comparación, se siga un curso 
de acción dentro del programa. 
 
 Cabe mencionar que la comparación se 
puede hacer contra otra variable o contra una 
constante, según se necesite. Existen tres tipos 
básicos, las simples, las dobles y las múltiples. 
 
DF – Condiciones - Simple 
 Las estructuras condicionales simples 
se les conoce como “Tomas de decisión”. 
Estas tienen la siguiente forma: 
15-12-2011 
12 
DF – Condiciones - Doble 
 Las estructuras condicionales dobles permiten 
elegir entre dos opciones en función del 
cumplimiento o no de una determinada condición. 
Se representa de la siguiente forma: 
DF – Condiciones - Múltiple 
 Estas son tomas de decisión especializadas que 
permiten comparar una variable contra distintos posibles 
resultados, ejecutando para cada caso una serie de 
instrucciones especificas. La forma común es la siguiente: 
15-12-2011 
13 
DF – Condiciones - Ejemplo 
Problema: Encender una lámpara 
DF – Ejemplo 
 Determinar los pasos para preparar una 
taza de té 
 Elementos a incluir: 
 Té y taza 
 Azúcar 
 Agua fría 
 Agua caliente 
 Cuchara 
 Termo para calentar agua 
 Electricidad (Toma de corriente) 
 Debe contener a lo menos 3 condiciones 
 
 
15-12-2011 
14 
 
 
 
 Simboliza una salida de datos, esto es 
lo que se mostrará en pantalla. 
DF – Nomenclatura 
 
 
 
 Simboliza una entrada de datos,esto 
es lo que se guardará en una variable 
(para este caso A). 
 
 
DF – Nomenclatura 
15-12-2011 
15 
DF – Ejemplo 
Problema: Identificar, de 2 números ingresados, cual es el 
mayor. 
DF – Ejercicio 
Problema: Recibir 3 números por teclado y poder 
identificar cual de ellos es el mayor. 
 
Pistas: Se necesitan a lo menos de 3 condiciones en el DF. 
15-12-2011 
16 
DF – Condiciones Lógicas 
 En las condiciones, se pueden agregar 
«condicionantes múltiples», es decir, se puede preguntar 
por más de 1 variable a la vez. Esto se hace a través de 
los conectores lógicos «Y» y «O», cuya nomenclatura es la 
siguiente: 
 
&& = „Y‟ lógico 
|| = „O‟ lógico 
 
Además, para poder preguntar por hechos exactos se 
utiliza: 
==  pregunta exacta 
DF – Condiciones 
 Con este tipo de conectores podremos realizar 
consultas múltiples como por ejemplo: 
 
1) El auto es color rojo o azul o verde? 
 
2) Esa calle tiene acera y semáforos? 
 
3) El papel es color blanco o gris, y mide mas 30 cm de 
largo? 
 
4) Etc… 
15-12-2011 
17 
DF – Condiciones 
 Otro punto importante es la utilización de 
paréntesis, estos servirán para mencionar que 
operaciones se realizan en conjunto, por lo que define un 
cierto orden. Por ejemplo: 
 
1 + 2 + 3 * 5 != (1 + 2 + 3) * 5 
 
X == 1 || X == 2 && Y == 5 != (X == 1 || X == 2) && Y == 5 
DF – Ejemplo Condiciones 
 Un ejemplo que describe lo anterior es: 
 
15-12-2011 
18 
DF – Ejercicio en clase 
Problema: Crear un algoritmo que ordene 3 números 
ingresados desde teclado 
 
Pistas: Se necesitan a lo menos de 5 condiciones en el DF. 
DF – Ejercicio en clase 
15-12-2011 
19 
DF – Ciclos 
Concepto 
 
 Un ciclo es la repetición de un conjunto de 
instrucciones. Dicho ciclo culmina cuando se 
cumple una condición de termino. 
 
 El factor critico para que estos ciclos terminen 
es la condición de termino y el incremento, estos 
deben estar bien planteados o el ciclo nunca 
terminará. 
DF – Ciclos 
¿ Cuándo de aplican? 
 
 
 Se aplican cuando queremos ejecutar un 
conjunto de instrucciones varias veces de manera 
continua. 
 
 
15-12-2011 
20 
DF – Ciclos 
Ventajas 
 
- Permiten la trabajos iterativos sin la necesidad de 
repetir X veces un contenido 
 
Desventajas 
 
- Si no son bien definidas, pueden resultar 
contraproducente ocuparlos (ej: no terminan, hacen 
mas tareas, etc.) 
 
DF – Ciclos Estructura 
15-12-2011 
21 
DF – Ciclos 
 Un punto importante es que estos ciclos 
pueden utilizar el camino tanto de si la condición 
resulta VERDADERA o cuando resulta FALSA (camino 
del Si o el No), esto dependerá únicamente de la 
condición que se haya planteado. 
 
 Normalmente una lado tiene incrementos de 
una variable y el otro utilizaría decrementos. 
DF – Ciclos 
15-12-2011 
22 
DF – Ejemplo 
Problema: Crear un algoritmo reciba 1 número por 
teclado y haga una cuenta regresiva con ese número. 
 
DF – Ejercicio en clase 
Problema: Crear un algoritmo que sume N elementos 
recibidos por teclado y muestre el resultado. 
 
 
 
 
 
Pista: Pedir la cantidad de números que va a ingresar. 
 
15-12-2011 
23 
DF – Ejercicio 
Solución: 
DF – Ejercicio en clase 
Problema: Crear un algoritmo que muestre el número 
mayor de N elementos recibidos por teclado. 
 
 
 
 
 
15-12-2011 
24 
DF – Ejercicio 
Solución: 
Inicio
N,var,cont,
mayor
Ingrese 
cuantos 
números va 
a sumar
N
cont=1
cont<=N
Ingrese el
cont valor
var
cont=cont+1
V
El resultado 
es mayor
Fin
cont==1 || 
var>mayor
mayor=var
V
F
Transformación de DF a 
Pseudocódigo 
15-12-2011 
25 
DF a Pseudocódigo 
¿Qué es el pseudocódigo? 
 
 El pseudocódigo es comúnmente utilizado por los 
programadores para omitir secciones de código o para 
dar una explicación del paradigma que tomó el mismo 
programador para hacer sus códigos, esto quiere decir 
que el pseudocódigo no es programable sino facilita la 
programación. 
 
 Este pseudocódigo es usado para hacer un 
bosquejo de una aplicación de manera rápida, o para 
aprender programación, se usa mas que todo en clases 
de lógica y algoritmia. 
 
 
 
 
DF a Pseudocódigo 
Las acciones más utilizadas son: 
 
 Mostar ‘Hola a todos’ = Muestra „Hola a todos‟ en pantalla. 
 Leer X = Lee lo que se haya ingresado y lo almacena en X. 
 Si (condición) = Cumple lo que viene a continuación si se da la 
condición 
 De lo contrario = En caso de que no se cumpla la condición anterior, 
realiza lo que viene a continuación. 
 Fin Si = Indica donde termina la condición. 
 Mientras (condición) = Repite una secuencia mientras se cumpla la 
condición. 
 Fin Mientras = Indica donde termina el ciclo Mientras. 
15-12-2011 
26 
DF a Pseudocódigo 
Inicio 
 Mostrar „Ingrese un número‟ 
 Leer X 
 Si (X > 5) 
 Mostrar „El numero ingresado es mayor a 5‟ 
 De lo contrario 
 Mostrar „El numero ingresado es menor o igual a 5‟ 
 Fin Si 
Fin 
DF a Pseudocódigo 
Inicio 
 Mostrar „Ingrese un número‟ 
 Leer X 
 Si (X > 5) 
 Mostrar „El numero ingresado es mayor a 5‟ 
 De lo contrario 
 Mostrar „El numero ingresado es menor o igual a 5‟ 
 Fin Si 
Fin 
15-12-2011 
27 
DF a Pseudocódigo 
Inicio 
 Mostrar „Ingrese un número‟ 
 Leer X 
 i = X 
 Mientras (i > 0) 
 Mostrar i 
 i = i - 1 
 Fin Mientras 
 Mostrar „Terminó la cuenta regresiva‟ 
Fin 
DF a Pseudocódigo 
Inicio 
 Mostrar „Ingrese un número‟ 
 Leer X 
 i = X 
 Mientras (i > 0) 
 Mostrar i 
 i = i - 1 
 Fin Mientras 
 Mostrar „Terminó la cuenta regresiva‟ 
Fin 
15-12-2011 
28 
DF a Pseudocódigo 
Ejercicio: Dibuje el DF del pseudocódigo anterior. 
 
Inicio 
 Mostrar ‘Ingrese un número’ 
 Leer X 
 i = X 
 Mientras (i > 0) 
 Mostrar i 
 i = i - 1 
 Fin Mientras 
 Mostrar ‘Terminó la cuenta regresiva’ 
Fin 
DF a Pseudocódigo 
Problema: Crear un algoritmo que calcule la sumatoria desde 0 
hasta el numero ingresado por teclado. Hacer el DF y luego 
pasarlo a Pseudocódigo. 
 
 
Ejemplo: 
 Numero ingresado = 5 
 
 5 + 4 + 3 + 2 + 1 = 15.

Continuar navegando

Contenido elegido para ti

Otros materiales