clase 2 tipos de datos asignación de valores estructura if ejercicios

31
Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios

Upload: cruzita-anselmo

Post on 11-Mar-2015

26 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.