viernes, 15 de noviembre de 2013

cálculo de áreas

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

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


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


Procedure  Cuadrado;
  Var
 area,Lado:real;
 Begin
 Clrscr;
 Centrar('Escribe el valor del Lado: ',5);
Read(Lado);
area:=Lado*Lado;
 Centrar('El area del Cuadrado es igual a: ',8);
 Writeln(area:4:2);
 Writeln;
 Writeln;
 Writeln;
 Centrar('Presiona ENTER para regresar al menu principal',10);
 Readkey;
 End;



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


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



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


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




 Begin
 Repeat
  Clrscr;
  Gotoxy(15,1);
  Writeln('+--------------------------------------------+');
  Gotoxy(15,2);
  Writeln('|                                            |');
  Gotoxy(15,3);
  Writeln('+--------------------------------------------+');
  Gotoxy(20,2);
  textcolor(yellow);
  textbackground(red);
  Writeln(msg);
 textcolor(brown);
 textbackground(black);
 Gotoxy(12,5);
 Writeln('+------------------------------------------------+');
 Gotoxy(12,6);
 Writeln('|                                                |');
 Gotoxy(12,7);
 Writeln('|                                                |');
 Gotoxy(12,8);
 Writeln('|                                                |');
 Gotoxy(12,9);
 Writeln('|                                                |');
 Gotoxy(12,10);
 Writeln('|                                                |');
 Gotoxy(12,11);
 Writeln('|                                                |');
 Gotoxy(12,12);
 Writeln('|                                                |');
 Gotoxy(12,13);
 Writeln('|                                                |');
 Gotoxy(12,14);
 Writeln('|                                                |');
 Gotoxy(12,15);
 Writeln('|                                                |');
 Gotoxy(12,16);
 Writeln('|                                                |');
 Gotoxy(12,17);
 Writeln('+------------------------------------------------+');
 Centrar('opciones de programa',6);
 Centrar('[C]irculo',7);
 Centrar('[T]riangulo',8);
 Centrar('[R]ectagulo',9);
 Centrar('C[U]adrado',10);
 Centrar('R[O]mboide',11);
 Centrar('Tr[A]pecio',12);
 Centrar('[P]entagono',13);
 Centrar('Ro[M]bo',14);
 Centrar('[X]salir del programa',15);
 Textcolor(blue);
 Centrar('Elige una opcion ',18);
 opc:=readkey;

 Case opc of
 'C','c':circulo;
 'T','t':triangulo;
 'R','r':rectangulo;
 'U','u':cuadrado;
 'O','o':romboide;
 'A','a':trapecio;
 'P','p':pentagono;
 'M','m':rombo;
 'X','x':salida;
End;
 Until (opc='x') or (opc='X');
 End.














No hay comentarios:

Publicar un comentario