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

Задание-4 Выполняем в тетради Заполните таблицу в тетрадях: Внутренняя память компьютера Наименование Описание Функции Таблица

Показать ответ
Ответ:
maksim5555695656
maksim5555695656
21.11.2022 03:47
В приложении дана блок-схема с алгоритмом, вычисляющим значение функции F по рекуррентной схеме.
Ниже приводится запись программы на языке Pascal, содержащая две функции - рекуррентную F (строго в соответствии с алгоритмом) и рекурсивную Fr.
Вывод иллюстрирует работу программы для значения аргумента n=6

function F(n: integer): integer;
{рекуррентная}
var
  i, p: integer;
  fn1, fn2: integer;

begin
  case n of
    1: Result := 1;
    2: Result := 2;
  else
    begin
      fn2 := 1;
      fn1 := 2;
      for i := 3 to n do
      begin
        p := 2 * fn1 + (i - 2) * fn2;
        fn2 := fn1;
        fn1 := p
      end;
      Result := p
    end
  end
end;

function Fr(n: integer): integer;
{рекурсивная - оцените изящество рекурсии!}
begin
  case n of
    1: Result := 1;
    2: Result := 2;
  else Result := 2 * Fr(n - 1) + (n - 2) * Fr(n - 2)
  end
end;

begin
  writeln(F(6), ' ', Fr(6))
end.

Тестовое решение:
142 142

ответ: значение функции F(6) равно 142.
0,0(0 оценок)
Ответ:
rezaev1
rezaev1
02.05.2021 14:53
1. Решение для сомневающихся и привыкших писать программы безмозгло "в лоб"

var
  k, p, q: integer;
  flag: boolean;
  f:Text

begin
  Assign(f,'input.txt');
  Reset(f);
  read(f,k);
  Close(f);
  case k of
    1, 2, 4, 7: writeln('NO');
    3, 5: writeln('YES');
  else
    q := k mod 5;
    if (q = 0) or (k = 3) then writeln('YES')
    else
    begin
      q := (k div 5);
      flag := false;
      while (not flag) and (q > 0) do
      begin
        p := k - 5 * q;
        if p mod 3 = 0 then
        begin
          writeln('YES');
          flag := true
        end;
        q := q - 1
      end;
      if (not flag) then writeln('NO')
    end
  end
end.

2. Решение в соответствии с алгоритмом, приведенным в комментарии к вопросу.

const
  Kno = [1, 2, 4, 7];

var
  k: integer;
  f:Text

begin
  Assign(f,'input.txt');
  Reset(f);
  read(f,k);
  Close(f);
  if k in Kno then writeln('NO')
  else writeln('YES')
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота