SlideShare una empresa de Scribd logo
1 de 24
Resolución de problemas con la computadora  Prof.Santiago Mena Zorrilla
ALGORITMOS Y PROGRAMAS La principal razón por la cual las personas aprenden lenguajes de programación es utilizar un ordenador como una herramienta para la resolución de problemas complejos e incrementar la productividad en sus tareas. Puesto que las computadoras por si solas no pueden resolver los problemas diarios el ser humano a creado mecanismos y código que le permitan comunicarse con la maquina y obtener lo que desea. Para esto desarrollo los llamados algoritmos que simplifica el pensamiento humano a nivel de códigos que van a ser interpretados por la computadora
Algoritmos 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 lo ejecute. Conjunto de reglas completamente definidas y procedimientos para resolver un problema mediante un número finito de pasos.  Conjunto de pasos ordenados que son necesarios realizar para la resolución de un problema sea en nuestra vida diaria o en la computadora.
    Para crear el algoritmo en la resolución del problema debemos pasar por las siguientes etapas. Análisis del problema  Definicion del problema Especificaciones de entradas Especificaciones de salidas Diseño de la solución Herramientas de programación Codificación Compilación Prueba (verificación) y depuración Documentación y mantenimiento
Análisis del problema  Requiere que el problema sea comprendido claramente.  El propósito del análisis de un problema es ayudar en la comprensión de la naturaleza del problema.  Definición del problema Realizar una clara definición, donde se contemple exactamente lo que debe hacer el programa y el resultado o solución deseada. La computadora requiere especificaciones detalladas de Entrada y Salida. ¿Qué entradas se requieren? (tipo y cantidad) ¿Cuál es la salida deseada? (tipo y cantidad) ¿Qué método produce la salida deseada?. Diseño de la solución Establecer cómo hace el programa la tarea solicitada. Los métodos más eficaces para el proceso de diseño se basan en el conocido por divide y vencerás. Es decir, la resolución de un problema complejo se realiza dividiendo el problema en subproblemas (módulos).  Herramientas de programación Las más comunes son los diagramas de flujo (flowchart) ypseudocódigo. Los primeros es una representación gráfica de un algoritmo. Los segundos son donde las instrucciones se escriben en palabras similares al inglés o español, que facilitan tanto la escritura como la lectura de programas.
Codificación Es la escritura en un lenguaje de programación de la representación de algoritmos desarrollada en las etapas precedentes.Dadoque el diseño de un algoritmo es independiente del lenguaje de programación utilizado para su implementación, el código puede ser escrito con igual facilidad en un leguaje o en otro. Compilación El programa fuente debe ser traducido a lenguaje máquina, este proceso se realiza con el compilador y el sistema operativo que se encarga prácticamente de la compilación. Prueba (verificación) y depuración. La verificación de un programa es el proceso de ejecución  Documentación y mantenimiento.
Características de los algoritmo  Debe ser preciso e indicar el orden de realización de cada paso.  Debe estar definido.  Debe ser finito.  Diseño descendente  Descomposición del problema original en subproblemas más simples y a continuación dividir estos subproblemas en otros más simples que puedan ser implementados para su solución en la computadora.  Los problemas complejos se pueden resolver eficazmente con la computadora cuando se dividen en subproblemas que sean más fáciles de solucionar que el original.  Refinamiento por pasos  El problema se comprende más fácilmente al dividirse en partes más simples.  Las modificaciones son más fáciles.
Herramientas de programación  Diagrama de flujo  Es una de las técnicas de representación gráfica de algoritmos.  Utiliza símbolos.  Los pasos del algoritmo son escritos en esos símbolos unidos por flechas [líneas de flujo] que indican la secuencia en que se deben ejecutar.  Pseudocódigo  Es un lenguaje de especificación [descripción] de algoritmos.  Hace el paso de codificación final.
Recomendaciones para el diseño de Diagramas de Flujo - Se deben se usar solamente líneas de flujo horizontales y/o verticales.- Se debe evitar el cruce de líneas utilizando los conectores.- Se deben usar conectores solo cuando sea necesario.- No deben quedar líneas de flujo son conectar.- Se deben trazar los símbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a derecha.- Todo texto escrito dentro de un símbolo deberá ser escrito claramente, evitando el uso de muchas palabras.
Pseudocódigo  • Es un lenguaje de especificación [descripción] de algoritmos.  • Hace el paso de codificación final.  • Utilización de palabras reservadas en inglés paraepresentar acciones sucesivas.  if‐then‐else while‐end repeat‐until
Ejemplo  Este ejemplo presenta el análisis del problema y el diseño del algoritmo.  Leer el radio de un círculo , calcular su superficie y la longitud de la circunferencia.  Análisis:  Las entradas de datos en este problema se concretan en el radio del círculo. Las salidas serán la superficie y la circunferencia.  Entradas: Radio del círculo [varible RADIO]  Salidas: Superficie del círculo [variable AREA] y Circunferencia del círculo [variable CIRCUNFERENCIA]  Variables: RADIO, AREA, CIRCUNFERENCIA  Diseño del algoritmo:  Diseño descendente y Refinamiento por pasos  El problema de cálculo de la circunferencia y superficie de un círculo se puede descomponer en subproblemas más simples:  Leer datos de entrada.  Calcular superficie y longitud de circunferencia.  Escribir resultados [datos de salida].
Diseño descendente [Subproblemas] 	Refinamiento 	 Leer radio 	               		 Leer radio	 Calcular superficie 	Superficie= 3.141592 * radio ^ 2 	 Calcular circunferencia	 Circunferencia = 2 * 3.141592 * radio 	 Escribir resultados 		Escribir radio, superficie, circunferencia
Diagrama de flujo
Desarrolla el siguiente ejemplo  ¿Qué hacer para ver la película “El Gladiador"?  Ir al cine  Comprar una entrada  Ver la película  Regresar a casa  1. Inicio  2. Ver la cartelera de cine en Internet  3. Sino proyectan “El Gladiador"  entonces decidir por otra película  4. Si proyectan “El Gladiador" ir al cine  5. Si hay fila entonces formarse  mientras haya personas delante hacer  avanzar en la fila  si existen asientos disponibles entonces  comprar una entrada  encontrar el asiento correspondiente  mientras proyectan la película hacer ver la película  5. Abandonar el cine  6. Volver a casa  7. Fin
Tarea para la próxima clase 21 de Sept. Elaborar utilizando las herramientas de  diagrama de flujo un algoritmos para solucionar algún problema de las  asignaturas de tu carrera  Realizar un algoritmo con la herramienta de diagrama de flujo utilizando la variable tiempo o reloj como principal para recibir la clase de computacion Prepara tu explicación en Power Point y súbelo a tu pagina WEB en www.Mex.tl Explicar en la proxima clase como se llego al resultado
Diagramas Complejos Diagrama de flujo que Rellena una matriz cuadrada de 7*7, y calcula la suma de cada renglón o fila, y cada columna, y luego las almacena en un vector.
Algoritmos sencillos
Suponga que un individuo desea invertir su capital en un banco y desea saber ¿Cuánto dinero ahorra después de un mes, si el banco paga a razón de 2% mensual?
Un vendedor recibe un sueldo base mas un 10 % extra por comisión de sus ventas, el vendedor desea saber cuanto dinero obtendrá por concepto de comisiones por las tres ventas que realiza en el mes, y el total que recibirá en el mes.
Una tienda ofrece un descuento del 15% sobre el total de la compra, y un cliente desea saber cuanto deberá pagar finalmente por su compra.
Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes.
Indique si una persona puede participar o no en las elecciones del 2012.
Imprime un conteo del 0 al 100
La resolución de problemas con la computadora por estos métodos ya sea los diagramas de flujos o por medio de seudocódigo es una forma de pensar muy útil para resolver problemas complejos en nuestra vida diaria y no solo aprender contenidos de memoria si no por estos métodos descomponer el aprendizaje y asimilar correctamente lo aprendido

