SlideShare una empresa de Scribd logo
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
IWI-131 - Tema 1 Algoritmos
1. 5+1=6
2. Anotar 6
3. 2+9=11
4. Anotar 1 y guardar
1
5. 4+0=4
6. 4+1=5
7. Anotar 5
8. El resultado es 516
IWI-131 - Tema 1 Algoritmos
491
+ 25
516
+
V V V
V F F
F V F
F F F
IWI-131 - Tema 1 Algoritmos
V
+ F
F
IWI-131 - Tema 1 Algoritmos
san
+ sano
sansano
 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
 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
 ¿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
 ¿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
 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
 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
 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
 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
1. Definir el problema a resolver
2. Identificar las entradas del algoritmo
3. Identificar la salida del algoritmo
4. 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 programa
1. Definir el problema a resolver
2. Definir el algoritmo que lo resuelve
3. Escribir el programa
 Escribir cada uno de los pasos del algoritmo en el
lenguaje de programación
4. Ejecutar el programa en el computador
5. Verificar que las salidas sean correctas
6. Hacer correcciones al programa
7. Resolver el problema
IWI-131 - Tema 1 Algoritmos
 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
IWI-131 - Tema 1 Algoritmos
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
G=K/1000
M=G x P
Ingresar K y P
Devolver M
IWI-131 - Tema 1 Algoritmos
G=K/1000
M=G x P
Ingresar K y P
Devolver M
 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
 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
 Dispositivos de entrada
◦ Teclado
◦ Mouse
◦ Botones
◦ Censores de tacto
◦ Cámaras digitales
◦ Scanners
◦ Archivos
IWI-131 - Tema 1 Algoritmos
IWI-131 - Tema 1 Algoritmos
 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
 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
 Dispositivos de salida
◦ Pantalla
◦ Impresora
◦ Parlantes
◦ Tableros luminosos
◦ Motores
◦ Tarjeta de red
◦ Archivos
IWI-131 - Tema 1 Algoritmos
IWI-131 - Tema 1 Algoritmos
C:
 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
 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
IWI-131 - Tema 1 Algoritmos
G=K/1000
Esta variable se denomina G y
se utiliza para recordar el
valor de un gramo de
manzana.
K es un dato de entrada, y también
Se considera una variable
 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
 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
IWI-131 - Tema 1 Algoritmos
G=K/1000
La constante “1000” sirva para
transformar el valor Por kilo a un
valor por gramo
 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
IWI-131 - Tema 1 Algoritmos
M=G * P
operandos
operador
 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
IWI-131 - Tema 1 Algoritmos
M=G * P
Operador de asignación
El resultado de GxP se asigna a la variable M
 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
IWI-131 - Tema 1 Algoritmos
G=K/1000
M=G * P
Ingresar K y P
Devolver M
Ingresar K=200 y P=250
G tiene el valor 0,2
M tiene el valor 50
G=K/1000
M=G * P
Ingresar K y P
Devolver M
Diagrama de flujo
Diagrama de Nassi-Schneidermann
 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
IWI-131 - Tema 1 Algoritmos
C
3
4
2
1
C: Condición
IWI-131 - Tema 1 Algoritmos
3
si no
4
2
1
C
C: Condición
Inicio
Ejecutar 1
Ejecutar 2
si se cumple C entonces
Ejecutar 3
fin si
Ejecutar 4
fin
IWI-131 - Tema 1 Algoritmos
 Ejemplo: levantarse en la mañana
IWI-131 - Tema 1 Algoritmos
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
C
3a 3b
4
2
1
si no
C: Condición
IWI-131 - Tema 1 Algoritmos
3a 3b
si no
4
2
1
C
C: Condición
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
 Ejemplo: levantarse en la mañana
IWI-131 - Tema 1 Algoritmos
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
 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
 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
