Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% encontró este documento útil (0 votos)
64 vistas25 páginas

Algoritmos

Descargar como pdf o txt
Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1/ 25

Fundamentos de

Programación
Tema: Algoritmos

Docente: Ing. Rosario Coral H. MsC


Los programadores son los encargados de crear
lo que las personas sueñan…

Porque si lo puedes IMAGINAR


lo puedes PROGRAMAR
Contenido
1. Resolución de problemas por

Objetivo computadora

Fase de resolución de problemas

Elaborar algoritmos en Análisis del problema


formanarrada para resolver
problemas cualitativos Diseño del Algoritmo

Verificación del algoritmos

Fase de implementación
2. Descripción de Algoritmos en
forma narrada
ALGORITMOS
ALGORITMOS Y PROGRAMAS
Fase de resolución del problema Fase de Implementación

En esta fase incluye el análisis del problema así como el Una vez que el algoritmo esta diseñado mediante una herramienta
diseño y posterior verificación del algoritmo. de programación y verificado se debe pasar a la fase de
codificación en un lenguaje de programación, la ejecución y
comprobación del programa en el ordenador

En este punto se debe centrar en el


objetivo, los datos de entrada
(información dada al algoritmo), los
procesos (operaciones o cálculos
necesarios) y los datos de salida o
resultados finales (respuesta dada Análisis del problema Codificación del
por el algoritmo). algoritmo

Un algoritmo puede ser definido


como una secuencia ordenada de Diseño del Algoritmo
Ejecución del programa
pasos, sin ambigüedades, que
conducen a la solución de un
problema y expresado en lenguaje
natural
• Preciso Verificación Verificación del programa
• Definido del algoritmo
• Finito
Fase de implementación en un Lenguaje
Fase de resolución del problema de Programación

PPrueba de Escritorio
Algoritmos Narrados
Caracterización Elementos Descripción

Se basa en el lenguaje Para desarrollar un algoritmo en Caracterizado porque sigue un


forma narrada se debe identificar proceso de ejecución común y
natural de las personas, sin
en el enunciado del problema tres lógico.
ninguna técnica precisa, elementos que son: Describe textualmente paso a
por lo que se corre el paso cada una de las acciones
riesgo de distorsionar el 1.- El objetivo (a donde debo
a realizar dentro de una
llegar)
verdadero sentido de lo actividad determinada
que se pretende hacer en el 2.- Elementos constitutivos (con Ejemplos:
programa. que cuento)
Algoritmo para elaborar una receta
3.- El o los condicionantes (se Algoritmo para ingresar a la aula
deben respetar) virtual de UIsrael
.
Ejemplo Ingresar Aula Virtual
1. Inicio
2. Ingresa a https://uvirtual.uisrael.edu.ec/
3. Elegir opción de Entrar
4. Ingresar como nombre de usuario su cédula
5. Ingresar como contraseña el número de cédula
6. Cambiar su contraseña
7. Fin
Ejemplo de Algoritmo Narrado
Ejercicio Nro. 1: Diseñar un algoritmo que permita describir los pasos necesarios que realiza una persona para levantarse de
la cama en un día norma y sin despertador (la persona ya esta dormida).

• ANÁLISIS
Objetivo: Levantarse de la cama • PRUEBA DE ESCRITORIO
Elementos Constitutivos: Persona, cama, reloj
Condicionante (s): Día normal y sin despertador

• ALGORITMO

1.- Despertarse
Cuando hacemos una
2.- Abrir los ojos pregunta solo podrá
3.- Mirar la hora ejecutarse solamente lo
4.- Es hora de levantarse? especificado por el SI o
por el NO

SI - Paso 5

NO - Sigo Durmiendo
5.- Levantarse
6.- Fin
Ejemplo de Algoritmo Narrado
Ejercicio Nro. 2: Se tiene 2 recipientes plásticos de 4 y 5 litros respectivamente, se cuenta además con agua en
abundancia ,se desea dejar en el recipiente de 4 litros exactamente 2 litros ,los recipientes no tienen ninguna marca de
medida

• ANALISIS • PRUEBA DE ESCRITORIO


o Objetivo : Dejar 2 litros en el recipiente de 4
o Elementos Constitutivos : 2 recipientes , agua abundante
o El o los condicionantes : Los recipientes no tienen marca de Paso 5ltrs. 4ltrs. Paso 5ltrs. 4ltrs.
medida.

• ALGORITMO

1. Lleno el recipiente de 5 ltrs


