Introducción a la Computación - 2014 Licenciatura y Profesorado en

Anuncio
Introducción a la Computación - 2014
Licenciatura y Profesorado en Ciencias de la Computación
Práctico Nº 3: Lenguaje de Diseño de Algoritmos – Expresiones y Asignaciones
Responda:
a) ¿Qué es una variable? ¿Cuáles son sus atributos? ¿Cuál es la diferencia entre una variable y una constante?
b) ¿Cuáles son los tipos primitivos que provee el Lenguaje de Diseño?
c) ¿Qué es una expresión? ¿Cuáles son sus componentes? Enumere los tipos de expresiones que provee el Lenguaje
de Diseño.
d) ¿Para qué sirven los paréntesis en una expresión?
e) ¿Qué condiciones deben cumplirse para que la siguiente asignación: V←E sea una asignación lógica? Justifique
su respuesta.
Ejercicio 1: Dadas las siguientes situaciones indicar cuál o cuáles son las condiciones que deben satisfacerse para que
dichas situaciones puedan realizarse.
1) A partir de la unión de dos triángulos se quiere formar un cuadrado. Para que esto sea posible es necesario que
 los dos triángulos sean rectos
 uno de los triángulos sea isósceles y el otro sea escaleno
 los dos triángulos sean rectos y las longitudes de los 4 catetos sean iguales
2) Un grupo de 7 amigos decide reunirse a cenar en el departamento de uno de ellos. Otros tres amigos más están
invitados a la cena pero aún ninguno de ellos ha confirmado su presencia. Para que todos puedan sentarse (cada uno en
una silla) es necesario que
 el departamento cuente con al menos 7 sillas
 el departamento cuente con menos de 7 sillas
 el departamento contenga 10 sillas
3) Suponga que se quiere determinar si una letra es una vocal minúscula o no. ¿Cuáles son los requisitos que debe cumplir
dicha letra?
 debe ser una letra entre “a” y “z”
 debe ser una letra igual a “a” e igual a “e” e igual a “i” e igual a “o” e igual a “u”
 debe ser una letra igual a “a” o igual a “e” o igual a “i” o igual a “o” o igual a “u”
