Está en la página 1de 8

Primer Examen Parcial

Profesores: Nombre:_________________________________________________Cdula:______________
IPARTE Determine las salidas en pantalla del siguiente programa. #include <iostream> using namespace std; class Calculo { public: void aumentar (int num) { num++; } void multiplicar (int *num) { *num= *num * *num ; } void disminuir (int num) { num--; } }; x: _____10____ void main () { Calculo c1; int x=4, y=5, z = 2; int *px = &x; int *py = &y; int *pz = &z; x = *py + y; y= 2 + *pz; *pz=x + (*py * *px); cout<<" x : "<< x <<endl; cout<<" y : "<< y <<endl; cout<<" z : "<< z <<endl; c1.aumentar (x); c1.multiplicar (&y); c1.disminuir (*pz); cout<<" x : "<<x<<endl; cout<<" y : "<<y<<endl; cout<<" z : "<<z<<endl; system ("pause"); } y: _______4__ z: ________50_ x: _____11____ y: ______16__ z: ________49_ Salidas

Puntaje: 55 Puntos Obt:_____ Nota:________

IIPARTE Dada la clase implemente los mtodos solicitados Numero ____________________ -int n ____________________ + Numero() + Numero (int) +~ Numero () +setn() +getn() +int cantidadDigitos() +bool narcicista() +bool primo(int) +int sumaprimos()

Implementacin de la clase con sus mtodos bsicos (4ptos) Mtodo cantidadDigitos() Este mtodo devuelve la cantidad de dgitos que posee n. (4ptos)

Mtodo Devuelve true si el numero recibido por parmetro es primo y false en caso contrario.

primo()(4ptos)

Recuerde que un numero primo es aquel que nicamente es divisible entre 1 y entre el mismo. Utilice obligatoriamente el ciclo do-while. Mtodo sumaprimos() (7ptos) Este mtodo lee 100 nmeros del usuario y devuelve la sumatoria de todos los nmeros que sean primos.

#include <iostream> using namespace std; class numero{ private: int n; public: numero(){ this->n=0; } numero(int n){ this->n=n; } void setN(int n){ this->n=n; } int getN(){ return (n); } void cantidadiDigitos(int n){ int cont=0; while(n<=0){ cout<<"cantidad incorrecta digite un nuevo numero"<<endl; cin>>n; } while((n/10)!=0){ n=n/10; cont++; } cout<<"la cantidad de digitos es de "<<cont+1<<endl; } bool primo(int n){ int cont=1; int prim=0; while (n<1){ cout <<"cantidad incorrecta el numero tiene q ser mayor q 1 "<<endl; cin>>n;} do{ if(n/cont==0){ prim++;} cont ++; } while(cont !=n); if(prim==2){ 3

return (true);} else {return(false);} } void sumaprimos(){ int sum=0;

for(int i=0;i<10;i++){ cout<<"digite un numero: "<<endl; cin>>n; if(primo(n)==true){ sum=sum+n; } } cout <<"la sumatoria seria: "<<sum<<endl; }

}; III PARTE Dadas las clases que se presentan clasifique las relaciones dadas entre ella y dibuje cada relacin (en el UML no incluya ni mtodos ni atributos)

1-) Los profesores puedes trabajar en varias universidades, determine la relacin entre Unversidad profesor Relacin de ________asociacion________

2-) El futbolista puede meter goles con la pelota Determine la relacin entre Futbolista Pelota Relacin de _________asociacion________

Universid ad s

Profesore

tiene

n
futbolista

usa

pelota

3-) Los estudiantes se pueden matricular en varios cursos de determinada carrera, determine la relacin entre Curso- Estudiante

4-) Triangulo- Lados Relacin de __________compocision_________

Relacin de ____ agregacion__________

Curso

N matricula 1

Estudiant e

