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

11. Внесите недостающие надписи в схему.
D
Признаки
объекта​

👇
Открыть все ответы
Ответ:
Алексей28111
Алексей28111
26.03.2022
Program test;
var  a: array of integer;  b: array of integer;  c: array of integer;  aa, bb, cc: integer;
begin  writeln('Введите размер массива a');  readln(aa);  writeln('Введите размер массива b');  readln(bb);  a := new integer[aa];  b := new integer[bb];  c := new integer[aa + bb];  cc := 0;  aa := 0;  bb := 0;  writeln('Заполнение массива a');  while(aa < Length(a)) do   begin    readln(a[aa]);    aa := aa + 1;  end;  writeln('Заполнение массива b');  while(bb < Length(b)) do   begin    readln(b[bb]);    bb := bb + 1;  end;  while(cc < Length(c)) do   begin    if(cc < Length(a)) then begin      c[cc] := a[cc]    end else begin      c[cc] := b[cc - Length(a)];    end;    cc := cc + 1;  end;  writeln('Полученный массив');  cc:=0;  while(cc < Length(c)) do   begin    writeln(c[cc]);    cc:=cc+1;  end;end.
4,5(28 оценок)
Ответ:
1) Решение методом рекурсии.
Программа проста в понимании, но неэффективна при больших значениях
var
  n: integer;
function f(i: integer): longint;
begin
  if i < 2 then
    f := 1
  else
    f := f(i - 1) + f(i - 2);
end;
begin
  read(n);
  writeln(f(n));
end.

2) Решение методом динамического программирования. Намного быстрее метода с рекурсией.
var
  i, n: integer;
  f: array[0..50] of longint;
begin
  read(n);
  f[0] := 1;
  f[1] := 1;
  for i := 2 to n do
    f[i] := f[i - 1] + f[i - 2];
  writeln(f[n]);
end.

3) Решение методом моделирования. Использует меньше памяти.
var
  n, a, b, i: integer;
begin
  read(n);
  if n < 2 then
    a := 1
  else
  begin
    a := 0;
    b := 1;
    for i := 0 to n do
    begin
      b := a + b;
      a := b - a;
    end;
  end;
  writeln(a);
end.
4,8(85 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