В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
kim5194557878
kim5194557878
29.07.2022 05:14 •  Информатика

Нужно очень сделать задания из прикрепленного фото кроме первого.


Нужно очень сделать задания из прикрепленного фото кроме первого.

Показать ответ
Ответ:
dickosh97
dickosh97
08.10.2021 03:36
Uses crt;
var
    b, a: real;
    n: integer;

begin
    clrscr;
    repeat
        Write('Выберите фигуру (1-квадрат, 2-прямоугольник)');
        Readln(n);
        
        case n of
            1:
                begin
                    write('Сторона квадрата=');
                    readln(a);
                    Write('S=', a * a);
                end;
            2:
                begin
                    write('Стороны прямоугольника=');
                    readln(b, a);
                    Write('S=', b * a);
                end;
        else exit;
        end;
    until false;
end.
0,0(0 оценок)
Ответ:
58624789485
58624789485
08.02.2022 02:29
// PascalABC.NET 3.0, сборка 1160 от 05.02.2016
function SHarm(m:integer):real:=Range(1,m).Select(x->1/x).Sum;

begin
  var a:=ReadReal('a=');
  var m:=1;
  while SHarm(m)<=a do Inc(m);
  Writeln('m=',m)
end.

Тестовое решение:
a= 5
m=83

Указанный ряд - это известный в математике расходящийся гармонический ряд. Его приближенное значение суммы можно определить по формуле Эйлера:
\displaystyle S(m)=\sum_{i=1}^m \frac{1}{i} \approx \ln(m)+C, \quad C\approx 0.577\ 215\ 664\ 902
Нам требуется определить m, для которого S(m)>a, тогда
\displayvalue \ln(m)+C\ \textgreater \ a; \ ln(m)\ \textgreater \ a-C \to m\ \textgreater \ e^{a-C}
Будем искать m, отбрасывая дробную часть полученного результата, а потом делать уточнение путем непосредственного вычисления сумм.

// PascalABC.NET 3.0, сборка 1160 от 05.02.2016

const C=0.577215664902; // Постоянная Эйлера-Маскерони

function SHarm(m:integer):real:=Range(1,m).Select(x->1/x).Sum;

begin
  var a:=ReadReal('a=');
  var m:=1;
  if a<=3 then begin
    while SHarm(m)<=a do Inc(m);
    Writeln('m=',m)
    end
  else begin
    var s:real:=Int(exp(a-C));
    if a<10 then begin
      m:=Trunc(s);
      while SHarm(m)<=a do Inc(m);
      Writeln('m=',m)
      end
    else Writeln('m=',s)
    end
end.

В этом случае можно проводить оценочный расчет для больших значений а:

a= 200
m=4.05709150011779E+86
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота