Práctica 3 a) El producto de los elementos pares de la secuencia b

advertisement
Universidad Simón Bolívar
Departamento de Computación y Tecnología de la Información
CI-2691 Enero-Marzo 2007
Práctica 3
1. Demuestre la veracidad de la siguiente tripleta de HOARE:
{ x≤-5 } y := -2 * x + 7 { y≥15 }
2. Dado un entero N > 0, una secuencia b de largo N de números reales y sean dos
enteros j, k que cumplen con 0 < j < k < N , denotamos b[j, k] a la sub-secuencia
<b[j], ….., b[k]> (Note que b[j,k] es la lista vacía
si
j = k+1). Traduzca las
siguientes oraciones en español a predicados
a) Todos los elementos de b[j,k] son cero.
b) Ningún valor de b[j,k] es cero.
c) Algunos valores de b[j,k] son cero.
d) Todos los ceros de b[0, N-1] están en b[j,k].
e) Algunos ceros de b[0, N-1] están en b[j,k].
h) Si b[0, N-1] tiene un cero, entonces b[j,k] también.
3. Dada una secuencia finita de N enteros denotada por b se desea que escriba
predicados que expresen formalmente las siguientes sentencias:
a) El producto de los elementos pares de la secuencia
b) La suma de los elementos impares de la secuencia
c) El número de cuatros de la secuencia
d) La posición del segundo elemento más grande de la secuencia
4. Escriba una especificación de un programa que determine si un número N es
perfecto. N se dice que es un número perfecto si N es igual a la suma de sus divisores
distintos menores que él. El perfecto más pequeño es el 6: 6 = 1 + 2 + 3. El siguiente
es el 28: 28 = 1 + 2 + 4 + 7 + 14.
5. De la especificación formal de los siguientes problemas
a) Dado tres números A, B y C enteros, calcule el valor de la suma de los tres
números.
b) Dado A y B, dos números enteros, indique “0” si A es igual B, “1” si A es mayor
estricto que B y “2” si B es mayor estricto que A.
c) Dado un entero A, que representa un año, determine si A es bisiesto. Recuerde que
un año es bisiesto si es divisible por 4, excepto aquellos divisibles por 100 pero no por
400.
6. Implemente en GaCeLa programas que satisfagan los siguientes requerimientos
a) Imprimir en la pantalla “Hola Mundo”
b) Recibir un nombre e imprimirlo en pantalla
c) Calcular el cuadrado de un número real
d) Implemente la especificación 4a)
e) Determinar el máximo de dos números enteros
f) Dado los enteros A,B y C verifique si se cumple que A+B*C = (A+B)*C
Descargar