7
GUIA DE EJERCICIOS Taller de Programación Profesor : Wenceslao Palma M. 1.- Dado un número entero positivo, su crápulo es un número que se obtiene de la siguiente forma : se suman los dígitos que lo componen si el valor de la suma es menor que 10, el crápulo es el valor obtenido sino el crápulo es el crápulo de la suma de los dígitos. Ejemplo : Número Crápulo 7 7 13 4 492 6 5678 8 Escriba un algoritmo que lea un entero positivo y escriba el valor de su crápulo. 2.- Un número entero positivo se dice M-alternante si : El primer dígito es par (impar) entonces los 2 dígitos siguientes deben ser impares (pares), luego los tres siguientes dígitos deben ser pares (impares) y así sucesivamente. Por ejemplo : 122357 es un número M-alternante de orden 3. Escriba un programa que determine si un número es o no M- alternante y si lo es a que orden corresponde. 3.- El algoritmo de Newton , usado para calcular la raíz cuadrada, se basa en aproximaciones sucesivas , donde la primera aproximación de la raíz de un número N es : X 1 = N/2 X i+1 = X i /2 + N/(2*X i ) 4.- Escriba un algoritmo que permita calcular : e x = 1 + x + x 2 /2! + x 3 /3! + x 4 /4! + .......

guia (1) algoritmos

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