IWI-131 - Tema 1 Algoritmos
2a 2b 2c
3
1
x?
x mayor que 0
x igual a 0
x menor que 0
IWI-131 - Tema 1 Algoritmos
3
x mayor que 0?
1
x menor que 0?
si
si
no
no
2a 2b 2c
IWI-131 - Tema 1 Algoritmos
1
3
2a
x mayor que 0?
x menor que 0?
2b 2c
si
si
no
no
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
 Ejemplo: levantarse en la mañana
IWI-131 - Tema 1 Algoritmos
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
fin
 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
IWI-131 - Tema 1 Algoritmos
Botón
giro saldo clave error
1 3
2
…
etoc
salir
IWI-131 - Tema 1 Algoritmos
giro clave
saldo error
Botón
1 2 3 etoc
salir
…
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
 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
 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
IWI-131 - Tema 1 Algoritmos
C
2
1
3
C: Condición
si
no
IWI-131 - Tema 1 Algoritmos
1
3
2
C
C: Condición
Inicio
ejecutar 1
mientras se cumpla la condición
ejecutar 2
fin mientras
ejecutar 3
fin
IWI-131 - Tema 1 Algoritmos
 Ejemplo validar ingreso de valor positivo
IWI-131 - Tema 1 Algoritmos
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
 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
IWI-131 - Tema 1 Algoritmos
C
2
1
3
C: Condición
si
no
IWI-131 - Tema 1 Algoritmos
1
3
2
C
C: Condición
IWI-131 - Tema 1 Algoritmos
Inicio
ejecutar 1
repetir
ejecutar 2
hasta que se cumpla condición
ejecutar 3
fin
 Ejemplo
◦ Mismo ejemplo anterior
IWI-131 - Tema 1 Algoritmos
Inicio
definir variable x
repetir
ingresar x por teclado
Hasta que x sea mayor que cero
mostrar valor de x
fin
 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
IWI-131 - Tema 1 Algoritmos
Inicio contador, fin contador
2
3
1
IWI-131 - Tema 1 Algoritmos
1
3
2
Inicio contador, fin contador
IWI-131 - Tema 1 Algoritmos
Inicio
ejecutar 1
desde contador inicial hasta
contador final
ejecutar 2
fin desde
ejecutar 3
fin
 Ejemplo


5
0
i
i
IWI-131 - Tema 1 Algoritmos
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
 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
 Ejemplos
◦ Cachi-pun
◦ Ordenar objetos
IWI-131 - Tema 1 Algoritmos
Algoritmos

Más contenido relacionado

PPT
Algortimos daniel
PPT
Algortimos daniel
PPT
01-algoritmos.ppt
PPT
algoritmos.ppt
PDF
Algoritmos.pdf
PPT
Algoritmos.ppt
PDF
Desarrollo lógico y algoritmo en la programación
PPS
Algoritmos
Algortimos daniel
Algortimos daniel
01-algoritmos.ppt
algoritmos.ppt
Algoritmos.pdf
Algoritmos.ppt
Desarrollo lógico y algoritmo en la programación
Algoritmos

Similar a Asignatura programacion I Introduccion a Algoritmos.ppt (20)

PPT
Unidad 1 algoritmos
PPT
Algoritmos y Estructura de Datos
PPT
Algoritmos
PPTX
0. Algoritmos para programacion ass.pptx
PPT
Algoritmos
PDF
Programación de algoritmos y lenguaje de programación en C++ .pdf
PPT
01 algoritmos
PPT
01 algoritmos
PPT
01 algoritmos
PPT
ALGORITMOS
PPTX
2 lop–cv-20017-3-conceptos básicos y metodología para la solución de problemas
PPT
01 algoritmos
PPTX
Nuevo presentación de microsoft power point (2)
DOCX
2_Camila_Bonilla
PPTX
PDF
Programacion RPG: Conceptos ILE
PPTX
Taller Python
PDF
Arduino: PID para arduino
Unidad 1 algoritmos
Algoritmos y Estructura de Datos
Algoritmos
0. Algoritmos para programacion ass.pptx
Algoritmos
Programación de algoritmos y lenguaje de programación en C++ .pdf
01 algoritmos
01 algoritmos
01 algoritmos
ALGORITMOS
2 lop–cv-20017-3-conceptos básicos y metodología para la solución de problemas
01 algoritmos
Nuevo presentación de microsoft power point (2)
2_Camila_Bonilla
Programacion RPG: Conceptos ILE
Taller Python
Arduino: PID para arduino
Publicidad

