program Case_of;
uses crt;
var
x,y:integer; // Значения сторон прямоугольника.
a,b:integer; // Основание и высота треугольника.
d:integer; // Длина стороны квадрата. 
Sp,Sk,St: real; //Площадь.
variant:string; // Для выбора фигуры (Этой переменной будет присвоено одно из значений: P,K,T)
n:integer; // Индификатор для Case Of.
begin
Writeln ('Площадь какой геометрической фигуры Вы хотите просчитать?');
Writeln('Введите одну из букв: P,K,T для вычисления площади Прямоугольника, Квадрата или Треугольника соответсвенно.');
Readln(variant);
if (variant='P') then n:=1 // Если значение переменной variant будет P, то выполнится 1 пункт Case.
  else if (variant='K') then n:=2 // В противном случае если variant будет K- выполнится 2 пункт.
   else if (variant='T') then n:=3 // В случае если variant будет присвоено значение T, выполнится 3-й пункт.
     Else writeln ('Извините, вы ввели не верный символ.'); // Выведется если будет введен недопустымый символ. 
Case n of
1:  begin // Вычисление площади прямоугольника;
        Writeln ('Введите значения сторон прямоугольника: ');
          Readln (x,y);
           Sp:=x*y;
            writeln('Площадь прямоугольника равна ',Sp);
            end;
2:  begin // Вычисление площади квадрата;
        Writeln ('Введите значение стороны квадрата: ');
          Readln (d);
           Sk:=sqr(d);
            writeln('Площадь квадрата равна ',Sk);
            end;
3:  begin // Вычисление площади треугольника;
      Writeln('Введите значения высоты и основания треугольника: ');
        Readln(a,b);
         St:=(a*b)/2;
           writeln('Площадь треугольника равна ',St);
     end;
end;
end.