martes, 10 de diciembre de 2013

practica 8


arreglo unidimensional
pseudocodigo
Inico plantilla de la funcion void lecturadatos(T a[10])
i int
for (i=0 to 9 step i=i+1)
{
Print"Numeros[",i+1,"]= "
Read a[i]
}
Final

Inico plantilla de la funcion void desplegardatos(T a[10])
i int
for (i=0 to 9 step i=i+1)
{
Print a[i]
}
Final

Inico plantilla de la funcion T sumavalores(T a[10])
i int
T suma=0
for (i=0 to 9 step i=i+1)
{
suma=suma+a[i]
}
return suma
Final

Inico plantilla de la funcionvoid mayoresvalores(T a[10], T &mayor, int &pos)
mayor=a[0]
pos=0
int i
for ((i=0 to 9 step i=i+1)
{
if(a[i]>mayor)
{
mayor=a[i]
pos=i+1
}
}
Final

Inicio de programa
pos, may2 int
numeros[10], may1 real
Print"Introdusca 10 numeros"
lecturadatos(numeros)
Print"Lista de valores flotantes\n"
desplegardatos(numeros)
Print"La suma total es: ",sumavalores(numeros)
mayoresvalores(numeros, may1, pos)
Print"El dato mayor es ",may1," en la posicion ",pos
Final
código
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
template<class T>
void lecturadatos(T a[10])
template<class T>
void desplegardatos(T a[10])
template<class T>
T sumavalores(T a[10])
template<class T>
void mayoresvalores(T a[10], T &mayor, int &pos)
template<class T>
void menoresvalores(T a[10], T &menor, int &pos)

int main()
{
int pos, may2, men2;
float numeros[10], may1, men1;
cout<<"Introdusca 10 numeros\n";
lecturadatos(numeros);
cout<<endl;
cout<<"Lista de valores\n";
desplegardatos(numeros);
cout<<"\nLa suma total es: "<<sumavalores(numeros);
mayoresvalores(numeros, may1, pos);
cout<<"\nEl dato mayor es "<<may1<<" en la posicion "<<pos;
menoresvalores(numeros, men1, pos);
cout<<"\nEl dato menor es "<<men1<<" en la posicion "<<pos;
getch () ;
}

template<class T>
void lecturadatos(T a[10])
{
int i;
for (i=0;i<10;i++)
{
cout<<"Numeros["<<(i+1)<<"]= ";
cin>>a[i];
}
}

template<class T>
void desplegardatos(T a[10])
{
int i;
for (i=0;i<10;i++)
{
cout<<a[i]<<endl;;
}
}

template<class T>
T sumavalores(T a[10])
{
int i;
T suma=0;
for (i=0;i<10;i++)
{
suma=suma+a[i];
}
return suma;
}

template<class T>
void mayoresvalores(T a[10], T &mayor, int &pos)
{
mayor=a[0];
pos=0;
int i;
for (i=0;i<10;i++)
{
if(a[i]>mayor)
{
mayor=a[i];
pos=i+1;
}
}
}


template<class T>
void menoresvalores(T a[10], T &menor, int &pos)
{
menor=a[0];
pos=0;
int i;
for (i=0;i<10;i++)
{
if(a[i]<menor)
{
menor=a[i];
pos=i+1;
}
}
}
programa


arreglo bidimensional
pseudocodigo
Inico plantilla de la funcion void leerDatosmatriz(T  m[6][6])
r,c int
for(r=0 to 4 step r=r+1)
{
for(c=0 to 4 step c=c+1)
{
Print"m[",(r+1),",",c,"]:"
Read m[r][c]
}
}
m[5][5]=0
Final

Inico plantilla de la funcion void desplegarDatosmatriz(T m[6][6])
r,c int
Print"Datos de la matriz"
for(r=0 to 4 step r=r+1)
{
for(c=0 to 4 step c=c+1)
{
Print m[r][c],"\t"
}
Print"\n"
}
Final

Inico plantilla de la funcion void sumarenglones (T [6][6])
r,c int
T suma=0
for(r=0 to 4 step r=r+1)
{
suma=0
for(c=0 to 4 step c=c+1)
{
suma=suma+m[r][c]
}
m[r][5]=suma
}
Final

Inico plantilla de la funcion void sumacolumnas (T [6][6])
int r,c
T suma=0
for(c=0 to 4 step c=c+1)
{
suma=0
for(r=0 to 4 step r=r+1)
{
suma=suma+m[R][c]
}
m[5][c]=suma
}
Final

Inico plantilla de la funcion void desplegarMatrizconsumas (T [6][6])
r,c int
Print"Datos de la matriz con sumas"
for(r=0 to 5 step r=r+1)
{
for(c=0 to 5 step c=c+1)
{
Print m[r][c],"\t"
}
Print"\n"
}
Final


Inicio de programa
matriz[6][6] int
leerDatosmatriz(matriz)
desplegarDatosmatriz(matriz)
sumarenglones(matriz)
sumacolumnas(matriz)
desplegarMatrizconsumas(matriz)

Final

código
#include <iostream.h>
#include <conio.h>
template <class T>
void leerDatosmatriz(T  m[6][6])
template <class T>
void desplegarDatosmatriz(T m[6][6])
template <class T>
void sumarenglones (T [6][6])
template <class T>
void sumacolumnas (T [6][6])
template <class T>
void desplegarMatrizconsumas (T [6][6])

int main()
{
int matriz[6][6];
leerDatosmatriz(matriz);
desplegarDatosmatriz(matriz);
sumarenglones(matriz);
sumacolumnas(matriz);
desplegarMatrizconsumas(matriz);
getch();
return 0;
}

template <class T>
void leerDatosmatriz(T  m[6][6])
{
int r,c;
for(r=0;r<5;r++)
{
for(c=0;c<5;c++)
{
cout<<"m["<<(r+1)<<","<<c<<"]:";
cin>>m[r][c];
}
}
m[5][5]=0;
}

template <class T>
void desplegarDatosmatriz(T m[6][6])
{
int R,c;
cout<<"Datos de la matriz\n";
for(R=0;R<5;R++)
{
for(c=0;c<5;c++)
{
cout<<m[R][c]<<"\t";
}
cout<<endl;
}
}

template <class T>
void sumarenglones (T m[6][6])
{
int r,c;
T suma=0;
for(r=0;r<5;r++)
{
suma=0;
for(c=0;c<5;c++)
{
suma=suma+m[r][c];
}
m[r][5]=suma;
}
}


template <class T>
void sumacolumnas( T m[6][6])
{
int R,c;
T suma=0;
for(c=0;c<5;c++)
{
suma=0;
for(R=0;R<5;R++)
{
suma=suma+m[R][c];
}
m[5][c]=suma;
}
}

template <class T>
void desplegarMatrizconsumas( T m[6][6])
{
int R,c;
cout<<"\nMatriz con sumas\n";
for(R=0;R<6;R++)
{
for(c=0;c<6;c++)
{
cout<<m[R][c]<<"\t";
}
cout<<endl;
}

}
programa


ejemplo de lineas y nombres
pseudocodigo
Inico plantilla de la funcion void leerdatosempleado(int n)
i int
for(i=0 to n step i=i+1)
{
Print"\nNumero de empleado: "
Read a[i].noempleado
Print"Nombre de empleado: "
Read a[i].nombre
Print"Sueldo: "
Read a[i].sueldo
a[i].sueldot=a[i].sueldo*365/7
}

Final

Inico plantilla de la funcion void desplegardatosempleado(int n)
i int
Print"No empleado\tNombre\tSueldo\tSueldo anual"
for((i=0 to n step i=i+1)
{
Print a[i].noempleado,"\t",a[i].nombre,"\t
Print a[i].sueldo,"\t"
Print a[i].suedlot,"\n"
}
Final

Inicio de programa
x int
Print"Numero de empleados a registrar: "
Read x
leerdatosempleado(x)
desplegardatosempleado(x)
Final

código

#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
#include <stdio.h>
struct empleado
{
char noempleado[8];
char nombre[30];
int sueldo;
int sueldot;
};
empleado a[10];

void leerdatosempleado(int n);
void desplegardatosempleado(int n);

int main()
{
int x;
cout<<"Numero de empleados a registrar: ";
cin>>x;
leerdatosempleado(x);
desplegardatosempleado(x);
getch();
return 0;
}

void leerdatosempleado(int n)
{
int i, j, p;
for(i=0; i<n;i++)
{
cin.ignore();
cout<<"\nNumero de empleado: ";
cin.getline(a[i].noempleado,5,'\n');
cin.ignore();
cout<<"Nombre del empleado: ";
gets(a[i].nombre);
a[i].sueldot=0;
cout<<"Sueldo "<<": ";
cin>>a[i].sueldo;
a[i].sueldot=a[i].sueldo*365/7;
}
}

void desplegardatosempleado(int n)
{
int i, j;
cout<<"No empleado      Nombre       Sueldo semanal   Sueldo anual\n";
for(i=0; i<n; i++)
{
cout<<a[i].noempleado<<setw(20)<<a[i].nombre<<"\t      ";
cout<<setw(3)<<a[i].sueldo;
cout<<setw(15)<<a[i].sueldot;
cout<<endl;
}

}

programa


ejercicio del libro # 10 a
pseudocodigo

Inicio de plantilla de la funcion void agregar_datos_file()
ofstream salida
salida.open("C://Datos//grupo.txt",ios::app)

horas int
name[30],sigue char
tarifa real
do
{
Print"Nombre? "
Read name
salida,name
Print"Tarifa? "
Read tarifa
salida,tarifa
Print"Horas? "
Read horas
salida,horas
Print"\n\nDeseas realizar otro registro s/n ? "
Read sigue
}
while(sigue=='s' or sigue=='S')
salida.close()
Final

Inicio de plantilla de la funcion void listado_datos_file()
i,suma=0, horas int
tarifa,pb,pt,pr real
ifstream entrada
entrada.open("C://Datos//grupo.txt")
nombre[30] char
clrscr()
Print"Nombre        Tarifa Horas Pago bruto Pago de tiempo extra Pago regular"
entrada.getline(nombre,30)
entrada,tarifa
entrada,horas
while(entrada.good())
{
if (horas>40)
{
pr=40*tarifa
pt=(horas-40)*tarifa
}
else
{
pr=horas*tarifa
pt=0
}
pb=pr+pt
Printendl
Print "  ", nombre
Print tarifa
Print "  ",horas
Print "  ",pb
Print "  ",pt
Print "    ",pr
entrada.ignore()
entrada.getline(nombre,30)
entrada,tarifa
entrada,horas
}
entrada.close()
Final

Inicio de plantilla de funcion void menu()
Print"1)Agregar datos\n"
Print"2)Listado de datos\n "
Print"3)Salir\n "
Final

Inicio de programa
int opcion
do
{
clrscr()
menu()
Read opcion
switch(opcion)
{
case 1: agregar_datos_file()
break
case 2: listado_datos_file()
break
case 3: Print"\n\nFin del programa \n\n"
break
default: Print"Error en opcion "
break}
}
while(opcion !=3)

Final

código
#include <iomanip.h>
#include <conio.h>
#include <fstream.h>
#include <stdio.h>
#include <string.h>
void agregar_datos_file()
{
ofstream salida;
salida.open("C://Datos//grupo.txt",ios::app);
int horas;
char name[30], sigue;
float tarifa;
do
{
cout<<"Nombre? ";
gets(name);
salida<<name<<endl;
cout<<"Tarifa? ";
cin>>tarifa;
salida<<tarifa<<endl;
cout<<"Horas? ";
cin>>horas;
salida<<horas<<endl;
cout<<"\nDeseas realizar otro registro s/n ? ";
cin>>sigue;
}
while(sigue=='s' || sigue=='S');
salida.close();
}

void listado_datos_file()
{
int i,suma=0,horas;
float tarifa,pb,pt,pr;
ifstream entrada;
entrada.open("C://Datos//grupo.txt");
char nombre[30];
clrscr();
cout<<"Nombre   Tarifa  Horas Pago bruto Pago de tiempo extra Pago regular"<<endl;
entrada.getline(nombre,30);
entrada>>tarifa;
entrada>>horas;
while(entrada.good())
{
if (horas>40)
{
pr=40*tarifa;
pt=(horas-40)*tarifa;
}
else
{
pr=horas*tarifa;
pt=0;
}
pb=pr+pt;
cout<<endl;
cout<<setw(2)<<nombre;
cout<<setw(6)<< tarifa;
cout<<setw(7)<< horas;
cout<<setw(10)<<pb;
cout<<setw(12)<< pt;
cout<<setw(18)<< pr;
entrada.ignore();
entrada.getline(nombre,30);
entrada>>tarifa;
entrada>>horas;
}
entrada.close();
}

void menu()
{
cout<<"1)Agregar datos\n"<<endl;
cout<<"2)Listado de datos\n"<<endl;
cout<<"3)Salir\n"<<endl;
}

int main()
{
int opcion;
do
{
clrscr();
menu();
cin>>opcion;
switch(opcion)
{
case 1: agregar_datos_file();
break;
case 2: listado_datos_file();
getch();
break;
case 3: cout<<"\n\nFin del programa \n\n";
getch();
break;
default: cout<<"Error en opcion";
break;}
}
while(opcion !=3);
getch();
return 0;

}

programa





domingo, 24 de noviembre de 2013

Examen
ingresar N números y hacer una suma de valores negativos y otra de positivos, desplegar cual es la suma mayor y su valor correspondiente.

miércoles, 20 de noviembre de 2013

Practica 7
problema 1
pseudocodigo
inicio
vol_ci1()
{
r,l real
write"ingrese el radio del cilindro:"
read r
write"ingrese el largo del cilindro:"
read l
write"el volumen es",3.1416*pow(r,2)*l"unidades cubicas"
write"el area superficial es",3.1416*2*r*l " unidades cuadradas
}
fin
problema 2
algoritmo
inicio
1) introducir coordenada x1
2) leer coordenada x1
3) introducir coordenada y1
4) leer coordenada y1
5) introducir coordenada x2
6) leer coordenada x2
7) introducir coordenada y2
8) leer coordenada y2
9) escribir " la distancia al origen del primer punto es:", FORMULA "unidades"
10) escribir " la distancia al origen del segundo punto es:", FORMULA "unidades"
11) escribir " la distancia entre los dos puntos es:" FORMULA "unidades"
12) fin
problema 3
pseudodigo
inicio
a,b,c,x real
write"ingrese el valor de a:"
read a
write"ingrese el valor de b:"
read b
write"ingrese el valor de c:"
read c
write"ingrese el valor de x:"
read x
write" el valor del polinomio de segundo grado es:",pol(a,b,c,x)
real pol(real a, real b, real c, real x)
{
real p
p=a*pow(x,2)+b*x+c
}
fin