Más contenido relacionado

La actualidad más candente

Introducción a Geometría Computacional
Introducción a  Geometría ComputacionalIntroducción a  Geometría Computacional
Introducción a Geometría ComputacionalMiguel Sancho
 
APLICACION DEL CALCULO EN LA INFORMATICA
APLICACION DEL CALCULO EN LA INFORMATICAAPLICACION DEL CALCULO EN LA INFORMATICA
APLICACION DEL CALCULO EN LA INFORMATICAJoseph Mendoza
 
Ejercicio 1 diagrama de flujo
Ejercicio 1 diagrama de flujoEjercicio 1 diagrama de flujo
Ejercicio 1 diagrama de flujolisvancelis
 
Lenguaje c diapositivas
Lenguaje c diapositivasLenguaje c diapositivas
Lenguaje c diapositivasstarduslex
 
Mapa Conceptual del Lenguaje C
Mapa Conceptual del Lenguaje CMapa Conceptual del Lenguaje C
Mapa Conceptual del Lenguaje CCésar Ojeda
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructuradaJesús Navarro
 
Unidad 03 variables, constantes y operadores
Unidad 03   variables, constantes y operadoresUnidad 03   variables, constantes y operadores
Unidad 03 variables, constantes y operadoresLorenzo Alejo
 
