Ejercicios 03

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 28

Ejercicios 03: Programación en C

M. en C. Edgardo Adrián Franco Martínez 1


http://www.eafranco.com
[email protected]
@edfrancom edgardoadrianfrancom
Estructuras de datos (Prof. Edgardo A. Franco)
Ejercicios 03: Programación en C

Prof. Edgardo Adrián Franco Martínez


Algoritmia y programación estructurada
Ejercicios 03: Programación en C
Realizar los programas en lenguaje C que implementan las
soluciones diseñadas para los ejercicios previamente realizados.
1. Cuidar la identación del código.

2. Cuidar la autodocumentación del código.

3. Respetar la estructura revisada en clase de un código en lenguaje C, a


pesar de la flexibilidad del compilador en la actualidad respetar practicas
de programación dadas en clase.

4. Seguir las practicas de documentación explicita según lo visto en clase,


obligatorio documentar funciones si se emplean según lo visto en clase.

5. Implementar las soluciones diseñadas en los ejercicios anteriores en C,


evitando replantear soluciones; i.e. respete sus soluciones previas de los
ejercicios entregados previamente. 2
Ejercicios 03: Programación en C
1. Calcular el perímetro y el área de un círculo, para un radio r

Prof. Edgardo Adrián Franco Martínez


Algoritmia y programación estructurada
Ejercicios 03: Programación en C
dado. *r es un número real 0≤r≤
Input Output Explicación
2 12.56 12.56 es el perímetro del circulo de radio 2 y
12.56 12.56 es el área del circulo de radio 2.
20.5 128.80 128.80 es el perímetro de un circulo de radio
1320.25 20.5 y 1320.25 es al área de un círculo de radio
20.5.

2. Convertir un número dado de segundos en el equivalente


de minutos y segundos.
Input Output Explicación
60 1 60 segundos son equivalentes a 1 minuto con 0
0 segundos.
1230 20 1230 segundos son equivalentes a 20 minutos
30 con 30 segundos.
3
3. Realizar un algoritmo que obtenga los n términos de la
sucesión siguiente a partir de 0:

Prof. Edgardo Adrián Franco Martínez


Algoritmia y programación estructurada
Ejercicios 03: Programación en C
𝑓𝑛 = 𝑓𝑛−1 + 𝑓𝑛−2
𝑓0 = 0

Input Output
𝑓1Explicación
=1
5 0 Los primeros 5 términos de la sucesión dada
1 son los resultados de calcular 𝑓0 , 𝑓1 , 𝑓2 , 𝑓3 𝑦 𝑓4
1
2
3
11 0 Los primeros 11 términos de la sucesión dada
1 son los resultados de calcular
1 𝑓0 , 𝑓1 , 𝑓2 ,𝑓3 , 𝑓4 , 𝑓5 , 𝑓6 , 𝑓7 , 𝑓8 , 𝑓9 𝑦 𝑓10
2
3
5
8
13 4
21
34
55
4. Realizar un algoritmo que obtenga la suma de los n términos

Prof. Edgardo Adrián Franco Martínez


Algoritmia y programación estructurada
Ejercicios 03: Programación en C
de la sucesión siguiente a partir de 0:
𝑓𝑛 = 𝑓𝑛−1 + 2
𝑓0 = 0
Input Output Explicación
5 20 Los primeros 5 términos de la sucesión dada
son los resultados de calcular 𝑓0 , 𝑓1 , 𝑓2 , 𝑓3 𝑦 𝑓4 ;
es decir 0, 2, 4, 6, 8 y la suma de estos es 20.
11 110 Los primeros 15 términos de la sucesión dada
son 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 y la suma
de estos es 110.

5
5. Calcular la máxima área de un terreno rectangular y el

Prof. Edgardo Adrián Franco Martínez


Algoritmia y programación estructurada
Ejercicios 03: Programación en C
valor x; si el terreno es de lados 100-2x y x
respectivamente, para valores de x entre un intervalo de x
dado por dos números a y b. *Se cumplirá siempre que
a<b y estos son positivos menores a 100.

Input Output Explicación


10 1250 Si se evalúa el área del terreno de lados 100-2x
25 25 y x con valores de x que van de 10 a 25 la
máxima área se obtiene con una x de 25 y el
valor del área es 1250.
26 1248 Si se evalúa el área del terreno de lados 100-2x
35 26 y x con valores de x que van de 26 a 35 la
máxima área se obtiene con una x de 26 y el
valor del área es 1248.

6
6. Calcular el valor de la función de n del modelo siguiente
para un número entero positivo n dado.

Prof. Edgardo Adrián Franco Martínez


Algoritmia y programación estructurada
Ejercicios 03: Programación en C
𝑛