Más de Davilito Oso (20)

PPTX
IV Produccion I ESTUDIO DE METODOS.pptx
PPTX
EDT Estudio Integrado - Caso Completo.pptx
PPTX
Tema 3. Modelo Educativo Institucional.pptx
PPTX
De la Educacion EJES TRANSVERSALES 8 DE ENERO.pptx
PPTX
Oficina de Acceso a la Informacion OAIP.pptx
PDF
IV Unidad - Introducción al Estudio de Métodos- P1.pdf
PPTX
Doctor Serrano Conferencia Higiene y Seguridad del Trabajo DACTIC VF.pptx
PPTX
Doctor Serrano Seguridad-e-Higiene-del-Trabajo (2).pptx
PPTX
Doctor Serrano II Unidad.Productividad - Sesión 3.pptx
PDF
I UNIDAD Presentación en lo general - Producción I- Sesión2.pdf
PDF
Presentación en lo general- Sesión 1.pdf
PPTX
Sesión 4 de producción o administración de la producción
PPTX
Sesión 3 de producción o administración de la producción
PPTX
Sesión numero 1 de producción o administración de la producción
PPTX
Sesión numero 1 de producción o administración de la producción
PPT
Postgrado en Gerencia de Operaciones Presentación La Vaca.ppt
PPT
SELECCION DEL PROCESO en gerencia de operaciones.ppt
PPTX
Asignatura programacion I Introduccion a Algoritmos.pptx
PPT
Windows_DNA-Mario valdez ramirez interactive.ppt
PPSX
Presentación de las mejores de Alma de Niño.ppsx
IV Produccion I ESTUDIO DE METODOS.pptx
EDT Estudio Integrado - Caso Completo.pptx
Tema 3. Modelo Educativo Institucional.pptx
De la Educacion EJES TRANSVERSALES 8 DE ENERO.pptx
Oficina de Acceso a la Informacion OAIP.pptx
IV Unidad - Introducción al Estudio de Métodos- P1.pdf
Doctor Serrano Conferencia Higiene y Seguridad del Trabajo DACTIC VF.pptx
Doctor Serrano Seguridad-e-Higiene-del-Trabajo (2).pptx
Doctor Serrano II Unidad.Productividad - Sesión 3.pptx
I UNIDAD Presentación en lo general - Producción I- Sesión2.pdf
Presentación en lo general- Sesión 1.pdf
Sesión 4 de producción o administración de la producción
Sesión 3 de producción o administración de la producción
Sesión numero 1 de producción o administración de la producción
Sesión numero 1 de producción o administración de la producción
Postgrado en Gerencia de Operaciones Presentación La Vaca.ppt
SELECCION DEL PROCESO en gerencia de operaciones.ppt
Asignatura programacion I Introduccion a Algoritmos.pptx
Windows_DNA-Mario valdez ramirez interactive.ppt
Presentación de las mejores de Alma de Niño.ppsx
Publicidad

Último (20)

