View
75
Download
0
Embed Size (px)
DESCRIPTION
algoritmos
Citation preview
GUIA DE EJERCICIOS
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 :
NmeroCrpulo
77
134
4926
56788
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.
MultiplicadorMultiplicandoMultiplicador imparSuma
3712si12
1824No
948Si60
496No
2192No
1384si444
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 y 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 52 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)
234567891011121314151617181920
b)
23E5E7E9E11E13E15E17E19E
c)
23E5E7E9E11E13E15E17E19E
d)
23E5E7EEE11E13EEE17E19E
e)
23E5E7EEE11E13EEE17E19E
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 : $ 17016.- 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 :
ABC
121
432
643
764
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 :
((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.
EMBED Equation.3
_1036814187.unknown