𝑓 𝑛 = 1 + 2 + 3 + ⋯+ 𝑛 − 1 + 𝑛 = ෍𝑖
𝑖=1
Input Output Explicación
10
10 55
f 10 = ෍ 𝑖 = 55
𝑖=1

130 8515 130

f 130 = ෍ 𝑖 = 8515
𝑖=1

7
7. Crear un algoritmo que muestre la multiplicación de los
tres números mayores de una serie de números positivos,

Prof. Edgardo Adrián Franco Martínez


Algoritmia y programación estructurada
Ejercicios 03: Programación en C
suponiendo que los datos se leen uno a uno. Un valor de
cero como entrada indicará que se ha alcanzado el final
de la serie de números positivos.
Input Output Explicación
1 210 De la serie de números recibidos el 7, 6 y 5 son
2 los tres números mas grandes, la multiplicación
3 7 x 6 x 5 da por resultado 210.
4
5
6
7
0
10 1200 De la serie de números recibidos el 20, 10 y 6
5 son los tres números mas grandes, la
3 multiplicación 20 x 10 x 6 da por resultado
6 1200.
1 8
20
0
8. Determine dado un año mayor a 0 si este es bisiesto o
no según el calendario Gregoriano, retorne una ‘S’ si lo

Prof. Edgardo Adrián Franco Martínez


Algoritmia y programación estructurada
Ejercicios 03: Programación en C
es y una ‘N’ si no lo es. Un año es bisiesto en el calendario
Gregoriano, si es divisible entre 4 y no divisible entre 100 a
excepción si es divisible entre 400.
Input Output Explicación
2000 S El año 2000 es bisiesto porque es divisible entre
4 y 400
2019 N El año 2019 no es bisiesto porque no es divisible
entre 4

9
9. De una lista de calificaciones (0.00 a 10.00) calcular el
promedio, el número de aprobados (calificación mayor o

Prof. Edgardo Adrián Franco Martínez


Algoritmia y programación estructurada
Ejercicios 03: Programación en C
igual a 6.0) y el número de reprobados (calificaciones
menores a 6.0); el final de la lista de calificaciones será si
se introduce un número menor a cero.
Input Output Explicación
5.50 6.33 De las calificaciones 5.50, 2.00, 9.50 y 8.33 el
2.00 2 promedio es 6.33, 2 son los alumnos aprobados
9.50 2 y 2 los reprobados.
8.33
-1
6.50 7.48 De las calificaciones el promedio es 7.48, 6 son
5.00 6 los alumnos aprobados y 2 los reprobados.
8.50 2
9.33
10.00
6.00
5.99
8.56 10
-3
10. Recibir una serie de números y determine si cada uno de
ellos es un número primo o no. Retorne una ‘S’ si lo es y

Prof. Edgardo Adrián Franco Martínez


Algoritmia y programación estructurada
Ejercicios 03: Programación en C
una ‘N’ si no, un valor de 0 en la entrada finaliza la serie
de números.
Input Output Explicación
1 N El número 1 no es primo, el 2 y 3 si lo son.
2 S
3 S
0
5 S Los números 6, 933 y 1000 no son primos, el 5,
6 N 7, 97, 677 y 853 si lo son.
7 S
933 N
1000 N
97 S
677 S
853 S
0
11
11. Crear un algoritmo que reciba un número x a partir del
cual calcula: σ𝑥+10 𝑖 2.

Prof. Edgardo Adrián Franco Martínez


Algoritmia y programación estructurada
Ejercicios 03: Programación en C
𝑖=𝑥
Input Output Explicación
1 506 11

෍ 𝑖 2 = 506
𝑖=1
100 121385 110

෍ 𝑖 2 = 121385
𝑖=100

12. Calcular el Máximo Común Divisor entre cuatro números


dados.
Input Output Explicación
20 10 El MCD entre 20, 300, 50 y 500 es 10
300
50
500
450 75 El MCD entre 450, 150, 75 y 1800 es 75
150
12
75
1800
13. Obtener el mínimo común múltiplo de cuatro números.
Input Output Explicación

Prof. Edgardo Adrián Franco Martínez


Algoritmia y programación estructurada
Ejercicios 03: Programación en C
20 1500 El MCM entre 20, 300, 50 y 500 es 1500
300
50
500
450 1800 El MCM entre 450, 150, 75 y 1800 es 1800
150
75
1800

14. Calcular al recibir un número entero todos sus divisores


enteros que lo dividen excepto el 1 y el mismo.
Input Output Explicación
13 Los divisores del 13 son 1, y 3, no se muestra
nada a la salida ya que no se deben incluir el 1
y el mismo.
16 2 Los divisores del 6 son 1, 2, 4, 8 y 16, se
4 obtienen solo el 2, 4 y 8 ya que no se deben
8 incluir el 1 y el mismo. 13
15. Calcular al recibir un número entero sus factores primos.

