Download TP1 - TEM

Document related concepts

Algoritmo de Euclides wikipedia , lookup

Algoritmo wikipedia , lookup

Criba de Eratóstenes wikipedia , lookup

Relación de recurrencia wikipedia , lookup

Número primo wikipedia , lookup

Transcript
Tecnologías en la Educación Matemática
Dpto. de Cs. e Ing. de la Computación, UNS
Trabajo Práctico N° 1
Problemas y Algoritmos (parte I)
1. (Sucesión) Hallar los primeros 7 elementos de la sucesión ii. Para resolver este ejercicio tenga
en cuenta el siguiente ejemplo: el tercer elemento de la sucesión es 33=27.
2. (Hallar sumas) Hallar las sumas para n = 1, 2, 3, 4, 5 de la sumatoria.
p0 + p1 + p2 + p3. + ... + pn-1
donde p0 = 1, p1 = 2, y pi+1 es el número
p1
p2
p3
p4
pn primo inmediato siguiente a pi
3.
a)
b)
c)
d)
e)
f)
g)
h)
i)
(N-esimo término) Escribir el término n-ésimo de las siguientes sucesiones.
1, 2, 3, 4, ....
termino n-ésimo = n
2, 4, 6, 8, 10, ....
1, 3, 5, 7, 9, 11, ....
1, 2, 6, 24, 120, ....
1, -2, 3, -4, 5, -6, 7, -8,....
1, 2, 4, 8, 16, 32, 64, 128,....
1, 1/2, 1/3, 1/4, 1/5, 1/6, ...
1, 1/2, 1/6, 1/24, 1/120, ...
1/2, 2/3, 3/4, 4/5, 5/6, ...
4. Un número entero se puede descomponer polinómicamente de la siguiente manera:
2463 = 2* 103 + 4* 102 + 6* 101 + 3 * 100
a) Descomponer polinómicamente un número capicúa de 4 dígitos.
b) Descomponer polinómicamente un número capicúa de 5 dígitos.
c) Descomponer polinómicamente a los números de la forma ABCABC.
5. Definir la operación conocida como división entera. Dado un número n de tres cifras, escribir
tres expresiones diferentes para obtener el dígito presente en la posición correspondiente a
las unidades, a las decenas y a las centenas respectivamente. En base a estas expresiones,
hallar una fórmula general para obtener el k-ésimo dígito de un número de n cifras.
6. Sabiendo que “tengo frío” es falso y “tengo sueño” es verdadero, decidir si las siguientes
sentencias son verdaderas o falsas.
a) No tengo frío.
b) No tengo sueño.
c) Tengo frío y tengo sueño.
7. Indicar cuáles son, a su criterio, los datos de entrada y los datos de salida asociados a cada uno
de los siguientes enunciados. Detallar el dominio de cada dato (ej: naturales, enteros, lógicos,
etc.) aclarando también cualquier otra restricción adicional.
a) Sumar dos números enteros.
b) Obtener el cociente y resto de dividir dos números enteros entre sí.
c) Calcular el máximo común divisor (MCD) de dos números enteros.
d) Obtener la fecha siguiente a una fecha dada.
e) Dado un número natural, encontrar el primo inmediato siguiente a él.
f) Hallar la suma de los n primeros términos de la sucesión
1 / 2 + 1 / 4 + 1 / 8 + 1 / 16 + . . . + 1 / 2n
g) Calcular la suma de todos los números primos menores que un número n dado.
Tecnologías en la Educación Matemática
Dpto. de Cs. e Ing. de la Computación, UNS
8. Dos expresiones lógicas (i.e., expresiones que evalúan en verdaderas o falsas) E1 y E2 se dicen
equivalentes si cada vez que E1 toma un determinado valor de verdad (verdadero o falso), E2
toma el mismo valor de verdad que E1, y viceversa.
a) Comprobar que las siguientes expresiones son equivalentes, evaluándolas con valores
verdadero y falso para cada uno de sus datos.
no(A o B)
= no A y no B
no(A y B)
= no A o no B
no A o B
= no(A y no B)
b) Dados tres datos lógicos a, b, c, con valores verdadero, falso y verdadero, respectivamente,
indicar cuál es el valor de verdad de las siguientes expresiones:
1) ((a y b) o c) y (a o b)
2) (a o b o c)
3) (a y (b y (c o b)))
4) (no b) y (no c) y (no a)
5) (no (no a)) y (no (a y b))
6) ((no a) y (no b)) y (a o b)
c) Escribir una expresión lógico-matemática para determinar si un año es bisiesto
9. Considerar los siguientes trozos de algoritmos escritos en lenguaje de diseño. Indicar cuál será
el valor de los datos a, b y c, tras finalizar la ejecución de cada uno de ellos. Determinar si en
algún caso quedan datos indefinidos.
(1)
a 3
b 4
b a
(2)
a1
a2*a
a2*a
a2*a
(3)
b0
ab
ca
(4)
(5)
b0
ab+1
c  a+1
a 7
b  100
ca
ab
bc
(6)
a1
b5
ba
ab
(7)
a4
b8
c  a>b
(8)
c 7
b  25
a  c > (b-8)
a  no a
a  (b>c) y a
10. Suponiendo que cada uno de los siguientes datos tiene un asignado un valor dentro del
dominio que especificamos en la tabla de la izquierda, completar la tabla de la derecha
detallando el dominio de x en cada operación.
Dato
a, b
c, d
e, f
Dominio
entero
real
lógico
Asignación
x a+b
x a+c
x c>d
x eof
Dominio de x
Tecnologías en la Educación Matemática
Dpto. de Cs. e Ing. de la Computación, UNS
11. Hallar el valor de los datos a y b al finalizar la ejecución de cada uno de los trozos de algoritmo
que se indican a continuación:
(1)
a1
b2
si a // 2 = 1
entonces
a  a +1
sino
b  b+1
si a // 2 = 1
entonces
a  a +1
sino
b  b +1
(2)
a3
b1
si b = 1
entonces
b0
si b=1
entonces
ab
si a = b
entonces
a  a+1
(3)
a3
b 1
si b = 1
entonces
ab
si b = 0
entonces
b 0
si a = b
entonces
a  a+1
(4)
a1
b2
si a<b
entonces
a a+1
sino
si a = b
entonces
b  b+10
Observación: el operador // (llamado “módulo”) representa el resto de la división entera.
12. Escribir algoritmos para:
a) Dados tres números a, b, y c, si la diferencia entre a y b es mayor que c, calcular el producto
de a y b; de lo contrario, calcular el cociente entre a y b.
b) Dado un número natural n, determinar si dicho número es par.
c) Dados dos números naturales n y d, determinar si n es divisible por d.
d) Dados cuatro números a, b, c y d  Z, determinar cuál es el mayor de ellos.
e) Dada una fecha, determinar si es válida.
f) Dado el sueldo básico de un empleado, calcular el monto final que debe abonársele sabiendo
que si el sueldo básico es de p (p R+ ) pesos por mes, debe agregarse un incremento
calculado como un porcentaje a partir de p según la siguiente tabla:
Sueldo
0 < p < 500
500  p <1000
1000 = p
Incremento
10 %
5%
3%