"составить программу для вычесления сторон прямоугольника если известны его периметр и площадь. (в паскале)" заранее . с:
148
156
Ответы на вопрос:
Прежде чем писать программу, попробуем ее формализовать. мы знаем, что периметр прямоугольника равен р = 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 then begin x1: = -(b/2); writeln('storona1 = ',x1: 0: 2); writeln('storona2 = ',x1: 0: 2); end; {если дискриминант меньше 0, плохо, выводим сообщение} if d < 0 then begin writeln('ошибка в данных); end; readln; end.
Популярно: Информатика
-
FaizTimYr27.05.2023 18:32
-
VladislavBuryy13.02.2020 18:21
-
Malay07080209.08.2021 15:05
-
Караго26.12.2021 16:21
-
23LOLKEK21.05.2023 10:18
-
slava20syper13.02.2022 22:34
-
vladreutenko9921.03.2023 02:27
-
настя757909.05.2021 18:11
-
Lolkekcheburecks01.04.2022 22:29
-
meshiydima01.03.2023 16:07