Tabla comparativa programación estructurada y orientada a objetos
Tabla comparativa programación estructurada y orientada a objetosTabla comparativa programación estructurada y orientada a objetos
Tabla comparativa programación estructurada y orientada a objetosFrancisco Javier Canizales Vazquez
 
LENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONLENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONKathGon1
 
Estructuras de decisión o selectivas
Estructuras de decisión o selectivasEstructuras de decisión o selectivas
Estructuras de decisión o selectivasDenisse C
 

La actualidad más candente (20)

Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Introducción a Geometría Computacional
Introducción a  Geometría ComputacionalIntroducción a  Geometría Computacional
Introducción a Geometría Computacional
 
APLICACION DEL CALCULO EN LA INFORMATICA
APLICACION DEL CALCULO EN LA INFORMATICAAPLICACION DEL CALCULO EN LA INFORMATICA
APLICACION DEL CALCULO EN LA INFORMATICA
 
Ejercicio 1 diagrama de flujo
Ejercicio 1 diagrama de flujoEjercicio 1 diagrama de flujo
Ejercicio 1 diagrama de flujo
 
Quiz semana2 programacion c++
Quiz semana2 programacion c++Quiz semana2 programacion c++
Quiz semana2 programacion c++
 
Ejercicios estructira con arrays
Ejercicios estructira con arraysEjercicios estructira con arrays
Ejercicios estructira con arrays
 
Lenguaje c diapositivas
Lenguaje c diapositivasLenguaje c diapositivas
Lenguaje c diapositivas
 
Arreglos unidimensionales
Arreglos unidimensionalesArreglos unidimensionales
Arreglos unidimensionales
 
Mapa Conceptual del Lenguaje C
Mapa Conceptual del Lenguaje CMapa Conceptual del Lenguaje C
Mapa Conceptual del Lenguaje C
 
Funciones
FuncionesFunciones
Funciones
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Unidad 03 variables, constantes y operadores
Unidad 03   variables, constantes y operadoresUnidad 03   variables, constantes y operadores
Unidad 03 variables, constantes y operadores
 
Mapa conceptual lenguaje c.
Mapa conceptual   lenguaje c.Mapa conceptual   lenguaje c.
Mapa conceptual lenguaje c.
 
Tabla comparativa programación estructurada y orientada a objetos
Tabla comparativa programación estructurada y orientada a objetosTabla comparativa programación estructurada y orientada a objetos
Tabla comparativa programación estructurada y orientada a objetos
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Tutorial PSEINT
Tutorial PSEINT Tutorial PSEINT
Tutorial PSEINT
 
Pseint
PseintPseint
Pseint
 
Programación 1: arreglos en C
Programación 1: arreglos en CProgramación 1: arreglos en C
Programación 1: arreglos en C
 
LENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONLENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACION
 
