Documentos de Académico
Documentos de Profesional
Documentos de Cultura
I. Objetivos
Analizar, diseñar soluciones algorítmicas adecuadas utilizando ls estructuras de control repetitivas en la
solución de problemas siguiente las etapas del análisis y diseño.
II. Actividades
• Analice las soluciones desarrolladas identificando el conjunto de datos entrada, salida y procesos
seguidos para la solución.
• Analice y diseñe a partir del enunciado de los problemas identificando el conjunto de datos de entrada y
salida.
• Implemente el algoritmo que resuelva el problema identificando los datos de entrada, de procesamiento
y de salida.
III.Ejercicios
En los ejercicios de 1 al 4 analice la solución determinando los datos de entrada, salida y construya el
algoritmo en seudocodigo, luego compile, ejecute y analice los resultados.
1. Utilizando las estructuras de control MIENTRAS Y HACER-MIENTRAS se lee caracteres a través del
teclado hasta que se lee la letra “F”, esto es, termina el programa, pero es el usuario quien determina si
sale o continua.
2. Determina la suma de la serie: 1,5,3,7,5,9,7, ... 21.
3. Se leen números de tres dígitos y determina la suma de dichos dígitos
4. Determina el valor de PI a través de la expresión: 4/1 - 4/3 + 4/5 - 4/7 + ... + 4/N.
Analice, diseño y especifique cada una de las soluciones:
system("PAUSE");
return 0;
}
1
int main (){ //P03 int main(){ P04
int num, aux, suma=0; int index;
printf("Ingrese un numero de 3 digitos: "); float nume, deno, suma, termi, error;
scanf("%d",&num); nume = 4;
if (num>=100 && num<1000){ deno = 1;
aux = num; termi = nume/deno;
while (aux!=0){ suma = 0.0;
suma=suma+(aux%10); //suma el ultimo digito de aux index = 1;
aux=aux/10; //elimina el ultimo digito de aux cin>> error;
} while(termi > error){
printf("Suma de digitos de %d es : %d\n\n",num, suma); termi = nume/deno;
} if(index%2 != 0) {
else suma = suma + termi;
printf("\aERROR: %d NO tiene 3 digitos\n\n", num); } else {
suma = suma - termi;
system("PAUSE"); }
return 0; index = index + 1;
} deno = deno + 2;
}
printf(" VAlor de PI = %20.10f\n\n", suma);
printf("Con una error de : %20.10f\n\n", error);
printf("Terminos utilizados : %20.10f\n",
(float)index);
printf("Valor ultimo Termino: %20.10f\n\n", termi);
system("pause");
return(0); system("PAUSE");
return 0;
}
5. Implemente un programa para jugar a adivinar un número entre 0 y 90. El programa tiene que dar pistas de
si el número ingresado es mayor o menor al número buscado. El juego termina cuando se adivina el
número, cuando excede al número máximo de oportunidades (5) o decide terminar el juego.
6. Analice, construya el algoritmo, la traza y diga lo que hace cada uno de los programas. Luego generalice el
programa. ¿Qué hace el programa?
2
7. En los siguientes programas construya el seudo código, la traza para determinar lo que hace completar los
programas indicando adecuadamente lo que hacen:
3
8. A todos los ejercicios de estructuras de control secuencial y selectivas, la(s) E. C. Repetitiva(s) adecuada(s)
convirtiendo así en una solución mas general, esto es, el usuario podrá realizar ejecuciones de los mismos
las veces que desea.
9. Implemente un programa que muestre la serie de Fibonacci: 0, 1, 1,2,3,5,8,13, 21, …, como habrá notado
los primeros termino son 0 y 1, los siguientes son la suma de dos anteriores.
10. Escribir un programa que calcule los centros numéricos entre 1 y n. Un centro numérico es un número que
separa una lista de números enteros (comenzando en 1) en dos grupos de números, cuyas sumas son
iguales. El primer centro numérico es el 6, el cual separa la lista (1 a 8) en los grupos: (1, 2, 3, 4, 5) y (7,
8) cuyas sumas son ambas iguales a 15. El segundo centro numérico es el 35, el cual separa la lista (1 a
49) en los grupos: (1 a 34) y (36 a 49) cuyas sumas son ambas iguales a 595.
11. Dado un numero entero determinar si es un numero primo o no mostrando todos sus divisores.
12. Implementa un programa que muestre solo los números Fibonacci de 2 y 3 dígitos.
13. Se desea un programa que lea un número natural y diga si es o no es triangular. Un número N es triangular
si, y solamente si, es la suma de los primeros M números naturales, para algún valor de M. Ejemplo: 6 es
triangular pues 6 = 1 + 2 + 3.
14. Un cierto curso tiene 10 practicas calificadas se pide determinar el promedio si se elimina una de las notas
más bajas de un grupo de n alumnos.
15. Escriba una tabla con los n primeros enteros con sus respectivos cuadrado, cubo, y cuarta potencia (no se
permite el uso de librerías del lenguaje).
TABLA
Cuadrados, cubos y cuarta potencia
======================================
No Cuadrado Cubo CuartaPotencia
----------------------------------------------------------------
1 1 1 1
2 4 8 16
… …. … ….
9 81 729 6561
----------------------------------------------------------------
16. Implemente un programa que lea el valor de N y calcule la suma de la expresión: 1-1/2+1/3-1/4+…±1/N
17. El curso Algorítmica I tiene 25 alumnos y cada uno de ellos tiene cinco practicas calificadas si se elimina
una de las más bajas, se pide determinar, el promedio de cada uno de ellos, el promedio más bajo, el
promedio más alto y el promedio general.
18. Escriba un programa dado un entero N calcule la suma de 11+22+33+…NN. No se permite uso de librerías
de C.
19. Una empresa desea un programa para operación de caja de un supermercado el programa debe capturar el
precio del producto que puede variar entre 1 y 1000 soles y cuando el cliente pague la cuenta el programa
debe informar a la cajera la conformación de billetes y monedas que le corresponde al cliente como vuelto
de acuerdo a los billetes y monedas vigentes: 200, 100, 50, 20, 10, 5, 2, 1, 0.50, 0.20, 0.10, 0.05 soles.
Utilizar operadores MODULO y DIV.
20. Construya un programa para las operaciones que se muestra en el menú de opciones.
OPERACIONES
7 Suma
6 Resta
5 Multiplicación
4 División
3 Área Cuadrado
2 Área Rectángulo
1 Área Circulo
0 SALIR
21. Construya un programa para simular un reloj digital, la hora, minutos, segundos y centésimas de segundo
de un determinado día desde las 00:00:00:00 horas hasta las 23:59:59:99 horas
4
22. Leer los 300,000 votos otorgados a los 4 candidatos cuyo identificador es 1 candidato 1, 2 candidato 2 y así
sucesivamente para determinar el gobernador de una determinada región e imprimir el número de votos
para cada candidato y el candidato ganador y la cantidad de votos obtenido (utilice el generador de
números random de C vea su texto). Véase [Programación C Joyanes 2005 Funciones aleatorias p271]
23. En la FISI hay 5 secciones del curso de Programación y fundamentos de algorítmica; determinar la sección
con el mayor promedio, la máxima y mínima nota de cada sección, el promedio de cada sección; sabiendo
que cada sección toma 5 practicas calificadas y solo se promedian las cuatro mejores notas.
Solucion:
Programa corregido.
Traza:
Entrada: n =2 y n = 4
0 4 4 1 1 != 4 : V x ← 4 + 4= 8 y←1+1:2
1 2 2 != 4 : V x ← 8 + 4=12 y←2+1:3
2 3 3 != 4 : V x ← 12 + 4=16 y←3+1:4
3 4 4 != 4 : F
16
Salida s: 4, s: 16
Entonces calcula n al cuadrado: n2