clase 2 tipos de datos asignación de valores estructura if ejercicios
TRANSCRIPT
![Page 1: Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios](https://reader030.vdocumento.com/reader030/viewer/2022020115/550001a94a79593d1f8b4965/html5/thumbnails/1.jpg)
Clase 2
Tipos de datos Asignación de valores Estructura IF Ejercicios
![Page 2: Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios](https://reader030.vdocumento.com/reader030/viewer/2022020115/550001a94a79593d1f8b4965/html5/thumbnails/2.jpg)
Pasos para resolver un problemaPasos para resolver un problema
1. Entender el problema.
2. Identificar las constantes y variables (de entrada, de salida e intermedias).
3. Identificar los procesos de transformación.
4. Establecer una estrategia de solución. Representación del problema.
5. Codificar el algoritmo en un lenguaje de programación determinado.
6. Ejecutar y depurar el programa con base en los resultados obtenidos.
![Page 3: Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios](https://reader030.vdocumento.com/reader030/viewer/2022020115/550001a94a79593d1f8b4965/html5/thumbnails/3.jpg)
Tipos de datos comunes
Datos
Numéricos
Enteros Reales
Corto
Largo
Simple Doble
Carácter Lógicos
Sencillo Cadena
![Page 4: Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios](https://reader030.vdocumento.com/reader030/viewer/2022020115/550001a94a79593d1f8b4965/html5/thumbnails/4.jpg)
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).
![Page 5: Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios](https://reader030.vdocumento.com/reader030/viewer/2022020115/550001a94a79593d1f8b4965/html5/thumbnails/5.jpg)
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
![Page 6: Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios](https://reader030.vdocumento.com/reader030/viewer/2022020115/550001a94a79593d1f8b4965/html5/thumbnails/6.jpg)
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 (-).
![Page 7: Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios](https://reader030.vdocumento.com/reader030/viewer/2022020115/550001a94a79593d1f8b4965/html5/thumbnails/7.jpg)
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 = 32. j = 53. k = i + j4. j = k / 25. i = i - 16. m = i + k * 37. n = k * (3 + i)
Línea i j k m n
1
2
3
4
5
6
7
![Page 8: Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios](https://reader030.vdocumento.com/reader030/viewer/2022020115/550001a94a79593d1f8b4965/html5/thumbnails/8.jpg)
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
![Page 9: Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios](https://reader030.vdocumento.com/reader030/viewer/2022020115/550001a94a79593d1f8b4965/html5/thumbnails/9.jpg)
Ejemplo
Diseñar un algoritmo para leer la edad de una persona y decir si es mayor de edad
INICIOLeer eSI (e ≥ 18)
Mostrar “Mayor de edad”FIN SI
FIN
![Page 10: Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios](https://reader030.vdocumento.com/reader030/viewer/2022020115/550001a94a79593d1f8b4965/html5/thumbnails/10.jpg)
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
![Page 11: Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios](https://reader030.vdocumento.com/reader030/viewer/2022020115/550001a94a79593d1f8b4965/html5/thumbnails/11.jpg)
Ejemplo
Diseñar un algoritmo para leer un número y decir si es par o impar
INICIOLeer nSI (n % 2 = 0)
Mostrar “El número es par”DE LO CONTRARIO
Mostrar “El número es impar”FIN SI
FIN
![Page 12: Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios](https://reader030.vdocumento.com/reader030/viewer/2022020115/550001a94a79593d1f8b4965/html5/thumbnails/12.jpg)
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
![Page 13: Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios](https://reader030.vdocumento.com/reader030/viewer/2022020115/550001a94a79593d1f8b4965/html5/thumbnails/13.jpg)
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)
INICIOLeer notaSI (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
![Page 14: Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios](https://reader030.vdocumento.com/reader030/viewer/2022020115/550001a94a79593d1f8b4965/html5/thumbnails/14.jpg)
Operadores lógicos y conectores
Operador En VBA
> >
< <
≥ >=
≤ <=
= =
≠ <>
Conector Acción En VBA
Y P Y Q es verdadera sólo si tanto P como Q son verdaderas, en caso contrario es falsa
AND
O P O Q es verdadera si cualquiera de las dos es verdadera, y sólo es falsa si ambas son falsas
OR
No No P cambia el valor de P Not
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
![Page 15: Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios](https://reader030.vdocumento.com/reader030/viewer/2022020115/550001a94a79593d1f8b4965/html5/thumbnails/15.jpg)
Si A=10, B=8 y C=6, cual es el valor de:
A>BB<=CA>=B or B<CA>B and B<C
TrueFalseTrueFalse
Not (A>C) B<C or A<=CB<>A and B>CNot(B>A and B>C)
FalseFalseFalseTrue
Ejemplo
![Page 16: Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios](https://reader030.vdocumento.com/reader030/viewer/2022020115/550001a94a79593d1f8b4965/html5/thumbnails/16.jpg)
Técnicas para representar los Técnicas para representar los algoritmosalgoritmos
Pseudocódigo (P-código)Pseudocódigo (P-código) Diagramación estructurada (diagrama de caja)Diagramación estructurada (diagrama de caja) Diagramación libre (diagrama de flujo)Diagramación libre (diagrama de flujo) …… Sintaxis de un lenguaje de programación Sintaxis de un lenguaje de programación
determinadodeterminado.
Véase Cap. 2 en http://www.unalmed.edu.co/~walvarem. También puede descarcar el archivo CAP2A.PDFCAP2A.PDF de la página
http://xue.unalmed.edu.co/~walvarem/APdocs, carpeta DOCS_PDF
![Page 17: Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios](https://reader030.vdocumento.com/reader030/viewer/2022020115/550001a94a79593d1f8b4965/html5/thumbnails/17.jpg)
Diagramación libreDiagramació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).
![Page 18: Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios](https://reader030.vdocumento.com/reader030/viewer/2022020115/550001a94a79593d1f8b4965/html5/thumbnails/18.jpg)
Diagramación libreDiagramación libre
Indican el Indican el flujo lógicoflujo lógico, o el orden de la , o el orden de la secuencia de operaciones del algoritmosecuencia de operaciones del algoritmo
Terminal (representa el comienzo, “inicio” y Terminal (representa el comienzo, “inicio” y el final, “fin”, de un algoritmo. Puede el final, “fin”, de un algoritmo. Puede representar también una parada o representar también una parada o interrupción programada que sea necesario interrupción programada que sea necesario realizar en un algoritmo.realizar en un algoritmo.
![Page 19: Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios](https://reader030.vdocumento.com/reader030/viewer/2022020115/550001a94a79593d1f8b4965/html5/thumbnails/19.jpg)
Diagramación estructuradaDiagramació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
![Page 20: Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios](https://reader030.vdocumento.com/reader030/viewer/2022020115/550001a94a79593d1f8b4965/html5/thumbnails/20.jpg)
Comparación
SI ( a > c+b)Acción 1
DE LO CONTRARIOAcción 2
FIN SISI
NOa<b+c?
Acción 1 Acción 2
Diagrama de flujo
Pseudocódigo
Diagrama de caja
![Page 21: Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios](https://reader030.vdocumento.com/reader030/viewer/2022020115/550001a94a79593d1f8b4965/html5/thumbnails/21.jpg)
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:
))()((
2
cSbSaSSÁrea
cbaS
a
bc
Tenga en cuenta que todo lado debe ser menor que la suma de los otros dos
![Page 22: Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios](https://reader030.vdocumento.com/reader030/viewer/2022020115/550001a94a79593d1f8b4965/html5/thumbnails/22.jpg)
DATOS DE DATOS DE ENTRADAENTRADA
PROCESAMIENTOPROCESAMIENTO• Cálculos
• Relaciones lógicas
SALIDASALIDA(resultados)
a, b, c Sí forman triángulo y
cual es el area o NO forman
triángulo
Etapas del proceso…
Verificar • c<b+a• b<c+a• a<b+c
![Page 23: Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios](https://reader030.vdocumento.com/reader030/viewer/2022020115/550001a94a79593d1f8b4965/html5/thumbnails/23.jpg)
Diagrama de flujo del algoritmo
Leer a, b, c
SI
NOa<b+c yb < a + c y c < a + b?
Mostrar “No forma triángulo”
Mostrar “Sí forma triángulo”
Mostrar Area
))()((
2
cSbSaSSArea
cbaS
![Page 24: Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios](https://reader030.vdocumento.com/reader030/viewer/2022020115/550001a94a79593d1f8b4965/html5/thumbnails/24.jpg)
Desarrollar un algoritmo para resolver la ecuación cuadrática de la forma:
AX2 + BX + C = 0
Ejercicio Ecuación Cuadrática
Cuáles son las etapas para el cálculo de las posibles raíces?
![Page 25: Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios](https://reader030.vdocumento.com/reader030/viewer/2022020115/550001a94a79593d1f8b4965/html5/thumbnails/25.jpg)
ENTRADADE DATOS
PROCESAMIENTO• Cálculos
• Relaciones lógicas•Decisiones
SALIDADE
RESULTADOS
Estructura general de un programa secuencial
![Page 26: Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios](https://reader030.vdocumento.com/reader030/viewer/2022020115/550001a94a79593d1f8b4965/html5/thumbnails/26.jpg)
Para resolver la ecuación cuadrática de la forma:
AX2 + BX + C = 0
Solución de la Ecuación Cuadrática
Se hace uso de la siguiente fórmula:
0,2
42
2,1 AsiA
ACBBXR/.
![Page 27: Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios](https://reader030.vdocumento.com/reader030/viewer/2022020115/550001a94a79593d1f8b4965/html5/thumbnails/27.jpg)
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:
0,2
42
2,1 AsiA
ACBBX
![Page 28: Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios](https://reader030.vdocumento.com/reader030/viewer/2022020115/550001a94a79593d1f8b4965/html5/thumbnails/28.jpg)
DATOS DE DATOS DE ENTRADAENTRADA
PROCESAMIENTOPROCESAMIENTO• Cálculos
• Relaciones lógicas
SALIDASALIDA(resultados)
A, B, CX1, X2
Etapas del proceso…
A 0
AACBB
X2
42
2,1
![Page 29: Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios](https://reader030.vdocumento.com/reader030/viewer/2022020115/550001a94a79593d1f8b4965/html5/thumbnails/29.jpg)
29
D=B^2-4AC
Leer A, B, C
X = -C / B
NO
SI A = 0 ? B = 0 ?
SI Mostrar mensaje “No hay ecuación”
Mostrar X
NO
D>=0?
SI NO
![Page 30: Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios](https://reader030.vdocumento.com/reader030/viewer/2022020115/550001a94a79593d1f8b4965/html5/thumbnails/30.jpg)
30
X1=(-B+D^(1/2))/(2A)
X2=(-B-D^(1/2))/(2A)
Mostrar X1 y X2
D>=0?
SI NO
=-B/(2A)
=(-D^(1/2))/(2A)
Mostrar X1 = + *iX2 = - *i
Ejemplo:“X1 =” & “+” & & “*i”
C= + *i
![Page 31: Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios](https://reader030.vdocumento.com/reader030/viewer/2022020115/550001a94a79593d1f8b4965/html5/thumbnails/31.jpg)
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.