jueves, 14 de noviembre de 2013

calcular areas

Program calculadora;
uses
 crt;

Var
 opc: char;
 msg: String='Programa creado por vladimir flores cx';
 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
  y,r:real;
 Begin
  Clrscr;
  Centrar('Escribe el valor de: r: ',6);
  Readln(r);
  Centrar('El area del circulo es igual a: ',8);
  y:=PI*r*r;
  Writeln(y:4:2);
  Writeln;
  Writeln;
  Writeln;
  Centrar('Presiona ENTER para regresar al menu principal',10);
  readkey;
  End;



Procedure Triangulo;
Var
 a,b,h:real;
 Begin
 Clrscr;
 Centrar('Escribe el valor de la base:',4);
 Read(b);
 Centrar('Escribe el valor de la altura: ',6);
Read(h);
 Centrar('El area del Triangulo es igual a: ',8);
 a:=b*h/2;
 Writeln(a:4:2);
 Writeln;
 Writeln;
 Writeln;
 Centrar('Presiona ENTER para regresar al menu principal',10);
 Readkey;
 End;


 Procedure  Rectangulo;
  Var
 a,b,h:real;
 Begin
 Clrscr;
 Centrar('Escribe el valor de la base: ',5);
 Read(b);
 Centrar('Escribe el valor de la altura: ',6);
Read(h);
 a:=b*h;
 Centrar('El area del Rectangulo es igual a: ',8);
 Writeln(a:4:2);
 Writeln;
 Writeln;
 Writeln;
 Centrar('Presiona ENTER para regresar al menu principal',10);
 Readkey;
 End;


Procedure  Cuadrado;
  Var
 a,L:real;
 Begin
 Clrscr;
 Centrar('Escribe el valor del Lado: ',5);
Read(L);
a:=L*L;
 Centrar('El area del Cuadrado es igual a: ',8);
 Writeln(a:4:2);
 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 la base: ',3);
 Read(b);
 Centrar('Escribe el valor de la altura: ',5);
Read(h);
 a:=b*h;
 Centrar('El area del Romboide es igual a: ',8);
 Writeln(a:4:2);
 Writeln;
 Writeln;
 Writeln;
 Centrar('Presiona ENTER para regresar al menu principal',10);
 Readkey;
 End;


Procedure  Rombo;
  Var
 a,Dmas,dmenor:real;
 Begin
 Clrscr;
 Centrar('Escribe el valor de la Diagonal mayor: ',5);
 Read(Dmas);
 Centrar('Escribe el valor de la diagonal menor: ',6);
Read(dmenor);
 a:=Dmas*dmenor/2;
 Centrar('El area del Rombo es igual a: ',8);
 Writeln(a:4:2);
 Writeln;
 Writeln;
 Writeln;
 Centrar('Presiona ENTER para regresar al menu principal',10);
 Readkey;
 End;



Procedure  Trapecio;
  Var
 a,Bmayor,bmenor,h:real;
 Begin
 Clrscr;
 Centrar('Escribe el valor de la Base mayor: ',5);
 Read(Bmayor);
 Centrar('Escribe el valor de la base menor: ',6);
Read(bmenor);
 a:=Bmayor*bmenor/2;
 Centrar('El area del Trapecio es igual a: ',8);
 Writeln(a:4:2);
 Writeln;
 Writeln;
 Writeln;
 Centrar('Presiona ENTER para regresar al menu principal',10);
 Readkey;
 End;


Procedure  Pentagono;
Var
 a,P,apo:real;
 Begin
 Clrscr;
 Centrar('Escribe el valor del Perimetro: ',5);
 Read(P);
 Centrar('Escribe el valor de la apotema: ',6);
 Read(apo);
 a:=P*apo/2;
 Centrar('El area del Pentagono es igual a: ',8);
 Writeln(a:4:2);
 Writeln;
 Writeln;
 Writeln;
 Centrar('Presiona ENTER para regresar al menu principal ',10);
 Readkey;
 End;
 Procedure Salida;
 Begin
  Clrscr;
  Textbackground(blue);
  Textcolor(yellow);
  Centrar('Gracias por utilizarme hasta pronto',8);
  Delay(2000);
  End;


 {INICIAMOS EL PROGRAMA PRINCIPAL}

 Begin
 Repeat
  Clrscr;
  Gotoxy(17,1);
  Writeln('+----------------------------------------------+');
  Gotoxy(17,2);
  Writeln('|                                              |');
  Gotoxy(17,3);
  Writeln('+----------------------------------------------+');
  Gotoxy(20,2);
  textcolor(white);
  textbackground(yellow);
  Writeln(msg);
 textcolor(black);
 textbackground(yellow);
 Gotoxy(10,5);
 Writeln('+---------------------------------------------------------+');
 Gotoxy(10,6);
 Writeln('|                                                         |');
 Gotoxy(10,7);
 Writeln('|                                                         |');
 Gotoxy(10,8);
 Writeln('|                                                         |');
 Gotoxy(10,9);
 Writeln('|                                                         |');
 gotoxy(10,10);
 Writeln('+---------------------------------------------------------+');
 Centrar('OPCIONES DEL PROGRAMA',6);
 centrar('segun el numero que presiones es la funcion a realizar',7);
 centrar('1:circulo ''[1]'' 2:triangulo''[2]'' 3:rectangulo ''[3]',8);
 centrar('4:cuadrado''[4]'' 5:romboide ''[5]'' 6:trapecio ''[6]',9);
 centrar('7:pentagono ''[7]'' 8:rombo ''[8]'' x:salir',9);
 Centrar('[X]SALIR DEL PROGRAMA',18);
 Textcolor(white);
 textbackground(yellow);
 Centrar('Elige una opcion ',19);
 opc:=readkey;
 Case opc of

 '1':circulo;
 '2':triangulo;
 '3':rectangulo;
 '4':cuadrado;
 '5':romboide;
 '6':trapecio;
 '7':pentagono;
 '8':rombo;
 'X','x':salida;
End;
 Until (opc='x') or (opc='X');

 End.




No hay comentarios:

Publicar un comentario