2024
Ingeniero Juan Pablo Pla
Ingeniera Soledad Coudures
INGENIERIA MECANICA
Materia: Fundamentos de Informática
Trabajo Práctico I
Integrantes del grupo:
ABARRATEGUI, Delfina Sol dabarrategui982@[Link]
BATTAGLIA, Marcos Nahuel mbattaglia597@[Link]
BENTO, Sebastián Gabriel sbento984@[Link]
EIRIS, Gonzalo Martín geiris880@[Link]
Entregas (a completar por el docente a mano):
ABARRATEGUI, Delfina Sol
BATTAGLIA, Marcos Nahuel
BENTO, Sebastián Gabriel
EIRIS, Gonzalo Martín
Generalidades
El presente trabajo práctico es de entrega obligatoria, durante la primera parte del cuatrimestre, y
requisito para promocionar la materia.
Grupo de Trabajo: Presentación grupal (grupos de 3 a 5 personas). NO se puede realizar de manera
individual.
Presentación Digital (3 archivos)
• El diagrama de flujo legible que resuelve el problema (EN FORMATO “.PDF”, “.JPG” o “.PNG”).
• El archivo “.c” o “.cpp” con el código del programa correspondiente al ejercicio resuelto.
• El archivo (“.doc” o “.pdf”) del punto anterior, que contiene: Carátula, Generalidades,
Enunciado, Diagrama de Flujo y Código en lenguaje C.
NOTA: las entregas se realizarán por MsTeams, en el canal asignado a cada grupo.
Presentación en papel únicamente si el TP está APROBADO pero los parciales NO
(a recuperatorio en mesa de final)
Deberá presentarse un folio (NO Carpeta) con el TP impreso que contenga:
• Carátula
• Generalidades
• Enunciado
• Diagrama de flujo que resuelve el problema, es importante la prolijidad y legibilidad del mismo.
PREFERENTEMENTE QUE SEA REALIZADO A MANO.
• Código fuente del programa (Archivo “.txt”, “.c” o “.cpp” generado, NO WORD).
Importante:
• Sólo serán corregidos aquellos TPs que fueron entregados en tiempo y forma, y que se haya
enviado al menos el código y el diagrama DE MANERA DIGITAL antes de la fecha estipulada.
• La entrega fuera de término implica la realización de un nuevo ejercicio y/o una evaluación
individual, oral y/o escrita del TP para su aprobación.
• La última fecha de recepción de trabajos prácticos será informada por email, por
MsTeams y a través del webcampus de la cátedra [Link]
Pasada esa fecha, los alumnos que no lo hayan entregado perderán el beneficio de promoción
y deberán solicitar un nuevo enunciado.
Objetivo:
• Aplicar los aspectos teóricos/prácticos desarrollados en las clases a un caso particular
utilizando las herramientas fundamentales de programación y codificación en C, incluyendo los
aspectos esenciales del trabajo en computadora real.
Trabajo Práctico I – Fundamentos de Informática Pagina 2
Ing. Juan Pablo Pla - Ing. Soledad Coudures
ABARRATEGUI, Delfina Sol
BATTAGLIA, Marcos Nahuel
BENTO, Sebastián Gabriel
EIRIS, Gonzalo Martín
Enunciado
Les solicitan desarrollar un programa codificando en lenguaje C para el encargado de otorgar
beneficios especiales en una empresa.
La misma cuenta con 45 empleados que pertenecen a 3 categorías: Director, Supervisor y
Operativo. El programa deberá solicitar al usuario la siguiente información:
- Legajo
- Monto al que se le aplicara el beneficio
- Categoría. En este dato se deberá ingresar uno de los siguientes números:
o 1 → Director
o 2 → Supervisor
o 3 → Operativo
El programa deberá calcular e informar:
a) Promedio de monto ingresado por las categorías 1 y 2.
b) Cantidad de solicitudes de las categorías restantes.
c) Si el monto es superior a $500.000,00 se deberá informar por pantalla que no recibirá
beneficios.
d) Si el monto se encuentra entre $500.000,00 y $50.000,00 se bonificará un 10%. Se deberá
informar por pantalla el monto bonificado.
e) Si el monto es menor a $50.000,00 y mayor a $5.000,00 se bonificará un 30%. Se deberá
informar por pantalla el monto bonificado.
f) Si el monto es inferior a $5.000 informar por pantalla que se realizará una bonificación del
50%. Se deberá informar por pantalla el monto bonificado.
g) Importe total bonificado.
h) Promedio de montos ingresados.
i) Buscar e informar el legajo con el mayor monto ingresado, informando además monto ingresado
e importe bonificado (suponer que hay un único empleado en esta situación).
Trabajo Práctico I – Fundamentos de Informática Pagina 3
Ing. Juan Pablo Pla - Ing. Soledad Coudures
ABARRATEGUI, Delfina Sol
BATTAGLIA, Marcos Nahuel
BENTO, Sebastián Gabriel
EIRIS, Gonzalo Martín
Aclaración:
Primero se debe realizar el diagrama, luego escribir el código en lenguaje “c”.
Ése será el orden de corrección, si el diagrama no cumple con la consigna entonces no se corregirá el
código. Todo código será corregido con su respectivo diagrama (no enviar sólo el código por email,
siempre se deben enviar las dos cosas juntas).
Por favor, controlar antes de hacer la entrega que los nombres de las variables en el diagrama
coincidan con los nombres en el código.
NOTA IMPORTANTE:
El enunciado del problema a resolver corresponde a un solo ejercicio, que se puede abordar por
módulos.
Esta técnica de descomposición por refinamiento sucesivo de un problema es muy práctica y facilita la
resolución de problemas complejos en general y básicamente consiste en descomponer un problema
complejo en varios problemas más simples tal que la resolución de estos problemas simples en
conjunto terminan resolviendo el problema complejo.
Al finalizar el trabajo práctico, se va a obtener tanto el diagrama de flujo como el programa C que
resuelven el problema completo.
Trabajo Práctico I – Fundamentos de Informática Pagina 4
Ing. Juan Pablo Pla - Ing. Soledad Coudures
ABARRATEGUI, Delfina Sol
BATTAGLIA, Marcos Nahuel
BENTO, Sebastián Gabriel
EIRIS, Gonzalo Martín
Solución
Diagrama:
Trabajo Práctico I – Fundamentos de Informática Pagina 5
Ing. Juan Pablo Pla - Ing. Soledad Coudures
ABARRATEGUI, Delfina Sol
BATTAGLIA, Marcos Nahuel
BENTO, Sebastián Gabriel
EIRIS, Gonzalo Martín
Código:
#include<stdio.h>
main ()
{int T, L, C1, C2, B, i, Aux1;
float A1, AM, M, MB, Prom1, Prom2, Aux2, Aux3, AT;
C1=0, A1=0, C2=0, AM=0, B=0, AT=0;
for (i=1;i<=45;i++)
{printf("Ingresar la categoria, 1 si es director, 2 si es supervisor o 3 si es operativo: ");
scanf("%d",&T);
printf("Ingresar legajo: ");
scanf("%d",&L);
printf("Ingresar monto: ");
scanf("%f",&M);
if (T==1 || T==2)
{A1+=M;C1++;
else C2++;
if (M>500000)
MB=0;
else if (M>=50000)
MB=M*0.1;
else if(M>5000)
MB=M*0.3;
else MB=M*0.5;
Trabajo Práctico I – Fundamentos de Informática Pagina 6
Ing. Juan Pablo Pla - Ing. Soledad Coudures
ABARRATEGUI, Delfina Sol
BATTAGLIA, Marcos Nahuel
BENTO, Sebastián Gabriel
EIRIS, Gonzalo Martín
AM+=MB;
AT+=M;
if (MB==0)
printf("No hay monto bonificado\n");
else printf("El monto bonificado es:%.2f\n",MB);
if (B==0)
{B=1; Aux1=L; Aux2=MB;Aux3=M;
else if(M>Aux3)
{Aux1=L; Aux2=MB;Aux3=M;
if (C1!=0)
{Prom1=A1/C1;printf("El promedio de montos ingresados por las categorias 1 y 2 es:%.2f\n",Prom1);
else printf("No se ingresaron directores o supervisores\n");
Prom2=AT/45;
printf("La cantidad de operativos es:%d\nEl importe total bonificado es:%.2f\nEl promedio de montos
ingresados es:%.2f\nEl legajo con el mayor monto ingresado es:%d\nsu monto ingresado es:%.2f\ny
su monto bonificado:%.2f",C2,AM,Prom2,Aux1,Aux3,Aux2);
Trabajo Práctico I – Fundamentos de Informática Pagina 7
Ing. Juan Pablo Pla - Ing. Soledad Coudures