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
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