Estructuras de decisión o selectivas
Estructuras de decisión o selectivasEstructuras de decisión o selectivas
Estructuras de decisión o selectivas
 

Destacado

52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigoepetekaun
 
Algoritmos basicos de dibujo en 2 d
Algoritmos basicos de dibujo en 2 dAlgoritmos basicos de dibujo en 2 d
Algoritmos basicos de dibujo en 2 dUDEC
 
Clase 3-algoritmos
Clase 3-algoritmosClase 3-algoritmos
Clase 3-algoritmosRamon
 
Ejemplos de Algoritmos
Ejemplos de AlgoritmosEjemplos de Algoritmos
Ejemplos de AlgoritmosPepe Xdsasda
 
Taller de algoritmos
Taller de algoritmosTaller de algoritmos
Taller de algoritmos10-02
 
Ejercicios de algoritmos
Ejercicios de algoritmosEjercicios de algoritmos
Ejercicios de algoritmosjhonshebax
 
Diagramas de Flujo y Algoritmos (Informática ll)
Diagramas de Flujo y Algoritmos (Informática ll)Diagramas de Flujo y Algoritmos (Informática ll)
Diagramas de Flujo y Algoritmos (Informática ll)irvingsalazar2
 
21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltosRoldan El Gato
 
Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.luismarlmg
 
Problemas,algoritmos y diagramas de flujo.
Problemas,algoritmos y diagramas de flujo.Problemas,algoritmos y diagramas de flujo.
Problemas,algoritmos y diagramas de flujo.Arturo Perez Murrieta
 
Pseudocódigo Delfina
Pseudocódigo DelfinaPseudocódigo Delfina
Pseudocódigo Delfinajose
 
Algoritmo figuras geometricas_doc
Algoritmo figuras geometricas_docAlgoritmo figuras geometricas_doc
Algoritmo figuras geometricas_docAbdiel Villarreal
 
algoritmo y programacion
algoritmo y programacion algoritmo y programacion
algoritmo y programacion Carlos Delgado
 
¿Como hacer un pseudocodigo y diagrama de flujo?
¿Como hacer un pseudocodigo y diagrama de flujo?¿Como hacer un pseudocodigo y diagrama de flujo?
¿Como hacer un pseudocodigo y diagrama de flujo?grachika
 
Algoritmos y diagramas de flujo
Algoritmos y diagramas de flujoAlgoritmos y diagramas de flujo
Algoritmos y diagramas de flujoKvinzuco
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS1002pc3
 

Destacado (20)

Elementos del diagrama de flujo
Elementos del diagrama de flujoElementos del diagrama de flujo
Elementos del diagrama de flujo
 
Algoritmos ejemplos
Algoritmos ejemplosAlgoritmos ejemplos
Algoritmos ejemplos
 
52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo
 
Algoritmos basicos de dibujo en 2 d
Algoritmos basicos de dibujo en 2 dAlgoritmos basicos de dibujo en 2 d
Algoritmos basicos de dibujo en 2 d
 
Clase 3-algoritmos
Clase 3-algoritmosClase 3-algoritmos
Clase 3-algoritmos
 
Ejemplos de Algoritmos
Ejemplos de AlgoritmosEjemplos de Algoritmos
Ejemplos de Algoritmos
 
Ejercicios de algoritmos
Ejercicios de algoritmosEjercicios de algoritmos
Ejercicios de algoritmos
 
Taller de algoritmos
Taller de algoritmosTaller de algoritmos
Taller de algoritmos
 
Ejercicios de algoritmos
Ejercicios de algoritmosEjercicios de algoritmos
Ejercicios de algoritmos
 
Diagramas de Flujo y Algoritmos (Informática ll)
Diagramas de Flujo y Algoritmos (Informática ll)Diagramas de Flujo y Algoritmos (Informática ll)
Diagramas de Flujo y Algoritmos (Informática ll)
 
21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos
 
Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.
 
Problemas,algoritmos y diagramas de flujo.
Problemas,algoritmos y diagramas de flujo.Problemas,algoritmos y diagramas de flujo.
Problemas,algoritmos y diagramas de flujo.
 
Pseudocódigo Delfina
Pseudocódigo DelfinaPseudocódigo Delfina
Pseudocódigo Delfina
 
Algoritmo figuras geometricas_doc
Algoritmo figuras geometricas_docAlgoritmo figuras geometricas_doc
Algoritmo figuras geometricas_doc
 
algoritmo y programacion
algoritmo y programacion algoritmo y programacion
algoritmo y programacion
 
¿Como hacer un pseudocodigo y diagrama de flujo?
¿Como hacer un pseudocodigo y diagrama de flujo?¿Como hacer un pseudocodigo y diagrama de flujo?
¿Como hacer un pseudocodigo y diagrama de flujo?
 
Algoritmos y diagramas de flujo
Algoritmos y diagramas de flujoAlgoritmos y diagramas de flujo
Algoritmos y diagramas de flujo
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 

Similar a Algoritmos

Clase 3-algoritmos[1]
Clase 3-algoritmos[1]Clase 3-algoritmos[1]
Clase 3-algoritmos[1]tanztanz
 
Clase 3-algoritmos
Clase 3-algoritmosClase 3-algoritmos
Clase 3-algoritmos142918
 
Attachment.ashx (2)
Attachment.ashx (2)Attachment.ashx (2)
Attachment.ashx (2)samantha
 
Clase 3-algoritmos
Clase 3-algoritmosClase 3-algoritmos
Clase 3-algoritmosmat3matik
 
Clase 3-algoritmos
Clase 3-algoritmosClase 3-algoritmos
Clase 3-algoritmosJAPR
 
Clase 3-algoritmos
Clase 3-algoritmosClase 3-algoritmos
Clase 3-algoritmoskristel24
 
3 resolucion de problemas con la computadora
3 resolucion de problemas con la computadora3 resolucion de problemas con la computadora
3 resolucion de problemas con la computadoraMIGUEL
 
Clase 3-algoritmos
Clase 3-algoritmosClase 3-algoritmos
Clase 3-algoritmoskristel24
 
Clase 3-algoritmos
Clase 3-algoritmosClase 3-algoritmos
Clase 3-algoritmoslaulecahe
 
Clase 3-algoritmos
Clase 3-algoritmosClase 3-algoritmos
Clase 3-algoritmosMaria
 
Clase 3-algoritmos[1]
Clase 3-algoritmos[1]Clase 3-algoritmos[1]
Clase 3-algoritmos[1]tanztanz
 
Algoritmos[1]
Algoritmos[1]Algoritmos[1]
Algoritmos[1]tanztanz
 
Clase 3-algoritmos[1]
Clase 3-algoritmos[1]Clase 3-algoritmos[1]
Clase 3-algoritmos[1]diana
 
Algoritmos[1]
Algoritmos[1]Algoritmos[1]
Algoritmos[1]erikapoh
 
Clase 3-algoritmos
Clase 3-algoritmosClase 3-algoritmos
Clase 3-algoritmosarturo8888
 
Clase 3-algoritmos
Clase 3-algoritmosClase 3-algoritmos
Clase 3-algoritmoskristel24
 

Similar a Algoritmos (20)

Clase 3-algoritmos[1]
Clase 3-algoritmos[1]Clase 3-algoritmos[1]
Clase 3-algoritmos[1]
 
Clase 3-algoritmos
Clase 3-algoritmosClase 3-algoritmos
Clase 3-algoritmos
 
Clase 3
Clase 3Clase 3
Clase 3
 
Attachment.ashx (2)
Attachment.ashx (2)Attachment.ashx (2)
Attachment.ashx (2)
 
Clase 3-algoritmos
Clase 3-algoritmosClase 3-algoritmos
Clase 3-algoritmos
 
Clase 3-algoritmos
Clase 3-algoritmosClase 3-algoritmos
Clase 3-algoritmos
 
Clase 3-algoritmos
Clase 3-algoritmosClase 3-algoritmos
Clase 3-algoritmos
 