problema 4
pseudocodigo
template <class t>
entero(t x)
{
n real
write"ingrese un numero:"
read n
write"la parte entera es", entero(n)
}
template <class t>
entero(t x)
fin
problema 5
algoritmo
1)introducir de tiempo
2)declarar variables n,h,m,s
3)escribir " ingrese una cantidad de segundos"
4)leer n
5)mostrar mensaje, horas:
6)leer horas
7)mostrar mensaje, minutos
8)leer minutos
9)mostrar mensaje, segundos
10)leer segundos
11)introduce formula de horas
12)introduce formula de minutos
13)introduce formula de segundos
14)mostrar en pantalla horas, minutos, segundos

problema 6
pseudocodigo
inicio
encontrarMax(real &max)
real n=0
encontrarMax(n)
write"el maximo es:",n
encontrarMax(real &max)
{
real a,b,c
write"ingrese 3 numeros"
read a,b,c
if (a>=b && a>=c)
max=a
else if(b>=c)
max=b
else
max=c
}
fin


miércoles, 13 de noviembre de 2013

practicas 6
problema 1

problema 2

problema 3

problema 4

problema 5

problema 6

problema 7

problema 8

miércoles, 6 de noviembre de 2013

practica 5 

problema 1
pseudocodigo
i, menor ,a,N, int 
write" bienvenido ingrese N numeros y el programa determinara el mayor "
write" cuantos numero desea:"
read N 

