Logo Studenta

ASESORIA ESTRUCTURAS

¡Estudia con miles de materiales!

Vista previa del material en texto

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 
FACULTAD DE INGENIERIA INDUSTRIAL 
ALGORITMOS Y PROGRAMACIÓN 
 HORA:(3:30 – 5:30 pm) Tiempo 2 horas 
 
ASESOR: KLEYBER PILLACA OCHOA 
PREGUNTA 1: (PC2- LIZAMA 2019-II) 
ANALIZA EL PROBLEMA Y ESCRIBE SU VERSION RECURSIVA 
int misterio(int n) 
{ 
int y=0; 
int x; 
while(n>0) 
{ 
x=n%10; 
y+=x; //y=y+x 
n/=10; //n=n/10 
} 
return y; 
} 
PREGUNTA 2: (PC 2 HUARI 2019-I ) 
Dado la función void VerDigitos(int n). En n recibe un numero entero mayor que 10 para luego escribir 
todos los dígitos del número. Implementar dicha función recursivamente. 
PREGUNTA 3: (PARCIAL 2019-II) 
Respecto del siguiente programa , se pide escribir las dos ultimas funciones 
#include <iostream> 
#include <cmath> 
#include <climits> // para INT_MAX , INT_MIN 
#include <string.h> 
#define N 100 
using namespace std; 
struct Punto { 
 int x; // coordenada x; 
 int y; // coordenada y 
 }; 
void IngresarPunto(Punto &p); 
void PrintPunto(Punto p); 
double Distancia(Punto p, Punto q); 
void LeerPuntos(Punto Datos [N], int n); 
void MostrarPuntos(Punto Datos[N], int n); 
 
 
 
 
char* DondeEsta(punto p); 
/* Averigua donde esta el punto y devuelve una cadena respecto a su ubicación: “Cuadrante I”, 
“Cuadradante II”, “Cuadradante III”, “Cuadradante IV”, “Eje de las abcisas”, “Eje de las 
ordenadas”, “Origen de coordenadas” */ 
void Reporte(Punto Datos[N], int n); 
/* Muestra un reporte acerca del número de puntos según su ubicación dado el arreglo de n 
objetos struct Punto. El reporte será similar al siguiente: */ 
 
 
 
 
 
 
 
 
 
 
 
PROBLEMA 4: (PARCIAL 2020-0) 
Escriba el código de las funciones ingresarPartidos y obtenerEquiposAlosQueLesGano 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Reporte : 
 
Cuadrante I : a puntos 
Cuadrante II : b puntos 
Cuadrante III : c puntos 
Cuadrante IV : d puntos 
Eje de las abcisas : e puntos 
Eje de las ordenadas : f puntos 
Origen de coordenadas : g puntos 
 
struct partido 
{ 
 char local[20]; //equipo local 
 int gloc; //goles del equipo local 
 char visit[20]; //equipo visitante 
 int gvis; //goles del equipo visitante 
}; 
 
int main( ) 
{ 
 Int npar,neg,I; 
partido par[100]; 
char e[20], eg[100][20]; 
cout<<”Ingrese cantidad de partidos : ”; 
cin>>npar; 
ingresarPartidos(par,npar); 
cout<<”Ingrese un nombre de equipo: ”; 
fflush(stdin); 
gets(e); 
neg=obtenerEquiposAlosQueLesGano(e,par,npar,eg); 
if(neg==0) 
 cout<<”El equipo “<<e<<”no ganó ningún partido”<<endl; 
else 
{ 
 cout<<”El equipo “<<e<<”ganó a los siguientes equipos : ”<<endl; 
 for(i=0; i<neg; i++) 
 cout<<eg[i]<<endl; 
 
} 
return 0; 
} 
PROBLEMA 5: (PARCIAL 2019-1) 
Se tiene el siguiente programa: 
struct fecha 
{ 
 int d,m,a; 
}; 
 struct hora 
{ 
int hh,mm; 
}; 
struct vuelo 
{ 
 char aerolinea[20]; //aerolínea que realiza el vuelo 
 char ciuOrigen[20]; //ciudad de donde parte el vuelo 
char ciuDestino[20]; //ciudad de destino del vuelo 
fecha fsalida; //fecha de salida del vuelo 
hora hsalida; //hora de salida del vuelo 
}; 
void ingresarFechaHora(fecha &f, hora &h); 
void registrarVuelos(vuelo v[1000], int nv); 
int contarVuelos (vuelo v[1000], int nv); 
int main( ) 
{ 
vuelo vue[1000]; 
Int nvue,cant; 
cout<<”Ingrese cantidad de vuelos que desea registrar : “; 
cin>>nvue; 
registrarVuelos(vue,nvue); 
cant=contarVuelos(vue,vnue); 
cout<<”Durante el mes de marzo del 2019 la aerolínea LATAM”; 
cout<<”realizó “<<cant<<” vuelos de Lima a Miami ”; 
cout<<”que partieron después del medio dia”<<endl; 
return 0; 
} 
 
 
 
PROBLEMA 6: (PARCIAL 2016-2) 
Implementar la solución para el siguiente problema. 
Si se sabe que la estructura llamada Persona que tiene 2 campos (edad y etapa) en el primero se 
almacena la edad que tiene o cumplirá durante este año la persona entrevistada, la edad debe ser 
calculada. En el otro campo que es una cadena, se almacena la etapa de la persona (ver tabla) 
#include <iostream> 
#include <string.h> 
#define N 100 
using namespace std; 
//definición de las funciones 
 
//Funcion Principal 
int main( ) 
{ 
Persona A[N]; 
int n; 
LeerAnyoNacimiento(A,n); // Lee el número de personas a registrar , año y calcula la edad 
CalculaEtapa(A,n);//Calcula la etapa de acuerdo a tabla 
Listado(A,n);//Muestra un listado. Un registro por línea 
PrintResumen(A,n); Calcula el numero de personas por etapa y lo muestra 
return 0; 
} 
 
 
 
 
 
EDAD ETAPA 
0-6 INFANCIA 
7-12 NIÑEZ 
13-20 ADOLESCENTE 
21-25 JUVENTUD 
26-60 ADULTEZ 
MAYOR A 60 VEJEZ

Continuar navegando