Есть ответ 👍

В файле numbers.dat записаны два числа: одно в восьмеричной системе, а другое — в шестнадцатеричной. Причем

254
313
Посмотреть ответы 2

Ответы на вопрос:


Решение задачи основано на быстром (поразрядном) переводе входных данных в двоичную систему счисления. Каждая цифра восьмеричного числа, за исключением первой, заменяется на 3 двоичные цифры, а каждая цифра шестнадцатеричного — на 4. Программа читает цифры из файла, запоминая в массиве результат перевода в двоичную систему. Далее сравниваются длины полученных массивов. Только если они равны, то производится их поэлементное сравнение, начиная со старшего разряда
Программа составлена верно, т.е. правильно сравнивает достаточно большие числа, не переводя их в десятичную систему. При переводе символа цифры в его числовое значение не анализируется каждый символ в отдельности. Допускается наличие в тексте программы одной пунктуационной ошибки. Пример правильной и эффективной программы:
var a,b:array[1..4000] of 0..1;
 n,m,i,j,k,l1,l2,p:integer;
 c:char;
begin
 assign(input,'numbers.dat'); reset(input);
 readln(n); read(c);
 k:=ord(c)-ord('0'); p:=4; l1:=0;
 while k div p =0 do p:=p div 2;
 while p>0 do
 begin
 l1:=l1+1; a[l1]:=k div p;
 k:=k mod p; p:=p div 2
 end;
 for i:=2 to n do
 begin
 read(c); k:=ord(c)-ord('0');
 p:=4;
 for j:=1 to 3 do
 begin
 l1:=l1+1; a[l1]:=k div p;
 k:= k mod p; p:=p div 2
 end
 end;
 readln(m); read(c); p:=8; l2:=0;
 if c in ['1'..'9'] then k:=ord(c)-ord('0')
   else k:=ord(c)-ord('A')+10;
 while k div p = 0 do p:=p div 2;
 while p>0 do
 begin
 l2:=l2+1; b[l2]:=k div p;
 k:= k mod p; p:=p div 2
 end;
 for i:=2 to m do
 begin
 read(c); p:=8;
 if c in ['0'..'9'] then k:=ord(c)-ord('0')
    else k:=ord(c)-ord('A')+10;
 for j:=1 to 4 do
 begin
 l2:=l2+1; b[l2]:=k div p;
 k:= k mod p; p:=p div 2
 end
 end;
 if l1<l2 then writeln('<') else
 if l1>l2 then writeln('>') else
 begin
 i:=1;
 while (i<l1)and(a[i]=b[i]) do i:=i+1;
 if a[i]<b[i] then writeln('<') else
 if a[i]>b[i] then writeln('>') else writeln('=')
 end
end.

Тепловое расширение вещества.
Все вещества (газы, жидкости, твердые тела) имеют атомно-молекулярную структуру. Атом, равно как и молекулы, во всем диапозоне температур находятся в непрерывном хаотическом движении, причем, чем выше температура обьема вещества, тем выше скорость перемещения отдельных атомов и молекул внутри этого обьема (в газах и жидкостях) или их колебания - в кристаллических решетках твердых тел. Поэтому с ростом температуры увеличивается среднее расстояние между атомами и молекулами, в результате чего газы, жидкости и твердые тела расширяются - при условии, что внешнее давление остается постояннвм

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Другие предметы

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

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

Подпишись на наш телеграмм канал

GTP TOP NEWS