Está en la página 1de 4

Este material, de distribución gratuita, no contiene necesariamente las modificaciones

que se hayan incorporado durante la realización de las evaluaciones.

PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ 
ESTUDIOS GENERALES CIENCIAS 
 
LENGUAJE DE PROGRAMACIÓN (INF135) 
PERÍODO 2011‐2 
EXAMEN ESPECIAL 
 
Instrucciones:  
 
1. La duración máxima del examen es 3 horas. 
2. La solución al examen es sin apuntes, libros o cualquier material similar de consulta, 
propio o ajeno. 
3. Se recomienda leer detenidamente cada una de las preguntas. 
4. De  acuerdo  al  Artículo  25°  de  las  normas  relativas  al  sistema  de  evaluación  de 
EEGGCC,  en  la  calificación  de  exámenes  y  prácticas  se  debe  tener  en  cuenta  el 
desarrollo del trabajo realizado, la demostración coherente, acertada y pertinente de 
conocimientos  teóricos  y  prácticos,  los  resultados  obtenidos,  el  orden  de  la 
exposición, la claridad de la redacción, y otros criterios tales como: el uso acertado del 
vocabulario,  las  reglas  gramaticales,  la  ortografía,  la  puntuación  y  la  limpieza  de  la 
presentación en general. 
5. Al final de este documento se adjunta información general relacionada con el curso. 
 
Pregunta 1 (20 puntos, Electiva) 
Elaborar un programa en lenguaje C que solicite el ingreso de N datos enteros positivos, 
donde N es mayor que 1, y determine las modas del conjunto de números.  La moda es el 
valor más frecuente.  Si el conjunto de datos tiene más de una moda, el programa deberá 
mostrarlas.  El  programa  deberá  estar  estructurado  en  base  a  funciones  y  el  uso  de 
punteros. 
 
A continuación se muestra un ejemplo: 
 
Ingrese N (N>1): 1
Error. Debe ingresar un valor mayor que 1. Intente otra vez.
Ingrese N (N>1): 10
Ingrese dato 1: 3
Ingrese dato 2: 5
Ingrese dato 3: 3
Ingrese dato 4: 5
Ingrese dato 5: 17
Ingrese dato 6: 5
Ingrese dato 7: 89
Ingrese dato 8: 17
Ingrese dato 9: 3
Ingrese dato 10: 37

Hay 2 modas: 5 3
Su frecuencia es 3.
 
 
 
CONTINÚA... 
Este material, de distribución gratuita, no contiene necesariamente las modificaciones
que se hayan incorporado durante la realización de las evaluaciones.

 
CRITERIO DE CALIFICACIÓN 
 
Descripción  Puntaje 
Definición de las variables, arreglos y punteros adecuados al  2 puntos 
problema 
Definición de las funciones adecuadas al problema  2 puntos 
Ingreso y validación de datos, en base a funciones y punteros  1 punto 
Determinación de la existencia de al menos una moda  6 puntos 
Determinación de la existencia de más de una moda  7 puntos 
Presentación de los resultados en forma ordenada y amigable al  2 puntos 
usuario 
 
Para todos los casos, se obtiene el puntaje completo siempre que la sintaxis esté correcta 
y el resultado obtenido por las operaciones sea el correcto. 
 
Pregunta 2 (20 puntos, Electiva) 
Elaborar un programa en C que permita identificar las palabras que contiene un texto y la 
cantidad  de  veces  que  aparecen  estas  palabras  en  él.    Las  palabras  obtenidas  deberá 
mostrarlas en orden alfabético, acompañadas de la cantidad de veces que se repiten.  El 
usuario  puede  ingresar  varios  párrafos  de  texto  hasta  que  ingrese  el  código  “$$$”  para 
que termine el ingreso.   

Asumir  que  el  texto  solamente  tiene  las  letras  del  alfabeto  inglés  (No  hay    tildes  en 
vocales ni la letra ñ).  