2. Paso del de 5 ltrs al de 4 ltrs
3. Boto el contenido del de 4 ltrs
4. Paso del de 5ltrs al de 4 ltrs
5. Lleno el recipiente de 5 ltrs
6. Paso del de 5 ltrs al de 4 ltrs
7. Boto el contenido del de 4 ltrs
8. Paso del de 5ltrs al de 4 ltrs
9. Fin
Ejemplo de Algoritmo Narrado
Ejercicio Nro. 2: Se tiene 2 recipientes plásticos de 4 y 5 litros respectivamente, se cuenta además con agua en
abundancia ,se desea dejar en el recipiente de 4 litros exactamente 2 litros ,los recipientes no tienen ninguna marca de
medida

• ANALISIS • PRUEBA DE ESCRITORIO


o Objetivo : Dejar 2 litros en el recipiente de 4
o Elementos Constitutivos : 2 recipientes , agua abundante
o El o los condicionantes : Los recipientes no tienen marca de Paso 5ltrs. 4ltrs. Paso 5ltrs. 4ltrs.
medida.

• ALGORITMO

1. Lleno el recipiente de 5 ltrs


2. Paso del de 5 ltrs al de 4 ltrs
3. Boto el contenido del de 4 ltrs
4. Paso del de 5ltrs al de 4 ltrs
5. Lleno el recipiente de 5 ltrs
6. Paso del de 5 ltrs al de 4 ltrs
7. Boto el contenido del de 4 ltrs
8. Paso del de 5ltrs al de 4 ltrs
9. Fin
Ejemplo de Algoritmo Narrado
Ejercicio Nro. 3: Optimizando el ejercicio anterior.
Como vemos en el ejercicio anterior, los pasos del 1 al 4 son exactamente los mismos que del 5 al 8, por lo que debemos buscar la
forma de no repetir la escritura de los pasos pero que si se ejecuten porque son necesarios para llegar al objetivo. La solución sería:

• ANÁLISIS • PRUEBA DE ESCRITORIO


o Objetivo : Dejar 2 litros en el recipiente de 4
o Elementos Constitutivos : 2 recipientes , agua abundante
o El o los condicionantes : Los recipientes no tienen marca de medida.
5ltrs. 4ltrs

• ALGORITMO

Si la respuesta a la
1. Inicio condición mientras
2. Repetir está menos de 2
litros en el de 4ltrs.
a. Lleno el recipiente de 5 ltrs sea verdadera, se
b. Paso del de 5 ltrs al de 4 ltrs repite el proceso,
c. Boto el contenido del de 4 ltrs cuando sea falso se
termina el
d. Paso del de 5ltrs al de 4 ltrs algoritmo

3. Mientras (¿están < de 2 ltrs. en el de 4 ltrs?).


4. Fin
FIN
Ejemplo de Algoritmo Narrado
Ejercicio Nro. 4: Que cambios se deberían hacer en el algoritmo anterior para poder dejar (N) litros en el de 4ltrs., donde N es un
número entre 1 y 4 ltrs. posibles que puede almacenar el recipiente.

• ANÁLISIS
o Objetivo : Dejar (N) litros en el recipiente de 4 ltrs.
• PRUEBA DE ESCRITORIO
o Elementos Constitutivos : 2 recipientes , agua abundante
o El o los condicionantes : Los recipientes no tienen marca de
medida. 5ltrs. 4ltrs

• ALGORITMO

Si la respuesta a la
1. Inicio condición mientras
2. Cuántos litros desea dejar en el de 4ltrs. (N) está menos de N
litros en el de 4ltrs.
3. Repetir sea verdadera, se
repite el proceso,
a. Lleno el recipiente de 5 ltrs
cuando sea falso se
b. Paso del de 5 ltrs al de 4 ltrs termina el
c. Boto el contenido del de 4 ltrs algoritmo

d. Paso del de 5ltrs al de 4 ltrs


4. Mientras (están < de (N) ltrs. en el de 4 ltrs).
FIN
5. Fin
Ejemplo de Algoritmo Narrado
Ejercicio Nro. 5: Se tiene 6 objetos de igual forma y tamaño uno de ellos es más pesado. Se cuenta además con una balanza romana;
se desea encontrar el objeto más pesado, utilizando 2 veces la balanza.
.

• ANÁLISIS
o Objetivo : Encontrar el objeto más pesado
• PRUEBA DE ESCRITORIO
o Elementos Constitutivos : 6 objetos , balanza romana
o El o los condicionantes : Utilizar 2 veces la balanza Primera Pesada

• ALGORITMO
B
1. Dividir en 2 grupos de tres (A y B) A

2. Pesar A y B (1ra. pesada)


