1 / 31

Clase 2

Clase 2. Tipos de datos Asignación de valores Estructura IF Ejercicios. Pasos para resolver un problema. Entender el problema. Identificar las constantes y variables (de entrada, de salida e intermedias). Identificar los procesos de transformación.

aitana
Télécharger la présentation

Clase 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Clase 2 • Tipos de datos • Asignación de valores • Estructura IF • Ejercicios

  2. Pasos para resolver un problema • Entender el problema. • Identificar las constantes y variables (de entrada, de salida e intermedias). • Identificar los procesos de transformación. • Establecer una estrategia de solución. Representación del problema. • Codificar el algoritmo en un lenguaje de programación determinado. • Ejecutar y depurar el programa con base en los resultados obtenidos.

  3. Tipos de datos comunes

  4. Nombres de variables Para nombrar una variable en la mayoría de los lenguajes de programación es necesario seguir ciertas reglas: • Debe empezar obligatoriamente con una letra (a-z o A-Z) • No pueden contener espacios en blanco • El resto de los dígitos pueden ser números • Se pueden incluir caracteres especiales como el guión bajo (underline).

  5. Asignación Para darle valor a una variable dentro de un algoritmo existen dos alternativas: • Leer la variable (obviamente cuando se trata de una variable de entrada) Ej: Leer X • Asignarle un valor directamente, o el resultado de una operación Ej: A = 3 Z = (X+Y)*2

  6. Precedencia de los operadores Cuando hay de las operaciones aritméticas es necesario considerar el orden en que se evalúa la expresión cuando aparecen dos o más operaciones. En general los lenguajes de programación coinciden en evaluar primero lo que se encuentra entre paréntesis comenzando por los paréntesis más internos. Dentro de cada paréntesis o en una expresión libre de paréntesis es común evaluar de la siguiente forma: Se recorre de izquierda y se evalúan (en ese orden): • Funciones especiales (raíz cuadrada, valor absoluto, logaritmo, seno, coseno, tangente elevar a potencia, etcétera) • Divisiones (/), multiplicaciones (*), división entera (%). • Sumas (+) y/o restas (-).

  7. Ejemplo Dado que al ejecutar un algoritmo este trabaja en secuencia, determinar los valores finales de las variables suponiendo que se tienen las siguientes instrucciones: 1. i = 3 2. j = 5 3. k = i + j 4. j = k / 2 5. i = i - 1 6. m = i + k * 3 7. n = k * (3 + i)

  8. Estructura IF En los lenguajes de programación es común el uso de condicionales que sirven para denotar diferentes alternativas que pueden llevarse a cabo dado el valor de una expresión lógica, el cual siempre será verdadero o falso. La forma más simple que tiene un condicional (una pregunta) es: SI (expresión lógica) Instrucciones que se realizan si la expresión lógica es verdadera FIN SI

  9. Ejemplo Diseñar un algoritmo para leer la edad de una persona y decir si es mayor de edad • INICIO • Leer e • SI (e ≥ 18) • Mostrar “Mayor de edad” • FIN SI • FIN

  10. Estructura IF Los condicionales también sirven para representar alternativas de ejecución, es decir, que se haga una cosa u otra dependiendo del valor de una expresión lógica. La forma en este caso es: SI (expresión lógica) Instrucciones que se realizan si la expresión lógica es verdadera DE LO CONTRARIO Instrucciones que se realizan si la expresión lógica es verdadera FIN SI

  11. Ejemplo Diseñar un algoritmo para leer un número y decir si es par o impar • INICIO • Leer n • SI (n % 2 = 0) • Mostrar “El número es par” • DE LO CONTRARIO • Mostrar “El número es impar” • FIN SI • FIN

  12. Estructura IF Cuando hay más de dos alternativas (no es sólo la parte verdadera y falsa de una única expresión lógica), se puede emplear el condicional múltiple de la siguiente manera: SI (expresión lógica 1) Instrucciones que se realizan si la expresión lógica 1 es verdadera DE LO CONTRARIO SI (expresión lógica 2) Instrucciones que se realizan si la expresión lógica 1 es falsa y la expresión lógica 2 es verdadera … DE LO CONTRARIO Instrucciones que se realizan si todas las expresiones lógica son falsas FIN SI

  13. Ejemplo Diseñar un algoritmo para leer la nota final de un estudiante y decir si ganó, perdió definitivamente o si puede habilitar (suponiendo que se pueda) • INICIO • Leer nota • SI (n ≥ 2.95) • Mostrar “El estudiante ganó” • DE LO CONTRARIO SI (n ≥ 2.65) • Mostrar “El estudiante puede habilitar” • DE LO CONTRARIO • Mostrar “El estudiante perdió” • FIN SI • FIN

  14. Operadores lógicos y conectores Las expresiones lógicas que se utilizan en los condicionales pueden ser simples (sólo es necesario evaluar una pregunta) o compuestas (varias preguntas), y pueden usar cualquier operador lógico

  15. Si A=10, B=8 y C=6, cual es el valor de: Ejemplo A>B B<=C A>=B or B<C A>B and B<C True False True False Not (A>C) B<C or A<=C B<>A and B>C Not(B>A and B>C) False False False True

  16. Técnicas para representar los algoritmos Pseudocódigo (P-código) Diagramación estructurada (diagrama de caja) Diagramación libre (diagrama de flujo) … Sintaxis de un lenguaje de programación determinado. Véase Cap. 2 en http://www.unalmed.edu.co/~walvarem. También puede descarcar el archivo CAP2A.PDF de la página http://xue.unalmed.edu.co/~walvarem/APdocs, carpeta DOCS_PDF

  17. Diagramación libre Proceso: cualquier tipo de operación que pueda originar cambio de valor o impresión de datos Condicional: corresponde a la estructura de IF descrita previamente. Normalmente, los posibles caminos se rotulan como Sí y No, como en la figura adjunta, pero también pueden ser Verdadero (V) y Falso (F).

  18. Diagramación libre Indican el flujo lógico, o el orden de la secuencia de operaciones del algoritmo Terminal (representa el comienzo, “inicio” y el final, “fin”, de un algoritmo. Puede representar también una parada o interrupción programada que sea necesario realizar en un algoritmo.

  19. Diagramación estructurada Proceso Condicional Iteración definida: Se emplea para representar un proceso repetitivo del cual se sabe de antemano cuántas veces se ejecutará cierta secuencia de operaciones

  20. Comparación a<b+c? NO SI Acción 1 Acción 2 Pseudocódigo • SI ( a > c+b) • Acción 1 • DE LO CONTRARIO • Acción 2 • FIN SI Diagrama de caja Diagrama de flujo

  21. c b a Otros ejercicios Triángulo de Herón de Alejandría: Dadas las longitudes de tres segmentos de recta determinar si es posible formar un triángulo con ellos. En caso afirmativo calcular el área del triángulo usando la fórmula: Tenga en cuenta que todo lado debe ser menor que la suma de los otros dos

  22. Etapas del proceso… • Verificar • c<b+a • b<c+a • a<b+c a, b, c Sí forman triángulo y cual es el area o NO forman triángulo DATOS DE ENTRADA • PROCESAMIENTO • Cálculos • Relaciones lógicas SALIDA (resultados)

  23. Diagrama de flujo del algoritmo Leer a, b, c NO SI Mostrar “Sí forma triángulo” a<b+c y b < a + c y c < a + b? Mostrar “No forma triángulo” Mostrar Area

  24. Ejercicio Ecuación Cuadrática Desarrollar un algoritmo para resolver la ecuación cuadrática de la forma: AX2 + BX + C = 0 Cuáles son las etapas para el cálculo de las posibles raíces?

  25. Estructura general de un programa secuencial • PROCESAMIENTO • Cálculos • Relaciones lógicas • Decisiones ENTRADA DE DATOS SALIDA DE RESULTADOS

  26. R/. Solución de la Ecuación Cuadrática Para resolver la ecuación cuadrática de la forma: AX2 + BX + C = 0 Se hace uso de la siguiente fórmula:

  27. Pasos para solucionar el problema Paso 1: calcular B^2 Paso 2: calcular B^2 - 4AC Paso 3: calcular (B^2 - 4AC)^(1/2) Paso 4: -B±(B^2 - 4AC)^(1/2) Paso 5:

  28. Etapas del proceso… A, B, C X1, X2 A 0 DATOS DE ENTRADA • PROCESAMIENTO • Cálculos • Relaciones lógicas SALIDA (resultados)

  29. Leer A, B, C SI SI NO NO D=B^2-4AC NO SI A = 0 ? B = 0 ? Mostrar mensaje “No hay ecuación” X = -C / B Mostrar X D>=0? 29

  30. D>=0? X1=(-B+D^(1/2))/(2A) X2=(-B-D^(1/2))/(2A) NO SI C=  + *i =-B/(2A) =(-D^(1/2))/(2A) Mostrar X1 =  + *i X2 =  - *i Mostrar X1 y X2 Ejemplo: “X1 =”& “+”&  &“*i” 30

  31. Tarea Hacer un algoritmo que permita hallar cuál es el mayor de tres valores numéricos distintos a, b y c. Elaborar algoritmo para el problema de determinar si tres segmentos forman triángulo y en caso afirmativo qué tipo de triángulo es.

More Related