3 resolucion de problemas con la computadora
3 resolucion de problemas con la computadora3 resolucion de problemas con la computadora
3 resolucion de problemas con la computadora
 
Clase 3-algoritmos
Clase 3-algoritmosClase 3-algoritmos
Clase 3-algoritmos
 
Clase 3-algoritmos
Clase 3-algoritmosClase 3-algoritmos
Clase 3-algoritmos
 
Clase 3-algoritmos
Clase 3-algoritmosClase 3-algoritmos
Clase 3-algoritmos
 
Clase 3-algoritmos[1]
Clase 3-algoritmos[1]Clase 3-algoritmos[1]
Clase 3-algoritmos[1]
 
Algoritmos[1]
Algoritmos[1]Algoritmos[1]
Algoritmos[1]
 
Clase 3-algoritmos
Clase 3-algoritmosClase 3-algoritmos
Clase 3-algoritmos
 
Clase 3-algoritmos[1]
Clase 3-algoritmos[1]Clase 3-algoritmos[1]
Clase 3-algoritmos[1]
 
Clase 3
Clase 3Clase 3
Clase 3
 
Algoritmos[1]
Algoritmos[1]Algoritmos[1]
Algoritmos[1]
 
Clase 3-algoritmos
Clase 3-algoritmosClase 3-algoritmos
Clase 3-algoritmos
 
Clase 3-algoritmos
Clase 3-algoritmosClase 3-algoritmos
Clase 3-algoritmos
 
Clase 3-algoritmos
Clase 3-algoritmosClase 3-algoritmos
Clase 3-algoritmos
 

Más de Megamovil

Presentación1
Presentación1Presentación1
Presentación1Megamovil
 
Curso sociedad de la información
Curso  sociedad de la informaciónCurso  sociedad de la información
Curso sociedad de la informaciónMegamovil
 
Almacenamiento
AlmacenamientoAlmacenamiento
AlmacenamientoMegamovil
 
Clase del jueves 2 de sept
Clase del jueves 2 de septClase del jueves 2 de sept
Clase del jueves 2 de septMegamovil
 
Por qué binario
Por qué binarioPor qué binario
Por qué binarioMegamovil
 
La computadora digital
La computadora digitalLa computadora digital
La computadora digitalMegamovil
 
Curso is118 sociedad e información
Curso is118 sociedad e informaciónCurso is118 sociedad e información
Curso is118 sociedad e informaciónMegamovil
 
Introducción a la terminología de la sociedad e
Introducción a la terminología de la sociedad eIntroducción a la terminología de la sociedad e
Introducción a la terminología de la sociedad eMegamovil
 
La Computadora
La ComputadoraLa Computadora
La ComputadoraMegamovil
 
Historia de la computación
Historia de la computaciónHistoria de la computación
Historia de la computaciónMegamovil
 

Más de Megamovil (14)

Prueba1
Prueba1Prueba1
Prueba1
 
Presentación1
Presentación1Presentación1
Presentación1
 
Tarea
TareaTarea
Tarea
 
Curso sociedad de la información
Curso  sociedad de la informaciónCurso  sociedad de la información
Curso sociedad de la información
 
Almacenamiento
AlmacenamientoAlmacenamiento
Almacenamiento
 
Creatividad
CreatividadCreatividad
Creatividad
 
Clase del jueves 2 de sept
Clase del jueves 2 de septClase del jueves 2 de sept
Clase del jueves 2 de sept
 
Por qué binario
Por qué binarioPor qué binario
Por qué binario
 
La computadora digital
La computadora digitalLa computadora digital
La computadora digital
 
Software
SoftwareSoftware
Software
 
Curso is118 sociedad e información
Curso is118 sociedad e informaciónCurso is118 sociedad e información
Curso is118 sociedad e información
 
Introducción a la terminología de la sociedad e
Introducción a la terminología de la sociedad eIntroducción a la terminología de la sociedad e
Introducción a la terminología de la sociedad e
 
La Computadora
La ComputadoraLa Computadora
La Computadora
 