3. A>B?
Segunda Pesada
Si - En P ponga A
No - En P ponga B
P1 P2
4. Dividir P en 3 (P1, P2, P3)
5. Pesar P1 y P2 (2da. pesada)
6. P1 = P2 ? Para mejor comprensión del algoritmo, realice varias pruebas de
escritorio, poniendo el valor para el elemento diferente en otras
Si - En R ponga P3
posiciones y compruebe paso a paso si se llega al objetivo
No - P1 > P2 ?
Si - En R ponga P1 No - En R ponga P2 Desafío: Encuentre la solución dividiendo inicialmente en tres grupos
7. R es el elemento más pesado de 2 elementos (A, B, C).
8. Fin
Ejemplo de Algoritmo Narrado
Ejercicio Nro. 6: Se tiene 12 objetos de igual forma y tamaño uno de ellos es más liviano. Se cuenta además con una balanza romana;
se desea encontrar el objeto más liviano, utilizando 3 veces la balanza.
.
• ANÁLISIS • PRUEBA DE ESCRITORIO
o Objetivo : Encontrar el objeto más liviano.
o Elementos Constitutivos : 12 objetos , balanza romana
o El o los condicionantes : Utilizar 3 veces la balanza

• ALGORITMO
1. Dividir en 2 grupos de 6 (A y B )
2. Pesar A y B (1ra. pesada)
3. A<B?
Si - En L ponga A
No - En L ponga B
4. Dividir L en 3 grupos de 2 ( L1, L2, L3 )
5. Pesar L1 y L2 (2da. pesada)
6. L1 = L2 ?
Si - En Q ponga L3
No - L1 < L2 ?
Si - En Q ponga L1
No - En Q ponga L2
7. Dividir Q en 2 (Q1 y Q2 )
8. Pesar Q1 y Q2 (3ra. pesada)
9. Q1 < Q2 ?
Si - En R ponga Q1
No - En R ponga Q2
10. R es el elemento más liviano
11. Fin
Para mejor comprensión del algoritmo, realice varias pruebas de escritorio, poniendo el
valor para el elemento diferente en otras posiciones y compruebe paso a paso si se llega al
objetivo.
Otro 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 está solvente entonces la empresa
acepta el pedido en caso contrario, rechazará el pedido
Análisis
● Entrada:

○ Datos del cliente, pedido.


● Proceso:

○ Verificar solvencia del cliente.


● Salida:

○ Aceptar o rechazar pedido.


Solución cont.
● Algoritmo: Pedido
1. Inicio.
2. Leer datos del cliente y el pedido.
3. Examinar la ficha del cliente
4. Si el cliente es solvente, aceptar pedido; en caso contrario, rechazar pedido
5. Fin
Resolver
● Escriba un Algoritmo para obtener el promedio de tres notas
Solución
1. Inicio
2. Ingresar las tres notas
3. Sumar las tres notas
4. Dividir el resultado de la suma entre tres
5. Mostrar el Promedio
6. Fin
Resolver
• Se tiene 3 números reales a,b,c y se desea saber cual es el mayor.
• Hacer un algoritmo narrado para resolver el problema
Solución

1. Inicio

2. Leer a,b,c

3. Si (a > b) AND (a > c) Entonces Mostrar “el número mayor es a”

4. Sino (b > a) AND (b > c) Entonces Mostrar “el número mayor es b”

5. Sino (c > a) AND (c > b) Entonces Mostrar “el número mayor es c”

6. Sino (a=b) AND (b=c) Entonces Mostrar “Los números ingresados son iguales

7. Fin
Referencias Bibliográficas
● Fundamentos de programación – Libro de problemas
● Algoritmos a fondo con implementaciones en C y Java

○ http://site.ebrary.com/lib/uisraelsp/reader.action?docID=10779528
● Fundamentos de programación en Lenguaje C

○ http://site.ebrary.com/lib/uisraelsp/reader.action?docID=10378493
Diseño instruccional
● Revisar las referencias bibliográficas

○ En especial los links en español

● Resolver los ejercicios propuestos de la plataforma con algoritmos narrados


Diseño instruccional
1. Se tiene 8 objetos de igual forma y tamaño, uno de ellos es más pesado, se cuenta además
con una balanza romana; encontrar el elemento más pesado utilizando 3 veces la balanza.

2. Se tiene 9 elementos de igual forma y tamaño, uno de ellos es más liviano, se cuenta con una
balanza romana; encontrar el elemento más liviano utilizando 2 veces la balanza.

3. Se tiene 24 objetos de igual apariencia física, uno de los cuales es más pesado. Escribir un
algoritmo que permita identificar al objeto más pesado, utilizando una balanza romana en un
máximo de 4 pesadas.

4. Se tiene 12 objetos de igual forma y tamaño, uno de ellos es más pesado o más liviano, se
cuenta con una balanza romana, encontrar el elemento diferente y determinar y es más
pesado o más liviano utilizando 4 veces la balanza.
Gracias

Responsabilidad con pensamiento positivo

También podría gustarte