domingo, 8 de abril de 2012

practica 10 (problemas).

problema 1.
Utilizando funciones, realice las operaciones suma y multiplicación sin parámetros y sin entregar valores. Otra función llamada imprimeasteriscos para imprimir en una linea 10 asteriscos. Probar las funciones en main().



P-seudo codigo.
1.- Inicio
void imprimeasterisco()
{INT l
for(I=1 to I<=10 step I++)
{Print "*"}
Print endl}

void suma()
{INT a,b
Print "Calcula suma"
Print "Valor 1= "
Read a
Print "Valor 2= "
Read b
Print a, " + ", b ,"= ", (a+b)
}

void multiplicar()
{INT a,b
Print "Calcula la multiplicacion\n";
Print "Valor 1= ";cin>>a;
Print "Valor 2= ";cin>>b;
Print a ," * ", b ,"= ", (a*b)
}

1.- Inicio de programa
void main()
{imprimeasterisco()
suma()
imprimeasterisco()
multiplicar()
imprimeasterisco()
fin.



problema  2.
Utilizando funciones realiza las operaciones suma y multiplicación con dos parámetros enteros y sin entregar valores. Otra función llamada imprimeasterisco() con parámetros N de tipo entero para especificar la cantidad de asteriscos a imprimir. Una función imprimemayor() dos parámetros enteros y la función imrpimemenor() con dos parámetros enteros.



P-seudo codigo.
1.- Inicio
void imprimeasteriscos(int N)
{INT I
for (I=1 to I<=N step I++)
{Print "*"
}
Print endl}

void sumar(int op1, int op2)
{ Print  op1, " + " ,op2, "= " ,(op1+op2)}

void multiplicar(int op1, int op2)
{ Print  op1, " * " ,op2, "= " ,(op1*op2)}

void imprimemayor(int op1, int op2)
{int mayor
if(op1>=op2)
{mayor=op1}
else
{mayor=op2}
Print "El dato mayor es= ", mayor
}

void imprimemenor(int op1, int op2)
{int menor
if(op1>=op2)
{menor=op2}
else
{menor=op1}
Print "El dato menor es= ", menor
}

1.- Inicio del programa
void main()
{
INT valor1,valor2,num=20
imprimeasteriscos(30)
sumar(32,80)
multiplicar(14,2)
imprimemayor(32,80)
imprimemenor(32,80)
Print  "Valor 1= "
Read valor1
Print  "Valor 2= "
Read valor 2
imprimeasteriscos(num)
sumar(valor1,valor2)
imprimeasteriscos(30)
multiplicar(valor1,valor2)
imprimeasteriscos(num)
imprimemayor(valor1,valor2)
imprimeasteriscos(30)
imprimemenor(valor1,valor2)
imprimeasteriscos(num)
fin.


problema 3.
Hacer un programa con funciones para calcular:  

  • el areacuadrado(), perimetrocuadrado.





  •  arearectangulo(), perimetrorectangulo(). 





  • areacirculo con los parámetros adecuados. 


entregando valores en el momento de llamada.

P-seudo codigo.
1.- Inicio
Real areacuadrado ( Real  lado)
{return lado*lado}

Real perimetrocuadrado ( Real  lado)
{return 4*lado}

Real arearect ( Real  largo, Real ancho)
{return largo*ancho}

Real perimetrorect (Real largo,  Real  ancho)
{return (largo+ancho)*2}

Real areacirculo (Real  radio)
{return 3.1416*radio*radio}

void menufiguras()
{Print "Calculo de Area y Perimetro de figuras"
Print "1) Cuadrado"
Print "2) Rectangulo"
Print "3) Area del Circulo"
Print "Seleccione opcion= "}

1.- Inicio de programa
void main()
{int opcion=0
char sigue
Real ld=0.0,la=0.0,an=0.0,radio=0.0
do
{clrscr()
menufiguras()
Read opcion
Print endl
switch(opcion)
{
case 1:  Print  "Calculo de Area y Perimetro de un cuadrado\n";
Print  "Lado= "
Read ld
Print  "Area= ", areacuadrado(ld)
Print  "Perimetro= ", perimetrocuadrado(ld)
break
case 2:  Print  "Calculo de Area y Perimetro de un rectangulo\n";
Print "Largo= "
read la
Print  "Ancho= "
Read an
Print  "Area= ", arearect(la,an)
Print  "Perimetro= ", perimetrorect(la,an)
break
case 3:  Print  "Calculo de Area de un circulo"
Print  "Radio= "
Read radio
Print  "Area= ", areacirculo(radio)
break
default: Print "Error en opcion"}
Print  endl
Print  "Desea continuar (s/n)= "
Read sigue}
while(sigue=='S'||sigue=='s')
fin.

problema 4.
Escribe una función denominada triangulorectagulo() que acepte la longitud de dos lados de un triangulo rectángulo con los argumentos a y b respectivamente. La funcion debe determinar y devolver la hipotenusa, c del triangulo.(utilice teorema de pitagoras).



P-seudo codigo.
1.- Inicio
Real triangrect (Real la,  Real  lb)
{return sqrt (la*la + lb*lb)}

Real volcil ( Real  r,  Real  L)
{return 3.1416*r*r*L}

Real areasup ( Real  r, Real  L)
{return 2*3.1416*r*L}

INT menu()
{INT opc=0
Print "1) Calculo de Hipotenusa de un triangulo rectangulo"
Print "2) Calculo del volumen de un cilindro"
Print "Elige una opcion= "
Read opc
return opc}


1.- Inicio del programa
void main()
{Real la,lb,radio,largo
INT opcion=0
do
{clrscr()
opcion=menu()
Print endl
switch(opcion)
{
case 1:
Print  "Calculo de la Hipotenusa de un triangulo rectangulo"
Print  "Lado A= "
Read la
Print  "Lado B= "
Read lb
Print  "Valor hipotenusa= ", triangrect(la,lb)
break
case 2: 
Print  "Area y Volumen de un Cilindro"
Print  "Radio= "
Read radio
Print  "Largo= "
Read largo
Print  "Volumen= ", volcil(radio,largo)
Print  "Superficie= ", areasup(radio,largo)
break
case 0:
Print  "Fin del programa"
break
default:
Print "Error en opcion"}
Print endl
Print  "Desea continuar 1)Si 0)No= "
Read opcion}
while(opcion!=0)
clrscr()
Print  "Fin del programa"
fin.

Problema 5.
El volumen, v de un cilindro esta dado por las siguientes formulas b=pir^2h donde r es el radio y h es el largo. Utilizando esta formula escriba una función llamada volsil() que acepte el radio y largo de un cilindro y devuelvo el volumen.
La superficie,s, esta por la siguiente formula s=2pirh donde r es el radio y h es el largo. Utilizando esta formula haga una función llamada areasup() que acepte radio y largo  de un cilindro y devuelva la superficie.



P-seudo codigo.
1.- Inicio.
Real triangrec(Real a, Real b)
{return sqrt(a*a + b*b)}

Real volcil (Real r, Real L)
{return 3.1416*r*r*L}

Real areasup(Real r, Real L)
{return 2*3.1416*r*L}
int menu()
{int opc
Print “1) Calculo de Hipotenusa de un triangulo rectangulo”
Print “2) Calculo del volumen de un cilindro”
Print “Elige una opción”
Read opc
Return opc}

Inicio de Programa
la, lb, radio, largo Real
opcion INT
do
{clrscr()
Opción= menú()
Switch(opcion)
{
Case 1: Print “Calculo de la Hipotenusa de un triangulo rectangulo”
Print “Lado A= “
Read la
Print “Lado B= “
Read lb
Print “Valor hipotenusa= “, triangrect(la,lb)
Break

Case 2: Print “Area y Volumen de un Cilindro”
Print “Radio= “
Read radio
Print “Largo= “
Read radio
Print “Volumen= “, volcil(radio,largo)
Print “Superficie= “areasup(radio,largo)
Break

case 0:
Print "Fin del programa"
break

default:
Print "Error en opcion"
Print endl
Print "Desea continuar 1)Si 0)No= "
Read opcion}
while(opcion!=0)
clrscr()
Print "Fin del programa"}
Fin.