lunes, 4 de abril de 2011

Practica # 8

Problema 1


1.- Inicio
void promedio(int n1,int n2,int n3);
void main()
{
 v1,v2,v3        entero
Print " Valor 1 entero : "
Read v1
Print " Valor 2 entero : "
Read v2
Print " Valor 3 entero : "
Read v3
promedio(v1,v2,v3);
getch();
}
void promedio(int n1,int n2,int n3)
{
int suma = (n1+n2+n3);
int p = suma/3;
Print " El promedio es = ",p;
Fin.




Problema 2

1.- Inicio
 promedio(int n1,int n2,int n3)   entero
{
 p =(n1+n2+n3)/3;  entero
return p;
}
void main()
{
 v1,v2,v3,x;     entero
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 = ",x
Fin.



Problema 3

1.- Inicio
float volcll(float radio, float largo)
{
return (3.1416 *radio*radio*largo);
}
float areasup(float radio ,float largo)
{
float area ;
area = 2*3.1416*radio *largo;
return area;
}
void main()
{
float vol,a1;
float rad,la;
Print " Radio del cilindro : "
Read rad
Print " Largo del cilindro : "
Read la
vol = volcll(rad,la);
a1 = areasup(rad,la);
Print " El volumen es : " ,vol;
Print " El area de la superficie del cilindro es : ",a1;
Fin



Problema 4

1.- Inicio
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 : ",hipotenusal;
Fin.




Problema 5

1.- Inicio
void generardatos(int valores[100]);
int sumadatos (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);
getch();
}
void generardatos (int valores[100])
{
randomize();
for (int i=0;i<=99;i++)
{
valores[i] = random(2000)+ 1;
}
}
void listadatos (int valores[100])
{
for (int i=0;i<=99;i++)
{
Print valores[i]<<"\t";
}
Print  , ;
}
int numeromenor(int valores [1000])
{
int menor = valores[0];
{
for (int i=1;i<100;i++)
{
if (valores[i]<menor)
{
menor = valores[i];
}
}
return menor;
}
}
Fin.



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 resistencia 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])



1.- Inicio
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]
}
}
Fin.


Problema 7

1.- Inicio

 mayor(int a,int b, int c)   int
{
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()
{
int n1,n2,n3,may;
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 = ",n1;
Print " Dato N2 = ",n2;
Fin.



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.

1.- Inicio
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.

1.- Inicio
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()
{
int a = 1900, m=1, d=1,dias;
Print " Numero de dias = "
Read dias
calc_anhos(dias, a, m, d);
Print d,"/",m,"/",a;
Fin.




Problema 10

Despliega una plantilla llamada máximo que devuelva el valor máximo de 3 argumentos que se transmite ala función cuando esta es llama. Suponga que los 3 argumentos serán del mismo tipo de datos que incluya la plantilla de función dentro de un programa completo que llame ala función con 3 números enteros y luego con 3 números flotantes.


1.- Inicio
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 : " (num1,num2,num3) =""
Print ” Primer valor flotante : "
Read nf1
Print ” Segundo valor flotante : "
Read nf2
Print ” Tercer valor flotante : "
Read nf3
Print ” El dato flotante mayor es : " (num1,num2,num3) = 
}
Fin.









Problema 11

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


1.- Inicio
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 = "
}
Fin.







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 Hagá 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.



1.- Inicio


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)
}
Fin.




No hay comentarios:

Publicar un comentario