martes, 31 de diciembre de 2013

Examen Sustitutorio: Viernes 10 de enero a las 10am en el B3-11

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();
}

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.

Graficos en C++

descargar la guia

https://sites.google.com/site/programacionparaingeneria/graficos%20en%20%20c%2B%2B.pdf?attredirects=0&d=1

descargar la libreria

https://docs.google.com/file/d/0B3EixLPe-NyLLWVyYkx1WC16OVE/edit

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();
}

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);
}

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(); 



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;
}
// 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

viernes, 25 de octubre de 2013

Notas parcial

NúmeroCódigoAlumnoEP
12012200040ALBERTIS RAMOS ROXANA JENIFER02
22012200281AQUINO FLORES RONALD07
32012200253AQUINO NALVARTE DAVID ECKARD09
42012200065ARANDIA QUISPE EMILIO07
52012200054ASORZA TAVARA YAHAIRA LISBETH
62012200293BALLON PALOMINO LUIS JHONATAN20
72012100122CACERES CESPEDES YOSEPH MICHAEL04
82012200172CANCHARI GUERRA ALEXANDRA GERALDINE08
92012200023CARPIO HERNÁNDEZ CARLOS ALEXANDER02
102012200215CASTILLEJO MONTOYA FABRICIO MOISES04
112012100173CHAICO ZUZUNAGA EDWIN
122012200254CHAMBILLA VEGA FREDY
132012200168CHUQUILLANQUI LAZO JEREMIAS ROYER08
142012100227CIRIACO SUSANIBAR NICOLH ANTONY08
152013100017CRISOSTOMO ALATA LUIS ANGEL
162012100110CUARESMA TITO LUIS CHRISTIAN08
172012200041DAVILA SANCHEZ KEVIN MARTIN02
182013100395DE LA CRUZ DÍAZ KEVIN
192012100038DEL CASTILLO BELTRAN MIGUEL ANGEL
202012200209DOMINGUEZ GUERRERO CESAR ARMANDO04
212012200261DORADO MEZA CARLOS ENRIQUE08
222012200050GAMARRA AVALOS KATHERING MERCEDES03
232012200062GONZALES MELENDEZ CARLOS MANUEL
242012200206GUILLEN HUAMANI YERSON DIEGO01
252012200015HUAMAN HUILLCA FRANK KENYI04
262012100040HUAPAYA MALDONADO ITALO MARTIN05
272012200049JORGE NINA OSCAR EDUARDO07
282012200274LARICO ANGELES ELIAS ESTEBAN08
292012200198LOPEZ LLANOS ROSALINDA LOREN09
302012200075MALLMA SINCHE ANDRÉS TÓMAS01
312012200146MANSILLA URPI RUDY FRANCISCO09
322012200056MEDRANO GOMEZ KATY02
332012200187MIRANDA VALENCIA ANGEL JOEL01
342012200068MOLINA MEZA DAVID ALEXANDER17
352012200034PAICO PALOMINO CARLOS ABRAHAM
362012100091QUISPE BOBADILLA PAUL RICARDO09
372012200156QUISPE SUAREZ YENMI EVELIN10
382012200256REA ZAPATA CARLOS JULIAN09
392012200125RIOS HINOSTROZA JESÚS PABLO02
402012200179RODRIGUEZ SOTO BRUNO FRANCISCO02
412012200167ROMERO CACHA GABRIEL10
422012100084SOTELO TOLENTINO IVAN FAUSTINO02
432012100154TOLEDO VARILLAS MANUEL EDUARDO07
442012200001VILCHEZ HUAMAN JESÚS JHONATAN
452011200196VILLEGAS ZEA JORGE LUIS04
462012200194YNUMA VASQUEZ ELEAZAR11

No estan en el listado: 
Vasquez Zorrila 01
Xiomara 01
Ingrid Alvino 01
Castro Juarez 11