Помогите решить ** Pascal.ABC !! Ваше имя (I'm), отчество (ot). t=Im+ot Уважаемый t,...

0 голосов
39 просмотров

Помогите решить на Pascal.ABC !!
Ваше имя (I'm), отчество (ot).
t=Im+ot
Уважаемый t, решите задачу.
В прямоугольном треугольнике даны два катета: a,b.
Определите гипотенузу треугольника c.


image

Информатика (57 баллов) | 39 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Программа дополнена проверкой пола. Требует не гипотенузу, а её квадрат, чтобы сравнивать целые числа, иначе из-за ошибки в 10 знаке после запятой программа выдаст "неправильный" результат.

Var
Im,Ot,Pol:string;
a,b,c:integer;
Begin
Write('Ваше имя: ');
ReadLn(Im);
Write('Ваше отчество: ');
ReadLn(Ot);
Write('Ваш пол(М/Ж): ');
ReadLn(Pol);
if (Pol = 'М')or(Pol = 'м') then WriteLn('Уважаемый '+Im+' '+Ot+', решите задачу.')
else if (Pol = 'Ж')or(Pol = 'ж') then WriteLn('Уважаемая '+Im+' '+Ot+', решите задачу.');

a:=random(21);
b:=random(21);
WriteLn('Даны два катета: ',a,' ',b);
WriteLn('Определите гипотенузу треугольника c');
Write('Квадрат гипотенузы: ');ReadLn(c);
While c<>a*a+b*b do
   Begin
   WriteLn('Не верно, попробуйте ещё раз');
   Write('Квадрат гипотенузы: ');ReadLn(c);
   End;
WriteLn('Верно, гипотенуза равна: ',sqrt(c));
End.



Точно по условию:

Var
Im,Ot:string;
a,b,c:real;
Begin
Write('Ваше имя: ');
ReadLn(Im);
Write('Ваше отчество: ');
ReadLn(Ot);
WriteLn('Уважаемый '+Im+' '+Ot+', решите задачу.');
a:=random(21);
b:=random(21);
WriteLn('Даны два катета: ',a,' ',b);
Write('Определите гипотенузу треугольника c: ');
ReadLn(c);
While c<>sqrt(a*a+b*b) do
   Begin
   WriteLn('Не верно, попробуйте ещё раз');
   Write('c: ');ReadLn(c);
   End;
WriteLn('Верно.');
End.

(34.0k баллов)