• Ребят, помогите пожалуйста.
    "Составить программу для вычесления сторон прямоугольника если известны его периметр и площадь. (В ПАСКАЛЕ)"
    Заранее спасибо. с:

Ответы 1

  • Прежде чем писать программу, попробуем ее формализовать.Мы знаем, что периметр прямоугольника равен Р = 2*(a+b), а площадь равна S=a*б, где a и b - две стороны прямоугольника.Тогда b =S/a, а периметр P =2a +2b или 2a+2S/a. Отсюдаa*P = 2a² +2S. Имеем квадратное уравнение:a²-a*P/2+S=0, решая которое относительно а (сторона прямоугольника) при известных коэффициентах P и S, получим значение сторон прямоугольника.В программе я не проверяю, что введены именно положительные периметр и площадь, надеясь на внимательность вводящего данные.Итак:program storona;uses crt;  { используем экран}var            b,P,S,d,x1,x2: real;  {наши переменные}begin  clrscr; {чистим экран}  write('Wwedite perimetr  P: ');  readln(P);  write('Wwedite ploshad S: ');  readln(S);  {Вычисляем дискриминант}  b:=-P/2;  d:= b*b - 4*S;  if d > 0 then  {Если дискриминант >0 - все хорошо}begin  x1:= (-b + sqrt(d))/2;  x2:= (-b - sqrt(d))/2;  writeln('Storona1 = ',x1:0:2); {ответ с двумя знаками после запятой}  writeln('Storona2 = ',x2:0:2);end;{Если дискриминант равен 0, то тоже неплохо: у нас квадрат}  if d = 0 thenbegin  x1:= -(b/2);  writeln('Storona1 = ',x1:0:2);  writeln('Storona2 = ',x1:0:2);end;{Если дискриминант меньше 0, плохо, выводим сообщение}  if d < 0 thenbegin  writeln('Ошибка в данных);end;  readln;end.
    • Автор:

      noemilin
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years