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

Дан алгоритм в виде фрагмента блок-схемы.запишите его на алгоритмическом языке.

👇
Открыть все ответы
Ответ:
Masha2281337
Masha2281337
12.09.2021
Function Is3Base(s:string):Boolean;
{
  Возвращает True, если строка представляет натуральное число
  в троичной системе счисления
}
const
  Dig3Base=['0'..'2'];
var
  i,n:integer;
  err:boolean;
begin
  n:=Length(s);
  if n=0 then Is3Base:=False
  else begin
    i:=n;
    repeat
      err:=not(s[i] in Dig3Base);
      Dec(i);
    until (i=0) or err;
    Is3Base:=not err
  end
end;

procedure DigitsAlign(var s1,s2:string);
{
  Дополняет слева нулями короткое слагаемое до длинного
}
var
  i,n,l1,l2:integer;
begin
  l1:=Length(s1); l2:=Length(s2);
  if l1>l2 then
    for i:=l2+1 to l1 do s2:='0'+s2
  else
    for i:=l1+1 to l2 do s1:='0'+s1
end;

function Add3Base(s1,s2:string):string;
{
  Сложение на строках натуральных чмсел s1 и s2
  в системе счисления по основанию 3
}
var
  s:string;
  c0,i,ip,d:integer;
begin
  c0:=Ord('0');
  If not Is3Base(s1) then Add3Base:=s1+' не троичное'
  else
    if not Is3Base(s2) then Add3Base:=s2+' не троичное'
    else begin
      DigitsAlign(s1,s2);
      ip:=0; s:='';
      for i:=Length(s1) downto 1 do begin
        d:=Ord(s1[i])+Ord(s2[i])-2*c0+ip;
        if d>2 then begin ip:=1; d:=d-3 end
        else ip:=0;
        s:=Chr(d+c0)+s
      end;
      if ip=1 then s:='1'+s;
      Add3Base:=s
      end
end;
 
var
  s1,s2,sr:string;
begin
  Write('Введите первое слагаемое в троичной системе: ');
  Readln(s1);
  Write('Введите второе слагаемое в троичной системе: ');
  Readln(s2);
  Writeln(s1,'(3) + ',s2,'(3) = ',Add3Base(s1,s2),'(3)')
end.

Тестовое решение:
Введите первое слагаемое в троичной системе: 12101120122001
Введите второе слагаемое в троичной системе: 10020021122
12101120122001(3) + 10020021122(3) = 12111210220200(3)
4,8(45 оценок)
Ответ:
Petrov7771
Petrov7771
12.09.2021

43

Объяснение:

Обозначим искомое число как N.

В десятичном виде, шестнадцатиричному числу B соответствует число 11.

Шестнадцатиричному числу, оканчивающемуся на B, соответствует десятичное число вида 16*K+11.

N=16*K+11

Согласно условию, в десятичном виде, искомое натуральное число N должно быть двузначным.

16*K+11 >= 99

16*K >= 88

K >= 88/16

[K] >=5

Выпишем удовлетворяющие этому условию числа.

16*0+11=11

16*1+11=27

16*2+11=43

16*3+11=59

16*4+11=75

16*5+11=91

Выполним проверку следующего условия: N в пятиричном виде  должно оканчиваться на 3.

11 mod 5 = 1

27 mod 5  = 2

43 mod 5  = 3

59 mod 5 = 4

75 mod 5  = 0

91 mod 5  = 1

N=43

4,4(56 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