Está en la página 1de 5

GUIA DE EJERCICIOS

Taller de Programacin
Profesor : Wenceslao Palma M.
1.- Dado un nmero entero positivo, su crpulo es un nmero que se obtiene de la
siguiente forma : se suman los dgitos que lo componen si el valor de la suma es menor
que 10, el crpulo es el valor obtenido sino el crpulo es el crpulo de la suma de los
dgitos.
Ejemplo :
Nmero
Crpulo
7
7
13
4
492
6
5678
8
Escriba un algoritmo que lea un entero positivo y escriba el valor de su crpulo.
2.- Un nmero entero positivo se dice M-alternante si :
El primer dgito es par (impar) entonces los 2 dgitos siguientes deben ser impares
(pares), luego los tres siguientes dgitos deben ser pares (impares) y as sucesivamente.
Por ejemplo : 122357 es un nmero M-alternante de orden 3.
Escriba un programa que determine si un nmero es o no M-alternante y si lo es a que
orden corresponde.
3.- El algoritmo de Newton , usado para calcular la raz cuadrada, se basa en
aproximaciones sucesivas , donde la primera aproximacin de la raz de un nmero N
es :
X1 = N/2
Xi+1 = Xi /2 + N/(2*Xi)
4.- Escriba un algoritmo que permita calcular :
ex = 1 + x + x2/2! + x3/3! + x4/4! + .......
5.- Suponga que en una variable se tiene una secuencia de ceros y unos que componen
un nmero binario.
Escriba un programa que determine su equivalente en decimal.
6.- La multiplicacin rusa consiste en multiplicar sucesivamente por el multiplicando y
dividir por 2 el multiplicador hasta que el multiplicador tome el valor 1. Luego, se suman
todos los multiplicandos correspondientes a los multiplicadores impares. Dicha suma es el
resultado del producto de los dos nmeros. La tabla muestra el clculo realizado para
multiplicar 37 por 12, cuyo resultado final es 12 + 48 + 384 = 444.

Multiplicador
37
18
9
4
2
1

Multiplicando
12
24
48
96
192
384

Multiplicador impar
si
No
Si
No
No
si

Suma
12
60
444

Escriba un programa en C, que permita realizar dicha multiplicacin.Considere el


multiplicador y el multiplicando ingresados por el usuario,
7.- Un par de nmeros m y n son llamados par amigable, si la suma de todos los divisores
de m (excluyendo m ) es igual al nmero n y la suma de todos los divisores del nmero n
(excluyendo n) es igual a m (m n).
Por ejemplo, los numeros 220 y 284 son un par amigable porque los nicos nmeros que
dividen de forma excacta a 220 son 1,2,4,5,10,11,20,22,44,55 y 110, y
1 + 2 + 4 + 10 + 11 + 20 + 22 + 44 + 55 + 110 = 284
Los nmeros que dividen a 284 son 1,2,4,71 y 142, y
1 + 2 + 4 + 71 + 142 = 220
Por lo tanto 220 y 284 son un par amigable.
Escriba un programa en C que ingrese m y n , asegure que m es distinto de n
determine si dichos nmeros son par amigable.

8.- Cuando la suma de los dgitos alternos de un nmero son iguales, ese nmero es
exactamente divisible por once. Por ejemplo 5841 :
5+4 = 8+1
Por lo tanto el nmero 5841 es divisible por once.
9.- Un nmero se dice automrfico si su cuadrado termina en los mismos dgitos que el
nmero original, por ejemplo 762 = 5776. Un nmero se dice trimrfico si su cubo termina
en los mismos dgitos que el nmero original, por ejmplo 493 = 117649. Escriba un
programa en C que determine los nmeros automrficos y trimrficos menores que 1000.

ARREGLOS UNIDIMENSIONALES
10.- Un mtodo clsico para identificar los nmeros primos existentes en una secuencia
de nmeros que va desde 2 a N es la llamada Criba de Eratstenes.
El algoritmo usado para este propsito va marcando (eliminando) todos los mtliplos de 2,
3, 4, 5 y as sucesivamente hasta que se encuentre el primer nmero no marcado que es
mayor que la raz cuadrada de N.
Ejemplo : suponga una secuencia de nmeros desde 2 a 20.
a) Se toma el nmero 2, dado que es el primer nmero no marcado.
b) Marcar todos los mltiplos de 2 a partir de 22 .
c) Se toma al 3, dado que es el siguiente nmero no marcado.
d) Marcar todos los mltiplos de 3 a partir de 32.
e) Se toma el nmero 5 como el siguiente nmero. Pero 5 2 es mayor que 20. Entonces el
algoritmo aqu se detiene y todos los nmeros no marcados son los nmeros primos.
Grficamente : (E significa eliminado (marcado) )
a)
2

10 11 12 13 14 15 16 17 18 19 20

E 5

E 7

E 9

E 11

E 13

E 15

E 17 E 19 E

E 5

E 7

E 9

E 11

E 13

E 15

E 17

E 19

E 5

E 7

E E E 11

E 13

E E E 17

E 19

E 5

E 7

E E E 11

E 13 E E E 17

E 19

b)
2
c)
2
d)
2
e)
2

Escriba un algoritmo que permita solucionar el problema, para una secuencia que va
desde 2 hasta cualquier N.
11.- Se tiene dos cadenas (arreglos de caracteres): A y SEPARADORES, cuyos
contenidos son ingresados desde teclado. El programa a escribir debe ser tal que si :
a.- La cadena A tiene el contenido : sin embargo, es la dinmica autopoitica la
responsable de permitir la fractura en un plano permitido . . . fenmeno muy
particular en.....
b.- Y los SEPARADORES son : , .

Debe salir por pantalla:


(1) sin embargo
(2) es la dinmica autopoitica la responsable de permitir la fractura en un plano permitido
(3) fenmeno muy particular en
12.- Dados 2 conjuntos A y B, que solo poseen nmeros enteros postivos, escriba un
programa en C que determine:
- A unin B
- A inter B
- A menos B
- B menos A
Nota : Almacene los conjuntos en arreglos unidimensionales de enteros y asegure que los
elementos de los conjuntos son enteros positivos.
13.- Dado un arreglo llamado PROM, mantiene los promedios ( valores reales), de un
curso que posee N alumnos, escriba un programa en C que entregue :
- El promedio de las notas
- El mayor y el menor promedio
- La cantidad de promedios en [4.5 - 6.0]
14.- Se tiene un arreglo de tamao 50 que posee las respuestas correctas de una prueba
de alternativas, escriba un programa en C que :
- Lea las respuestas de una determinada prueba.
- Muestre el nmero de preguntas correctas y erradas.
- Obtenga la nota final sabiendo que : cada respuesta errada resta una
respuesta buena y que cada respuesta buena vale 2 ptos.
15.- Dado un mensaje se debe calcular su costo para enviarlo por telgrafo. Para esto se
sabe que las letras cuestan, cada una, $10. Lo caracteres especiales que no sean letras
cuestan $30 y los dgitos tienen un valor de $20 cada uno. Los espacios no tienen valor.
Restricciones :
- El mensaje es una cadena
- Las letras ,,,,, se consideran caracteres especiales.
Un ejemplo de ejecucin del programa es :
Entrada : Feliz cumpleaos
Salida : Valor del mensaje : $ 170
16.- Escriba un algoritmo que transforme 2 nmeros enteros positivos a su equivalente en
binario, los cuales debern estar almacenados e dos arreglos. Posteriormente realice las
operaciones lgicas AND y OR entre ellos y almacene los resultados en arreglos.
17.- Suponga existen dos arreglos A y B de tamao M y N respectivamente, los cuales
poseen nmeros enteros positivos ordenados en forma ascendente.
Escriba un algoritmo que permita mezclar A y B en un tercer arreglo con sus
elementos
ordenados en forma ascendente y sin repeticin.Ejemplo :

A
1
4
6
7

B
2
3
4
6

C
1
2
3
4
6
7

Considere que A y B no tienen elementos repetidos.


18.- Realice el ruteo de los siguientes programas en C :
main ( ) {
int a = 5, b = 6,c = 11;
p (a,b,&c);
printf(%d %d %d, a, b,c);
}
void p (int x, int y, int *z) {
*z = 2 * y + *z;
x = *z +y;
printf(%d %d %d, x, y, *z);
}

main ( ){
int a = 5, b = 6;
p(&a,b);
printf(%d %d,a,b);
}
void p (int *b, int a){
int c;
c = *b + a;
printf (%d %d %d, a,*b,c);
}

Para cada programa haga una tabla con todas las variables para mostrar el valor que
stas van tomando e indique claramente los resultados entregados en pantalla

19.- Realice dos funciones que permitan hallar el valor de mediante :

2 4 4 6 6 8
4
3 3 5 5 7 7

(a) una funcin considera que la precisin del calculo depende del imite superior
de la multiplicatoria. Es decir , se consideran los n primeros trminos de la
serie donde n es un parmetro de la funcin.
(b) la otra funcin considera que la precisin del clculo depende de la diferencia
entre dos trminos consecutivos del serie : si sta es menor que el parmetro
de la funcin se detiene el clculo.

También podría gustarte