Pogosyan Nataliya
?>

Даны три натуральных числа.выяснить в каком из них сумма цифр большеопределить функцию для расчёта количества цифр натурального )

Информатика

Ответы

Azarenkoff

var x1,x2,x3,s1,s2,s3: integer;

function sumofnumber(num: integer): integer;

var s: string;

i: integer;

begin

  s: =str(num);

  for i: = 1 to length(s) do

        sumofnumber: = sumofnumber+int(s[i]);

end;

 

begin

  read(x1,x2,x3);

  s1: =sumofnumber(x1);

  s2: =sumofnumber(x2);

  s3: =sumofnumber(x3);

 

  if s1> s2 and s1> s3 then writeln(x1);

  if s2> s1 and s2> s3 then writeln(x2);

  if s3> s2 and s3> s1 then writeln(x3);

end.

 

в правильности написания функции типов не уверенна.

elenak26038778
:разделить число  a  =  10110102  на число  b  =  100102  в двоичной системе счисления.решение: 1)  впишем делимое  a  в 8-ми разрядный регистр, начиная с младших разрядов (нумерация разрядов начинается с нуля). в недостающие разряды записываем нули. разр.76543210a:   01011010обратите внимание!   так как для выполнения деления требуется производить операцию вычитания, это требует использования знаковой ариaметики. и поэтому в нашем случае 7-й разряд является знаковым (0  -  соответствует положительному числу, 1  -  отрицательному), а старшим разрядом числа является 6-й разряд. 2)   впишем делитель  в   в 8-ми разрядный регистр, начиная с младших разрядов. в недостающие разряды записываем нули. разр.76543210b:   00010010 здесь также как и с числом  a   7-й разряд является знаковым, а старшим разрядом числа является 6-й разряд. эти знаковые разряды будут показывать нам знаки, образующихся в процессе деления, частичных остатков. они не имеет никакого отношения к знакам исходных операндов и знаку результата, а играют чисто технологическую роль. 3)  предварительный сдвиг делителя. сдвинем делитель  b  влево так, чтобы позиция старшей значащей единицы, в нем, совпала с позицией старшей значащей единицы в делимом  a. количество необходимых для этого сдвигов запомним в числе  k  в нашем случае старшая значащая единица в делимом  aрасположена в 6-м разряде, a в делителе  b  - в 4-м разряде. следовательно нам необходимо сдвинуть число  b  влево на 2 разряда  (k = 2).сдвинутый делитель выглядит следующим образом : разр.76543210b:   01001000 4)  так как в процессе деления множитель  b   придется не только прибавлять но и вычитать, то нам необходимо иметь число  -b . для этого представим  b   в  дополнительном коде. перевод в дополнительный код осуществим в два этапа: 4.1)вначале получим  обратный код. для этого просто проинвертируем каждый разряд регистра (заменим "0" на "1", а "1" на "0"). разр.76543210bобр  10110111 4.2) прибавим к числу в обратном коде единицу и получим  дополнительный код. разр.c76543210111bобр10110111+00000001bдоп10111000 таким образом  -b = bдоп 5) процесс деления  будет следующий: 5.1) вычитаем из делимого  а  делитель  в  (т.е. прибавляем  -в).5.2) анализируем знак полученного частичного остатка (7-й разряд). в регистр результата записываем "0" если остаток отрицательный и единицу в противном случае. помним, что отрицательному числу соответствует наличие единицы в 7-м разряде и наоборот.5.3) сдвигаем частичный остаток на один разряд влево. при этом крайний правый (младший) разряд заполняется нулем, а знаковый разряд (7-й) в процессе сдвига не участвует.5.4) прибавляем к частичному остатку делитель  в  если остаток отрицательный либо вычитаем делитель в противном случае.5.5) анализируем знак полученного частичного остатка (7-й разряд). в регистр результата записываем "0" если остаток отрицательный и единицу в противном случае.5.6) действия описанные в пунктах 6.3-6.5 выполняем  k  раз (если k=0, то ни разу не выполняем). но, если после очередной операции сложения/вычитания частичный остаток, по модулю, будет меньше чем исходный (несдвинутый) делитель, то операция деления прекращается, а частное дополняется нулями так, чтобы число разрядов частного равнялось  k+1.в нашем случае процесс деления выглядит следующим образом :   разр.c  765432  1011111  частное  а  01011010- b  101110001=000100101< --00100100- b101110000=1101110011111< --10111000+ b010010001=00000000  здесь в колонке  "частное", сверху вниз, записаны разряды искомого частного, начиная со старших. обратите внимание - значение разряда частного - это просто иверсия 7-го (знакового) разряда частичного остатка.в следующем столбце - символика действий предпринимаемых в зависимости от знака частичного остатка. смысл этих символов следующий:         + в  - делитель  в  прибавляется к регистру делимого  a;         - в  - делитель  в  вычитается из регистра делимого  a  (технически здесь прибавляется  вдоп  );         < --  - частичный остаток сдвигается на один разряд влево;       " = "  - показывается значение частичного остатка полученного после сложения. 6)  определяем  остаток от деления. для этого анализируем последний частичный остаток. в нашем случае он равен  "00000000". то есть деление произвелось нацело без остатка. 7)  определяем  знак результата. если знаки исходных операндов одинаковы, то результирующее частное положительно и наоборот. в нашем случае знаки , следовательно результирующее частное положительно. ответ:         10110102  :   100102  =  1012.
stachevay-lera
Procedure massiv;   var a: array[1..10] of integer;   i,max,min: integer;   begin   min: =1;   max: =1;     randomize;     for i: =1 to 10 do    begin    a[i]: =random(100);     if a[i]< a[min] then min: =i;       if a[i]> a[max] then max: =i;       write(a[i],' ');       end;       writeln('минимальное ', a[min], ' максимальное ', a[max]);       if min< max then      for i: = min+1 to max-1 do        write(a[i],' ') else        for i: = max+1 to min-1 do        write(a[i],' ')        end; begin   massiv() end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Даны три натуральных числа.выяснить в каком из них сумма цифр большеопределить функцию для расчёта количества цифр натурального )
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Алина1564
aivia29
boykoz9
ipKAV85
sbn07373
kengyra
pedalplanet
Андрей628
Vika-simonenko
treneva359
akbmaslafarkop3175
Galinagol559
Радецкая264
katar050419735
VadimovnaIgor