lunes, 4 de abril de 2011

PRACTICA 8
Problema 1
void Promedio(int n1,int n2,int n3);
void main()
{
Int v1,v2,v3;
Print,”Valor 1 entero=?";
Read, v1;
Print,"Valor 2 entero=?";
Read, v2;
Print,”Valor 3 entero=?";
Read, v3;

Promedio(v1,v2,v3);
}
void Promedio (int n1,int n2,int n3)
{
int suma = (n1+n2+n3);
int p = suma/3;
Print,”El promedio es = ",p,endl;
}


Problema 2
int promedio(int n1,int n2,int n3)
{
int p = (n1+n2+n3)/3 ;
return p;
}
void main()
{
int v1,v2,v3,x;
Print,”Valor 1 entero=?";
Read, v1;
Print,”Valor 2 entero=?";
Read, v2;
Print,”Valor 3 entero=?";
Read, v3;
x=promedio (v1,v2,v3);
Print,”El promedio es"<
}
Problema 3

Float volcil (float radio,float largo)
{
return (3.1416*pow(radio,2)*largo);
}
Float areasup(float radio ,float largo)
{
float area;
area = 2*3.1416*radio*largo;
return area;
}
void main()
{
float vol,al;
float rad,la;
print, "Radio cilindro=";
read, rad ;
print, "Largo cilindro=";
read, la;
vol = volcil(rad,la );
al = areasup (rad,la);
print, "El volumen es " <
print, "El area de la superficie del cilindro es " <
}
Problema 4
float triangulorectangulo(float a, float b)
{
C real
c=sqrt(a*a + b*b);
return c;
}

void main()
{
lado1,lado2,hipotenusa real
print,”lado 1= ";
read,lado1;
print,”lado 2= ";
read,lado2;
hipotenusa=triangulorectangulo(lado1,lado2)
print,”la hipotenusa=",hipotenusa
}
Problema 5

a)
void generardatos(int valores[100]);
void listadatos (int valores[100]);
int numeromenor (int valores[100]);

void main()
{
int numeros[100]
generardatos(numeros)
listadatos(numeros)
print,”el dato menor es " ,numeromenor(numeros),
}
b)
void generardatos(int valores[100]);
void listadatos (int valores[100]);
int numeromayor (int valores[100]);


void main()
{
int numeros[100]
generardatos(numeros)
listadatos(numeros)
print,”el dato mayor es " ,numeromayor(números),
}
void generardatos (int valores[100])
{
randomize()
for (int i=0 to i<=99 step i++)
{
valores[i]=random(2000)+ 1

}
}
void listadatos (int valores[100])
{
for (int i=0 to i<=99 step i++)
{
print,”valores[i],"\t"
}
print,endl
}
int numeromayor (int valores[100])
{
int mayor=valores[0];
{
for (int i=1 to i<100 step i++)
{
if (valores[i]>mayor)
{
mayor =valores[i]
}
}
return mayor
}
}


C)
void generardatos(int valores[100])
int sumadatos (int valores[100])
void listadatos (int valores[100])
int numeromayor (int valores[100])
int numeromenor (int valores[100])

