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