Prof. Edgardo Adrián Franco Martínez


Algoritmia y programación estructurada
Ejercicios 03: Programación en C
Input Output Explicación
4 2 2*2 da 4 y son factores primos
2
24 2 2 * 2 *2 *3 da 24 y serian sus factores primos
2
2
3
16. Crear un algoritmo que reciba un arreglo A de n
números enteros y este obtenga en el arreglo A los
números ordenados descendentemente.
Input Output Explicación
3 3 El primer dato es el tamaño del arreglo n=3 y
1 2 los tres siguientes son los números a ordenar
2 1 descendentemente {1, 2 ,3}. Se obtendría {3, 2,
3 1}
4 94 El primer dato es el tamaño del arreglo n=4 y
10 56 los tres siguientes son los números a ordenar 14
56 10 descendentemente {10, 56, 94, 7}. Se obtendría
94 7 {94, 56, 10, 7}
7
17. Calcular el *mínimo numero de monedas de un cambio
a devolver; si se saben 4 valores de denominación

Prof. Edgardo Adrián Franco Martínez


Algoritmia y programación estructurada
Ejercicios 03: Programación en C
posibles. *Considerar que las monedas de cada denominación son
infinitas.
Input Output Explicación
35 4 4 es el menor número de monedas que se
10 pueden devolver para alcanzar un cambio de 35
5 para las denominaciones {10, 5 ,2, 1}. Se
2 obtendría con tres monedas de 10 y una de 5.
1
56 5 5 es el menor número de monedas que se
20 pueden devolver para alcanzar un cambio de 56
10 para las denominaciones {20, 10 , 5, 1}. Se
5 obtendría con dos monedas de 20, una de 10,
1 una de 5 y una de 1.

15
18. Convertir una número binario en su correspondiente valor
decimal.

Ejercicios 02: Soluciones algoritmicas


Prof. Edgardo Adrián Franco Martínez
Algoritmia y programación estructurada
Input Output Explicación
0000 0 El número binario “0000” corresponde a “0”
decimal
101010 42 El número binario “101010” corresponde a
“42” decimal

19. Dado n números mostrarlos de manera inversa a la salida.


Input Output Explicación
3 3 Dados 3 números {1,2,3} el orden inverso es 3,2 y 1
1 2
2 1
3
2 6 Dados 2 números {45,6} el orden inverso es 6 y 45
45 45
6 16
20. Dado un conjunto de n estrellas en el espacio 2D encuentre
la mínima distancia que hay entre dos de ellas diferentes:

Ejercicios 02: Soluciones algoritmicas


Prof. Edgardo Adrián Franco Martínez
Algoritmia y programación estructurada
Input Output Explicación
5 1.41 Para 5 estrellas en el espacio con coordenadas
0 (0,0), (1,1), (2,3), (4,5) y (6,7) la mínima
0 distancia entre ellas es: 1.41 la cuál es la
1 distancia entre (0,0) y (1,1).
1
2
3
4
5
6
7
3 2.23 Para 3 estrellas en el espacio con coordenadas
1 (1,1), (5,5) y (6,3) la mínima distancia entre
1 ellas es: 2.23 la cuál es la distancia entre (5,5) y
5 (6,3).
5
6
3 17
21. Dada una cadena de números enteros positivos realice el
cifrado Cesar numérico de esta según una n dada. *n llave

Ejercicios 02: Soluciones algoritmicas


Prof. Edgardo Adrián Franco Martínez
Algoritmia y programación estructurada
menor a 9

Input Output Explicación


553434 886767 Los números de la cadena cifrada serán 5+3=8,
3 5+3=8, 3+3=6, 4+3=7, 3+3=6 y 4+3=7, si unimos
los números desplazados en una cadena nos da
886767
99812 13131256 Los números de la cadena cifrada serán
4 9+4=13, 9+4=13, 8+4=12, 1+4=5 y 2+4=6, si
unimos los números desplazados en una
cadena nos da 13131256

*El cifrado cesar corresponde a tomar cada número de la cadena de entrada


(0-9) y convertirlo en un nuevo valor desplazado en n más.

18
22. Dada una cadena cifrada según el ejercicio 4, regresar a su
valor original (descifrar). *n llave menor a 9

Ejercicios 02: Soluciones algoritmicas


Prof. Edgardo Adrián Franco Martínez
Algoritmia y programación estructurada
Input Output Explicación
886767 553434 Los números de la cadena a descifrar son 8-
3 3=5, 8-3=5, 6-3=3, 7-3=4, 6-3=3 y 7-3=4, si
unimos los números en una cadena nos da
553434
13131256 99812 Los números de la cadena a descifrar serán 13-
4 4=9, 13-4=9, 12-4=8, 5-4=1 y 6-4=2, si unimos
los números desplazados en una cadena nos da
99812