void main()
{
int numeros[100]
generardatos(numeros)
listadatos(numeros)
print,”el dato menor es ",numeromenor(numeros),
print,”el dato mayor es " ,numeromayor(numeros),
print,”la suma de los numeros es= ",sumadatos(números),
}
void generardatos (int valores[100])
{
randomize()
for (int i=0 to i<=99 step i++)
{
valores[i]=random(2000)+ 1

}
}
void listadatos (int valores[100])
{
for (int i=0 to i<=99 step i++)
{
print,”valores[i]<<"\t"
}
print,endl
}
int numeromenor(int valores [1000])
{
int menor=valores[0]
{
for (int i=0 to i<=99 step i++)
{
if (valores[i]
{
menor =valores[i]
}
}
return menor
}
}
int numeromayor (int valores[100])
{
int mayor=valores[0]
{
for (int i=0 to i<=99 step i++)
{
if (valores[i]>mayor)
{
mayor =valores[i]
}
}
return mayor
}
}

int sumadatos (int valores[100])
{
i=0,suma=0 int
for (int i=0 to i<=99 step i++)
{
suma=suma+valores[i]
}
return suma
}
Problema 6
Escriba un programa que escriba 3 arreglos unidimensionales corriente, resistencia, voltios, cada arreglo debe ser capaz de almacenar 10 elementos. Instrodusca valores para los arreglos corriente y resistencia.
Los datos introducidos en el arreglo voltios debe ser el producto de los valores correspondientes debe ser el producto de los valores correspondientes en los arreglos corriente y resistencia(voltios[10]=corriente[10]*resistencia[10]) después de instroducor los datos despliegue la siguiente salida
corriente resisitencia voltios
despliegue el valor correspondiente de cada encabezado
void introcorriente(int corriente[10])
void introresistencia(int resistencia[10])
void calculovoltios(int corriente[10], int resistencia[10], int voltios[10])


void main()
{
res[10],cor[10],volt[10] int
introcorriente(cor)
introresistencia(res)
calculovoltios(cor,res,volt)
i int
print,”corriente resistencia voltios”,
for (i=1 to i<=10 step i++)
{
Print,cor[i],"\t\t",res[i],"\t\t",volt[i],
}

}

void introcorriente(int corriente[10])
{
I int
for (i=1 to i<=10 step i++)
{
Print,”corriente [",i,"]= "
Read,corriente[i]
}
}

void introresistencia(int resistencia[10])
{
I int
for (i=1 to i<=10 step i++)
{
Print,"resistencia [",i,"]= "
Read,resistencia[i]
}
}

void calculovoltios(int corriente[10], int resistencia[10], int voltios[10])
{
I int
for (i=1 to i<=10 step i++)
{
voltios[i]=corriente[i]*resistencia[i]
}
}

Problema 7
int mayor(int a,int b, int c)
{
if(a>=b && a>=c)
{
return a
}
else
{
if(b>=a && b>=c)
{
return b
}
else
{
return c
}
}
}
void intercambio(int&primervalor, int&segundovalor)
{
Temporal int
temporal = primervalor
primervalor = segundovalor
segundovalor = temporal
}

void main()
{
n1,n2,n3,may int
print,” N1 = "
read,n1
print,” N2 = "
read,n2
print,” N3 = "
read, n3
may = mayor(n1,n2,n3)
print,” El valor mayor es = "<< may ,
intercambio(n1,n2)
print,” Dato N1 = "<
print,” Dato N2 = "<
}

Problema 8

Escriba una función llamada tiempo que tenga un parámetro en números enteros denominados segundos y tres parámetros de referencia en números enteros denominados horas, minutos, seg, la función a de convertir el numero transmitido en segundos a su equivalente en horas minutos y segundos. Utilizando las referencias, la función debe alterar directamente los argumentos respectivos en la función que llama.

void tiempo(int segundos,int&horas,int&min,int&seg)
{
horas=segundos/3600
min=(segundos%3600)/60
seg=(segundos%3600)%60
}

void main()
{
segundos1,h1,m1,s1 int
print,”segundos= "
read,segundos1
tiempo(segundos1,h1,m1,s1)
print,”h1,"/",m1,"/",s1,
}

Problema 9
Escriba una función denominada calc_anhos que tenga un parámetro de numero entero que represente el numero total de días desde la fecha 1/1/1900 y los parámetros de referencia denominados anio, mes y días, la función a de calcular el año , el mes y el día para un numero de días transmitido. Utilizando las referencias, la función debe alterar directamente los argumentos respectivos de la función que cada año tiene 365 días y cada mes tiene 30 días.
void calc_anhos(int dias, int & anio, int & mes, int & dia)
{
anio1,dia1,mes1 int
anio1=dias/365
dias=dias-(anio1*365)
mes1=dias/30
dia1=dias%30
dia=dia+dia1
mes=mes+mes1
anio=anio+anio1
}

void main()
{
a=1900, m=1, d=1,días int
print,"numero de dias= "
read,dias
calc_anhos(dias, a, m, d)
print,d,"/",m,"/",a,
}

Problema 10
Describa una plantilla llamada máximo que devuelva el valor máximo de 3 argumentos
que se trasmite ala función cuando esta es llamada suponga
que los 3 argumentos serán del mismo tipo de datos
incluya la plantilla de función dentro de un programa completo que llame ala función con 3 números enteros y luego con
tres números flotantes

template
T maximo(T n1, T n2, T n3)
{
if(n1>=n2 && n1>=n3)
{
return n1
}
else
{
if(n2>=n1 && n2>=n3)
{
return n2
}
else
{
return n3
}
}
}

void main()
{
num1,num2,num3 int
nf1,nf2,nf3 real
print,”primer valor entero= "
read,num1
print,”segundo valor entero= "
read,num2
print,”tercer valor entero= "
read,num3
print,”el dato entero mayor es= "<
print,”primer valor flotante= "
read,nf1
print,”segundo valor flotante= "
read,nf2
print,”tercero valor flotante= "
read,nf3
print,”el dato flotante mayor es= "<
}

Problema 11

Escaba una plantilla en función llamada área cuadrada que calcule y devuelva el área de un cuadrado
escriban un platilla llamada perímetro cuadrado que calcule y de vuelva el perímetro de un cuadrado
de un solo argumento transmitido a la función cuando esta sea llamada incluya la platilla de función dentro de un
programa completo.

template
t areacuadrado(t lado)
{
return lado*lado
}
template
t percuadrado(t lado)
{
return 4*lado
}
void main()
{
double lado
print,”lado del cuadrado (double)= "
read, lado
print,”el area del cuadrado (double) es= "<
print,”el perimetro del cuadrado (double) es= "<
l1 int
print,”lado del cuadrado (entero)= "
read,l1
print,”el area del cuadrado (entero) es= "<
print,”el perimetro del cuadrado (entero) es= "<
}
Problema 12

Escriba un programa que almacene 5 valores en un arreglo llamado resistencia que
Almacene 5 valores llamado resistencia, el programa también debe crear dos arreglos llamados
Corriente y potencia, los cuales deberán ser capaces de almacenar 5 valores numéricos
Agá que el programa acepte 5 valores indicados por el usuario para el arreglo corriente y resistencia
el cual debe almacenar en el arreglo potencia el producto de los valores correspondientes
al cuadrado del arreglo corriente y el arreglo resistencia (potencia I=resistencia I * pow(corriente I ,2))
Resistencia corriente potencia



template
void introresistencia(t resistencia [5])
{
I int
for (i=1 to i<=5 step i++)
{
print,”resitencia [",i,"]:"
read,resistencia[i]
}
}
template
void introcorriente(t corriente[5])
{
I int
for (i=1 to i<=5 step i++)
{
print,”corriente [",i,"]:"
read,corriente[i]
}
}
template
void calculopot(t resistencia[5],t corriente[5],t potencia[5])
{
I int
for (i=1 to i<=5 step i++)
{
potencia [i]=resistencia[i]*pow(corriente[i],2)
}
}

template
t sumapotencia(t potencia[5])
{
I int
t int
int suma=0;
for (i=1 to i<=5 step i++)
{
suma=suma+potencia[i]
}
return suma;
}
template
void imprime(t resistencia[5],t corriente[5],t potencia[5])
{
I int
print,”resistencia corriente potencia"
for (i=1 to i<=5 step i++)
{
print,”resistencia[i],"\t\t",corriente[i]," \t\t" ,potencia[i],"\t"
}
}

void main ()
{
r[5],c[5],p[5] int
introresistencia(r)
introcorriente(c)
calculopot(r,c,p)
imprime (r,c,p)
print,” total=",sumapotencia(p)
}



No hay comentarios:

Publicar un comentario