Está en la página 1de 4

Evaluación Especial - Programación I

Objetivo: El estudiante debe resolver de manera satisfactoria los siguientes problemas utilizando todos sus
conocimientos de Programación I, y atendiendo a las especificaciones dadas. La Evaluación es enteramente
INDIVIDUAL, no puede utilizar ningún tipo de material de ayuda, tiene una duración de 2 Horas.

Problema Nro 1 (8 Pts)


Se tiene el archivo de tipo TEXTO llamado “OPERACIONES.TXT” y contiene posibles
operaciones matemáticas a resolver, las operaciones son Sumar, Restar, Multiplicar, Dividir
y calcular Factorial de números que en su totalidad son Entero y Positivos, cada línea del
archivo es una operación a resolver, de las mencionadas anteriormente todas tienen dos
Operándos y un operador; a excepción del Factorial que solo posee un Operando y un
Operador; veamos como sería un ejemplo de este archivo:

234+12
98-245
345*567
938/17
34!

El objetivo de este problema es que usted sea capaz de desarrollar un programa que pueda
procesar este archivo y que muestre por pantalla la Operación establecida en el archivo con
su respectiva solución: es decir, algo como:

234+12=246 =>Resultado de la SUMA


98-245=-147 =>Resultado de la RESTA
345*567=195.615 =>Resultado de la MULTIPLICACION
938/17=55 =>Resultado de la DIVISION ENTERA
9! =>Resultado del FACTORIAL

Para este problema debe tomar en cuenta que existe SOLO una operación por Línea, que las
operaciones con dos operándos presentan la particularidad que pueden tener la misma
longitud o no, la Suma, Resta, Multiplicación y la División siempre tienen ambos
operándos presentes, el factorial siempre posee su operando presente; si una operación NO
PUEDE RESOLVERSE, se debe indicar por pantalla, dando la razón.

Requerimientos Técnicos
Para este problema es OBLIGATORIO el uso de Funciones, de manera CORRECTA; y en
el tratamiento del archivo sólo se permite leer CARÁCTER a CARÁCTER.
Problema Nro 2 (8 Pts)
Se tiene el archivo “NOMBRES.TXT”, que es un Archivo de tipo TEXTO que contiene
los nombres de los estudiantes que van al Acto de Grado 2019, este listado nunca excede
los 60 nombres, sin embargo, alguno de ellos han fallado en las últimas evaluaciones por lo
que deben ser Eliminados de dicho listado, así como algunos han tenido Éxito en sus
últimas evaluaciones y deben ser agregados al Listado, por lo tanto, se pide que haga un
programa en Lenguaje C, que permita Leer el Nombre del Estudiante (al menos primer
Nombre y primer Apellido: algo como PEDRO PEREZ) y sea determine si se debe eliminar
o si se debe agregar de la Lista de Graduandos 2019.

Para este problema debe tomar en cuenta que el Listado está ORDENADO en el
ARCHIVO y debe permanecer así después de agregar y eliminar los nombres. NO puede
utilizar funciones como fseek, solamente fopen y fclose.

Requerimientos Técnicos
Para este problema es OBLIGATORIO el uso de Funciones, de manera CORRECTA.

Problema Nro 3 (4 Pts)


Se tiene el archivo “PARRAFO.TXT”, que es un Archivo de tipo TEXTO que contiene
una narrativa descriptiva hecha por un usuario. El responsable de la corrección y
publicación del documento ha solicitado de su ayuda, para que usted desarrolle una
aplicación en Lenguaje C, que sea capaz de leer el archivo “PARRAFO.TXT” y revisar si
existe en dicho archivo palabras de tipo Soez, la aplicación deberá utilizar un archivo
llamado “MALPAL.TXT” que es un archivo que contiene todas las “MALAS
PALABRAS” o “Adjetivos Calificativos Prohibidos”, los cuales buscará en el archivo
“PARRAFO.TXT” y establecer cantidad de coincidencias, Cada palabra de
“MALPAL.TXT” debe buscarse en el archivo “PARRAFO.TXT” y si existe más de 3
coincidencias el documento NO podrá ser publicado.

Para este problema debe tomar en cuenta que el archivo “PARRAFO.TXT” tiene o puede
tener cualquier longitud de líneas; que solo contiene Vocales, Consonantes, números y
algunos caracteres especiales.

Requerimientos Técnicos
Para este problema es OBLIGATORIO el uso de Funciones, de manera CORRECTA.
AYUDA PARA EL PROGRAMADOR
FUNCION STRSTR
Localiza la primera aparición en la cadena apuntada por s1 de la secuencia de caracteres
(excluyendo el carácter nulo) en la cadena apuntada por s2.
#include <stdio.h>
#include <string.h>
int main()
{
char s1[13] = "Hola a todos";
char s2[3] = "la";
printf( "s1=%s\n", s1 );
printf( "s2=%s\n", s2 );
printf( "strstr(s1,s2) = %s\n", strstr( s1, s2 ) );
return 0;
}

FUNCION STRLEN
Calcula el número de caracteres de la cadena apuntada por s.
#include <stdio.h>
#include <string.h>
int main()
{
char s[13] = "Hola a todos";
printf( "s=%s\n", s );
printf( "strlen(s) = %d\n", strlen( s ) );
return 0;
}

FUNCION STRCPY
Copia la cadena apuntada por s2 (incluyendo el carácter nulo) a la cadena apuntada por s1.
#include <stdio.h>
#include <string.h>
int main()
{
char s2[8] = "abcdefg";
char s1[8];
strcpy( s1, s2 );
printf( "s2=%s\n", s2 );
printf( "s1=%s\n", s1 );
return 0;
}
FUNCION STRCMP
Compara la cadena apuntada por s1 con la cadena apuntada por s2.
#include <stdio.h>
#include <string.h>

int main()
{
char s1[5] = "Abeja";
char s2[5] = "abeja";
int i;

printf( "s1=%s\t", s1 );
printf( "s2=%s\n", s2 );
i = strcmp( s1, s2 );
printf( "s1 es " );
if( i < 0 )
printf( "menor que" );
else
if( i > 0 )
printf( "mayor que" );
else
printf( "igual a" );
printf( " s2\n" );

return 0;
}

También podría gustarte