miércoles, 24 de julio de 2013
jueves, 18 de julio de 2013
Clases y punteros
#include<iostream>
#include "Recta.h"
using namespace std;
int main(){
Recta L1;
Recta* L2=new Recta;
//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();
}
#include "Recta.h"
using namespace std;
int main(){
Recta L1;
Recta* L2=new Recta;
//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();
}
// 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, 11 de julio de 2013
GUÍA DE EJERCICIOS
GUÍA DE EJERCICIOS
1.
Escribir un programa que permita el ingreso repetido de dos
números y mediante una función que tenga como argumentos los números, muestre los números primos entre ellos. El
programa debe solicitar el ingreso de dos nuevos números hasta que el primer
número sea cero.
2.
Escribir un programa que permita el ingreso repetido de dos
números y mediante una función que tenga como argumentos los números, retorne
(mediante la instrucción return de la función) el máximo común divisor entre ellos. El método utilizado por la
función debe ser el método de
divisiones sucesivas.
El programa principal debe solicitar el
ingreso de dos nuevos números hasta que el primer número sea cero y debe controlar
que el segundo sea diferente de cero.
Nota:
Determinación del MCD(38, 16) mediante el algoritmo de Euclides o de
divisiones sucesivas:
Dividendo= 38, Divisor= 16, Residuo=6.
NuevoDividendo= 16, NuevoDivisor= 6, NuevoResiduo=4.
NuevoDividendo= 6, NuevoDivisor= 4, NuevoResiduo=2.
NuevoDividendo= 4, NuevoDivisor= 2, NuevoResiduo=0.
El 38 y 16 contienen exactamente al 2. El
MCD(38, 16)= 2.
El residuo de dividir dos números está
contenido un número exacto de veces.
3.
Escribir un programa que permita
el ingreso repetido de un número cualquiera
y mediante una función que tenga como argumento dicho número retorne el
número que resulta al invertir el orden de sus cifras.
Nota: long int es un entero no mayor de 4,294,967,295.
4. Escribir un programa que implemente una calculadora simple de
cuatro operaciones. La función principal debe controlar el ingreso de los
operadores correctos así también como el intento de dividir entre cero. Debe
invocarse a una función que reciba los operandos y el operador y retorne el
resultado del cálculo.
5. Un vendedor minorista de
útiles de escritorio ha decidido realizar la siguiente promoción de ventas:
a. Por la compra de cada lápiz FABER CASTELL se regalaran 3
borradores y 1 tajador.
b. Para
impulsar la venta de los lápices UNI ha decidido otorgar un descuento de 7%
sobre el precio de venta.
c. Para
financiar la promoción recargará el precio de lápiz STANDLER con el 10% sobre el precio de venta.
El siguiente cuadro muestra el código y precio de venta de cada marca
de lápiz:
CODIGO MARCA PRECIO
( S/. )
1 FABER
CASTELL 0.80
2 UNI 1.20
3 STANDLER 1.40
Escribir un
programa que mediante una función muestre los datos de código, marca y precio.
Otra función
deberá contabilizar las ventas y obsequios. Esta función permitirá, mediante un
proceso repetitivo, el ingreso de un código (0 para terminar) y controlará un
código erróneo.
Por cada venta se ingresa el código del lápiz y la cantidad vendida.
La función principal debe mostrar la siguiente información:
- Cantidad de lápices vendidos por cada marca.
- La cantidad de borradores y tajadores obsequiados.
-
El importe total de las ventas
realizadas.
6. Escribir un programa que
invoque a una función seno que reciba el valor de un ángulo X y retorne el
valor del seno del ángulo.
La función debe considerar
la siguiente serie:
Seno(x) = x – x3
/ 3! +
x5 / 5! – x7 / 7 + ..
Con un error menor que
0.00001 (valor absoluto del último término debe ser menor que el error).
La función principal debe
controlar que el ángulo esté en el rango de -0.78 < x < 0.78.
7. Escribir un programa que
permita el ingreso de un número cualquiera. Se debe solicitar el ingreso de un
nuevo número hasta que se ingrese cero.
El programa debe invocar a
una función que tenga como argumento dicho número y retorne la suma de sus
factores primos.
Nota:
Se conoce que factores
primos de un número son aquellos primos que factorizan (o dividen) al número.
Así también número primo es aquel que solo es divisible por si mismo y por la
unidad.
Ejemplo:
Factores primos de 132 son:
2 2 3 11
Demostracion: 2x2x3x11= 132
8. Escribir un programa que
procese el movimiento bancario de una cuenta. Se ingresa por teclado el número
de cuenta y su saldo actual. Seguidamente el programa debe mostrar por pantalla
y mediante la llamada a una función los tipos de movimientos posibles:
TIPO DE
MOVIMIENTOS
(1) DEPOSITO
(2) RETIRO
(0) FIN
Otra función debe solicitar
repetidamente el ingreso de un tipo de movimiento y la cantidad a depositar o retirar.
Si se ingresa un tipo de
movimiento equivocado, se debe mostrar el mensaje de movimiento no válido.
Si se ingresa 0 la función
debe terminar.
La función principal debe
mostrar el número de cuenta, el saldo inicial, número de depósitos, número de
retiros, total de depósito, total de retiros y saldo actual.
Nota: no usar variables globales
9. Escribir un programa que
permita el ingreso de:
- Monto de dinero a depositar en el banco.
- Tasa de interés anual.
- Número de años de depósito.
Luego el
programa debe invocar a una función recursiva que calcule el capital existente.
La función
debe tener como argumentos dichas valores y debe retornar el capital obtenido.
10. Escribir
un programa que permita ingresar el número de elementos de la siguiente serie y
calcule el valor de s.
s = F(0) - F(1) + F(2) -
... F(n)
F(x):
0 :
si x = 0
1 :
si x = 1
F( x - 1 ) + F( x
- 2 ) : si x > 1
11. Escribir
un programa que calcule el MCD de dos números utilizando una función recursiva
del método de divisiones sucesivas.
Declaracion de funciones
Teoria de funciones https://sites.google.com/site/programacionparaingeneria/FUNC.PPT
// Muestra el uso de una funcion para mostrar un mensajes.
// ------------------------------------------------------------
#include <iostream>
using namespace std;
//-----------------Prototipo de la funcion--------------------
void mostrarMensaje();
float elMayorEs(float, float);
//-------------Definicion de la funcion principal--------------
int main(){
cout<<"Antes de llamar a la funcion..."<<endl;
mostrarMensaje(); // Llamada a la funcion
cout<<"Despues de llamar a la funcion..."<<endl;
cout<<"El mayor entre 3 y 5 es "<<elMayorEs(3,5)<<endl;
cin.get();
}
void mostrarMensaje()
{
cout<<"Mensaje de prueba"<< endl;
}
float elMayorEs(float a, float b){
return (a>b)?a:b;
}
// uso de parametros
using namespace std;
void cambio_de_valor(float antiguo)
{ //parametros por valor
float nuevo;
cout<<"Ingrese nuevo valor ";
cin>>nuevo;
antiguo=nuevo;
cout<<"Nuevo valor "<<antiguo<<endl;
}
void parametro_por_referencia(float& antiguo){
float nuevo;
cout<<"Ingrese nuevo valor ";
cin>>nuevo;
antiguo=nuevo;
}
int main(){
float x=3.14;
cambio_de_valor(x);// se copia el valor de x
cout<<"El valor de x es "<<x<<endl;//no hay cambio en x
parametro_por_referencia(x);// se usa x
cout<<"El valor de x es "<<x<<endl;//si hay cambio en x
cin.get(); cin.get();
}
// Muestra el uso de una funcion para mostrar un mensajes.
// ------------------------------------------------------------
#include <iostream>
using namespace std;
//-----------------Prototipo de la funcion--------------------
void mostrarMensaje();
float elMayorEs(float, float);
//-------------Definicion de la funcion principal--------------
int main(){
cout<<"Antes de llamar a la funcion..."<<endl;
mostrarMensaje(); // Llamada a la funcion
cout<<"Despues de llamar a la funcion..."<<endl;
cout<<"El mayor entre 3 y 5 es "<<elMayorEs(3,5)<<endl;
cin.get();
}
void mostrarMensaje()
{
cout<<"Mensaje de prueba"<< endl;
}
float elMayorEs(float a, float b){
return (a>b)?a:b;
}
// uso de parametros
using namespace std;
void cambio_de_valor(float antiguo)
{ //parametros por valor
float nuevo;
cout<<"Ingrese nuevo valor ";
cin>>nuevo;
antiguo=nuevo;
cout<<"Nuevo valor "<<antiguo<<endl;
}
void parametro_por_referencia(float& antiguo){
float nuevo;
cout<<"Ingrese nuevo valor ";
cin>>nuevo;
antiguo=nuevo;
}
int main(){
float x=3.14;
cambio_de_valor(x);// se copia el valor de x
cout<<"El valor de x es "<<x<<endl;//no hay cambio en x
parametro_por_referencia(x);// se usa x
cout<<"El valor de x es "<<x<<endl;//si hay cambio en x
cin.get(); cin.get();
}
Notas de la segunda practica
Alumno | PC1 | PC2 | EP |
AGUIRRE MÜLLER BRAYAN JEISON | 14 | 07 | 08 |
ALVINO LINARES INGRID | NSP | NSP | NSP |
ARNAO ALARCON JUAN SALVADOR | 16 | 06 | 12 |
BARAHONA HUAPAYA MARTIN FERNANDO | NSP | NSP | 06 |
BAUTISTA HUARANCCA JERSON ABEL | 13 | 09 | 13 |
BAUTISTA VENTURA ELVIS RONALD | 14 | 04 | 04 |
CACERES CESPEDES YOSEPH MICHAEL | 09 | NSP | 06 |
CACERES FLORES GIAN FRANCIS | 15 | 04 | 05 |
CANCINO BORDA NICK REISO | NSP | NSP | NSP |
CEBRIAN HERNANDEZ MARX WILIAMS | 14 | 04 | 10 |
CHAVEZ CALLE OSCAR AUGUSTO | 07 | 01 | 12 |
CIRIACO SUSANIBAR NICOLH ANTONY | 14 | 01 | 04 |
CUARESMA TITO LUIS CHRISTIAN | 15 | NSP | 01 |
DELGADO HUANCA OSCAR BRIAN | 09 | 12 | 11 |
GARCÍA ARELLANO CARLOS ABEL | NSP | NSP | 12 |
GUILLEN ASTORAYME JHON MELANIO | 14 | 04 | 11 |
HUAMAN ARANCIBIA FERNANDO HUGO | 15 | NSP | 01 |
LA ROSA ABARCA DEYVI CARLOS | 17 | 11 | 06 |
LEON YAMASAKI IRWIND ALEJANDRO | NSP | NSP | NSP |
LOZANO HUAMANI YUDITH ROSARIO | 14 | 04 | 06 |
MACHACA SAAVEDRA MELINA | 12 | 09 | 12 |
MALDONADO JIMENEZ JOE ABEL | 12 | 04 | 11 |
ñaupari | 13 | 01 | 07 |
OSCCO PUCLLAS BRAYAN EMANUEL | NSP | NSP | NSP |
PRIALE VIVIANO DANIEL JESUS | 11 | 01 | 05 |
QUISPE DIAZ ROBIN ALEXANDRO | 14 | 01 | 04 |
QUISPE QUISPE JANET KETY | 09 | 08 | 07 |
SILVA ZEVALLOS HUGO ELISEO | 12 | 11 | 01 |
SOTELO TOLENTINO IVAN FAUSTINO | 14 | NSP | NSP |
VELASQUEZ HUAMAN YAN KENEDY | 06 | 04 | 10 |
VILLEGAS ZEA JORGE LUIS | NSP | NSP | NSP |
condor | 17 | NSP | 14 |
garcia tenorio | 10 | NSP | 06 |
laurente | NSP | 08 | 11 |
cotrina | 14 | 09 | 08 |
juan rojas jara | 16 | NSP | NSP |
sanchez hilaseca jorge | 9 | NSP | NSP |
jueves, 4 de julio de 2013
Suscribirse a:
Entradas (Atom)