Tema 4 -_introduccion_a_razonamiento_algoritmico

895 views
715 views

Published on

Introducción al razonamiento algoritmico

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
895
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Tema 4 -_introduccion_a_razonamiento_algoritmico

  1. 1. Introducción al razonamiento algorítmico Solución de Problemas con Programación
  2. 2. Herramientas de análisis y diseño Son aquellas que nos permiten visualizar los procesos que se deben llevar a cabo para resolver un problema.  Algoritmos  Representaciones lógicas 2
  3. 3. Algoritmos Introducción al razonamiento algorítmico 3
  4. 4. Definiciones de algoritmo  Descripción del método mediante el cual se realiza una tarea  Es una secuencia de instrucciones, las cuales realizadas adecuadamente, dan lugar al resultado deseado  Conjunto de pasos para realizar una tarea en forma secuencial.  Conjunto de pasos para realizar una tarea, que puede escribirse y aplicarse. 4
  5. 5. Algoritmos  Ejemplo: receta para preparar café.  El algoritmo se expresa como instrucciones en una receta.  Se aplica el algoritmo cuando se siguen las instrucciones para preparar el café. 5
  6. 6. Algoritmos  Características fundamentales: • Un algoritmo debe ser preciso e indicar el orden de realización de cada paso. • Un algoritmo debe ser definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez. • Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe de terminar en algún momento.
  7. 7. Algoritmos …  Un algoritmo correctamente formulado garantiza que se realizará la tarea diseñada si se siguen los pasos al pie de la letra. 7
  8. 8. Algoritmos …  El algoritmo de un programa computacional:  Conjunto de pasos  Explica cómo empezar con la información conocida.  Se escribe en un formato que no es específico de un lenguaje de programación determinado.  Permite al programador concentrarse en la lógica del problema. 8
  9. 9. Algoritmos …  Escritura de un algoritmo: 1. Empezar con una lista de los pasos que un ser humano realizaría para hacer el mismo proceso - ¿Cómo lo haría yo? 2. Obtener información necesaria para resolver el problema. 3. Especificar como la computadora obtendrá información 4. Especificar la forma en que la computadora procesará la información. 5. Decidir la forma en que la computadora dará a conocer los resultados al usuario. 9
  10. 10. Algoritmos …  Expresión de un algoritmo  Existen tres métodos principales:  Lenguaje común estructurado  Pseudocódigo  Diagramas de flujo  No son lenguajes de programación  Una computadora no puede procesarlos.  Propósito es proporcionar una manera de documentar las ideas para el diseño de un programa. 10
  11. 11. Desarrollar el algoritmos de los siguientes procesos comunes: 1. Hacer una jarra de agua de limón 2. Salir del salón de clases. 3. Cambiar una llanta de un automóvil 4. Obtener la calificación final de la clase de Solución de Problemas con Computación 5. Sacar un libro de la biblioteca 11
  12. 12. Pseudocódigo Introducción al razonamiento algorítmico 12
  13. 13. Pseudocódigo  Sistema de notación para algoritmos.  Mezcla entre el lenguaje común y un lenguaje de programación.  Estructura y redacción dependen del programador.  Se permite incorporar palabras de comandos y sintaxis del lenguaje computacional a utilizar para la codificación. 13
  14. 14. 14
  15. 15. KEYWORDS USE Start Start instructions block End End a instructions block Display Show a result or data to a display/monitor Input Introduce data Output Show a result or data If , then Conditional statment Do - until Do a instruction - until it becomes true or false While While a condition still been true or false do Print Output data to a printer and / or Ralational operators  asignation
  16. 16. PALABRA UTILIZACIÓN ABRE Abre un archivo CASO Selección entre múltiples alternativas CIERRA Cierra un archivo ENTONCES Complemento de la selección SI - ENTONCES ESCRIBE Visualiza un dato en pantalla FIN Finaliza un bloque de instrucciones HASTA Cierra la iteración HAZ - HASTA HAZ Inicia la iteración HAZ - HASTA INICIO Inicia un bloque de instrucciones LEER Leer un dato del teclado MIENTRAS Inicia la iteración mientras NO Niega la condición que le sigue O Disyunción lógica O - BIEN Complemento opcional de la selección SI - ENTONCES PARA Inicia un número fijo de iteraciones SI Inicia la selección SI-ENTONCES USUAL Opcional en la instrucción CASO Y Conjunción lógica { Inicio de comentario } Fin de comentario <= Asignación
  17. 17. Calcule un salario si este es pagado a 80 pesos la hora. Begin input horas input tarifa pago = horas * tarifa print pago End Sumar dos números enteros Begin input x, y suma = x + y print suma End
  18. 18. Pseudocódigo …  Conceptos útiles: 1. Variable 2. Jerarquía de operaciones 1. () 2. *, / 3. +, - 3. Asignación 4. Comandos:  Display  Input  If -Then  Output 15
  19. 19. En programación, una variable es un espacio de memoria reservado para almacenar un valor que corresponde a un tipo de dato soportado por el lenguaje de programación. Una variable es representada y usada a través de una etiqueta (un nombre) que le asigna un programador o que ya viene predefinida. Por ejemplo, en la variable de nombre "num", se almacena el número 8 (de tipo entero). De forma genérica, para utilizarla y sumarle un uno se debería programar: num = num + 1. Una variable puede ser del tipo boleano, entero, decimal de coma flotante, carácter, cadena de texto, arreglo, matriz, tipo definido por el usuario, etc. Estos son tipos de datos. Una variable, por lo general, como su nombre lo indica, puede variar su valor durante la ejecución del programa. Dependiendo del lenguaje de programación usado, también puede cambiar el tipo de dato que almacena. VARIABLE
  20. 20. 1. Efectuar las operaciones entre paréntesis, corchetes y llaves. 2. Calcular las potencias y raíces. 3. Efectuar los productos y cocientes. 4. Realizar las sumas y restas. JERARQUIA DE OPERACIONES
  21. 21. Instrucción de asignación Una instrucción de asignación (o simplemente asignación) consiste en asignar el resultado de la evaluación de una expresión a una variable. <nombre_de_la_variable> ← <expresión> 1 2 3 4 5 Inicio A<-5+1 A<-2-1 A<-A+7 Fin
  22. 22. 1 2 3 4 5 6 7 8 9 Inicio A <- 5 B <- 7 C <- 2 A <- A + B + C B <- C / 2 A <- A / B + A ^ C C <- A+(B-C)-B Fin a) ¿Qué valor contiene A después de la quinta línea? b) ¿Qué valor contiene B después de la sexta línea? c) ¿Qué valor contiene A después de la séptima línea? d) ¿Qué valor contiene C después de la octava línea?
  23. 23. Desarrollar el pseudocódigo de los siguientes procesos comunes: 1. Hacer una jarra de agua de limón 2. Salir del salón de clases. 3. Cambiar una llanta de un automóvil 4. Calcular la calificación final (considere 5 bimestres) de la clase de Introducción a la computación 5. Sacar un libro de la biblioteca 16
  24. 24. Input Process Output Problem Analysis: a. Input-Process-Output table b. Algorithm Design:Flowchart Algorithm
  25. 25. Diagramas de flujo Introducción al razonamiento algorítmico 17
  26. 26. Entrada-Procesamiento-Salida Entradas Procesamiento Salida • Datos para el • Cálculo de la • Dar a conocer el procesamiento salida deseada resultado 18
  27. 27. Diagrama de Flujo  Representación gráfica de la manera en que una computadora debe pasar de una instrucción a la siguiente cuando realiza una tarea.  Utiliza los siguientes símbolos:  Inicio o final 19
  28. 28. Diagrama de Flujo …  Entrada o salida  Decisión  Cálculo 20
  29. 29. Diagrama de Flujo …  Ciclo 21
  30. 30. Ejemplo 22
  31. 31. Diagrama de Flujo …  Conceptos útiles: 1. Operadores Relacionales 1. >, < 2. <=,>= 3. ==, != 2. Comandos:  GET  Loop  PUT  Start  End 23
  32. 32. Raptor  Ambiente de programación basado en diagramas de flujo.  Diseñado para ayudar a los alumnos a visualizar sus algoritmos.  Programas pueden ser ejecutados.  Gratis: http://raptor.martincarlisle.com/ 24
  33. 33. Entrada-Procesamiento-Salida Entradas Procesamiento Salida • Datos para el • Cálculo de la • Dar a conocer el procesamiento salida deseada resultado 25
  34. 34. Raptor … 26
  35. 35. Ejercicios secuenciales 27
  36. 36. Ejercicios secuenciales  Realice el diagrama de flujo para: 1. Calcular el IVA (16%) de un producto. 2. Calcular para un préstamo: 1. Los intereses mensuales a una tasa del 18% anual. 2. El pago neto (Pago bruto menos intereses del mes). 28
  37. 37. Ejercicios condicionales 29
  38. 38. Ejercicios condicionales 1. Decidir si aprobó un examen. 2. Decidir si en este año vence tu licencia. 3. Decidir si un número es par o impar. 4. Calcule sus puntos extras en el examen parcial tomando en cuenta las calificaciones de sus compañeros de equipo. 5. Clasificar a una persona, de acuerdo a su edad, en:  Bebé: 0 a 1  Infante: 2 a 4  Niño: 5 a 11  Adolescente: 12 a 17  Adulto joven: 18 a 34  Adulto maduro: 35 a 59  Adulto mayor: 60 a 89  Anciano: 90 en adelante. 30
  39. 39. Ejercicios condicionales … Tiendita  Obtenga el diagrama de flujo para el siguiente problema.  La pantalla debe de desplegar el menú al iniciar Bienvenidos al “Café Tranquis” 1) Café Expreso 2) Café Capuchino 3) Café Late 4) Café Moka Opción: 3 El café Late cuesta 15 pesos. ¿Cuántos cafés quieres? 2 El total a pagar de los cafés es: 30 pesos Te esperamos pronto. 31
  40. 40. Ejercicios condicionales …  Cálculo de áreas  Obtenga el diagrama de flujo para el siguiente problema.  La pantalla debe de desplegar el menú al iniciar 1) Área del Triángulo 2) Área del Círculo 3) Área del Cuadrado 4) Área del Rectángulo Opción: 2 Dame el radio: 1 El área del círculo con radio 1 es: 3.1416 ADIOS 32
  41. 41. Ejercicios condicionales …  Placas: REALIZA el algoritmo y construye un diagrama en Raptor, que despliegue los meses en que debe llevar a verificar un coche en función del número de terminación de sus placas. Ver la siguiente tabla: Terminación 1-2 3-4 5-6 7-8 9-0 Meses de verificación Enero - Febrero Marzo -Abril Mayo - Junio Julio - Agosto - Septiembre Octubre - Noviembre 33
  42. 42. Ejercicios condicionales …  Huracanes: Existen varias escalas para medir un huracán. La escala Saffir-Simpson se ha convertido en una forma popular de categorizar los huracanes y es muy útil para estimar la cantidad de daños que pueden ocurrir a causa de un huracán. Fue nombrada así por los científicos que la desarrollaron.  REALIZA el algoritmo y desarrolla un diagrama de flujo con las siguientes características:  Dada la categoría de un huracán,  Despliegue la velocidad del viento y el tipo de daños que un huracán de esta categoría provoca Intensidad 1 2 3 4 5 34 Velocidad del Viento (mph) 74-95 96-110 111-130 131-155 sobre 155 Daños Mínimos Moderados Extensos Extremos Catastróficos
  43. 43. Ejercicios condicionales …  PLACAS versión 2. Pedir al usuario el último número de la placa de su carro. El número debe de ser de dos dígitos, de tal forma que salga la salida mostrada a continuación. Terminación Meses de verificación 1-2 Enero - Febrero 3-4 Marzo - Abril 5-6 Mayo - Junio 7-8 Julio - Agosto - Septiembre 9-0 Octubre - Noviembre 35  SALIDA SIN ERROR: Dame el último número de dos dígitos de tu placa: 76 Con el número 6 te toca verificar los meses de: Mayo y Junio Gracias por usar nuestro servicio.  SALIDA CON ERROR: Dame el último número de dos dígitos de tu placa: 766 El número no es de dos dígitos. Gracias.
  44. 44. Ciclos 36
  45. 45. Ciclos 37
  46. 46. 38
  47. 47. Ejemplos ciclos 1. Subir escaleras 2. Cumpleaños en Diciembre 3. Juego de las sillas 39
  48. 48. Ejercicios de ciclos 1. Promedio edades de mis amigos 2. Cantidad de amigos en Facebook de la primera fila pero solo si son más de 200. 3. Anterior pero dando como resultado a cuántos se les preguntó y cuántos sí entraron en la suma. 4. Suma números pares: Realice un algoritmo y un diagrama de flujo que:  Dado un número entero de entrada  Imprima los números pares que se encuentren entre ese número y el cero.  Ejemplo:  Entrada:10  Salida: 10, 8, 6, 4, 2, 0. 40
  49. 49. Ejercicios de ciclos … 5. Realice un programa que dado un número K, obtenga su número de Fibonacci.  La sucesión de Fibonacci se define como la suma de los dos últimos elementos de una serie que empieza con los números 1, 1.  Ej: 1, 1, 2, 3, 5, 8, 13, ...  Formalmente se define de la siguiente manera: F(1) = 1 F(2) = 1 F(K) = F(K-1) + F(K-2) Ej: F(5) = F(4) + F(3) = 3 + 2 = 5 F(4) = F(3) + F(2) = 2 + 1 = 3 F(3) = F(2) + F(1) = 1 + 1 = 2 41
  50. 50. Ejercicios de ciclos … 6. Realice un programa que multiplique por dos un número N, K veces.  Las entradas al programa serán:  el número N a multiplicar.  el numero de veces K que se desea realizar la multiplicación.  Pruebe su programa con N = 2, K = 3 (Resultado = 16). 42
  51. 51. ¿Qué sigue? Introducción al razonamiento algorítmico 44
  52. 52. Entrada-Procesamiento-Salida Entradas Procesamiento Salida • Datos para el • Cálculo de la • Dar a conocer el procesamiento salida deseada resultado 45
  53. 53. Proceso de desarrollo de un programa Diseñar el Escribir el programa código Corregir Corregir errores de errores de lógica sintáxis Probar el programa 46

×