маг42
15.02.2022 19:18

Вычислите значение выражений: 1. odd(6) 2. odd(3) 3. succ(10) 4. pred(7) 5. sqr(2) 6. sqrt(16) 7. trunc(6.9); round(6,9); int(6.9); 8. trunc(-1.8); round(-1.8); int(-1.8);

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
lgep08jle
01.10.2022 14:30
1) Решение с рекурсии.
Программа проста в понимании, но неэффективна при больших значениях
function f(i: integer): longint;
begin
  if i < 2 then
    f := 1
  else
    f := f(i - 1) + f(i - 2);
end;

begin
  writeln('f(10) = ', f(10));
  writeln('f(25) = ', f(25));
  writeln('f(40) = ', f(40));
end.
2) Решение с динамического программирования. Вычисляет намного быстрее, чем решение с рекурсией.
var
  i: integer;
  f: array[0..40] of longint;
begin
  f[0] := 1;
  f[1] := 1;
  for i := 2 to 40 do
    f[i] := f[i - 1] + f[i - 2];
  writeln('f(10) = ', f[10]);
  writeln('f(25) = ', f[25]);
  writeln('f(40) = ', f[40]);
end.
3) Решение с моделирования. Использует меньше памяти.
function f(i: integer): longint;
var
  a, b: longint;
  j: integer;
begin
  if i < 2 then
    f := 1
  else
  begin
    a := 0;
    b := 1;
    for j := 0 to i do
    begin
      b := a + b;
      a := b - a;
    end;
    f := a;
  end;
end;

begin
  writeln('f(10) = ', f(10));
  writeln('f(25) = ', f(25));
  writeln('f(40) = ', f(40));
end.
0,0(0 оценок)
Ответ:
apollow
16.08.2021 08:00
Const
  ru : array[1..33] of Char   =     ('а','б','в','г','д','е','ё','ж','з','и',
                                     'й','к','л','м','н','о','п','р','с','т',
                                     'у','ф','х','ц','ч','ш','щ','ъ','ы','ь',
                                     'э','ю','я');
  en : array[0..33] of String = (' ','a','b','v','g','d','e','ye','zh','z','i',
                                     'y','c','l','m','n','o','p','r','s','t',
                                     'u','f','h','c','ch','sh','sch','`','ы','',
                                     'ea','yu','ja');
{ транскрипцию записал не заглядывая ни в какие справочники - можете кидаться тапками }
 
Function GetIndex(ss : Char) : Byte;
Var ii : Byte;
Begin
  ii:=1;
  While (ii<=33) and (LowerCase(ss)<>ru[ii]) do Inc(ii);
  If ii in [1..33] then GetIndex:=ii else GetIndex:=0;
end;

Function Trans(S : String) : String;
Begin
  If Length(S)>0 then Trans:=en[GetIndex(S[1])]+Trans(Copy(S,2,Length(S)-1))
   else Trans:='';
end;

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