Historia de la computación
Historia de la computaciónHistoria de la computación
Historia de la computación
 

Algoritmos

  • 1. Resolución de problemas con la computadora Prof.Santiago Mena Zorrilla
  • 2. ALGORITMOS Y PROGRAMAS La principal razón por la cual las personas aprenden lenguajes de programación es utilizar un ordenador como una herramienta para la resolución de problemas complejos e incrementar la productividad en sus tareas. Puesto que las computadoras por si solas no pueden resolver los problemas diarios el ser humano a creado mecanismos y código que le permitan comunicarse con la maquina y obtener lo que desea. Para esto desarrollo los llamados algoritmos que simplifica el pensamiento humano a nivel de códigos que van a ser interpretados por la computadora
  • 3. Algoritmos 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 lo ejecute. Conjunto de reglas completamente definidas y procedimientos para resolver un problema mediante un número finito de pasos. Conjunto de pasos ordenados que son necesarios realizar para la resolución de un problema sea en nuestra vida diaria o en la computadora.
  • 4. Para crear el algoritmo en la resolución del problema debemos pasar por las siguientes etapas. Análisis del problema Definicion del problema Especificaciones de entradas Especificaciones de salidas Diseño de la solución Herramientas de programación Codificación Compilación Prueba (verificación) y depuración Documentación y mantenimiento
  • 5. Análisis del problema Requiere que el problema sea comprendido claramente. El propósito del análisis de un problema es ayudar en la comprensión de la naturaleza del problema. Definición del problema Realizar una clara definición, donde se contemple exactamente lo que debe hacer el programa y el resultado o solución deseada. La computadora requiere especificaciones detalladas de Entrada y Salida. ¿Qué entradas se requieren? (tipo y cantidad) ¿Cuál es la salida deseada? (tipo y cantidad) ¿Qué método produce la salida deseada?. Diseño de la solución Establecer cómo hace el programa la tarea solicitada. Los métodos más eficaces para el proceso de diseño se basan en el conocido por divide y vencerás. Es decir, la resolución de un problema complejo se realiza dividiendo el problema en subproblemas (módulos). Herramientas de programación Las más comunes son los diagramas de flujo (flowchart) ypseudocódigo. Los primeros es una representación gráfica de un algoritmo. Los segundos son donde las instrucciones se escriben en palabras similares al inglés o español, que facilitan tanto la escritura como la lectura de programas.
  • 6. Codificación Es la escritura en un lenguaje de programación de la representación de algoritmos desarrollada en las etapas precedentes.Dadoque el diseño de un algoritmo es independiente del lenguaje de programación utilizado para su implementación, el código puede ser escrito con igual facilidad en un leguaje o en otro. Compilación El programa fuente debe ser traducido a lenguaje máquina, este proceso se realiza con el compilador y el sistema operativo que se encarga prácticamente de la compilación. Prueba (verificación) y depuración. La verificación de un programa es el proceso de ejecución Documentación y mantenimiento.
  • 7. Características de los algoritmo Debe ser preciso e indicar el orden de realización de cada paso. Debe estar definido. Debe ser finito. Diseño descendente Descomposición del problema original en subproblemas más simples y a continuación dividir estos subproblemas en otros más simples que puedan ser implementados para su solución en la computadora. Los problemas complejos se pueden resolver eficazmente con la computadora cuando se dividen en subproblemas que sean más fáciles de solucionar que el original. Refinamiento por pasos El problema se comprende más fácilmente al dividirse en partes más simples. Las modificaciones son más fáciles.
  • 8. Herramientas de programación Diagrama de flujo Es una de las técnicas de representación gráfica de algoritmos. Utiliza símbolos. Los pasos del algoritmo son escritos en esos símbolos unidos por flechas [líneas de flujo] que indican la secuencia en que se deben ejecutar. Pseudocódigo Es un lenguaje de especificación [descripción] de algoritmos. Hace el paso de codificación final.
  • 9. Recomendaciones para el diseño de Diagramas de Flujo - Se deben se usar solamente líneas de flujo horizontales y/o verticales.- Se debe evitar el cruce de líneas utilizando los conectores.- Se deben usar conectores solo cuando sea necesario.- No deben quedar líneas de flujo son conectar.- Se deben trazar los símbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a derecha.- Todo texto escrito dentro de un símbolo deberá ser escrito claramente, evitando el uso de muchas palabras.
  • 10. Pseudocódigo • Es un lenguaje de especificación [descripción] de algoritmos. • Hace el paso de codificación final. • Utilización de palabras reservadas en inglés paraepresentar acciones sucesivas. if‐then‐else while‐end repeat‐until
  • 11. Ejemplo Este ejemplo presenta el análisis del problema y el diseño del algoritmo. Leer el radio de un círculo , calcular su superficie y la longitud de la circunferencia. Análisis: Las entradas de datos en este problema se concretan en el radio del círculo. Las salidas serán la superficie y la circunferencia. Entradas: Radio del círculo [varible RADIO] Salidas: Superficie del círculo [variable AREA] y Circunferencia del círculo [variable CIRCUNFERENCIA] Variables: RADIO, AREA, CIRCUNFERENCIA Diseño del algoritmo: Diseño descendente y Refinamiento por pasos El problema de cálculo de la circunferencia y superficie de un círculo se puede descomponer en subproblemas más simples: Leer datos de entrada. Calcular superficie y longitud de circunferencia. Escribir resultados [datos de salida].
  • 12. Diseño descendente [Subproblemas] Refinamiento Leer radio Leer radio Calcular superficie Superficie= 3.141592 * radio ^ 2 Calcular circunferencia Circunferencia = 2 * 3.141592 * radio Escribir resultados Escribir radio, superficie, circunferencia
  • 14. Desarrolla el siguiente ejemplo ¿Qué hacer para ver la película “El Gladiador"? Ir al cine Comprar una entrada Ver la película Regresar a casa 1. Inicio 2. Ver la cartelera de cine en Internet 3. Sino proyectan “El Gladiador" entonces decidir por otra película 4. Si proyectan “El Gladiador" ir al cine 5. Si hay fila entonces formarse mientras haya personas delante hacer avanzar en la fila si existen asientos disponibles entonces comprar una entrada encontrar el asiento correspondiente mientras proyectan la película hacer ver la película 5. Abandonar el cine 6. Volver a casa 7. Fin
  • 15. Tarea para la próxima clase 21 de Sept. Elaborar utilizando las herramientas de diagrama de flujo un algoritmos para solucionar algún problema de las asignaturas de tu carrera Realizar un algoritmo con la herramienta de diagrama de flujo utilizando la variable tiempo o reloj como principal para recibir la clase de computacion Prepara tu explicación en Power Point y súbelo a tu pagina WEB en www.Mex.tl Explicar en la proxima clase como se llego al resultado
  • 16. Diagramas Complejos Diagrama de flujo que Rellena una matriz cuadrada de 7*7, y calcula la suma de cada renglón o fila, y cada columna, y luego las almacena en un vector.
  • 18. Suponga que un individuo desea invertir su capital en un banco y desea saber ¿Cuánto dinero ahorra después de un mes, si el banco paga a razón de 2% mensual?
  • 19. Un vendedor recibe un sueldo base mas un 10 % extra por comisión de sus ventas, el vendedor desea saber cuanto dinero obtendrá por concepto de comisiones por las tres ventas que realiza en el mes, y el total que recibirá en el mes.
  • 20. Una tienda ofrece un descuento del 15% sobre el total de la compra, y un cliente desea saber cuanto deberá pagar finalmente por su compra.
  • 21. Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes.
  • 22. Indique si una persona puede participar o no en las elecciones del 2012.
  • 23. Imprime un conteo del 0 al 100
  • 24. La resolución de problemas con la computadora por estos métodos ya sea los diagramas de flujos o por medio de seudocódigo es una forma de pensar muy útil para resolver problemas complejos en nuestra vida diaria y no solo aprender contenidos de memoria si no por estos métodos descomponer el aprendizaje y asimilar correctamente lo aprendido