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

Registros de control y estados de la CPU
Registros de control y estados de la CPURegistros de control y estados de la CPU
Registros de control y estados de la CPUIvan Porras
 
Dispositvos de entrada y salida
Dispositvos de entrada y salidaDispositvos de entrada y salida
Dispositvos de entrada y salidaitzayana bacilio
 
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)Kiim Kerrigan
 
Palabras Reservadas en C++
Palabras Reservadas en C++Palabras Reservadas en C++
Palabras Reservadas en C++ncrmax
 
Análisis numérico
Análisis numéricoAnálisis numérico
Análisis numéricoFidel Lopez
 
52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigo52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigoBrivé Soluciones
 
Cuestionario Fundamentos de Programación
Cuestionario Fundamentos de ProgramaciónCuestionario Fundamentos de Programación
Cuestionario Fundamentos de ProgramaciónAnita Albán
 
Variables, expresiones y ejecución de condiciones les en PSeInt
Variables, expresiones y ejecución de condiciones les en PSeIntVariables, expresiones y ejecución de condiciones les en PSeInt
Variables, expresiones y ejecución de condiciones les en PSeIntCristian C
 
Diseño algorítmico
Diseño algorítmicoDiseño algorítmico
Diseño algorítmicooviedospablo
 
REGISTRO DE BANDERAS
REGISTRO DE BANDERASREGISTRO DE BANDERAS
REGISTRO DE BANDERASFabian Rojas
 
Sumador de 2bits
Sumador de 2bitsSumador de 2bits
Sumador de 2bitsJosue Lemon
 
Ejercicios resueltos de borland c++
Ejercicios resueltos de borland c++Ejercicios resueltos de borland c++
Ejercicios resueltos de borland c++JoseGCordero
 
Gua calculo_integral_(momentos-centros_masa)_(autoguardado)[1]
Gua  calculo_integral_(momentos-centros_masa)_(autoguardado)[1]Gua  calculo_integral_(momentos-centros_masa)_(autoguardado)[1]
Gua calculo_integral_(momentos-centros_masa)_(autoguardado)[1]rojasmat
 
Programa en C++ ( escriba 3 números y diga cual es el mayor))
Programa en C++ ( escriba 3 números y diga cual es el mayor))Programa en C++ ( escriba 3 números y diga cual es el mayor))
Programa en C++ ( escriba 3 números y diga cual es el mayor))Alex Penso Romero
 
Salidas internas de bucles.
Salidas internas de bucles.Salidas internas de bucles.
Salidas internas de bucles.Chad Bridge
 
Método de newton raphson Metodos Numericos
Método de newton raphson Metodos NumericosMétodo de newton raphson Metodos Numericos
Método de newton raphson Metodos NumericosTensor
 

La actualidad más candente (20)

Registros de control y estados de la CPU
Registros de control y estados de la CPURegistros de control y estados de la CPU
Registros de control y estados de la CPU
 
Algoritmos secuenciales resueldos
Algoritmos  secuenciales resueldosAlgoritmos  secuenciales resueldos
Algoritmos secuenciales resueldos
 
Dispositvos de entrada y salida
Dispositvos de entrada y salidaDispositvos de entrada y salida
Dispositvos de entrada y salida
 
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
 
Palabras Reservadas en C++
Palabras Reservadas en C++Palabras Reservadas en C++
Palabras Reservadas en C++
 
Análisis numérico
Análisis numéricoAnálisis numérico
Análisis numérico
 
52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigo52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigo
 
Mod 2 algoritmos
Mod 2 algoritmosMod 2 algoritmos
Mod 2 algoritmos
 
Cuestionario Fundamentos de Programación
Cuestionario Fundamentos de ProgramaciónCuestionario Fundamentos de Programación
Cuestionario Fundamentos de Programación
 
Variables, expresiones y ejecución de condiciones les en PSeInt
Variables, expresiones y ejecución de condiciones les en PSeIntVariables, expresiones y ejecución de condiciones les en PSeInt
Variables, expresiones y ejecución de condiciones les en PSeInt
 
Diseño algorítmico
Diseño algorítmicoDiseño algorítmico
Diseño algorítmico
 
REGISTRO DE BANDERAS
REGISTRO DE BANDERASREGISTRO DE BANDERAS
REGISTRO DE BANDERAS
 
Sumador de 2bits
Sumador de 2bitsSumador de 2bits
Sumador de 2bits
 
Ejercicios resueltos de borland c++
Ejercicios resueltos de borland c++Ejercicios resueltos de borland c++
Ejercicios resueltos de borland c++
 
Gua calculo_integral_(momentos-centros_masa)_(autoguardado)[1]
Gua  calculo_integral_(momentos-centros_masa)_(autoguardado)[1]Gua  calculo_integral_(momentos-centros_masa)_(autoguardado)[1]
Gua calculo_integral_(momentos-centros_masa)_(autoguardado)[1]
 
Programa en C++ ( escriba 3 números y diga cual es el mayor))
Programa en C++ ( escriba 3 números y diga cual es el mayor))Programa en C++ ( escriba 3 números y diga cual es el mayor))
Programa en C++ ( escriba 3 números y diga cual es el mayor))
 
Arreglos c++
Arreglos c++Arreglos c++
Arreglos c++
 
Salidas internas de bucles.
Salidas internas de bucles.Salidas internas de bucles.
Salidas internas de bucles.
 
Método de newton raphson Metodos Numericos
Método de newton raphson Metodos NumericosMétodo de newton raphson Metodos Numericos
Método de newton raphson Metodos Numericos
 
Arreglos
ArreglosArreglos
Arreglos
 

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
 

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
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Apuntes De Algoritmos
Apuntes De AlgoritmosApuntes De Algoritmos
Apuntes De Algoritmos
 

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