View
17
Download
3
Category
Preview:
Citation preview
Clase 2
Tipos de datos Asignación de valores Estructura IF Ejercicios
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.
Tipos de datos comunes
Datos
Numéricos
Enteros Reales
Corto
Largo
Simple Doble
Carácter Lógicos
Sencillo Cadena
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).
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
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 (-).
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
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
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
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
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
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
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
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
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
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
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).
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.
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
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
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
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
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
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?
ENTRADADE DATOS
PROCESAMIENTO• Cálculos
• Relaciones lógicas•Decisiones
SALIDADE
RESULTADOS
Estructura general de un programa secuencial
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/.
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
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
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
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
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.
Recommended