for(a=1 to N step a=++)
{
write" ingrese numero"
read i 
if (i>mayor)
{
mayor=i
}
}
write" el dato mayor es: " 
fin


pseudocodigo
i, menor ,a,N, int 
write" bienvenido ingrese N numeros y el programa determinara el menor"
write"cuantos numero desea: "
read N 

for(a=1 to N step a=++)
{
write" ingrese numero"
read i 
if (i<menor)
{
menor=i
}
}
write" el dato menor es: " 
fin




problema 2
psudocodigo
inicio
i, total int
write"el cuadrado de los siguientes numeros es:"
for(i=1 to 25 step i=i+2)
{
write,i"="1+2,
}
fin

 problema 3
pseudocodigo
inicio
gi,gf,celsius, i real
write" introduce el valor inicial de los grados fahrenheit:"
read gi
write"introduce el valor final de los grados fahrenheit:"
read gf
for (i=gi to gf step i=i+1)
{
celsius=(5.0/9.0)*(i-32.0)
write"la conversion es:",celsius
}
fin

problema 4

problema 5


problema 6
pseudocodigo
inicio
i,pies,pulg real
for(i=1 to 25 step i=i+1)
{
write"la conversion de metros a pies es:",i "x 3.20 =",i*3.20
write" la conversion de metros a pulgadas es:",i "x 0.0254 =", i*0.0254
} fin