IV PARTE Implemente el siguiente UML. Una veterinaria tiene 5 sucursales las cuales se caracterizan por tener una cedula jurdica y un cdigo postal. La veterinaria posee una direccin electrnica y ofrece dos tipos de especialidades medicas: una dirigida a especies menores y y otra dirigida a especies mayores. En ambas especialidades se registra el nombre y cedula del dueo. En caso de tratarse de especies menores se registra adems el nombre del animal y la fecha de nacimiento, en caso de tratarse de especies de mayores se registra el nmero de lote. Las especies menores incluyen tres tipos de animales: perros, gatos y aves exticas. De los perros y gatos se registra el pedigr y de las aves exticas el numero de permiso. Las especies mayores incluye vacas de las cuales se registra la produccin de leche en litros. La veterinaria cuenta con 2 veterinarios de los cuales se registra nombre, cedula y especialidad, cuenta con un administrador del cual se registra nombre, cedula y grado acadmico, y tres vendedores de los cuales se registra el nombre, la cedula y el monto de venta.

UNIVERSIDAD NACIONAL Facultad de Ciencias Exactas y Naturales Escuela de Informtica

EIF201 Programacin 1 Tiempo Estimado: 3 horas

2-) Dado el siguiente diseo implemente lo solicitado.

Curso Carta_al_Estudiante Int ano; String objetivos 1 1 -string nombre -string codigo +imprimir_atributos()

Profesor string estado//activo


inactivo

string categoria

Implemente las tres clases con sus respectivas relaciones. Debe incluir los mtodos set, get, constructor y destructor y dems otros atributos que considere necesarios para establecer la relacion. (10 ptos)

En el main: y

y y y y y y

Instancie en forma estatica un objeto de tipo curso c1.5 ptos) Instancie en forma dinamica un objeto de tipo curso llamado c2 (1.5 ptos) Por medio de los metodos set, cambie el valor de los atributos de c1 (1.5 ptos) Por medio de los metodos set, cambie el valor de los atributos de c2 (1.5 ptos) Llame al metodo imprimir_atributos de c1, el cual debe imprimir todos los atributos (1.5 ptos) A travs del objeto c1 cambien el estado del profesor a activo (1.5 ptos) Libere la memoria en caso de ser necesario (1.5 ptos)

Examen parcial #1

pg. 6/8

UNIVERSIDAD NACIONAL Facultad de Ciencias Exactas y Naturales Escuela de Informtica


#include <iostream> using namespace std; #include "curso.h" class carta_al_estudiante{ private: int anno; string objetivo; curso curso; public: carta_al_estudiante(){ this->anno=0; this->objetivo=""; } carta_al_estudiante(int anno, string objetivo){ this->anno=anno; this->objetivo=objetivo; } void setAnno(int anno){ this->anno=anno; } void setObjetivo( string objetivo){ this->objetivo=objetivo; } int getAnno(){ return anno; } string getObjetivo(){ return objetivo; } }; class curso{ private: string nombre; string codigo; public: curso(){ nombre=""; codigo=""; } curso(string nombre, string curso){ this->codigo=codigo; this->nombre=nombre; } void setNombre(string nombre ){ this->nombre=nombre; } void setCodigo(string codigo){ this->codigo=codigo;

EIF201 Programacin 1 Tiempo Estimado: 3 horas

Examen parcial #1

pg. 7/8

UNIVERSIDAD NACIONAL Facultad de Ciencias Exactas y Naturales Escuela de Informtica


} string getCodigo(){ return codigo; } string getNombre(){ return nombre; } void imprimir(){ cout<<"el nombre es"<<nombre<<endl; cout<<"el codigo es "<<codigo<<endl;} };

EIF201 Programacin 1 Tiempo Estimado: 3 horas

#include <iostream> using namespace std; #include "curso.h" class profesor{ private: string estado; string categoria;//falta

U.U
#include <iostream> Using namepace std;

Void main{ Curso c1 Curso c2= new curso;

C1.set(juan, rt3re); C2->set(pedro,wfw32);

Examen parcial #1

pg. 8/8