1.-
// practica1.cpp: define el punto de entrada de la aplicación de consola.
// practicaexamen.cpp: define el punto de entrada de la aplicación de consola.
// OBJETIVO: Programa que crea un menú para manejo de operaciones con arreglos */
#include "stdafx.h"
#include<iostream>
#include<conio.h>
using namespace std;
void lectura(int v[50], int *n);
void adicion(int v[50], int *n);
void eliminacion(int v[50], int *n);
void busqueda(int v[50], int n);
void sorteo(int v[50], int n);
void escritura(int v[50], int n);
void main( )
{ int vector[50];
int n;
char opcion;
system("cls");
do { system("cls");
cout<< " MENU ARREGLOS"<<endl;
cout<< "================================="<<endl;
cout<< " 1.- Lectura"<<endl;
cout<< " 2.- Adicion"<<endl;
cout<< " 3.- Eliminacion"<<endl;
cout<< " 4.- Busqueda"<<endl;
cout<< " 5.- Ordenar"<<endl;
cout<< " 6.- Escritura"<<endl;
cout<< " 7.- Salir"<<endl<<endl;
cout<< " Ingrese opcion ==> ";
cin>>opcion;
switch(opcion)
{ case '1' : lectura(vector, &n);break;
case '2' : adicion(vector, &n);break;
case '3' : eliminacion(vector, &n);break;
case '4' : busqueda(vector, n);break;
case '5' : sorteo(vector, n);break;
case '6' : escritura(vector, n);break;
}
}while(opcion != '7');
}
void lectura(int v[50], int *n)
{ int i; system("cls");
cout << " Ingrese n => ";
cin >> *n;
for ( i=1; i<=(*n);i++)
{ cout<< " Ingrese valor "<< i<<" : "; cin>> v[i]; }
}
void adicion(int v[50], int *n)
{ int i,j,x;
system("cls");
cout<<"Ingrese posición de inserción: "; cin>> j;
cout<<"Ingrese valor a insertar : "; cin>> x;
for( i=(*n);i>=j;i--)
v[i+1] = v[i];
v[j] = x;
(*n)=(*n) +1; }
void eliminacion(int v[50], int *n)
{ int i,j;
system("cls");
cout<<"Ingrese posición de valor a eliminar : ";
cin>> j;
for( i=j+1 ; i<=(*n);i++)
v[i-1] = v[i];
(*n)=(*n) - 1; }
void busqueda(int v[50], int n)
{ int i,x, pos;
system("cls");
cout<<"Ingrese valor a buscar : ";
cin>> x;
for( i=1;i<=n;i++)
if ( v[i]== x)
{ pos = i; break ; }
if ( v [i]== x)
cout<< " Valor hallado en posición: "<<pos;
else
cout<< " Valor no hallado ";
getch(); }
void sorteo(int v[50], int n)
{ int i,j,temp;
for ( i=1; i<n ;i++)
for (j=i+1;j<=n;j++)
if( v[i]> v[j])
{ temp = v[i];
v[i] = v[j];
v[j] = temp ; } }
void escritura(int v[50], int n)
{int i;
system("cls");
cout<<" Salida"<<endl;
cout<<"====================="<<endl<<endl;
for ( i=1; i<=n;i++)
{ cout<<" "<<v[i]<< endl; }
_getch(); }
2.-
// practicaexamen.cpp: define el punto de entrada de la aplicación de consola.
// OBJETIVO: Utilizar funciones dentro de estructura, muestra valor central e
//Intercambia diagonal principal por columna central es una matriz de orden 5
#include "stdafx.h"
#include<iostream>
#include<conio.h>
#include<time.h>
#include<stdlib.h>
using namespace std;
struct opmatriz
{ int a[6][6];
void generar( ) //no le entrego xq a[6][6](parámetro) está dentro
{ int i,j,k,primo,v;
srand(time(NULL));
for(i=1;i<=5;i++)
for(j=1;j<=5;j++)
{ do { primo=1;
v=7+rand()%71 ;
for(k=2;k<v;k++)
if( (v%k)==0 )
{primo=0;
break; }
}while(primo==0);
a[i][j]=v; } }
void mostrarcentral ( )
{ cout<<endl;
cout<<a[3][3]<<endl;
_getch(); }
void intercambiar ( )
{ int temp,i;
for(i=1;i<=5;i++)
{ temp=a[i][i];
a[i][i]=a[i][3];
a[i][3]=temp; } }
void escribir ( )
{ int i,j;
for(i=1;i<=5;i++)
{cout<<endl;
for(j=1;j<=5;j++)
cout<<" "<<a[i][j]; }
getch(); } };
void main( )
{ opmatriz x;
x.generar ( );
x.escribir ( );
x.mostrarcentral ( );
x.intercambiar();
x.escribir();
}
3.-// practicaexamen.cpp: define el punto de entrada de la aplicación de consola.
/*FECHA: 18 DE MARZO DE 2013
Objetivo: rota a la derecha los "n" elementos de un arreglo
Entrada: vector v[]
Salida: vector v[] rotado */
#include "stdafx.h"
#include<iostream>
#include<conio.h>
#include<time.h>
#include<stdlib.h>
using namespace std;
void main()
{ int v[10];
int i,n;
system("cls");//limpia pantalla
cout<<endl<<endl;
cout<<"INGRESE N = "; cin>>n;
for (i=1;i<=n;i++)
{ cout<<" V["<<i<< "]: ";cin>>v[i];}
// Rotación
for (i=n;i>=1;i--)
v[i+1]=v[i];
v[1]=v[n+1];
cout << "VECTOR ROTADO = "<<endl;
for(i=1;i<=n;i++)
cout<<" V["<<i<< "]: "<<v[i]<<endl;
_getch();}
4.-
/* Por afp (1) será 13 % de descuento del total a percibir
Por ssp(2) será 11% de descuento del total a percibir.
Por ninguna(0) será 7% de descuento del total a percibir.
Bonificaciones: Tiempo de servicio (0=no,1=si), 5% del bruto.
OBJETIVO: CALCULO DE PLANILLA PARA UN TRABAJADOR*/
#include "stdafx.h"
#include<iostream>
#include<stdio.h>
#include<conio.h>
using namespace std;
void leer( char nombre[40], char código[11],float *sueldob,int *faltas,int
*horase,int *seguro,int *bonif);
float calcular_neto(float sueldob,int faltas,int horase,int seguro,int bonif,float
*descuento);
void imprimir_boleta(char n[40],char c[11],float descuento,float sueldon);
void main( )
{ char name[40],code[11];
float sb,de,sn;
int fa,he,seg,bon;
system("cls");
leer(name,code,&sb, &fa,&he,&seg,&bon);
sn = calcular_neto(sb,fa,he,seg,bon,&de);
imprimir_boleta(name,code,de,sn);
_getch(); }
/* Funciones*/
void leer( char nombre[40], char codigo[11],float *sueldob,int *faltas,int
*horase,int *seguro,int *bonif)
{ system("cls");
cout<<"Ingrese nombre ==> ";gets(nombre);
cout<<"Ingrese codigo ==> ";gets(codigo);
cout<<"Ingrese sueldo bruto ==> ";cin>> (*sueldob);
cout<<"Ingrese faltas ==> ";cin>> (*faltas);
cout<<"Ingrese horas extras ==> ";cin>> (*horase);
cout<<"Ingrese seguro (0=ninguno,1=afp,2=ssp) ==> ";cin>> (*seguro);
cout<<"Ingrese bonificaciones(0=No,1=Si)==> ";cin>> (*bonif); }
float calcular_neto(float sueldob,int faltas,int horase,int seguro,int bonif,float
*descuento)
{ float neto,sumabonif,des;
//calculo de bonificaciones
sumabonif=0;
sumabonif=sumabonif+horase*(sueldob/240)*1.5;
if(bonif==1)
sumabonif=sumabonif+sueldob*0.05;
//calculo de descuentos
des=0;
des = des + (sueldob/30)* faltas;
if (seguro==1)
(*descuento)= (sueldob+sumabonif-des)*0.13;
else
if(seguro==2)
(*descuento)= (sueldob+sumabonif-des)*0.11;
else
(*descuento)= (sueldob+sumabonif-des)*0.07;
(*descuento)=(*descuento)+des;
neto = sueldob - (*descuento)+ sumabonif;
return (neto); }
void imprimir_boleta(char n[40],char c[11],float descuento,float sueldon)
{ system("cls");
cout<<" Nombre : "<<n<<endl;
cout<<" Codigo : "<<c<<endl;
cout<<" Sueldo bruto : "<<(sueldon+descuento)<<endl;
cout<<" Descuento: "<<descuento<<endl;
cout<<" Neto a Recibir : "<<sueldon<<endl; }
5.- Escriba un programa que halle los factores primos de un número en forma recursiva.
PROGRAMA
// practica2.cpp: define el punto de entrada de la aplicación de consola.
// OBJETIVO: Halla factores primos en forma recursiva
#include "stdafx.h"
# include<iostream>
# include<math.h>
# include<conio.h>
using namespace std;
void fprimo(int num);
void main( )
{ int n;
system("cls");
do{cout<< " NUMERO = ";
cin>> n;
}while(n<1);
fprimo(n);
getch();
}
void fprimo( int num)
{
int nr, k =1;
if (num > 1)
{do {
k = k +1;
} while( (num % k) != 0);
cout<< " "<< k <<" ";
nr = num / k;
fprimo( nr);
}
}
6.-
// practica2.cpp: define el punto de entrada de la aplicación de consola.
// OBJETIVO: Halla serie con un error determinado,digitos decimales exactos
#include "stdafx.h"
# include<iostream>
# include<math.h>
# include<conio.h>
using namespace std;
#define maxerror 0.00005
#define maxn 1000
void main()
{ int n,i;
float x,expx,term,error;
expx=1.0;
term=1.0;
cout<<"Ingrese x==> ";cin>>x;
for(i=1;i<=maxn;i++)
{term=(signo)*(term*x)/i;
expx=expx+term;
error=fabs((term*x)/(i+1));
if(error<maxerror)
{break;}
}
cout<<"Exp_calculado= "<<expx<<endl;
cout<<"Exp_Func_libr= "<<exp(x)<<endl;
_getch();

Practica

  • 1.
    1.- // practica1.cpp: defineel punto de entrada de la aplicación de consola. // practicaexamen.cpp: define el punto de entrada de la aplicación de consola. // OBJETIVO: Programa que crea un menú para manejo de operaciones con arreglos */ #include "stdafx.h" #include<iostream> #include<conio.h> using namespace std; void lectura(int v[50], int *n); void adicion(int v[50], int *n); void eliminacion(int v[50], int *n); void busqueda(int v[50], int n); void sorteo(int v[50], int n); void escritura(int v[50], int n); void main( ) { int vector[50]; int n; char opcion; system("cls"); do { system("cls"); cout<< " MENU ARREGLOS"<<endl; cout<< "================================="<<endl; cout<< " 1.- Lectura"<<endl; cout<< " 2.- Adicion"<<endl; cout<< " 3.- Eliminacion"<<endl; cout<< " 4.- Busqueda"<<endl; cout<< " 5.- Ordenar"<<endl; cout<< " 6.- Escritura"<<endl; cout<< " 7.- Salir"<<endl<<endl; cout<< " Ingrese opcion ==> "; cin>>opcion; switch(opcion) { case '1' : lectura(vector, &n);break; case '2' : adicion(vector, &n);break; case '3' : eliminacion(vector, &n);break; case '4' : busqueda(vector, n);break; case '5' : sorteo(vector, n);break; case '6' : escritura(vector, n);break; } }while(opcion != '7'); } void lectura(int v[50], int *n) { int i; system("cls"); cout << " Ingrese n => "; cin >> *n; for ( i=1; i<=(*n);i++) { cout<< " Ingrese valor "<< i<<" : "; cin>> v[i]; } } void adicion(int v[50], int *n) { int i,j,x; system("cls"); cout<<"Ingrese posición de inserción: "; cin>> j; cout<<"Ingrese valor a insertar : "; cin>> x; for( i=(*n);i>=j;i--) v[i+1] = v[i]; v[j] = x;
  • 2.
    (*n)=(*n) +1; } voideliminacion(int v[50], int *n) { int i,j; system("cls"); cout<<"Ingrese posición de valor a eliminar : "; cin>> j; for( i=j+1 ; i<=(*n);i++) v[i-1] = v[i]; (*n)=(*n) - 1; } void busqueda(int v[50], int n) { int i,x, pos; system("cls"); cout<<"Ingrese valor a buscar : "; cin>> x; for( i=1;i<=n;i++) if ( v[i]== x) { pos = i; break ; } if ( v [i]== x) cout<< " Valor hallado en posición: "<<pos; else cout<< " Valor no hallado "; getch(); } void sorteo(int v[50], int n) { int i,j,temp; for ( i=1; i<n ;i++) for (j=i+1;j<=n;j++) if( v[i]> v[j]) { temp = v[i]; v[i] = v[j]; v[j] = temp ; } } void escritura(int v[50], int n) {int i; system("cls"); cout<<" Salida"<<endl; cout<<"====================="<<endl<<endl; for ( i=1; i<=n;i++) { cout<<" "<<v[i]<< endl; } _getch(); } 2.- // practicaexamen.cpp: define el punto de entrada de la aplicación de consola. // OBJETIVO: Utilizar funciones dentro de estructura, muestra valor central e //Intercambia diagonal principal por columna central es una matriz de orden 5 #include "stdafx.h" #include<iostream> #include<conio.h> #include<time.h> #include<stdlib.h> using namespace std; struct opmatriz { int a[6][6]; void generar( ) //no le entrego xq a[6][6](parámetro) está dentro { int i,j,k,primo,v; srand(time(NULL));
  • 3.
    for(i=1;i<=5;i++) for(j=1;j<=5;j++) { do {primo=1; v=7+rand()%71 ; for(k=2;k<v;k++) if( (v%k)==0 ) {primo=0; break; } }while(primo==0); a[i][j]=v; } } void mostrarcentral ( ) { cout<<endl; cout<<a[3][3]<<endl; _getch(); } void intercambiar ( ) { int temp,i; for(i=1;i<=5;i++) { temp=a[i][i]; a[i][i]=a[i][3]; a[i][3]=temp; } } void escribir ( ) { int i,j; for(i=1;i<=5;i++) {cout<<endl; for(j=1;j<=5;j++) cout<<" "<<a[i][j]; } getch(); } }; void main( ) { opmatriz x; x.generar ( ); x.escribir ( ); x.mostrarcentral ( ); x.intercambiar(); x.escribir(); } 3.-// practicaexamen.cpp: define el punto de entrada de la aplicación de consola. /*FECHA: 18 DE MARZO DE 2013 Objetivo: rota a la derecha los "n" elementos de un arreglo Entrada: vector v[] Salida: vector v[] rotado */ #include "stdafx.h" #include<iostream> #include<conio.h> #include<time.h> #include<stdlib.h> using namespace std; void main() { int v[10]; int i,n; system("cls");//limpia pantalla cout<<endl<<endl; cout<<"INGRESE N = "; cin>>n; for (i=1;i<=n;i++) { cout<<" V["<<i<< "]: ";cin>>v[i];} // Rotación
  • 4.
    for (i=n;i>=1;i--) v[i+1]=v[i]; v[1]=v[n+1]; cout <<"VECTOR ROTADO = "<<endl; for(i=1;i<=n;i++) cout<<" V["<<i<< "]: "<<v[i]<<endl; _getch();} 4.- /* Por afp (1) será 13 % de descuento del total a percibir Por ssp(2) será 11% de descuento del total a percibir. Por ninguna(0) será 7% de descuento del total a percibir. Bonificaciones: Tiempo de servicio (0=no,1=si), 5% del bruto. OBJETIVO: CALCULO DE PLANILLA PARA UN TRABAJADOR*/ #include "stdafx.h" #include<iostream> #include<stdio.h> #include<conio.h> using namespace std; void leer( char nombre[40], char código[11],float *sueldob,int *faltas,int *horase,int *seguro,int *bonif); float calcular_neto(float sueldob,int faltas,int horase,int seguro,int bonif,float *descuento); void imprimir_boleta(char n[40],char c[11],float descuento,float sueldon); void main( ) { char name[40],code[11]; float sb,de,sn; int fa,he,seg,bon; system("cls"); leer(name,code,&sb, &fa,&he,&seg,&bon); sn = calcular_neto(sb,fa,he,seg,bon,&de); imprimir_boleta(name,code,de,sn); _getch(); } /* Funciones*/ void leer( char nombre[40], char codigo[11],float *sueldob,int *faltas,int *horase,int *seguro,int *bonif) { system("cls"); cout<<"Ingrese nombre ==> ";gets(nombre); cout<<"Ingrese codigo ==> ";gets(codigo); cout<<"Ingrese sueldo bruto ==> ";cin>> (*sueldob); cout<<"Ingrese faltas ==> ";cin>> (*faltas); cout<<"Ingrese horas extras ==> ";cin>> (*horase); cout<<"Ingrese seguro (0=ninguno,1=afp,2=ssp) ==> ";cin>> (*seguro); cout<<"Ingrese bonificaciones(0=No,1=Si)==> ";cin>> (*bonif); } float calcular_neto(float sueldob,int faltas,int horase,int seguro,int bonif,float *descuento) { float neto,sumabonif,des; //calculo de bonificaciones sumabonif=0; sumabonif=sumabonif+horase*(sueldob/240)*1.5; if(bonif==1) sumabonif=sumabonif+sueldob*0.05; //calculo de descuentos des=0; des = des + (sueldob/30)* faltas; if (seguro==1) (*descuento)= (sueldob+sumabonif-des)*0.13; else if(seguro==2)
  • 5.
    (*descuento)= (sueldob+sumabonif-des)*0.11; else (*descuento)= (sueldob+sumabonif-des)*0.07; (*descuento)=(*descuento)+des; neto= sueldob - (*descuento)+ sumabonif; return (neto); } void imprimir_boleta(char n[40],char c[11],float descuento,float sueldon) { system("cls"); cout<<" Nombre : "<<n<<endl; cout<<" Codigo : "<<c<<endl; cout<<" Sueldo bruto : "<<(sueldon+descuento)<<endl; cout<<" Descuento: "<<descuento<<endl; cout<<" Neto a Recibir : "<<sueldon<<endl; } 5.- Escriba un programa que halle los factores primos de un número en forma recursiva. PROGRAMA // practica2.cpp: define el punto de entrada de la aplicación de consola. // OBJETIVO: Halla factores primos en forma recursiva #include "stdafx.h" # include<iostream> # include<math.h> # include<conio.h> using namespace std; void fprimo(int num); void main( ) { int n; system("cls"); do{cout<< " NUMERO = "; cin>> n; }while(n<1); fprimo(n); getch(); } void fprimo( int num) { int nr, k =1; if (num > 1) {do { k = k +1; } while( (num % k) != 0); cout<< " "<< k <<" "; nr = num / k; fprimo( nr); } } 6.- // practica2.cpp: define el punto de entrada de la aplicación de consola. // OBJETIVO: Halla serie con un error determinado,digitos decimales exactos #include "stdafx.h"
  • 6.
    # include<iostream> # include<math.h> #include<conio.h> using namespace std; #define maxerror 0.00005 #define maxn 1000 void main() { int n,i; float x,expx,term,error; expx=1.0; term=1.0; cout<<"Ingrese x==> ";cin>>x; for(i=1;i<=maxn;i++) {term=(signo)*(term*x)/i; expx=expx+term; error=fabs((term*x)/(i+1)); if(error<maxerror) {break;} } cout<<"Exp_calculado= "<<expx<<endl; cout<<"Exp_Func_libr= "<<exp(x)<<endl; _getch();