miércoles, 16 de octubre de 2013

Practica 4


PROBLEMA 1
PROBLEMA 2
PROBLEMA 3

PROBLEMA 4
PROBLEMA 5
PROBLEMA 6
Pseudocodigo 
incio
monto,D1,D2,D3,D4, A1,A2,A3, Total, mult1, mult2, 
mult3,Descuento ;
write " "Precio  Articulo 1 : $ "
read A1
write "Cuantos Articulos 1 necesitas:"
read mult1
write "El precio es = $ "
write "Precio Articulo 2 : $ "
read A2
write "Cuantos Articulos 2 necesitas: " 
read mult2
write "El precio es = $ "
write "Precio Articulo 3 : $ "
read A3
write "Cuantos Articulos 3 necesitas: "
read mult3
write "El precio es = $ "
Total= A1*mult1+A2*mult2+A3*mult3;
write " sub total= $ "
si Total<1000
write "no hay descuento"
si Total>=1500 && Total<=2000
D1= Total*0.03
write "El descuento es de : $ "
si Total>=2001 && Total<=4000
D2=Total*0.06
write "El descuento es de : $ "
si Total>=4001 && Total<=10000
D3=Total*0.08
write "El descuento es de : $ "
si Total>=10001
D4=Total*0.10
write "El descuento es de : $ "
Descuento=D1+D2+D3+D4
write "El Total es = $ "
write "Desea continuar (s/n): "
read sigue
fin 

código y programa
parte 2 del código

PROBLEMA 7

PROBLEMA 8