Você está na página 1de 4

UNIVERSIDD NACIONAL MAYOR DE SAN MARCOS

Facultad de Ingeniería de Sistemas e Informática


Escuela Profesional de Ingeniería de Software
Curso: Algorítmica I
Prof. G. A. Salinas
Examen Parcial
Parte II
Instrucciones:
 Lea bien las preguntas y luego analice, diseñe, especifique de acuerdo a la solución (salida) del
problema que nos ayudaran a determinar los datos de entrada haciendo un esquema de ello.
 Resuelva numerando adecuadamente y utilizando solo lapiceros de tinta azul o negra.
 La práctica consiste en implementar la solución aplicando la programación modular, además
debe implementar el programa principal con todas las referencias o llamadas que hagan posible
la solución del problema.
 Vuestra solución debe cumplir con las buenas prácticas y la estructura de un programa en C/C++
y terminan cuando el usuario desea.
 Tiempo: 0140 horas

Todas las soluciones se realizan aplicando la metodología de programación modular. No se permite


variables ni vectores globales. (7p)
1. Se requiere implementar una aplicación en lenguaje C/C++ modular de tres subprogramas que
realicen las siguientes operaciones, se pide:
1.1. Diseñe e implemente un procedimiento o una función que sume dos valores enteros recibidos
por parámetro.(1.5p)
1.2. Desene e implemente un procedimiento que calcule la suma de 4 números enteros recibidos por
parámetro reutilizando el subprograma anterior. (2.5p)
1.3. El programa principal con todas las referencias o llamadas que hagan posible la solución del
problema. (2p)
1.4. Comente la solución para la suma de n números enteros.(1p)

SOLUCION
#include <…>

using namespace std;


//Solucion problema 1
int sumaEntero(int n1, int n2);
void sumaTotal(int n1, int n2, int n3, int n4);
void sumaVarios();

//1.3 programa principal


int main()
{
int a=2,b=4,c=6,d=8;
//sumaTotal(a,b,c,d);
sumaVarios();
system("pause");
return(0);
}
//1.1 funcion suma de elementos
int sumaEntero(int n1, int n2)
{
int su;
su=n1+n2;
return(su);
}
//1.2 suma de 4 sumandos
void sumaTotal(int n1, int n2, int n3, int n4)
{
int su;
su=sumaEntero(n1,n2);
su=sumaEntero(su,n3);
su=sumaEntero(su,n4);
printf("Suma total = %d\n\n", su);
}

2. Se tienen 3 vectores de calificaciones del curso de algorítmica I, se requiere una aplicación en


lenguaje C/C++ que calcule la sección con mayor promedio, se pide: (7p)
2.1. Un procedimiento o función que calcule el promedio de calificaciones de una sección.
2.2. Un procedimiento que trata los tres vectores y determina la sección con mejor promedio.
2.3. El programa principal con todas las llamas o referencias que hagan posible la solución del
problema. Ejemplo si: s1=<9,11, 10>, s2=<15, 10, 17, 14, 13, 15>, s3=<13, 11, 14, 10>,
promedios: s1=10, s2=14, s3=12. Mejor promedio: sección 2: 14

SOLUCION:
#include <conio.h>

//Solucion Problema 2
using namespace std;
void mostrarVector(int x[],int dx);
int promedioSeccion(int x[],int dx);
void mejorPromedio(int x[],int dx, int y[],int dy, int z[],int dz);

//2.3 Programa principal


int main()
{
int ns1,ns2,ns3;
int s1[]={9,11,10};
int s2[]={15,10,17,14,13,15};
int s3[]={13,11,14,10};

ns1=sizeof(s1)/sizeof(int);
ns2=sizeof(s2)/sizeof(int);
ns3=sizeof(s3)/sizeof(int);
mostrarVector(s1,ns1);
mostrarVector(s2,ns2);
mostrarVector(s3,ns3);
mejorPromedio(s1,ns1, s2,ns2, s3,ns3);

system("pause");
return(0);
}
//2.1 Promedio de una seccion
int promedioSeccion(int x[],int dx)
{
int i,snota,nota,pnota;
i=0,snota=0;
if(dx>0){
while(i<dx){
nota=x[i];
snota=snota+nota;
i=i+1;
}
pnota=snota/i;
return(pnota);
}
else{
printf("Vector vaciooo...!\n\n");
}
}
//2.2 Mejor promedio de 3 secciones (vectors)
void mejorPromedio(int x[],int dx, int y[],int dy, int z[],int dz)
{
int pnota,maxProm,sec,secm;

pnota=promedioSeccion(x,dx);
sec=1;
secm=1;
printf("Promedio: %d, Seccion: %d\n",pnota, sec);
maxProm=pnota;

pnota=promedioSeccion(y,dy);
sec=2;
if(pnota>maxProm){
maxProm=pnota;
secm=2;
}
printf("Promedio: %d, Seccion: %d\n",pnota, sec);

pnota=promedioSeccion(z,dz);
sec=3;
if(pnota>maxProm){
maxProm=pnota;
secm=3;
}
printf("Promedio: %d, Seccion: %d\n",pnota, sec);

printf("Mejor Promedio: %d, Seccion: %d\n\n",maxProm, secm);


}

Formato para rotular su


Examen Parcial práctica o examen
Algorítmica I G1

1100234 AVARENGA TOSSA, Juan Manuel

CU., Mayo de 2019.

6ta línea
CU. Mayo de 2019.

Você também pode gostar