SlideShare una empresa de Scribd logo
1 de 79
Tema 1
Algoritmos
Algoritmos
• ¿Que es un algoritmo?
– “Una lista de instrucciones donde se especifica
una sucesión de operaciones necesarias para
resolver cualquier problema de un tipo dado”.
– Ejemplo sumar dos números

IWI-131 - Tema 1 Algoritmos
Algoritmos

IWI-131 - Tema 1 Algoritmos
Algoritmos

491
+ 25
516

1.
2.
3.
4.
5.
6.
7.
8.

5+1=6
Anotar 6
2+9=11
Anotar 1 y guardar 1
4+0=4
4+1=5
Anotar 5
El resultado es 516

IWI-131 - Tema 1 Algoritmos
Algoritmos

V
+ F
F

+
V

V

V

V

F

F

F

V

F

F

F

F

IWI-131 - Tema 1 Algoritmos
Algoritmos

san
+ sano
sansano
IWI-131 - Tema 1 Algoritmos
Algoritmos
• Entrada
– ¿Qué se necesita para realizar los pasos?

• Salida
– ¿Que se obtiene al final del algoritmo?

• Tipos de datos
– Números: enteros, reales, complejos
– Texto: letras, palabras, frases
– Otros
IWI-131 - Tema 1 Algoritmos
Algoritmos
• Sirven para resolver un tipo de problema
especifico.
• Son secuencias de pasos concretos.
• Requiere la definición de la entrada y la
salida.
• Adecuados para ser ejecutados por un
computador
IWI-131 - Tema 1 Algoritmos
Algoritmos
• ¿Qué tiene que ver con la programación?
– La programación consiste en crear programas
de computador que resuelvan problemas
específicos.
– Un programa de computador es la
implementación de un algoritmo.

IWI-131 - Tema 1 Algoritmos
Algoritmos
• ¿Qué es un programa de computador?
– Es una secuencia de pasos a ejecutar
– Los pasos están descritos en un lenguaje
especial.
– Este lenguaje se puede traducir al lenguaje del
computador.
– Por lo general es un archivo de texto.
– El texto escrito en dicho lenguaje se denomina
el código del programa.
IWI-131 - Tema 1 Algoritmos
Descripción de un algoritmo
• Es necesario contar con formas de expresar
algoritmos
– Diseño del algoritmo antes de codificar
– Diseño del algoritmo de manera independiente del
lenguaje de programación

• Diferentes alternativas
– Pseudo - código
– Diagramas de flujo
– Diagramas de Nassi-Schneidermann
IWI-131 - Tema 1 Algoritmos
Descripción de un algoritmo
• Pseudo – código
– El algoritmo se expresa en lenguaje natural
– Expresa de manera genérica los pasos del
algoritmo
– No provee detalles de la implementación
particular del código final

IWI-131 - Tema 1 Algoritmos
Descripción de un algoritmo
• Diagramas de flujo
– Presentan el algoritmo de manera gráfica.
– De gran utilidad para seguir la “ruta” de un
algoritmo.
– Aplicables a muchas otras disciplinas.

IWI-131 - Tema 1 Algoritmos
Descripción de un algoritmo
• Diagrama de Nassi-Schneidermann
–
–
–
–

También se denominan diagramas de caja.
Menos usado que el diagrama de flujo
Mas ordenado
Ocupa mucho espacio para representar
algoritmos complejos.

IWI-131 - Tema 1 Algoritmos
Construcción de un algoritmo
1.
2.
3.
4.

Definir el problema a resolver
Identificar las entradas del algoritmo
Identificar la salida del algoritmo
Definir los pasos a seguir para convertir las
entradas en la salida
5. Seguir los pasos y comprobar que el algoritmo
sea correcto analizando la salida.
6. Revisar los pasos y hacer las correcciones.
7. Resolver el problema.
IWI-131 - Tema 1 Algoritmos
Construcción de un algoritmo
•

Construcción de un programa
1. Definir el problema a resolver
2. Definir el algoritmo que lo resuelve
3. Escribir el programa
•

1.
2.
3.
4.

Escribir cada uno de los pasos del algoritmo en el lenguaje de
programación

Ejecutar el programa en el computador
Verificar que las salidas sean correctas
Hacer correcciones al programa
Resolver el problema
IWI-131 - Tema 1 Algoritmos
Construcción de un algoritmo
• Ejemplo:
– Objetivo: Calcular el precio de una manzana
– Entradas
• Precio (en pesos) del kilo de manzanas [K]
• Peso (en gramos) promedio de una manzana[P]

– Salida
• Precio (en pesos) de una manzana [M]

IWI-131 - Tema 1 Algoritmos
Construcción de un algoritmo
Inicio
Ingresar valor de K y P
Calcular G = K/100
Calcular M = G x P
Devolver el valor de M
Fin.
IWI-131 - Tema 1 Algoritmos
Construcción de un algoritmo
Ingresar K y P
G=K/1000
M=G x P
Devolver M

IWI-131 - Tema 1 Algoritmos
Construcción de un algoritmo

Ingresar K y P
G=K/1000
M=G x P
Devolver M

IWI-131 - Tema 1 Algoritmos
Construcción de un algoritmo
• Operaciones básicas
–
–
–
–
–
–

Entrada de datos
Salida de datos
Utilización de variables
Utilización de constantes
Aplicación de operadores
Asignación de valores

• Combinación de operaciones básicas
– Secuencial
– Selectiva
– Repetitiva
IWI-131 - Tema 1 Algoritmos
Entrada de datos
• Los algoritmos son para solucionar tipos de
problemas
• Es imprescindible poder entregar entradas
distintas en cada ejecución
• La entrada de datos se realiza mediante
algún dispositivo

IWI-131 - Tema 1 Algoritmos
Entrada de datos
• Dispositivos de entrada
–
–
–
–
–
–
–

Teclado
Mouse
Botones
Censores de tacto
Cámaras digitales
Scanners
Archivos
IWI-131 - Tema 1 Algoritmos
Entrada de datos

IWI-131 - Tema 1 Algoritmos
Entrada de datos
• Cada dispositivo tiene distintas
características.
• Por lo general, sirven para cosas distintas
• Los sistemas definen un dispositivo de
entrada por defecto
– Este dispositivo se denomina la entrada
estándar.
– En un computador suele ser el teclado.
IWI-131 - Tema 1 Algoritmos
Salida de datos
• De nada sirve implementar un algoritmo si
no podemos saber su resultado.
• Al finalizar el algoritmo (o durante), es
imprescindible obtener la información
resultante de su ejecución.
• La salida de datos se realiza mediante
dispositivos.
IWI-131 - Tema 1 Algoritmos
Salida de datos
• Dispositivos de salida
–
–
–
–
–
–
–

Pantalla
Impresora
Parlantes
Tableros luminosos
Motores
Tarjeta de red
Archivos
IWI-131 - Tema 1 Algoritmos
Salida de datos
C:

IWI-131 - Tema 1 Algoritmos
Salida de datos
• Al igual que con la entrada, cada
dispositivo tiene finalidades distintas.
• Los sistemas definen un dispositivo de
salida por defecto
– Este dispositivo se denomina la salida
estándar.
– En un computador suele ser la pantalla.
IWI-131 - Tema 1 Algoritmos
Utilización de variables
• Durante la ejecución del algoritmo, es
importante recordar los resultados parciales
de cada paso.
• Estos resultados se etiquetan con un
nombre.
• Al invocar con posterioridad ese nombre,
recuperamos el resultados parcial.
IWI-131 - Tema 1 Algoritmos
Utilización de variables
K es un dato de entrada, y también
Se considera una variable

G=K/1000

Esta variable se denomina G y
se utiliza para recordar el
valor de un gramo de
manzana. IWI-131 - Tema 1 Algoritmos
Utilización de variables
• La principal característica de una variable
es que su valor puede cambiar en el tiempo.
• Usualmente se compara con una caja donde
se puede almacenar una sola “cosa”.
• Por lo general, las variables se definen con
un tipo de dato.
• El tipo de dato restringe que tipo de “cosas”
se pueden guardar en las “cajas”.
IWI-131 - Tema 1 Algoritmos
Utilización de constantes
• Además de las variables, un algoritmo
requiere de constantes.
• A diferencia de las variables, su valor no
puede cambiar en el tiempo.
• Las constantes también pueden recibir
nombres para mayor claridad.
– Ej.: PI = 3.1415
IWI-131 - Tema 1 Algoritmos
Utilización de constantes

G=K/1000
La constante “1000” sirva para
transformar el valor Por kilo a un
valor por gramo
IWI-131 - Tema 1 Algoritmos
Aplicación de operadores
• Para obtener resultados, generalmente es necesario
“transformar” las entradas en la salida.
• Para esto se aplican operadores de distinta índole
– Aritméticos ( + , - , * , / )
– Lógicos (igual que, mayor que, menor que, y, o, no)
– Etc.

• Los operadores requieren de operandos y entregan
un resultado.
• Por lo general, los operadores son unarios o
binarios.
IWI-131 - Tema 1 Algoritmos
Aplicación de operadores
operandos

M=G * P
operador

IWI-131 - Tema 1 Algoritmos
Asignación de valores
• El resultado de un operador se puede
almacenar en una variable.
• Para esto se utiliza un tipo especial de
operador.
• Este es el operador de asignación.
• Solo se pueden asignar valores a variables,
no a constantes
IWI-131 - Tema 1 Algoritmos
Asignación de valores
Operador de asignación

M=G * P

El resultado de GxP se asigna a la variable M

IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
• Secuencial
– Un conjunto de operaciones básicas pueden ser
ejecutadas en forma secuencial.
– Una operación no inicia hasta que la anterior
termina

IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
Diagrama de flujo
Diagrama de Nassi-Schneidermann

Ingresar K y P
Ingresar K y P
G=K/1000
M=G * P

G=K/1000

Ingresar K=200 y P=250
G tiene el valor 0,2

M=G * P
Devolver M

Devolver M
IWI-131 - Tema 1 Algoritmos

M tiene el valor 50
Combinación de operaciones básicas
• Selectiva
– Un algoritmo puede optar por ejecutar o no una
operación (SI –ENTONCES).
– Un algoritmo puede optar por ejecutar una u
otra operación (SI-ENTONCES-SINO).
– Esta decisión se basa en un condición.
– Esta decisión controla el flujo del algoritmo.
– Por esto, se denomina una estructura de control.
IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
1
2
C
3
4
IWI-131 - Tema 1 Algoritmos

C: Condición
Combinación de operaciones básicas
1
2
C
si

no
3
4
C: Condición

IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
Inicio
Ejecutar 1
Ejecutar 2
si se cumple C entonces
Ejecutar 3
fin si
Ejecutar 4
fin
IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
• Ejemplo: levantarse en la mañana
Inicio
salir de la cama
ducharse
tomar desayuno
si esta lloviendo entonces
tomar el paraguas
fin si
tomar la mochila
tomar la micro
fin
IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
1
2
si

C

3a

no
3b

4

C: Condición

IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
1
2
C
si

no
3a

3b
4
C: Condición

IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
Inicio
Ejecutar 1
Ejecutar 2
si se cumple C entonces
Ejecutar 3a
si no
Ejecutar 3b
fin si
Ejecutar 4
fin
IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
• Ejemplo: levantarse en la mañana
Inicio
salir de la cama
ducharse
tomar desayuno
si esta lloviendo entonces
llevar la parca
si no
llevar la chaqueta
fin si
tomar la mochila
tomar la micro
fin
IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
• Estructura de control selectiva
– Una condición es cualquier proposición lógica
que tenga un valor verdadero o falso definido.
– Este esquema selectivo se denomina “decision
binaria”.
– ¿Y si hay más de dos opciones?

IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
• Estructura de control selectiva
– Toda decisión se puede llevar a un esquema de
decisión binaria.
– Basta con decidir entre una alternativa y todo el
resto
– Si se elige “el resto”, se decide entre una
alternativa y el resto del resto.
– Etc…
IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
1
x mayor que 0
x?

x menor que 0

x igual a 0
2a

2b

3

IWI-131 - Tema 1 Algoritmos

2c
Combinación de operaciones básicas
1
si
x mayor que 0?

x menor que 0?

no
2a

no

2b
3

IWI-131 - Tema 1 Algoritmos

si
2c
Combinación de operaciones básicas
1
x mayor que 0?

si

x menor que 0?

no
2a

no

2b

3
IWI-131 - Tema 1 Algoritmos

si
2c
Combinación de operaciones básicas
Inicio
Ejecutar 1
Si x es mayor que cero entonces
Ejecutar 2a
Si no
Si x es menor que cero entonces
Ejecutar 2c
Si no
Ejecutar 2b
fin si
fin si
Ejecutar 3
fin
IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
• Ejemplo: levantarse en la mañana
Inicio
salir de la cama
ducharse
tomar desayuno
si esta lloviendo entonces
llevar la parca
si no esta lloviendo pero hace frío
llevar la chaqueta
si no
llevar un chaleco
fin si
tomar la mochila
tomar la micro
IWI-131 - Tema 1 Algoritmos
fin
Combinación de operaciones básicas
• Estructura de selección múltiple
– Para algunos casos se puede utilizar un esquema
selectivo no binario (EN EL CASO DE)
– Ejemplo: ingreso de opción de menú de un cajero
automático
•
•
•
•

Si el usuario presionó el botón 1, hacer un giro
Si el usuario presionó el botón 2, entregar saldo
Si el usuario presionó el botón 3, cambiar la clave
Etc.

IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas

Botón
1

2

3

giro

saldo

clave

etoc

…

salir
IWI-131 - Tema 1 Algoritmos

error
Combinación de operaciones básicas
Botón
1

giro

2

saldo

etoc

3

clave

…

salir
IWI-131 - Tema 1 Algoritmos

error
Combinación de operaciones básicas
Inicio
en el caso que el botón presionado
sea el 1
hacer giro
sea el 2
entregar saldo
sea el 3
cambiar clave
…
En cualquier otro caso
Error
fin caso
fin
IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
• Repetitiva
– Además de combinar operaciones en forma
secuencial y selectiva, se puede repetir la
ejecución de una operación cuantas veces se
desee.
– Existen varios esquemas
• Repetir MIENTRAS se cumpla una condición.
• Repetir HASTA QUE se cumpla una condición.
• Repetir un número de veces.
IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
• MIENTRAS
– Se repite una operación mientras una condición
sea verdadera.
– Al dejar de serlo, se rompe el ciclo
– Si la condición nunca es falsa, se tiene un ciclo
infinito.

IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
1
C

no

si
2

3
C: Condición

IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
1
C

2

3
C: Condición

IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
Inicio
ejecutar 1
mientras se cumpla la condición
ejecutar 2
fin mientras
ejecutar 3
fin
IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
• Ejemplo validar ingreso de valor positivo
Inicio
definir variable x
asignar el valor -1 a x
mientras x sea menor que cero
ingresar x por teclado
fin mientras
mostrar valor de x
fin
IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
• HASTA QUE
– Se repite la ejecución de una operación hasta
que se cumpla una condición.
– La principal diferencia con MIENTRAS es que
la operación se ejecuta al menos una vez.

IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
1

2
no

C
si
3
C: Condición

IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
1

2

C
3
C: Condición

IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
Inicio
ejecutar 1
repetir
ejecutar 2
hasta que se cumpla condición
ejecutar 3
fin
IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
• Ejemplo
– Mismo ejemplo anterior
Inicio
definir variable x
repetir
ingresar x por teclado
Hasta que x sea mayor que cero
mostrar valor de x
fin
IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
• Repetir un número fijo de veces
– Muy útil cuando se sabe el numero de
repeticiones a ejecutar.
– Por lo general se define una variable que sirve
de contador
– El contador mantiene el número de cada
iteración.
– También se puede definir el incremento del
contador en cada iteración.
IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
1

Inicio contador, fin contador

2

3
IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
1
Inicio contador, fin contador

2

3
IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
Inicio
ejecutar 1
desde contador inicial hasta
contador final
ejecutar 2
fin desde
ejecutar 3
fin
IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
• Ejemplo

5

∑i
i =0

Inicio
definir variable “sumatoria”
asignar el valor 0 a “sumatoria”
desde i igual a 0 hasta i igual a 5
sumatoria = sumatoria + i
fin desde
mostrar valor de “sumatoria”
fin
IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
• Combinación de estructuras de control
seriales, selectivas y repetitivas
– Cualquier combinación es posible
– Pueden existir estructuras anidadas
– Es importante definir el comienzo y el termino
de cada estructura

IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
• Ejemplos
– Cachi-pun
– Ordenar objetos

IWI-131 - Tema 1 Algoritmos
Fin tema 1
Algoritmos

Más contenido relacionado

Destacado

Poniendo al descubierto el talante democrático del pp
Poniendo al descubierto el talante democrático del ppPoniendo al descubierto el talante democrático del pp
Poniendo al descubierto el talante democrático del pppalma_socialista
 
Instrucciones para consulta de resultados
Instrucciones para consulta de resultadosInstrucciones para consulta de resultados
Instrucciones para consulta de resultadosnanchip
 
experiencia significativa
experiencia significativaexperiencia significativa
experiencia significativalichedoncella
 
Conv. camp. master 2013
Conv. camp. master 2013Conv. camp. master 2013
Conv. camp. master 2013agssports.com
 
Presupuesto del Ayuntamiento de Madrid 2012. Un presupuesto al servicio de la...
Presupuesto del Ayuntamiento de Madrid 2012. Un presupuesto al servicio de la...Presupuesto del Ayuntamiento de Madrid 2012. Un presupuesto al servicio de la...
Presupuesto del Ayuntamiento de Madrid 2012. Un presupuesto al servicio de la...Grupo del PSOE en el Ayuntamiento de Madrid
 
Problema del eidos 2011
Problema del eidos 2011Problema del eidos 2011
Problema del eidos 2011untecs
 
Planteamiento de objetivos
Planteamiento de objetivosPlanteamiento de objetivos
Planteamiento de objetivosalbycom
 
Tarea de equipos de computo jaime coello
Tarea de equipos de computo jaime coelloTarea de equipos de computo jaime coello
Tarea de equipos de computo jaime coelloJaime Coello
 
# 2 aspectos a considerar en el desarrollo del estudio
# 2 aspectos a considerar en el desarrollo del estudio# 2 aspectos a considerar en el desarrollo del estudio
# 2 aspectos a considerar en el desarrollo del estudioYazmin Garcia
 
Presentacion Ever VR
Presentacion Ever VRPresentacion Ever VR
Presentacion Ever VREver Vargas R
 

Destacado (20)

Presentación1
Presentación1Presentación1
Presentación1
 
Poniendo al descubierto el talante democrático del pp
Poniendo al descubierto el talante democrático del ppPoniendo al descubierto el talante democrático del pp
Poniendo al descubierto el talante democrático del pp
 
Corte
CorteCorte
Corte
 
Normas apa
Normas apaNormas apa
Normas apa
 
Instrucciones para consulta de resultados
Instrucciones para consulta de resultadosInstrucciones para consulta de resultados
Instrucciones para consulta de resultados
 
experiencia significativa
experiencia significativaexperiencia significativa
experiencia significativa
 
Práctica 1b
Práctica 1bPráctica 1b
Práctica 1b
 
Conv. camp. master 2013
Conv. camp. master 2013Conv. camp. master 2013
Conv. camp. master 2013
 
Proceso del cantero
Proceso del canteroProceso del cantero
Proceso del cantero
 
Presupuesto del Ayuntamiento de Madrid 2012. Un presupuesto al servicio de la...
Presupuesto del Ayuntamiento de Madrid 2012. Un presupuesto al servicio de la...Presupuesto del Ayuntamiento de Madrid 2012. Un presupuesto al servicio de la...
Presupuesto del Ayuntamiento de Madrid 2012. Un presupuesto al servicio de la...
 
Programa sintetizado
Programa sintetizadoPrograma sintetizado
Programa sintetizado
 
Proyecto de intervención familiar LIE
Proyecto de intervención familiar LIEProyecto de intervención familiar LIE
Proyecto de intervención familiar LIE
 
Problema del eidos 2011
Problema del eidos 2011Problema del eidos 2011
Problema del eidos 2011
 
Planteamiento de objetivos
Planteamiento de objetivosPlanteamiento de objetivos
Planteamiento de objetivos
 
Tarea de equipos de computo jaime coello
Tarea de equipos de computo jaime coelloTarea de equipos de computo jaime coello
Tarea de equipos de computo jaime coello
 
Colores
ColoresColores
Colores
 
Software
SoftwareSoftware
Software
 
Taller2
Taller2Taller2
Taller2
 
# 2 aspectos a considerar en el desarrollo del estudio
# 2 aspectos a considerar en el desarrollo del estudio# 2 aspectos a considerar en el desarrollo del estudio
# 2 aspectos a considerar en el desarrollo del estudio
 
Presentacion Ever VR
Presentacion Ever VRPresentacion Ever VR
Presentacion Ever VR
 

Similar a Algoritmos (20)

Desarrollo lógico y algoritmo en la programación
Desarrollo lógico y algoritmo en la programaciónDesarrollo lógico y algoritmo en la programación
Desarrollo lógico y algoritmo en la programación
 
01-algoritmos.ppt
01-algoritmos.ppt01-algoritmos.ppt
01-algoritmos.ppt
 
algoritmos.ppt
algoritmos.pptalgoritmos.ppt
algoritmos.ppt
 
Algortimos daniel
Algortimos danielAlgortimos daniel
Algortimos daniel
 
Algoritmos.ppt
Algoritmos.pptAlgoritmos.ppt
Algoritmos.ppt
 
Algoritmos.pdf
Algoritmos.pdfAlgoritmos.pdf
Algoritmos.pdf
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
01 algoritmos
01 algoritmos01 algoritmos
01 algoritmos
 
01 algoritmo
01 algoritmo01 algoritmo
01 algoritmo
 
Clases de algoritmo
Clases de algoritmoClases de algoritmo
Clases de algoritmo
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
4 algoritmos
4 algoritmos4 algoritmos
4 algoritmos
 
Algoritmos computacionales y programación: 1
 Algoritmos computacionales y programación: 1 Algoritmos computacionales y programación: 1
Algoritmos computacionales y programación: 1
 
01 algoritmos
01 algoritmos01 algoritmos
01 algoritmos
 
01 algoritmos
01 algoritmos01 algoritmos
01 algoritmos
 
01 algoritmos
01 algoritmos01 algoritmos
01 algoritmos
 
ALGORITMOS
ALGORITMOSALGORITMOS
ALGORITMOS
 
Introducción a la programación y la informática. Tema 1
Introducción a la programación y la informática. Tema 1Introducción a la programación y la informática. Tema 1
Introducción a la programación y la informática. Tema 1
 
Clase 1
Clase 1Clase 1
Clase 1
 

Más de Ricardo Mejia

Más de Ricardo Mejia (11)

Activacion avast
Activacion avastActivacion avast
Activacion avast
 
Loei
LoeiLoei
Loei
 
Acuerdo 307-11
Acuerdo 307-11Acuerdo 307-11
Acuerdo 307-11
 
Publicación de emprendimiento
Publicación de emprendimientoPublicación de emprendimiento
Publicación de emprendimiento
 
trabajo con fotografia digital
trabajo con fotografia digitaltrabajo con fotografia digital
trabajo con fotografia digital
 
A las puertas_de_la_navidad
A las puertas_de_la_navidadA las puertas_de_la_navidad
A las puertas_de_la_navidad
 
Malla bgu
Malla bguMalla bgu
Malla bgu
 
Presentacion inicial
Presentacion inicialPresentacion inicial
Presentacion inicial
 
Torres gemelas
Torres gemelasTorres gemelas
Torres gemelas
 
Publicidad en internet
Publicidad en internetPublicidad en internet
Publicidad en internet
 
Trendelavida
TrendelavidaTrendelavida
Trendelavida
 