PDF
Escuela Sabática 6. A través del Mar Rojo.pdf
PDF
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
PDF
Salcedo, J. et al. - Recomendaciones para la utilización del lenguaje inclusi...
DOCX
V UNIDAD - SEGUNDO GRADO. del mes de agosto
PDF
Fundamentos_Educacion_a_Distancia_ABC.pdf
PDF
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
PDF
Escuelas Desarmando una mirada subjetiva a la educación
PPTX
caso clínico iam clinica y semiología l3.pptx
PDF
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
PDF
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
PDF
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
PDF
benveniste-problemas-de-linguistica-general-i-cap-6 (1)_compressed.pdf
PDF
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
DOCX
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
PPT
Cosacos y hombres del Este en el Heer.ppt
DOCX
2 GRADO UNIDAD 5 - 2025.docx para primaria
PDF
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
PDF
TRAUMA_Y_RECUPERACION consecuencias de la violencia JUDITH HERMAN
PDF
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
PDF
biología es un libro sobre casi todo el tema de biología
Escuela Sabática 6. A través del Mar Rojo.pdf
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
Salcedo, J. et al. - Recomendaciones para la utilización del lenguaje inclusi...
V UNIDAD - SEGUNDO GRADO. del mes de agosto
Fundamentos_Educacion_a_Distancia_ABC.pdf
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
Escuelas Desarmando una mirada subjetiva a la educación
caso clínico iam clinica y semiología l3.pptx
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
benveniste-problemas-de-linguistica-general-i-cap-6 (1)_compressed.pdf
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
Cosacos y hombres del Este en el Heer.ppt
2 GRADO UNIDAD 5 - 2025.docx para primaria
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
TRAUMA_Y_RECUPERACION consecuencias de la violencia JUDITH HERMAN
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
biología es un libro sobre casi todo el tema de biología

