Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

Clase 3-algoritmos

on

  • 289 views

 

Statistics

Views

Total Views
289
Views on SlideShare
272
Embed Views
17

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 17

http://kaba-info.wikispaces.com 17

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Clase 3-algoritmos Clase 3-algoritmos Presentation Transcript

  • 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