Title: Segundo Parcial
Course: 2025 - LI - Programacion Estructurada 1-1 y 1-2

Preguntas para el segundo examen parcial de Programación Estructurada (lenguaje C).

Feedback shared by this category's questions, if right: Su respuesta es correcta.
Feedback shared by this category's questions, if partly right: Su respuesta es parcialmente correcta.
Feedback shared by this category's questions, if wrong: Su respuesta es incorrecta.

Q: Se pide calcular el área de un segmento de círculo con radio r y ángulo central ang en grados.

Area de un Segmento = \( \frac {π·r^2·Ang}{360} - \frac{r^2 ·sen(Ang)}{2}\)

Si tenemos definidas las siguientes constantes simbólicas y macro:

#define PI 3.1416
#define radianes(ang) (ang)*PI/180

¿Cuál será la forma correcta para definir la función que calcula la fórmula mostrada?

(Seleccione y arrastre el cuadro de respuesta que crea correcto en la posición que considera debe ir, puede haber cuadros de respuestas de más).

float  areaSegmento  (float r,  float ang) {
return (([...] * [...] * [...])/360 - ([...] * sin([...])) / 2);
}
Also offered: r*r; r^2; (float); sin(ang)
A: PI; pow(r,2); ang; pow(r,2); radianes(ang)

Q: Utilizando programación estructurada y modular (funciones), desarrolle un programa en C que calcule el valor numérico de un polinomio de grado k, de acuerdo a la siguiente expresión:

                      k

(a + b)^k =  Σ \( \frac{\frac{k!}{(k-j)!}}{j!} a^{(k-j)} b^j \)

                    j = 0

Donde:

Σ es la sumatoria desde que  j = 0  hasta k.

Por lo que deberá calcularse como una serie o sumatoria con contador j y límite=k.

a y b   Son dos valores numéricos cualquiera para calcular el polinomio.

k   Es el grado del polinomio.

Teniendo el programa principal y las funciones para calcular el factorial (factorial())y la potencia (pow()), la función para calcular la fórmula anterior, podría resolverse de la siguiente manera:

(Seleccione y arrastre el cuadro de respuesta que crea correcto en la posición que considera debe ir, puede haber cuadros de respuestas de más).

float polinomio ([...], float a, float b) {
  [...];
  [...];
  for (j=0; [...]; j++) {
    [...] ((float) ([...]/[...])/[...])*[...]*[...];
  }
  return (y);
}
Also offered: int y; pow(b,j); y =; j < k
A: int k; float y = 0; int j; j<=k; y = y +; factorial(k); factorial(k-j); factorial(j); pow(a,k-j); pow(b,j)

Q: El siguiente programa calcula los términos de una serie de BINARIA hasta el 20000.

1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, ..., 20000

Se presenta el programa principal y la función binario que calcula los términos.

(Seleccione y arrastre el cuadro de respuesta que crea correcto en la posición que considera debe ir, puede haber cuadros de respuestas de más).

 [...]

 [...]

 main () {
  [...]
  printf("Dame el valor limite ");
  [...]
  [...]

 }

 void binario (int n) {
  [...]

  do {
   [...]
   printf("%d\n",c);
   [...]
   [...]

  } [...]
 }
Also offered: c = b;; #include "math.h"; scanf("%li",&n);; while(c > n);
A: #include "stdio.h"; void binario (int n);; unsigned int n;; scanf("%ui",&n);; binario(n);; unsigned int a=0, b=1, c;; c = a + b;; a = c;; b = a;; while(c < n);

Q: Relacione las funciones mostradas con los archivos de cabecera correspondientes.
- ceil() | "math.h"
- isalpha() | "ctype.h"
- system() | "stdlib.h"
- toupper() | "ctype.h"
- getch() | "conio.h"
Also offered: "stdio.h"; "time.h"; "string.h"

Q: ¿Cuál es la forma correcta de definir una constante simbólica?
- #define G 9.81
- #define G = 9.81
- #define G 9.81;
- #define G = 9.81;
A: #define G 9.81

Q: Para calcular el número de combinaciones C que se pueden tener para colocar n número de objetos teniendo x posiciones, sin importar el orden en que se coloquen, se aplica la siguiente fórmula:

C = \( \frac{n!}{x! (n-x)!} \)

Utilizando programación estructurada y modular, se pide hacer un programa en lenguaje C que calcule la ecuación antes expuesta.

