Un examen anterior https://sites.google.com/site/programacionparaingeneria/es-progra-2013-1.pdf
Solucion
#include<iostream>
using namespace std;
float precioUnitario(int codProd){
// devuelve el precio del producto dado el codigo
float prec;
switch (codProd){
// 5 PUNTOS
case 1: prec=150;break;
case 2: prec=250;break;
case 3: prec=500;break;
case 4: prec=750;break;
default : prec=0;
}
return prec;
}
float obtenerDescuento(int codProd, int cant){
// devuelve el descuento de acuerdo al codigo y
// la contidad de product
float desc;
switch (codProd){
// 5 PUNTOS
case 1: if (cant>=50)
desc=0.20;
else if (cant>15)
desc=0.15;
else if (cant>=5)
desc=0.10;
else
desc=0;
break;
case 2: if (cant>=30)
desc=0.20;
else if (cant>15)
desc=0.15;
else if (cant>=10)
desc=0.10;
else
desc=0;
break;
case 3: if (cant>=50)
desc=0.20;
else if (cant>25)
desc=0.15;
else if (cant>=15)
desc=0.10;
else
desc=0;
break;
case 4: if (cant>=100)
desc=0.20;
else if (cant>70)
desc=0.15;
else if (cant>=35)
desc=0.10;
else
desc=0;
break;
default : desc=0;
}
return desc;
}
int validarCodigo(int codProd){
// si codigo esta entre 0 y 4 devuelve 1
// en caso contrario devuelve 0
// 5 PUNTOS
return (codProd>=0 & codProd<=4)?1:0;
}
void obtenerDatosProducto(int& codProd, int& cantProd){
//pide al usuario los datos del producto, los valida y almacena
int result;
// 5 PUNTOS
do {
cout<<"Ingrese codigo del producto: ";
cin>>codProd;
result=validarCodigo(codProd);
if (!result)
cout<<"Error: Intente de nuevo."<<endl;
} while (!result);
cout<<"Ingrese cantidad del producto: ";
cin>>cantProd;
}
int main(){
int codProd, cantProd;
float totalVentas,desc;
codProd=1;
totalVentas=0;
while(codProd){
obtenerDatosProducto( codProd, cantProd);
if (codProd>0){
desc=obtenerDescuento(codProd, cantProd);
totalVentas+=cantProd*precioUnitario(codProd)*(1-desc);
}
}
cout<<"Venta total: "<<totalVentas<<endl;
cin.get();cin.get();
}
martes, 31 de diciembre de 2013
lunes, 23 de diciembre de 2013
Notas finales del curso
Las practicas domiciliarias clonadas se califican con 00, el examen sustitutorio, los temas son diagramas de flujo, funciones, if, for, while, no entra clases.
Tarea academica = practica mas alta
PP = promedio de practicas
LAB=PP
PF=promedio final = 0.25*EP+0.25*EF+0.2*PP+0.2*LAB+0.1*TA
jueves, 12 de diciembre de 2013
Practica domicilaria
Completar la practica 3 con un ejemplo que use las clases VEHICULO y TALLER, es decir haga una funcion main, mande el codigo c++, junto con su codigo y nombre a lroca@untecs.edu.pe hasta el dia jueves 19.
UNIVERSIDAD NACIONAL TECNOLOGICA
DEL CONO SUR DE LIMA
PROGRAMACION PARA
INGENIERIA
PRACTICA 3
Prof Luis Roca 12/12/2013
Crear una clase TALLER que
1.
(2ptos) Contenga dos variables miembro privadas
de tipo entero llamadas max_vehiculos y num_vehiculos respectivamente.
2.
(2ptos) Contenga un puntero privado p_veh de
tipo VEHICULO.
3.
(2ptos) Tenga una funcion constructor con un
parametro de entrada de tipo entero llamado num que inicialize la variable max_vehiculos en num y la variable
num_vehiculos en cero, ademas le asigne
al puntero p_veh un arreglo de tipo VEHICULO de longitud max_vehiculos.
4.
(4ptos) Contenga una funcion publica de tipo
void llamada meter que tenga un parametro de tipo VEHICULO, tal funcion copia
los datos de parametro de entrada en la posicion num_vehiculos del arreglo
administrado por p_veh, y luego aumenta en 1 el valor de num_vehiculos, si
num_vehiculos es mayor o igual que max_vehiculo entonces la funcion no hace
nada.
5.
(2ptos) La clase VEHICULO debe tener variable
publicas color y marca de tipo cadena.
6.
(2ptos) La clase VEHICULO debe tener una funcion
publica void de nombre arrancar sin parametros que imprima el mensaje
“Vehiculo en movimiento”.
7.
(2ptos) La clase VEHICULO debe tener una funcion
publica void de nombre parar sin parametros que imprimir el mensaje “Vehiculo
detenido”.
8.
(2ptos) La clase VEHICULO debe tener una funcion
publica void de nombre estacionar sin parametros que imprima el mensaje
“Vehiculo estacionado”.
9.
(2ptos) La clase VEHICULO debe tener un
contructor sin parametros que imprima el mensaje “Vehiculo creado”.
jueves, 5 de diciembre de 2013
Tercera practica
El jueves 12 es la tercera practica calificada, temas: clases, herencia, constructores.
hora: 8am
material para estudio aqui: http://www.jlmarina.net/metodos2/ sesion 4, 17, 18 y 19
tb se les dejara una practica domiciliaria.
hora: 8am
material para estudio aqui: http://www.jlmarina.net/metodos2/ sesion 4, 17, 18 y 19
tb se les dejara una practica domiciliaria.
Proyecto geometria: archivo principal.cpp
#include<iostream>
#include"poligono.h"
using namespace geometria;
int main(){
POLIGONO* p = new RECTANGULO();
p->imprimir();
std::cout<<geometria::notable.area();
std::cin.get();
}
#include"poligono.h"
using namespace geometria;
int main(){
POLIGONO* p = new RECTANGULO();
p->imprimir();
std::cout<<geometria::notable.area();
std::cin.get();
}
Proyecto geometria archivo poligono.h
//archivo poligono.h
namespace geometria{
class POLIGONO{
int numlados;
public:
virtual float area(){
}
POLIGONO(int numlados=3){
this->numlados=numlados;
}
virtual void imprimir(){
std::cout<<"un poligono de "<<numlados
<<" lados."<<std::endl;
}
};
class RECTANGULO:public POLIGONO{
float ancho, alto;
public:
float area(){
return ancho*alto;
}
virtual void imprimir(){
std::cout<<"un rectangulo, ";
POLIGONO::imprimir();
}
RECTANGULO(float ancho=1,float alto=1){
POLIGONO(4);
this->ancho=ancho;
this->alto=alto;
}
};
class TRIANGULO:public POLIGONO{
float base, altura;
public:
float area(){
return base*altura;
}
virtual void imprimir(){
std::cout<<"un triangulo, ";
POLIGONO::imprimir();
}
TRIANGULO(float base=1,float altura=1){
POLIGONO(3);
this->base=base;
this->altura=altura;
}
};
TRIANGULO notable(4,3);
}
namespace geometria{
class POLIGONO{
int numlados;
public:
virtual float area(){
}
POLIGONO(int numlados=3){
this->numlados=numlados;
}
virtual void imprimir(){
std::cout<<"un poligono de "<<numlados
<<" lados."<<std::endl;
}
};
class RECTANGULO:public POLIGONO{
float ancho, alto;
public:
float area(){
return ancho*alto;
}
virtual void imprimir(){
std::cout<<"un rectangulo, ";
POLIGONO::imprimir();
}
RECTANGULO(float ancho=1,float alto=1){
POLIGONO(4);
this->ancho=ancho;
this->alto=alto;
}
};
class TRIANGULO:public POLIGONO{
float base, altura;
public:
float area(){
return base*altura;
}
virtual void imprimir(){
std::cout<<"un triangulo, ";
POLIGONO::imprimir();
}
TRIANGULO(float base=1,float altura=1){
POLIGONO(3);
this->base=base;
this->altura=altura;
}
};
TRIANGULO notable(4,3);
}
jueves, 21 de noviembre de 2013
// archivo de cabecera Recta.h
#ifndef RECTA_H
#define RECTA_H
class Recta {
private:
float A,B,C;
public:
float m();
bool pertenece(float,float);
void define(float, float , float );
bool esParalelaA(Recta);
};
#endif
// archivo Recta.cpp
#include "Recta.h"
float Recta::m(){
return -A/B;
};
bool Recta::pertenece(float x,float y){
return (A*x+B*y+C==0);
};
void Recta::define(float AA, float BB, float CC){
A = AA; B=BB;C=CC;
};
bool Recta::esParalelaA(Recta R){
return (m()==R.m());
};
//archivo Principal.cpp
#include<iostream>
#include "Recta.h"
using namespace std;
int main(){
Recta L1, L2;
L1.define(4,6,1);
L2.define(-3,1,4);
cout<<"m1="<<L1.m()<<endl;
cout<< (L1.pertenece(-0.5,0.5)?"Si ":"No ")<<"pertenece."<<endl;
cout<< (L1.pertenece(0.5,-0.5)?"Si ":"No ")<<"pertenece."<<endl;
cout<< (L1.esParalelaA(L2)?"Si ":"No ")<<"es paralela."<<endl;
cin.get();
}
#ifndef RECTA_H
#define RECTA_H
class Recta {
private:
float A,B,C;
public:
float m();
bool pertenece(float,float);
void define(float, float , float );
bool esParalelaA(Recta);
};
#endif
// archivo Recta.cpp
#include "Recta.h"
float Recta::m(){
return -A/B;
};
bool Recta::pertenece(float x,float y){
return (A*x+B*y+C==0);
};
void Recta::define(float AA, float BB, float CC){
A = AA; B=BB;C=CC;
};
bool Recta::esParalelaA(Recta R){
return (m()==R.m());
};
//archivo Principal.cpp
#include<iostream>
#include "Recta.h"
using namespace std;
int main(){
Recta L1, L2;
L1.define(4,6,1);
L2.define(-3,1,4);
cout<<"m1="<<L1.m()<<endl;
cout<< (L1.pertenece(-0.5,0.5)?"Si ":"No ")<<"pertenece."<<endl;
cout<< (L1.pertenece(0.5,-0.5)?"Si ":"No ")<<"pertenece."<<endl;
cout<< (L1.esParalelaA(L2)?"Si ":"No ")<<"es paralela."<<endl;
cin.get();
}
jueves, 14 de noviembre de 2013
Contructor y destructor
//archivo principal
#include "perro.h"
int main(){
PERRO* p=new PERRO;
p->cazar();
delete p;
cin.get();
}
//archivo perro.h
#ifndef __PERRO_H
#define __PERRO_H
#include<iostream>
#include<string>
using namespace std;
class PERRO {
public:
int edad;
float peso;
string raza;
void cazar();
PERRO();//constructor
~PERRO(); //destructor
};
#endif // __PERRO_H
//archivo perro.cpp
#include "perro.h"
void PERRO::cazar(){
cout<<"cazar"<<endl;
}
PERRO::PERRO(){
cout<<"Perro creado"<<endl;
edad=0;
peso=0;
raza="";
}
PERRO::~PERRO(){
cout<<"Perro destruido"<<endl;
}
#include "perro.h"
int main(){
PERRO* p=new PERRO;
p->cazar();
delete p;
cin.get();
}
//archivo perro.h
#ifndef __PERRO_H
#define __PERRO_H
#include<iostream>
#include<string>
using namespace std;
class PERRO {
public:
int edad;
float peso;
string raza;
void cazar();
PERRO();//constructor
~PERRO(); //destructor
};
#endif // __PERRO_H
//archivo perro.cpp
#include "perro.h"
void PERRO::cazar(){
cout<<"cazar"<<endl;
}
PERRO::PERRO(){
cout<<"Perro creado"<<endl;
edad=0;
peso=0;
raza="";
}
PERRO::~PERRO(){
cout<<"Perro destruido"<<endl;
}
// archivo principal
#include "perro.h"
int main(){
PERRO p;
p.cazar();
cin.get();
}
//archivo perro.h
#ifndef __PERRO_H
#define __PERRO_H
#include<iostream>
#include<string>
using namespace std;
class PERRO {
public:
int edad;
float peso;
string raza;
void cazar();
};
#endif // __PERRO_H
//archivo perro.cpp
#include "perro.h"
void PERRO::cazar(){
cout<<"cazar";
}
teoria de clases
https://sites.google.com/site/programacionparaingeneria/clases1.ppt?attredirects=0&d=1
#include "perro.h"
int main(){
PERRO p;
p.cazar();
cin.get();
}
//archivo perro.h
#ifndef __PERRO_H
#define __PERRO_H
#include<iostream>
#include<string>
using namespace std;
class PERRO {
public:
int edad;
float peso;
string raza;
void cazar();
};
#endif // __PERRO_H
//archivo perro.cpp
#include "perro.h"
void PERRO::cazar(){
cout<<"cazar";
}
teoria de clases
https://sites.google.com/site/programacionparaingeneria/clases1.ppt?attredirects=0&d=1
jueves, 31 de octubre de 2013
viernes, 25 de octubre de 2013
Notas parcial
Número | Código | Alumno | EP |
1 | 2012200040 | ALBERTIS RAMOS ROXANA JENIFER | 02 |
2 | 2012200281 | AQUINO FLORES RONALD | 07 |
3 | 2012200253 | AQUINO NALVARTE DAVID ECKARD | 09 |
4 | 2012200065 | ARANDIA QUISPE EMILIO | 07 |
5 | 2012200054 | ASORZA TAVARA YAHAIRA LISBETH | |
6 | 2012200293 | BALLON PALOMINO LUIS JHONATAN | 20 |
7 | 2012100122 | CACERES CESPEDES YOSEPH MICHAEL | 04 |
8 | 2012200172 | CANCHARI GUERRA ALEXANDRA GERALDINE | 08 |
9 | 2012200023 | CARPIO HERNÁNDEZ CARLOS ALEXANDER | 02 |
10 | 2012200215 | CASTILLEJO MONTOYA FABRICIO MOISES | 04 |
11 | 2012100173 | CHAICO ZUZUNAGA EDWIN | |
12 | 2012200254 | CHAMBILLA VEGA FREDY | |
13 | 2012200168 | CHUQUILLANQUI LAZO JEREMIAS ROYER | 08 |
14 | 2012100227 | CIRIACO SUSANIBAR NICOLH ANTONY | 08 |
15 | 2013100017 | CRISOSTOMO ALATA LUIS ANGEL | |
16 | 2012100110 | CUARESMA TITO LUIS CHRISTIAN | 08 |
17 | 2012200041 | DAVILA SANCHEZ KEVIN MARTIN | 02 |
18 | 2013100395 | DE LA CRUZ DÍAZ KEVIN | |
19 | 2012100038 | DEL CASTILLO BELTRAN MIGUEL ANGEL | |
20 | 2012200209 | DOMINGUEZ GUERRERO CESAR ARMANDO | 04 |
21 | 2012200261 | DORADO MEZA CARLOS ENRIQUE | 08 |
22 | 2012200050 | GAMARRA AVALOS KATHERING MERCEDES | 03 |
23 | 2012200062 | GONZALES MELENDEZ CARLOS MANUEL | |
24 | 2012200206 | GUILLEN HUAMANI YERSON DIEGO | 01 |
25 | 2012200015 | HUAMAN HUILLCA FRANK KENYI | 04 |
26 | 2012100040 | HUAPAYA MALDONADO ITALO MARTIN | 05 |
27 | 2012200049 | JORGE NINA OSCAR EDUARDO | 07 |
28 | 2012200274 | LARICO ANGELES ELIAS ESTEBAN | 08 |
29 | 2012200198 | LOPEZ LLANOS ROSALINDA LOREN | 09 |
30 | 2012200075 | MALLMA SINCHE ANDRÉS TÓMAS | 01 |
31 | 2012200146 | MANSILLA URPI RUDY FRANCISCO | 09 |
32 | 2012200056 | MEDRANO GOMEZ KATY | 02 |
33 | 2012200187 | MIRANDA VALENCIA ANGEL JOEL | 01 |
34 | 2012200068 | MOLINA MEZA DAVID ALEXANDER | 17 |
35 | 2012200034 | PAICO PALOMINO CARLOS ABRAHAM | |
36 | 2012100091 | QUISPE BOBADILLA PAUL RICARDO | 09 |
37 | 2012200156 | QUISPE SUAREZ YENMI EVELIN | 10 |
38 | 2012200256 | REA ZAPATA CARLOS JULIAN | 09 |
39 | 2012200125 | RIOS HINOSTROZA JESÚS PABLO | 02 |
40 | 2012200179 | RODRIGUEZ SOTO BRUNO FRANCISCO | 02 |
41 | 2012200167 | ROMERO CACHA GABRIEL | 10 |
42 | 2012100084 | SOTELO TOLENTINO IVAN FAUSTINO | 02 |
43 | 2012100154 | TOLEDO VARILLAS MANUEL EDUARDO | 07 |
44 | 2012200001 | VILCHEZ HUAMAN JESÚS JHONATAN | |
45 | 2011200196 | VILLEGAS ZEA JORGE LUIS | 04 |
46 | 2012200194 | YNUMA VASQUEZ ELEAZAR | 11 |
No estan en el listado:
Vasquez Zorrila 01
Xiomara 01
Ingrid Alvino 01
Castro Juarez 11
Suscribirse a:
Entradas (Atom)