М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
jlenabalkinaoyqk93
jlenabalkinaoyqk93
03.06.2023 11:18 •  Информатика

Составить программу для вычисления площади прямоугольного треугольника по длинам a и b двух катетов

👇
Ответ:
Var
a, b: integer;
s: real;
begin
readln(a, b);
s:= a*b/2;
writeln(s);
end.
4,4(16 оценок)
Открыть все ответы
Ответ:

Термин "вредоносное программное обеспечение" охватывает все виды вредоносного ПО, созданного с целью нанесения вреда компьютеру или сети. Вредоносное ПО может устанавливаться на компьютере без вашего ведома, часто с обманных ссылок или загрузки, которые выдают себя за то, что может вас заинтересовать. Как только вредоносное программное обеспечение установится на ваш компьютер, кибер-преступники могут попытаться получить доступ к вашей личной информации. Они делают это, регистрируя введенные вами символы или отслеживая действия на компьютере. Ваш компьютер могут также контролировать и заставлять посещать веб-сайты, отправлять сообщения со спамом или выполнять другие действия без вашего ведома. Результаты работы вредоносных программ могут быть различными - от незначительных раздражающих действий до похищения личных данных.

4,6(25 оценок)
Ответ:
1. Вариант с последовательным приращением аргумента

var
  x:real;
begin
  x:=-1;
  while x<=2 do begin
    Writeln('x=',x:4:1,'   y=',1/x:0:10);
    x:=x+0.2
    end
end.

Решение
x=-1.0   y=-1.0000000000
x=-0.8   y=-1.2500000000
x=-0.6   y=-1.6666666667
x=-0.4   y=-2.5000000000
x=-0.2   y=-5.0000000000
x= 0.0   y=-18014398509482000.0000000000
x= 0.2   y=5.0000000000
x= 0.4   y=2.5000000000
x= 0.6   y=1.6666666667
x= 0.8   y=1.2500000000
x= 1.0   y=1.0000000000
x= 1.2   y=0.8333333333
x= 1.4   y=0.7142857143
x= 1.6   y=0.6250000000
x= 1.8   y=0.5555555556
x= 2.0   y=0.5000000000

2. Вариант с вычислением аргумента путем умножения

var
  x:real;
  i:integer;
begin
  for i:=1 to 16 do begin
    x:=0.2*(i-1)-1;
    Writeln('x=',x:4:1,'   y=',1/x:0:10)
    end
end.

Решение
x=-1.0   y=-1.0000000000
x=-0.8   y=-1.2500000000
x=-0.6   y=-1.6666666667
x=-0.4   y=-2.5000000000
x=-0.2   y=-5.0000000000
x= 0.0   y=Infinity
x= 0.2   y=5.0000000000
x= 0.4   y=2.5000000000
x= 0.6   y=1.6666666667
x= 0.8   y=1.2500000000
x= 1.0   y=1.0000000000
x= 1.2   y=0.8333333333
x= 1.4   y=0.7142857143
x= 1.6   y=0.6250000000
x= 1.8   y=0.5555555556
x= 2.0   y=0.5000000000

Анализ решений
При х=0 функция 1/х терпит разрыв. При подходе к нулю слева она стремится к минус бесконечности, а справа - к плюс бесконечности.
Первый вариант программы из-за суммирования на каждом шаге ошибок машинного округления пришел не к нулевому аргументу х, что привело к неточному вычислению значения функции (как видно по результату, аргумент не дошел до нуля слева). Во втором варианте аргумент вычислялся более точно, накопления суммы не было и при нуле мы получили именно "бесконечность".

Выводы
Табуляция функций по второму варианту предпочтительнее. Но её недостатком является необходимость предварительного вычисления количества повторений цикла по известной формуле Int((b-a)/h)+1 и подготовка формулы для расчета текущего значения переменной в виде функции от параметра цикла.
4,6(61 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
Полный доступ к MOGZ
Живи умнее Безлимитный доступ к MOGZ Оформи подписку
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