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

Составьте программу, которая находит меньшее из трех введеных чисел a, b, c и с выводит его на экран

👇
Ответ:
zajka23oz3xl9
zajka23oz3xl9
14.07.2022
Var a,b,c,min: real;
begin
writeln ('введи три числа');
read (a,b,c);
min:=a;
if b<min then min:=b;
if c<min then min:=c;
writeln ('min=',min);
end.
4,7(26 оценок)
Открыть все ответы
Ответ:
natakalip09wj0
natakalip09wj0
14.07.2022
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.
4,8(26 оценок)
Ответ:
dimadenisen
dimadenisen
14.07.2022
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.
4,7(4 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