Algoritmos

  • 2. Algoritmos • ¿Que es un algoritmo? – “Una lista de instrucciones donde se especifica una sucesión de operaciones necesarias para resolver cualquier problema de un tipo dado”. – Ejemplo sumar dos números IWI-131 - Tema 1 Algoritmos
  • 4. Algoritmos 491 + 25 516 1. 2. 3. 4. 5. 6. 7. 8. 5+1=6 Anotar 6 2+9=11 Anotar 1 y guardar 1 4+0=4 4+1=5 Anotar 5 El resultado es 516 IWI-131 - Tema 1 Algoritmos
  • 7. Algoritmos • Entrada – ¿Qué se necesita para realizar los pasos? • Salida – ¿Que se obtiene al final del algoritmo? • Tipos de datos – Números: enteros, reales, complejos – Texto: letras, palabras, frases – Otros IWI-131 - Tema 1 Algoritmos
  • 8. Algoritmos • Sirven para resolver un tipo de problema especifico. • Son secuencias de pasos concretos. • Requiere la definición de la entrada y la salida. • Adecuados para ser ejecutados por un computador IWI-131 - Tema 1 Algoritmos
  • 9. Algoritmos • ¿Qué tiene que ver con la programación? – La programación consiste en crear programas de computador que resuelvan problemas específicos. – Un programa de computador es la implementación de un algoritmo. IWI-131 - Tema 1 Algoritmos
  • 10. Algoritmos • ¿Qué es un programa de computador? – Es una secuencia de pasos a ejecutar – Los pasos están descritos en un lenguaje especial. – Este lenguaje se puede traducir al lenguaje del computador. – Por lo general es un archivo de texto. – El texto escrito en dicho lenguaje se denomina el código del programa. IWI-131 - Tema 1 Algoritmos
  • 11. Descripción de un algoritmo • Es necesario contar con formas de expresar algoritmos – Diseño del algoritmo antes de codificar – Diseño del algoritmo de manera independiente del lenguaje de programación • Diferentes alternativas – Pseudo - código – Diagramas de flujo – Diagramas de Nassi-Schneidermann IWI-131 - Tema 1 Algoritmos
  • 12. Descripción de un algoritmo • Pseudo – código – El algoritmo se expresa en lenguaje natural – Expresa de manera genérica los pasos del algoritmo – No provee detalles de la implementación particular del código final IWI-131 - Tema 1 Algoritmos
  • 13. Descripción de un algoritmo • Diagramas de flujo – Presentan el algoritmo de manera gráfica. – De gran utilidad para seguir la “ruta” de un algoritmo. – Aplicables a muchas otras disciplinas. IWI-131 - Tema 1 Algoritmos
  • 14. Descripción de un algoritmo • Diagrama de Nassi-Schneidermann – – – – También se denominan diagramas de caja. Menos usado que el diagrama de flujo Mas ordenado Ocupa mucho espacio para representar algoritmos complejos. IWI-131 - Tema 1 Algoritmos
  • 15. Construcción de un algoritmo 1. 2. 3. 4. Definir el problema a resolver Identificar las entradas del algoritmo Identificar la salida del algoritmo Definir los pasos a seguir para convertir las entradas en la salida 5. Seguir los pasos y comprobar que el algoritmo sea correcto analizando la salida. 6. Revisar los pasos y hacer las correcciones. 7. Resolver el problema. IWI-131 - Tema 1 Algoritmos
  • 16. Construcción de un algoritmo • Construcción de un programa 1. Definir el problema a resolver 2. Definir el algoritmo que lo resuelve 3. Escribir el programa • 1. 2. 3. 4. Escribir cada uno de los pasos del algoritmo en el lenguaje de programación Ejecutar el programa en el computador Verificar que las salidas sean correctas Hacer correcciones al programa Resolver el problema IWI-131 - Tema 1 Algoritmos
  • 17. Construcción de un algoritmo • Ejemplo: – Objetivo: Calcular el precio de una manzana – Entradas • Precio (en pesos) del kilo de manzanas [K] • Peso (en gramos) promedio de una manzana[P] – Salida • Precio (en pesos) de una manzana [M] IWI-131 - Tema 1 Algoritmos
  • 18. Construcción de un algoritmo Inicio Ingresar valor de K y P Calcular G = K/100 Calcular M = G x P Devolver el valor de M Fin. IWI-131 - Tema 1 Algoritmos
  • 19. Construcción de un algoritmo Ingresar K y P G=K/1000 M=G x P Devolver M IWI-131 - Tema 1 Algoritmos
  • 20. Construcción de un algoritmo Ingresar K y P G=K/1000 M=G x P Devolver M IWI-131 - Tema 1 Algoritmos
  • 21. Construcción de un algoritmo • Operaciones básicas – – – – – – Entrada de datos Salida de datos Utilización de variables Utilización de constantes Aplicación de operadores Asignación de valores • Combinación de operaciones básicas – Secuencial – Selectiva – Repetitiva IWI-131 - Tema 1 Algoritmos
  • 22. Entrada de datos • Los algoritmos son para solucionar tipos de problemas • Es imprescindible poder entregar entradas distintas en cada ejecución • La entrada de datos se realiza mediante algún dispositivo IWI-131 - Tema 1 Algoritmos
  • 23. Entrada de datos • Dispositivos de entrada – – – – – – – Teclado Mouse Botones Censores de tacto Cámaras digitales Scanners Archivos IWI-131 - Tema 1 Algoritmos
  • 24. Entrada de datos IWI-131 - Tema 1 Algoritmos
  • 25. Entrada de datos • Cada dispositivo tiene distintas características. • Por lo general, sirven para cosas distintas • Los sistemas definen un dispositivo de entrada por defecto – Este dispositivo se denomina la entrada estándar. – En un computador suele ser el teclado. IWI-131 - Tema 1 Algoritmos
  • 26. Salida de datos • De nada sirve implementar un algoritmo si no podemos saber su resultado. • Al finalizar el algoritmo (o durante), es imprescindible obtener la información resultante de su ejecución. • La salida de datos se realiza mediante dispositivos. IWI-131 - Tema 1 Algoritmos
  • 27. Salida de datos • Dispositivos de salida – – – – – – – Pantalla Impresora Parlantes Tableros luminosos Motores Tarjeta de red Archivos IWI-131 - Tema 1 Algoritmos
  • 28. Salida de datos C: IWI-131 - Tema 1 Algoritmos
  • 29. Salida de datos • Al igual que con la entrada, cada dispositivo tiene finalidades distintas. • Los sistemas definen un dispositivo de salida por defecto – Este dispositivo se denomina la salida estándar. – En un computador suele ser la pantalla. IWI-131 - Tema 1 Algoritmos
  • 30. Utilización de variables • Durante la ejecución del algoritmo, es importante recordar los resultados parciales de cada paso. • Estos resultados se etiquetan con un nombre. • Al invocar con posterioridad ese nombre, recuperamos el resultados parcial. IWI-131 - Tema 1 Algoritmos
  • 31. Utilización de variables K es un dato de entrada, y también Se considera una variable G=K/1000 Esta variable se denomina G y se utiliza para recordar el valor de un gramo de manzana. IWI-131 - Tema 1 Algoritmos
  • 32. Utilización de variables • La principal característica de una variable es que su valor puede cambiar en el tiempo. • Usualmente se compara con una caja donde se puede almacenar una sola “cosa”. • Por lo general, las variables se definen con un tipo de dato. • El tipo de dato restringe que tipo de “cosas” se pueden guardar en las “cajas”. IWI-131 - Tema 1 Algoritmos
  • 33. Utilización de constantes • Además de las variables, un algoritmo requiere de constantes. • A diferencia de las variables, su valor no puede cambiar en el tiempo. • Las constantes también pueden recibir nombres para mayor claridad. – Ej.: PI = 3.1415 IWI-131 - Tema 1 Algoritmos
  • 34. Utilización de constantes G=K/1000 La constante “1000” sirva para transformar el valor Por kilo a un valor por gramo IWI-131 - Tema 1 Algoritmos
  • 35. Aplicación de operadores • Para obtener resultados, generalmente es necesario “transformar” las entradas en la salida. • Para esto se aplican operadores de distinta índole – Aritméticos ( + , - , * , / ) – Lógicos (igual que, mayor que, menor que, y, o, no) – Etc. • Los operadores requieren de operandos y entregan un resultado. • Por lo general, los operadores son unarios o binarios. IWI-131 - Tema 1 Algoritmos
  • 36. Aplicación de operadores operandos M=G * P operador IWI-131 - Tema 1 Algoritmos
  • 37. Asignación de valores • El resultado de un operador se puede almacenar en una variable. • Para esto se utiliza un tipo especial de operador. • Este es el operador de asignación. • Solo se pueden asignar valores a variables, no a constantes IWI-131 - Tema 1 Algoritmos
  • 38. Asignación de valores Operador de asignación M=G * P El resultado de GxP se asigna a la variable M IWI-131 - Tema 1 Algoritmos
  • 39. Combinación de operaciones básicas • Secuencial – Un conjunto de operaciones básicas pueden ser ejecutadas en forma secuencial. – Una operación no inicia hasta que la anterior termina IWI-131 - Tema 1 Algoritmos
  • 40. Combinación de operaciones básicas Diagrama de flujo Diagrama de Nassi-Schneidermann Ingresar K y P Ingresar K y P G=K/1000 M=G * P G=K/1000 Ingresar K=200 y P=250 G tiene el valor 0,2 M=G * P Devolver M Devolver M IWI-131 - Tema 1 Algoritmos M tiene el valor 50
  • 41. Combinación de operaciones básicas • Selectiva – Un algoritmo puede optar por ejecutar o no una operación (SI –ENTONCES). – Un algoritmo puede optar por ejecutar una u otra operación (SI-ENTONCES-SINO). – Esta decisión se basa en un condición. – Esta decisión controla el flujo del algoritmo. – Por esto, se denomina una estructura de control. IWI-131 - Tema 1 Algoritmos
  • 42. Combinación de operaciones básicas 1 2 C 3 4 IWI-131 - Tema 1 Algoritmos C: Condición
  • 43. Combinación de operaciones básicas 1 2 C si no 3 4 C: Condición IWI-131 - Tema 1 Algoritmos
  • 44. Combinación de operaciones básicas Inicio Ejecutar 1 Ejecutar 2 si se cumple C entonces Ejecutar 3 fin si Ejecutar 4 fin IWI-131 - Tema 1 Algoritmos
  • 45. Combinación de operaciones básicas • Ejemplo: levantarse en la mañana Inicio salir de la cama ducharse tomar desayuno si esta lloviendo entonces tomar el paraguas fin si tomar la mochila tomar la micro fin IWI-131 - Tema 1 Algoritmos
  • 46. Combinación de operaciones básicas 1 2 si C 3a no 3b 4 C: Condición IWI-131 - Tema 1 Algoritmos
  • 47. Combinación de operaciones básicas 1 2 C si no 3a 3b 4 C: Condición IWI-131 - Tema 1 Algoritmos
  • 48. Combinación de operaciones básicas Inicio Ejecutar 1 Ejecutar 2 si se cumple C entonces Ejecutar 3a si no Ejecutar 3b fin si Ejecutar 4 fin IWI-131 - Tema 1 Algoritmos
  • 49. Combinación de operaciones básicas • Ejemplo: levantarse en la mañana Inicio salir de la cama ducharse tomar desayuno si esta lloviendo entonces llevar la parca si no llevar la chaqueta fin si tomar la mochila tomar la micro fin IWI-131 - Tema 1 Algoritmos
  • 50. Combinación de operaciones básicas • Estructura de control selectiva – Una condición es cualquier proposición lógica que tenga un valor verdadero o falso definido. – Este esquema selectivo se denomina “decision binaria”. – ¿Y si hay más de dos opciones? IWI-131 - Tema 1 Algoritmos
  • 51. Combinación de operaciones básicas • Estructura de control selectiva – Toda decisión se puede llevar a un esquema de decisión binaria. – Basta con decidir entre una alternativa y todo el resto – Si se elige “el resto”, se decide entre una alternativa y el resto del resto. – Etc… IWI-131 - Tema 1 Algoritmos
  • 52. Combinación de operaciones básicas 1 x mayor que 0 x? x menor que 0 x igual a 0 2a 2b 3 IWI-131 - Tema 1 Algoritmos 2c
  • 53. Combinación de operaciones básicas 1 si x mayor que 0? x menor que 0? no 2a no 2b 3 IWI-131 - Tema 1 Algoritmos si 2c
  • 54. Combinación de operaciones básicas 1 x mayor que 0? si x menor que 0? no 2a no 2b 3 IWI-131 - Tema 1 Algoritmos si 2c
  • 55. Combinación de operaciones básicas Inicio Ejecutar 1 Si x es mayor que cero entonces Ejecutar 2a Si no Si x es menor que cero entonces Ejecutar 2c Si no Ejecutar 2b fin si fin si Ejecutar 3 fin IWI-131 - Tema 1 Algoritmos
  • 56. Combinación de operaciones básicas • Ejemplo: levantarse en la mañana Inicio salir de la cama ducharse tomar desayuno si esta lloviendo entonces llevar la parca si no esta lloviendo pero hace frío llevar la chaqueta si no llevar un chaleco fin si tomar la mochila tomar la micro IWI-131 - Tema 1 Algoritmos fin
  • 57. Combinación de operaciones básicas • Estructura de selección múltiple – Para algunos casos se puede utilizar un esquema selectivo no binario (EN EL CASO DE) – Ejemplo: ingreso de opción de menú de un cajero automático • • • • Si el usuario presionó el botón 1, hacer un giro Si el usuario presionó el botón 2, entregar saldo Si el usuario presionó el botón 3, cambiar la clave Etc. IWI-131 - Tema 1 Algoritmos
  • 58. Combinación de operaciones básicas Botón 1 2 3 giro saldo clave etoc … salir IWI-131 - Tema 1 Algoritmos error
  • 59. Combinación de operaciones básicas Botón 1 giro 2 saldo etoc 3 clave … salir IWI-131 - Tema 1 Algoritmos error
  • 60. Combinación de operaciones básicas Inicio en el caso que el botón presionado sea el 1 hacer giro sea el 2 entregar saldo sea el 3 cambiar clave … En cualquier otro caso Error fin caso fin IWI-131 - Tema 1 Algoritmos
  • 61. Combinación de operaciones básicas • Repetitiva – Además de combinar operaciones en forma secuencial y selectiva, se puede repetir la ejecución de una operación cuantas veces se desee. – Existen varios esquemas • Repetir MIENTRAS se cumpla una condición. • Repetir HASTA QUE se cumpla una condición. • Repetir un número de veces. IWI-131 - Tema 1 Algoritmos
  • 62. Combinación de operaciones básicas • MIENTRAS – Se repite una operación mientras una condición sea verdadera. – Al dejar de serlo, se rompe el ciclo – Si la condición nunca es falsa, se tiene un ciclo infinito. IWI-131 - Tema 1 Algoritmos
  • 63. Combinación de operaciones básicas 1 C no si 2 3 C: Condición IWI-131 - Tema 1 Algoritmos
  • 64. Combinación de operaciones básicas 1 C 2 3 C: Condición IWI-131 - Tema 1 Algoritmos
  • 65. Combinación de operaciones básicas Inicio ejecutar 1 mientras se cumpla la condición ejecutar 2 fin mientras ejecutar 3 fin IWI-131 - Tema 1 Algoritmos
  • 66. Combinación de operaciones básicas • Ejemplo validar ingreso de valor positivo Inicio definir variable x asignar el valor -1 a x mientras x sea menor que cero ingresar x por teclado fin mientras mostrar valor de x fin IWI-131 - Tema 1 Algoritmos
  • 67. Combinación de operaciones básicas • HASTA QUE – Se repite la ejecución de una operación hasta que se cumpla una condición. – La principal diferencia con MIENTRAS es que la operación se ejecuta al menos una vez. IWI-131 - Tema 1 Algoritmos
  • 68. Combinación de operaciones básicas 1 2 no C si 3 C: Condición IWI-131 - Tema 1 Algoritmos
  • 69. Combinación de operaciones básicas 1 2 C 3 C: Condición IWI-131 - Tema 1 Algoritmos
  • 70. Combinación de operaciones básicas Inicio ejecutar 1 repetir ejecutar 2 hasta que se cumpla condición ejecutar 3 fin IWI-131 - Tema 1 Algoritmos
  • 71. Combinación de operaciones básicas • Ejemplo – Mismo ejemplo anterior Inicio definir variable x repetir ingresar x por teclado Hasta que x sea mayor que cero mostrar valor de x fin IWI-131 - Tema 1 Algoritmos
  • 72. Combinación de operaciones básicas • Repetir un número fijo de veces – Muy útil cuando se sabe el numero de repeticiones a ejecutar. – Por lo general se define una variable que sirve de contador – El contador mantiene el número de cada iteración. – También se puede definir el incremento del contador en cada iteración. IWI-131 - Tema 1 Algoritmos
  • 73. Combinación de operaciones básicas 1 Inicio contador, fin contador 2 3 IWI-131 - Tema 1 Algoritmos
  • 74. Combinación de operaciones básicas 1 Inicio contador, fin contador 2 3 IWI-131 - Tema 1 Algoritmos
  • 75. Combinación de operaciones básicas Inicio ejecutar 1 desde contador inicial hasta contador final ejecutar 2 fin desde ejecutar 3 fin IWI-131 - Tema 1 Algoritmos
  • 76. Combinación de operaciones básicas • Ejemplo 5 ∑i i =0 Inicio definir variable “sumatoria” asignar el valor 0 a “sumatoria” desde i igual a 0 hasta i igual a 5 sumatoria = sumatoria + i fin desde mostrar valor de “sumatoria” fin IWI-131 - Tema 1 Algoritmos
  • 77. Combinación de operaciones básicas • Combinación de estructuras de control seriales, selectivas y repetitivas – Cualquier combinación es posible – Pueden existir estructuras anidadas – Es importante definir el comienzo y el termino de cada estructura IWI-131 - Tema 1 Algoritmos
  • 78. Combinación de operaciones básicas • Ejemplos – Cachi-pun – Ordenar objetos IWI-131 - Tema 1 Algoritmos