El  programa  no  deberá  distinguir  mayúsculas  de  minúsculas,  por  lo  que  se  recomienda 
pasar todas las palabras a mayúscula o minúsculas antes de buscarlas y/o ponerlas en su 
lista. 

Ninguna palabra del texto excederá el tamaño de 30 caracteres.   

Asumir que el número máximo de palabras para crear el arreglo que contendrá la lista de 
palabras es 1000.  Este arreglo deberá ser un arreglo de punteros a cadenas de caracteres 
(por ejemplo, char *arr[N] ). 
 
CRITERIO DE CALIFICACIÓN 
 
Descripción  Puntaje 
Definición de las variables, arreglos y punteros adecuados al  2 puntos 
problema 
Definición de las funciones adecuadas al problema  2 puntos 
Ingreso y validación de datos, en base a funciones y punteros  2 puntos 
Determinación de lista ordenada de palabras  6 puntos 
Determinación de frecuencia de aparición de palabras  6 puntos 
Presentación de los resultados en forma ordenada y amigable al  2 puntos 
usuario 
 
CONTINÚA... 
Este material, de distribución gratuita, no contiene necesariamente las modificaciones
que se hayan incorporado durante la realización de las evaluaciones.

Para todos los casos, se obtiene el puntaje completo siempre que la sintaxis esté correcta 
y el resultado obtenido por las operaciones sea el correcto. 
Un ejemplo de la salida de este programa puede ser el siguiente: 
 
Escriba el texto a procesar (Para terminar el ingreso de texto escriba el codigo $$$):
===========================================================
Elaborar un programa en C que permita identificar las palabras que contienen un
texto y la cantidad de veces que aparecen estas palabras en el. Las palabras obt
enidas debera mostrarlas en orden alfabetico, acompanadas de la cantidad de vece
s que se repiten.
$$$
********************************************************************************
Lista de palabras
Palabra Cantidad
======= ========
ACOMPANADAS 1
ALFABETICO 1
APARECEN 1
C 1
CANTIDAD 2
CONTIENEN 1
DE 3
DEBERA 1
EL 1
ELABORAR 1
EN 3
ESTAS 1
IDENTIFICAR 1
LA 2
LAS 2
MOSTRARLAS 1
OBTENIDAS 1
ORDEN 1
PALABRAS 3
PERMITA 1
PROGRAMA 1
QUE 4
REPITEN 1
SE 1
TEXTO 1
UN 2
VECES 2
Y 1
Presione una tecla para continuar . . .

 
 
 
CONTINÚA... 
Este material, de distribución gratuita, no contiene necesariamente las modificaciones
que se hayan
PONTIFICIA UNIVERSIDAD incorporado
CATÓLICA durante la realización de las evaluaciones.
DEL PERÚ
ESTUDIOS GENERALES CIENCIAS

Información general del curso 
 
 
Estructuras selectivas 
if( condición ) switch( variable )
{ {
. . . case 0:
} break;
else case 1:
{ break;
. . . . . .
} default:
}
 
Estructuras repetitivas 
while(condición) do for(inicio;condición;operación)
{ { {
} }while(condición); }

 
Algoritmo general de ordenamiento 
int a[TAM];
int pass,j,aux;

for(pass=1; pass<=TAM-1; pass++)


for(j=0; j<=TAM-2; j++)
if(a[j] < a[j+1]){
aux = a[j];
a[j]= a[j+1];
a[j+1] = aux;
}

 
Principales funciones matemáticas 
pow(base,exponente)
sqrt(radicando)
sin(radianes)
cos(radianes)
tan(radianes)
exp(numero)
srand(time(NULL))
rand()

 
Principales funciones que manipulan cadenas de caracteres 
strlen(cadena)
strcpy(destino,origen)
strcat(cadena1,cadena2)
strcmp(cadena1,cadena2)

 
 
 
 
San Miguel, 07 de diciembre de 2011 

INF 135 LENGUAJE DE PROGRAMACIÓN 4

También podría gustarte