Asignatura programacion I Introduccion a Algoritmos.ppt

  • 2.  ¿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
  • 3. IWI-131 - Tema 1 Algoritmos
  • 4. 1. 5+1=6 2. Anotar 6 3. 2+9=11 4. Anotar 1 y guardar 1 5. 4+0=4 6. 4+1=5 7. Anotar 5 8. El resultado es 516 IWI-131 - Tema 1 Algoritmos 491 + 25 516
  • 5. + V V V V F F F V F F F F IWI-131 - Tema 1 Algoritmos V + F F
  • 6. IWI-131 - Tema 1 Algoritmos san + sano sansano
  • 7.  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.  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.  ¿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.  ¿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.  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.  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.  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.  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. 1. Definir el problema a resolver 2. Identificar las entradas del algoritmo 3. Identificar la salida del algoritmo 4. 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 programa 1. Definir el problema a resolver 2. Definir el algoritmo que lo resuelve 3. Escribir el programa  Escribir cada uno de los pasos del algoritmo en el lenguaje de programación 4. Ejecutar el programa en el computador 5. Verificar que las salidas sean correctas 6. Hacer correcciones al programa 7. Resolver el problema IWI-131 - Tema 1 Algoritmos
  • 17.  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. IWI-131 - Tema 1 Algoritmos Inicio Ingresar valor de K y P Calcular G = K/100 Calcular M = G x P Devolver el valor de M Fin.
  • 19. IWI-131 - Tema 1 Algoritmos G=K/1000 M=G x P Ingresar K y P Devolver M
  • 20. IWI-131 - Tema 1 Algoritmos G=K/1000 M=G x P Ingresar K y P Devolver M
  • 21.  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.  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.  Dispositivos de entrada ◦ Teclado ◦ Mouse ◦ Botones ◦ Censores de tacto ◦ Cámaras digitales ◦ Scanners ◦ Archivos IWI-131 - Tema 1 Algoritmos
  • 24. IWI-131 - Tema 1 Algoritmos
  • 25.  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.  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.  Dispositivos de salida ◦ Pantalla ◦ Impresora ◦ Parlantes ◦ Tableros luminosos ◦ Motores ◦ Tarjeta de red ◦ Archivos IWI-131 - Tema 1 Algoritmos
  • 28. IWI-131 - Tema 1 Algoritmos C:
  • 29.  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.  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. IWI-131 - Tema 1 Algoritmos G=K/1000 Esta variable se denomina G y se utiliza para recordar el valor de un gramo de manzana. K es un dato de entrada, y también Se considera una variable
  • 32.  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.  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. IWI-131 - Tema 1 Algoritmos G=K/1000 La constante “1000” sirva para transformar el valor Por kilo a un valor por gramo
  • 35.  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. IWI-131 - Tema 1 Algoritmos M=G * P operandos operador
  • 37.  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. IWI-131 - Tema 1 Algoritmos M=G * P Operador de asignación El resultado de GxP se asigna a la variable M
  • 39.  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. IWI-131 - Tema 1 Algoritmos G=K/1000 M=G * P Ingresar K y P Devolver M Ingresar K=200 y P=250 G tiene el valor 0,2 M tiene el valor 50 G=K/1000 M=G * P Ingresar K y P Devolver M Diagrama de flujo Diagrama de Nassi-Schneidermann
  • 41.  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. IWI-131 - Tema 1 Algoritmos C 3 4 2 1 C: Condición
  • 43. IWI-131 - Tema 1 Algoritmos 3 si no 4 2 1 C C: Condición
  • 44. Inicio Ejecutar 1 Ejecutar 2 si se cumple C entonces Ejecutar 3 fin si Ejecutar 4 fin IWI-131 - Tema 1 Algoritmos
  • 45.  Ejemplo: levantarse en la mañana IWI-131 - Tema 1 Algoritmos Inicio salir de la cama ducharse tomar desayuno si esta lloviendo entonces tomar el paraguas fin si tomar la mochila tomar la micro fin
  • 46. IWI-131 - Tema 1 Algoritmos C 3a 3b 4 2 1 si no C: Condición
  • 47. IWI-131 - Tema 1 Algoritmos 3a 3b si no 4 2 1 C C: Condición
  • 48. 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.  Ejemplo: levantarse en la mañana IWI-131 - Tema 1 Algoritmos 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
  • 50.  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.  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. IWI-131 - Tema 1 Algoritmos 2a 2b 2c 3 1 x? x mayor que 0 x igual a 0 x menor que 0
  • 53. IWI-131 - Tema 1 Algoritmos 3 x mayor que 0? 1 x menor que 0? si si no no 2a 2b 2c
  • 54. IWI-131 - Tema 1 Algoritmos 1 3 2a x mayor que 0? x menor que 0? 2b 2c si si no no
  • 55. 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.  Ejemplo: levantarse en la mañana IWI-131 - Tema 1 Algoritmos 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 fin
  • 57.  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. IWI-131 - Tema 1 Algoritmos Botón giro saldo clave error 1 3 2 … etoc salir
  • 59. IWI-131 - Tema 1 Algoritmos giro clave saldo error Botón 1 2 3 etoc salir …
  • 60. 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.  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.  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. IWI-131 - Tema 1 Algoritmos C 2 1 3 C: Condición si no
  • 64. IWI-131 - Tema 1 Algoritmos 1 3 2 C C: Condición
  • 65. Inicio ejecutar 1 mientras se cumpla la condición ejecutar 2 fin mientras ejecutar 3 fin IWI-131 - Tema 1 Algoritmos
  • 66.  Ejemplo validar ingreso de valor positivo IWI-131 - Tema 1 Algoritmos 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
  • 67.  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. IWI-131 - Tema 1 Algoritmos C 2 1 3 C: Condición si no
  • 69. IWI-131 - Tema 1 Algoritmos 1 3 2 C C: Condición
  • 70. IWI-131 - Tema 1 Algoritmos Inicio ejecutar 1 repetir ejecutar 2 hasta que se cumpla condición ejecutar 3 fin
  • 71.  Ejemplo ◦ Mismo ejemplo anterior IWI-131 - Tema 1 Algoritmos Inicio definir variable x repetir ingresar x por teclado Hasta que x sea mayor que cero mostrar valor de x fin
  • 72.  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. IWI-131 - Tema 1 Algoritmos Inicio contador, fin contador 2 3 1
  • 74. IWI-131 - Tema 1 Algoritmos 1 3 2 Inicio contador, fin contador
  • 75. IWI-131 - Tema 1 Algoritmos Inicio ejecutar 1 desde contador inicial hasta contador final ejecutar 2 fin desde ejecutar 3 fin
  • 76.  Ejemplo   5 0 i i IWI-131 - Tema 1 Algoritmos 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
  • 77.  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.  Ejemplos ◦ Cachi-pun ◦ Ordenar objetos IWI-131 - Tema 1 Algoritmos