19
23. Dada una n generar la lista de números binarios
posibles en orden ascendente con esos posibles bits.

Ejercicios 02: Soluciones algoritmicas


Prof. Edgardo Adrián Franco Martínez
Algoritmia y programación estructurada
Input Output Explicación
4 0000 Si se dan 4 bits, los 15 números posibles en
0001 orden ascendente son: 0000, 0001, 0010, 0011,
0010 0100, 0101, 0110, 0111, 1000, 1001, 1010,
0011 1011, 1100, 1101, 1110 y 1111.
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
20
24. Dada una n generar la lista de números binarios
posibles en orden descendente con esos posibles bits.

Ejercicios 02: Soluciones algoritmicas


Prof. Edgardo Adrián Franco Martínez
Algoritmia y programación estructurada
Input Output Explicación
3 111 Si se dan 3 bits, los 8 números posibles en
110 orden descendente son: 111, 110, 101, 100,
101 011, 110, 001, y 000.
100
011
010
001
000

21
25. Dada una n generar la lista de números binarios
posibles en orden ascendente que no contengan dos

Ejercicios 02: Soluciones algoritmicas


Prof. Edgardo Adrián Franco Martínez
Algoritmia y programación estructurada
unos juntos.

Input Output Explicación


4 0000 Si se dan 4 bits, los números 0000, 0001, 0010,
0001 0100, 0101, 1000, 1001 y 1010 formados de 4
0010 bits no tienen dos unos juntos.
0100
0101
1000
1001
1010

22
26. Calcular el mínimo numero de monedas de un cambio a
devolver; si se saben n valores de denominación

Ejercicios 02: Soluciones algoritmicas


Prof. Edgardo Adrián Franco Martínez
Algoritmia y programación estructurada
posibles. *Considerar que las monedas de cada denominación son
infinitas.
Input Output Explicación
3 4 Con n=3 denominaciones de monedas {1, 3, 5}
1 el cambio utilizando el mínimo número de
3 monedas es el conjunto de 4 monedas [5, 5, 2,
5 2}
12
5 2 Con n=5 denominaciones de monedas {1, 3, 6,
1 9, 10} el cambio utilizando el mínimo número
3 de monedas es el conjunto de 2 monedas [6, 6}
6
9
10
12

23
27. Dado un arreglo de n números (positivos y negativos)
cual es el valor máximo de suma posible de un conjunto

Ejercicios 02: Soluciones algoritmicas


Prof. Edgardo Adrián Franco Martínez
Algoritmia y programación estructurada
de números contiguos en el arreglo.
Input Output Explicación
5 9 Para el arreglo de tamaño 5 {4,1,3,5,-12} la
4 suma máxima de números contiguos es de {4,
1 1, 3 , 5} la cuál da 9
3
5
-12
10 22 Para el arreglo de tamaño 10 {-1,3,-6,9,10, 11, -
-1 20, 13, 4, 5} la suma máxima de números
3 contiguos es de {13, 4, 5} la cuál da 22
-6
9
10
11
-20
13
4 24
5
Observaciones
• En un reporte se deberá incluir la descripción de cada

Prof. Edgardo Adrián Franco Martínez


Algoritmia y programación estructurada
Ejercicios 03: Programación en C
problema, captura de pantalla de su funcionamiento y el
código de este enmarcado y con colores.
• Pruebe los suficientes casos para validar su programa.
• Portada con fotografía y encabezados de pagina.
• Incluir en un archivo comprimido reporte y los códigos
(archivos.c).

25
Lista cotejo de la evaluación del ejercicio
Indicador SI NO

Prof. Edgardo Adrián Franco Martínez


Algoritmia y programación estructurada
Ejercicios 03: Programación en C
Redacción del Problema (El reporte cuenta con
encabezados y los datos están redactados completamente)

Codificación del Ejercicio (El código es original y propio


del alumno y tiene documentación explicita del alumno)

Secuencia Lógica (El código esta ordenado y


autodocumentado)

Resultado (El resultado esta claro y correctamente para el


problema planeteado)

26
Fecha máxima de entrega en el sitio Web
• La entrega se realizará a través de la página:

Prof. Edgardo Adrián Franco Martínez


Algoritmia y programación estructurada
Ejercicios 03: Programación en C
http://www.eafranco.com
Entregar a más tardar el día viernes 03 de Mayo de 2019

27
• Grupo y contraseña
Grupo Contraseña

Prof. Edgardo Adrián Franco Martínez


Algoritmia y programación estructurada
Ejercicios 03: Programación en C
1CM12 algoritmia1cm12

• Escribir y almacenar las claves de confirmación,


para aclaraciones a con respecto a la evaluación.

28

También podría gustarte