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

010101010"2 (система счисления и переводы в систему)

Показать ответ
Ответ:
незнайка2901
незнайка2901
01.11.2020 16:48

§1.  о системах счисления.

  n4. развернутая форма записи числа

 

из курса вам известно, что цифры десятичной записи числа – это просто коэффициенты его представления в виде суммы степеней числа – основания системы счисления:

       

      25076 = 2*10000 + 5*1000 + 0*100 + 7*10 + 6*1 = 2*104  +5*103  + 0*102  +7*101+6*100

 

при переводе чисел из десятичной системы счисления в римскую мы и воспользовались этим правилом (444 = 400 + 40 + 4;   2986 = 2000 + 900 + 80 + 6).

при записи чисел значение каждой цифры зависит от ее положения. место для цифры в числе называется разрядом, а количество цифр в числе разрядностью. на самом деле числа можно записывать как сумму степеней не только числа 10, но и любого другого натурального числа, большего 1.

 

определение.  развернутой формой записи числа называется такая запись: а4а3а2а1а0  = а4*q4  + a3*q3  + a2*q2  + a1*q1  + a0*q0  , где а4,а3,а2,а1,а0  –цифры числа, q –основание степени.

 

 

пример1.  получить развернутую форму числа 7512410.

решение:

  а4  = 7, а3  = 5, а2  =1 ,а1  =2, а0  =4,          q=10

 

4 3 2 1 0

75 12410  = 7*104  + 5*103  + 1*102  + 2*101  + 4*100.

 

 

пример2.  получить развернутую форму числа 1123.

решение:

 

2 1 0

1123  = 1*32  + 1*31  +2*30

 

пример3.  получить развернутую  форму числа  176,218.

решение:                     21 0-1-2а8=176, 218=1*82+7*81+6*80+2*8-1+1*8-2  для самостоятельной работы: 1. запишите в развернутом виде числа: а8=143511,62а2=100111а10=143,511а16=1а3,5с12. запишите в свернутой форме число: 9*101+1*100+5*10-1+3*10-2a*162+1*161+c*160+3*16-1
0,0(0 оценок)
Ответ:
sofiko07161
sofiko07161
09.02.2023 03:01
Непростая задача...

const
  n = 16;

type
  R = record
    v: integer;
    p: integer
  end;
  mR = array[1..n] of R;

function SummOfDigits(n: integer): integer;
{ Сумма цифр в трехзначном числе }
begin
  SummOfDigits := (n div 100) + ((n mod 100) div 10) + (n mod 10)
end;

procedure Swp(var a, b: R);
{ Меняет местами элементы a и b }
var
  t: R;
begin
  t.v := a.v; t.p := a.p;
  a.v := b.v; a.p := b.p;
  b.v := t.v; b.p := t.p
end;

procedure Shell(var a: mR; n: integer);
{ сортировка методом Шелла }
var
  i, j, step: integer;

begin
  step := n div 2;
  while step > 0 do
  begin
    for j := n - step downto 1 do
    begin
      i := j;
      while i <= n - step do
      begin
        if a[i].v > a[i + step].v then Swp(a[i], a[i + step]);
        i := i + step
      end
    end;
    step := step div 2
  end
end;

var
  a: array[1..n] of integer;
  b: mR;
  i: integer;

begin
  Randomize;
  Writeln('*** Исходные элементы массива ***');
  for i := 1 to n do
  begin
    a[i] := Random(900) + 100;
    b[i].v := SummOfDigits(a[i]);
    b[i].p := i;
    Write(a[i]:4)
  end;
  Writeln;
  Shell(b, n);
  Writeln('*** Упорядоченные по возрастанию суммы цифр элементы массива ***');
  for i := 1 to n do
  begin
    Write(a[b[i].p]:4)
  end;
  Writeln
end.

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

*** Исходные элементы массива ***
 862 244 599 379 595 840 551 151 614 383 185 893 131 172 139 256
*** Упорядоченные по возрастанию суммы цифр элементы массива ***
 131 151 244 172 551 614 840 139 256 185 383 862 595 379 893 599
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота