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

Закодируйте в коде хоффмана (деревом ) пословицу : птицу узнают в полете, а человека в работе

Показать ответ
Ответ:
shvffvvfff
shvffvvfff
26.02.2021 21:14

В n будем хранить количество чисел, которые ещё нужно вывести. a и b - предыдущее и текущее числа Фибоначчи. По определению, следующее число Фибоначчи равно сумме двух предыдущих, так что новое значение b будет a + b. Чтобы не заводить новую временную переменную, новое значение a можно будет найти, вычитая из нового b старое a, получится (a + b) - a = b.

Код процедуры:

procedure print_fib(n: integer);

var a, b, t: integer;

begin

   a := 0;

   b := 1;

   while n > 0 do

   begin

       write(b, ' ');

       b := a + b;

       a := b - a;

       n := n - 1;

   end;

end;

Пример основной программы:

begin

   print_fib(10)

end.

Вывод:

1 1 2 3 5 8 13 21 34 55

0,0(0 оценок)
Ответ:
StasKir
StasKir
31.08.2021 09:44

1. Создадим код для программы Pascale:

function f(x, a: real): real;

begin

 f := exp(-x) - a * x

end;

 

function root(xmin, xmax, a, eps: real): real;

var fc, fm, xc: real;

begin

 repeat

   xc := (xmin + xmax) / 2;

   fc := f(xc, a);

   fm := f(xmax, a);

   if ((fc >= 0) and (fm >= 0)) or ((fc <= 0) and (fm <= 0))

     then xmax := xc

     else xmin := xc

 until abs(xmax - xmin) < eps;

 root := (xmin + xmax) / 2 {можно просто root := xmin, или root := xmax}

end;

 

var a, eps: real;

 

begin

 repeat

   write('Точность вычисления > 0;  eps = ');

   readln(eps)

 until eps > 0;

 write('Параметр a = ');

 readln(a);

 if a > 0

   then writeln('x = ', root(0, 1 / a, a, eps))

   else if a = 0

     then writeln('x стремится к бесконечности')

     else if a > -exp(1)

       then writeln('При данном параметре корней не существует.')

       else if a = -exp(1)

       then writeln('x = ', -1.0)

       else writeln('x1 = ', root(-ln(-a), 0, a, eps), ', x2 = ', root(-2 * ln(-a), -ln(-a), a, eps));

 readln

end.

2. Активируем код в Pascale

3.Вводим значение t=e^-ax*KOREN(x+1)+e^ax*KOREN(x-1)

Все буквы русского языка были заменены на английские так-как программа не умеет распозновать посторонние языки

4.Получаем нужное значение

Объяснение:

Pascale ABC

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