Ejercicio 2: Traducir las siguientes expresiones aritméticas a expresiones en Lenguaje de Diseño. Enumerar restricciones,
si es que existen, en los valores que pueden tomar las variables.
a) 4x - 2y + 7
f) 3x + 2y
b) (( x * y ) 2)2
2z
c) A + B
g) (A + B) * (A + C)
√C + D
(C2 + D2)
d) A + __B__
h) (|A| – B2) * C
C+D
i) A – 2B
e) A - 1
½C
B____
j) √ 8 + B mod 3
G -1
|A * (5 mod 2)|
C
Ejercicio 3: Escribir expresiones en Lenguaje de Diseño para expresar los siguientes conceptos
N es positivo
N es un número par
N es un número impar
N es múltiplo de 7
N es múltiplo de P
N es múltiplo de 7 y múltiplo de 4
N no es múltiplo de 5 ni múltiplo de 8
N es múltiplo de 3 pero no de 8
N es positivo o N es cero
N es divisor de P
N es el sucesor de Y
N tiene al menos dos dígitos
N tiene exactamente tres dígitos
Ejercicio 4: Transformar los siguientes enunciados en expresiones en Lenguaje de Diseño. Utilice todas las variables que
considere necesarias indicando qué representan y cuál es su tipo.
1.
2.
3.
4.
5.
6.
7.
8.
El costo de la compra de artículos A1, A2 y A3 no supera los $190.
El valor de la variable C está en el rango de “a” a “z”.
El valor de la variable C no está en el rango de “a” a “z”.
Dados dos números naturales, siempre se cumple que su suma es un número natural.
El cero es el único entero igual a su opuesto.
En un triángulo rectángulo la suma del cuadrado de los catetos es igual al cuadrado de la hipotenusa.
No se cumple A y se cumple B y no se cumple que el resto de dividir a C por la mitad sea mayor a 5.
El 80% del valor de la variable A no supera al valor absoluto de B y a su vez no se cumple D ó los valores de C
están fuera del rango [“a”,”z”].
Ejercicio 5: Considerar los siguientes trozos de algoritmos escritos en Lenguaje de Diseño.
Indicar el tipo de las variables utilizadas y su valor tras finalizar la ejecución de cada uno de ellos.
1)
2)
3)
4)
5)
6)
a <- 3;
a <- -2.3;
b <- “a”;
a <- 7;
a <- Falso;
a <- 8.75 + 1 / 4;
b <- 4;
b <- a+5;
a <- “#”;
b <- 100;
b <- RC(9) ^2 < 5;
b <- a % 2;
b <-a;
n <- -6;
c <- a < b;
c <- a;
c <- ~a | b;
c <- RC(a) + ABS(a-17)
r <- 4.3*a+(b/2)*n;
a <- b;
b <- c;
Ejercicio 6: Sabiendo que A = 4, B = 5 y C = 1, evaluar las siguientes expresiones:
a) B * A – B ^ 2 / 4 * C
b) (A * B) / 3 ^ 2
c) ( ( (B + C) / 2 * A + 10) * 3 * B) – 6
d) A ^ C + ABS(-1*B)
e) A ^ (C ^ B)
Ejercicio 7: Completar la tabla con los datos que correspondan sabiendo que D=Verdadero; F=Falso; C= Falso; A= 20;
B=17 y N=4.0.
Indique si está en
Resultado de la
Tipo del
Lenguaje de Diseño,
Expresión
Resultado
sino transcribirla
D or C and (AB)
|-B| + RC(A^2 + 10A + RC(25))
(N+1)
N( N+ 1) / 2 > 100
not (D or C and F)
Ejercicio 8: Convertir, cuando sea necesario, las siguientes expresiones matemáticas en expresiones de Lenguaje de
Diseño y evaluarlas considerando los siguientes valores:
a
b c
r
u
x
y
z
2 3 5 2.5 -2 -3.2 2.8 4
1) b2 - 4ac
2) x2 + y2 / (√z)2
3)
4)
5)
6)
7)
8)
9)
10)
11)
(x2 + y2) / (√z)2
4x+5y/3√z
2 * 3.1416 r3
(x-y)2 +2(z+u)3
3 + 62/ 9 módulo 2
“C” < “P” | 3 = 9 / 3 | ~FALSO
“f” < “F” & “a” = “A”
(7 >= 7) & ( (FALSO | ~ (3 > 3 / 1) ) | 5 = 4 + 1 )
~ (~(2 < 3) | (( 10 % 10) > = 0))
Ejercicio 9: Dadas las siguientes frases en lenguaje natural, seleccionar aquellas expresiones (dentro de las opciones) que
representan su traducción a Lenguaje de Diseño. (A, B, C y E son variables)
a) La cuarta parte de C es dividida por la mitad de B (B y C son variables enteras)
1.
1/4 * C / B / 2
2.
0.25 * C / (0.5 * B)
3.
0.25 * C / 0.5 * B
b) La variable A tiene el mismo valor que B pero no se cumple C (A, B y C son variables lógicas)
1.
A = B & C = FALSO
2.
A = B & ~C
3.
A = B | ~C
c) A la variable costo le descuento el 15% del valor de la variable impuesto (costo e impuesto son variables reales)
1.
costo – 0.15 * impuesto
2.
costo – impuesto * 15 / 100
3.
( costo – 0.15) * impuesto
d) La variable C incrementada en un 30%, no supera el 5% del valor de B (B y C son variables reales)
1.
C * 0.3 + C < 0.5 * B
2.
C + 0.3 * C >= 0.05 * B
3.
C + 0.3 * C <= 0.05 * B
4.
1.3 * C <= 0.05 * B
e) Los valores de la variable mes siempre están en el rango de 1 a 12 (mes es una variable entera)
1.
mes >= 1 & mes <= 12
2.
1 <= mes <= 12
3.
mes <= 1 | mes >= 12
4.
mes <= 12 | mes >= 1
f) Los valores de la variable A nunca están en el rango de 1 a 500 (A es una variable entera)
1.
¬ (A >= 1 & A <= 500)
2.
A <= 1 & A >= 500
3.
A <= 1 | A >= 500
g) La variable C sólo puede contener una letra (C es una variable carácter)
1.
“A” <= C <= “z”
2.
C >= “A” & C <= “z”
3.
C = “a” | C = “e” | C = “i” | C = “o” | C = “u”
4.
C >= “A” | C <= “z”
h) La variable E puede contener sólo uno de los siguientes caracteres: “*”, “c”, “?” o “5” (E es una variable carácter)
i)
1.
E = “*” | “c” | “?” | “5”
2.
E = “*” & “c” & “?” & “5”
3.
E = “*” | E = “c” | E = “?” | E = “5”
4.
E = “*” & E = “c” & E = “?” & E = “5”
La variable X sólo puede contener una vocal (X es una variable carácter)
1.
X >= “A” & X <= “U” | X >= “a” & X <= “u”
2.
X >= “A” & X <= “u”
j)
3.
X = “a” | X = “e” | X = “i” | X = “o” | X = “u” | X = “A” | X = “E” | X = “I” | X = “O” | X = “U”
4.
X = “a” & X = “e” & X = “i” & X = “o” & X = “u” & X = “A” & X = “E” & X = “I” & X = “O” & X = “U”
La variable let puede contener letras pero nunca la letra “F” (F es una variable carácter)
1.
let <> “F”
2.
let >= “A” & let <= “z” & ~(let = “F”)
3.
let >= “A” & let <= “z” & ~(let <> “F”)
Ejercicio 10: Decidir si cada una de las siguientes expresiones están correctamente expresadas en Lenguaje de Diseño. En
caso de ser incorrecta alguna de ellas explique por qué.
1.
2.
3.
4.
5.
6.
( 3 – “B” >= 0 ) < (VERDADERO & ( “k” < “q”))
RC(X) – 2 <> 0 < “k”
( 3 – 2 + FALSO ) = “n”
(3–2+4)=n
3 – 89 >= “a”
M = “M”
Ejercicio 11: Determinar la validez de las siguientes asignaciones, sabiendo que la variable Resultado es de tipo real, E es
de tipo entero y C es de tipo caracter. ¿De qué tipo deberían ser las variables restantes para que las asignaciones sean
válidas en Lenguaje de Diseño?
Asignación
¿Válida? Justifique
L <- 2 < 1;
A <- A+1;
“x”<- “y”;
x <- “y”;
A <- B;
L <- Resultado < 9;
E <- 8.90;
Resultado <- E % 8;
Resultado <- 7;
C <- VERDADERO;
D <- VERDADERO  ~FALSO;
D <- 3 * A + B / 2 <= 5 * A  ~ D  A <> B;
D <- A > B + ABS(-637);
Ejercicio 12: Dados los valores ok = Verdadero, enc = Falso, mucho = 8, poco = 4 y B = “A” determinar el resultado de
la evaluación de las siguientes expresiones:
a) ok & mucho % poco < 1
f) enc & ~ ~ ~ ok
b) ~ poco - 1 <> mucho + 1
g) B = “B” & “B” > “b”
c) ok & enc | poco = (mucho - 5)
h) 5 % ABS(poco) >= 3 | ~B <> “A”
d) (poco = mucho - 6) | ok & enc
i) ~ ~ ~ ~ enc & ok
e) ~ Verdadero & ~ Falso
j) ok & (mucho % poco <= poco / mucho)
Descargar