jueves, 14 de noviembre de 2013

CALCULO DE AREAS

Program CALCULO_DE_AREA;
Uses
 Crt;
Var
 opc: char;
 msg: string= 'Programa creado por Sandra Barajas Vargas';

Procedure Centrar(Texto:String; fila:Integer);
Var
 Columna:integer;
Begin
Columna:=(80-Length(Texto)) DIV 2;
Gotoxy(Columna,fila);
Write(Texto);
End;

Procedure Circulo;
Var
 Pi,r,A: real;
Begin
 Clrscr;
 Centrar('Dame el valor del radio ',6);
 Read(r);
 A:=PI*r*r;
 Read(A);
 Centrar('El area del circulo es: ',7);
 WriteLn(A);
 WriteLn;
 WriteLn;
 WriteLn;
 Centrar('Presiona ENTER para regresar al menu principal' ,10);
  Readkey;
 End;

Procedure Triangulo;
Var
 b,h,A:real;
Begin
 Clrscr;
 Centrar('Escribe el valor de su base ',5);
 Read(b);
 Centrar('Escribe el valor de su altura: ',6);
 Read(h);
 A:=b*h/2;
 WriteLn(A);
 Centrar('El area del triangulo es: ',7);
 WriteLn;
 WriteLn;
 WriteLn;
 Centrar('Presiona ENTER para regresar al menu principal' ,10);
  Readkey;
 End;

Procedure Rectangulo;
Var
 b,h,A:real;
Begin
 Clrscr;
 Centrar('Escribe el valor de su base: ',5);
 Read(b);
 Centrar('Escribe el valor de su altura: ',6);
 Read(h);
 A:=b*h;
 writeLn(A);
 Centrar('El area del rectangulo es: ',7);
 WriteLn;
 WriteLn;
 WriteLn;
 Centrar('Presiona ENTER para regresar al menu principal' ,10);
  Readkey;
 End;

 Procedure Cuadrado;
 var
 r,A:real;
 Begin
 Clrscr;
 Centrar('Escribe el valor de su radio  ',5);
 Read(r);
 A:=r*r;
 Readln(A);
 Centrar('El area del cuadrado es  ',6);
 Writeln;
 writeln;
 Writeln;
 Centrar('Presiona ENTER para regresar al menu principal'  ,10);
  Readkey;
 End;

 Procedure Rombo;
 Var
 D,m,A: real;
 Begin
 Clrscr;
 Centrar('Escribe el valor de la diagonal mayor  ',5);
 Read(D);
 Centrar('Escribe el valor de la diagonal menor  ',6);
 Read(m);
 A:=D*m/2;
 Readln(A);
 Centrar('El area del rombo es  ',7);
 Writeln;
 Writeln;
 Writeln;
 Centrar('Presiona ENTER para regresar al menu principal  ',10);
  Readkey;
 End;

 Procedure Trapecio;
 Var
 h,B,b1,A: real;
 Begin
 Clrscr;
 Centrar('Escribe el valor de su altura  ',5);
 Read(h);
 Centrar('Escribe el valor de su base mayor  ',6);
 Read(B);
 Centrar('Escribe el valor de su base menor  ',7);
 Read(b1);
 A:=h*(B+b1)/2;
 Writeln(A);
 Centrar('El area del trapecio es  ',8);
 Writeln;
 Writeln;
 Writeln;
 Centrar('Presiona ENTER para regresar al menu principal  ',10);
  Readkey;
 End;

 Procedure Pentagono;
 Var
 p,a1,A: real;
 Begin
 Clrscr;
 Centrar('Escribe el valor de su perimetro  ',5);
 Read(p);
 Centrar('Escribe el valor de su apotema  ',6);
 Read(a1);
 A:=p*a1/2;
 Writeln(A);
 Centrar('El area del pentagono es  ',7);
 Writeln;
 Writeln;
 Writeln;
 Centrar('Presiona ENTER para regresar al menu principal  ',10);
  Readkey;
 End;

 Procedure Romboide;
 Var
 b,h,A: real;
 Begin
 clrscr;
 Centrar('Escribe el valor de su base  ',5);
 Read(b);
 Centrar('Escribe el valor de su altura  ',6);
 Read(h);
 A:=b*h;
 Writeln(A);
 Centrar('El area del romboide es  ',7);
 Writeln;
 Writeln;
 Writeln;
 Centrar('Presiona ENTER para regresar al menu principal  ',10);
  Readkey
 End;


 Procedure Salida;
Begin
 Clrscr;
 Textbackground(black);
 Textcolor(White);
 Centrar('Gracias por utilizarme, hasta luego' ,8);
 Delay(2000);
End;

{Empieza programa principal}

Begin
 Repeat
 Clrscr;
 Gotoxy(24,1);
 WriteLn('*******************************************');
 Gotoxy(24,2);
 WriteLn('*                                         *');
 Gotoxy(24,3);
 WriteLn('*******************************************');
 Gotoxy(28,2);
 Textcolor(White);
 Textbackground(Black);
 WriteLn(msg);
 Textcolor(White);
 Textbackground(Black);
 Gotoxy(8,5);
 WriteLn('***************************************************************');
 Gotoxy(8,6);
 WriteLn('*                                                             *');
 Gotoxy(8,7);
 WriteLn('*                                                             *');
 Gotoxy(8,8);
 Writeln('*                                                             *');
 Gotoxy(8,9);
 WriteLn('*                                                             *');
 Gotoxy(8,10);
 WriteLn('*                                                             *');
 Gotoxy(8,11);
 WriteLn('*                                                             *');
 Gotoxy(8,12);
 WriteLn('*                                                             *');
 Gotoxy(8,13);
 WriteLn('*                                                             *');
 Gotoxy(8,14);
 WriteLn('*                                                             *');
 Gotoxy(8,15);
 WriteLn('*                                                             *');
 Gotoxy(8,16);
 WriteLn('*                                                             *');
 Gotoxy(8,17);
 WriteLn('*                                                             *');
 Gotoxy(8,18);
 WriteLn('*                                                             *');
 Gotoxy(8,19);
 WriteLn('*                                                             *');
 Gotoxy(8,20);
 WriteLn('*                                                             *');
 Gotoxy(8,21);
 WriteLn('*                                                             *');
 Gotoxy(8,22);
 WriteLn('*                                                             *');
 Gotoxy(8,23);
 WriteLn('***************************************************************');
 Centrar('OPCIONES DEL PROGRAMA' ,5);
 Centrar('[C] Calcular area de un circulo',7);
 Centrar('[T] Calcular area de un triangulo' ,9);
 Centrar('[R] Calcular area de un rectangulo' ,11);
 Centrar('[c] Calcular area de un cuadrado' ,13);
 Centrar('[r] Calcular area de un rombo'  ,15);
 Centrar('[t] Calcular area de un trapecio'  ,17);
 Centrar('[P] Calcular area de un pentagono' ,19);
 Centrar('[Z] Calcular area de un romboide' ,21);
 Centrar('[X] SALIR DEL PROGRAMA',23);
 Textcolor(White);
 Centrar('Elige una opcion ',3);
 opc:=Readkey;
 Case opc of
 'C': Circulo;
 'T': Triangulo;
 'R': Rectangulo;
 'c': Cuadrado;
 'r': Rombo;
 't': Trapecio;
 'P': Pentagono;
 'Z': Romboide;
 'X','x': Salida;
 End;
 Until (opc='x') or (opc='x');

End.




No hay comentarios:

Publicar un comentario