// PascalABC.NET 3.1, сборка 1230 от 27.04.2016 function FS(a,b:real):=0.5*a*b; begin var a,b:real; Write('Катеты первого треугольника: '); Read(a,b); var S1:=FS(a,b); Write('Катеты второго треугольника: '); Read(a,b); var S2:=FS(a,b); if S1>S2 then Writeln('Площадь первого треугольника больше') else if S1<S2 then Writeln('Площадь второго треугольника больше') else Writeln('Площади треугольников равны') end.
Тестовое решение Катеты первого треугольника: 4.18 6 Катеты второго треугольника: 5.4 3.9 Площадь первого треугольника больше
Ну смотри, есть такая формула что ли.. У - узел М - маска С - сеть Нам известен узел - это 200.15.100.23 Нам известен адрес сети - это 200.15.96.0 Маска неизвестна. Если в маске стоит 255 - то число остается тоже самое: У - 200.15.100.23 М- 255.255.Х.0 С - 200.15.96.0 Нам нужно найти НАИМЕНЬШЕЕ возможное значение третьего слева байта маски, его обозначила за Х выше. Переведем 100 и 96 в двоичную систему счисления и получим: 100 - 1100100 96 - 1100000 Т.к в маске 8 разрядов, то перед каждым полученным числом в двоичной системе счисления поставим 0. Получим: 01100100 - у xxxxxxxx - м 01100000 - с Сделаем побитовое перемножение с конца. Запомним, что в маске идут сначала все нули, а затем единицы. 01100100 - узел. Его умножаем на маску 11100000 - маска. 01100000 - сеть. Получаем ее после перемножения узла на маску. Перемножили, получили маску - 11100000. Возвращаемся к вопросу задачи: Чему равно наименьшее возможное значение третьего слева байта маски? Тут все просто, осталось перевести маску из двоичной СС в десятичную СС. Расставим степени двойки над маской 76543210 11100000 , что и является верным ответом. Если остались вопросы - задавай в комментариях, отвечу.