¿Cuál es la forma correcta de calcular la fórmula?
- Crear una sola función para calcular el factorial y mandarla llamar cambiándole los parámetros.
- Crear una función para calcular cada uno de los factoriales.
- Calcular las multiplicaciones y división, y después llamar a la función factorial.
- Crear una sola función factorial y calcular toda la operación.
A: Crear una sola función para calcular el factorial y mandarla llamar cambiándole los parámetros.

Q: En una directiva de inclusión, la declaración:

#include "cabecera.h"

Implica que:
- El preprocesador comenzará buscando el archivo a incluirse en el mismo directorio que el del archivo que se está compilando.
- El preprocesador comenzará buscando el archivo a incluirse en los directorios predefinidos donde se encuentran todos los archivos de cabecera
- El preprocesador buscará en el archivo de cabecera en todos los directorios de la computadora.
- No hay ninguna diferencia en dónde busque el archivo de cabecera.
A: El preprocesador comenzará buscando el archivo a incluirse en el mismo directorio que el del archivo que se está compilando.

Q: Cuando en una fórmula tenemos la expresión:

y = \( e^{-x} \)

La forma correcta de representarlo en lenguaje C corresponde a:
- y = 1/exp(x);
- y = pow(e, -x);
- y = exp(-x);
- y = e*-x;
A: y = 1/exp(x);

Q: Si no declaramos el tipo de dato que devolverá una función, por defecto la función devolverá un resultado de tipo.
- int
- float
- void
- double
- char
A: int

Q: La siguiente macro contiene un error, indique cual es:

#define radianes  (ang)    (ang)*PI/180.0
- Hay un espacio en blanco entre la palabra radianes y el parámetro (ang).
- Le falta el punto y coma al final.
- Las macros deben escribirse siempre con mayúsculas.
- En la definición de la macro, ang debe ir sin paréntesis.
A: Hay un espacio en blanco entre la palabra radianes y el parámetro (ang).

Q: En general, las funciones pueden ser de tres tipos:

El primero es el que lleva a cabo operaciones específicas sobre sus argumentos o parámetros y devuelve un valor como resultado de esa operación.

¿Los otros dos tipos de funciones?

(Puede haber más de una respuesta).
- Manejan información y devuelve un valor que simplemente indica el éxito o fracaso del manejo de dicha información.
- Son simplemente un procedimiento que no produce valor alguno.
- Son funciones que mandan llamar a otra función.
- Es la función main(), qué es el programa principal.
- Son las funciones de librería que se mandan llamar con la directiva #include
A: Manejan información y devuelve un valor que simplemente indica el éxito o fracaso del manejo de dicha información.; Son simplemente un procedimiento que no produce valor alguno.

Q: Una función puede devolver cualquier tipo de datos excepto un arreglo.
- Verdadero
- Falso
A: Verdadero

Q: Relacione los conceptos con las definiciones correspondientes, puede haber respuestas de más.
- Devuelve el menor entero mayor o igual que n y lo representa como double. | ceil (n)
- Devuelve el número e elevado a la potencia de n. | exp (n)
- Devuelve 10 elevado a la potencia n. | pow10 (n)
- Devuelve el coseno de n. | cos (n)
- Devuelve el logaritmo neperiano de n. | log (n)
Also offered: floor (n); ldexp (n, e); pow (n); cosh (n); acos (n); log10 (n); frexp (n, e)

Q: Hacer un programa que calcule la potencia n de x, para cualquier valor entero positivo de n sin usar el archivo de cabecera math.h.  y = x^n

A continuación se presenta la función pow() para calcular la potencia usando recursividad.

// Cálculo de la Potencia sin usar MATH.H

 float pow (float [...] , int [...] ) {
   float [...] [...] [...] ;
   if ( [...] [...] 1 )
     return ( [...] * pow( [...] , [...] ) );
   return ( 1 );
 }

(Seleccione y arrastre el cuadro de respuesta que crea correcto en la posición que considera debe ir, puede haber cuadros de respuestas de más).
Also offered: y; ==; x-1; r-1; >
A: x; n; r; =; x; n; =>; r; x; n-1

Q: Relacione los conceptos con las definiciones correspondientes, puede haber respuestas de más.
- Estas variables están definidas dentro de una función. | Variables locales
- Estas variables se declaran fuera de todas las funciones. | Variables globales
- Son los parámetros o variables al momento de llamar a la función. | Parámetros actuales
- Son los parámetros o variables al momento de definir la función. | Parámetros formales
- En este tipo de llamada, se copia la dirección del argumento en el parámetro o variable. | Paso por referencia
Also offered: Paso por valor; Parámetros de la función; Parámetros globales; Variables de ámbito; Parámetros locales