filimo2000
15.07.2020 18:28

Для хранения целого числа со знаком используется два байта. Найти десятичное число в его внутреннее представление, выполнить
арифметическую операцию, записывая числа в зависимости от ситуации в
прямом и обратном кодах.
Условие: X=A+B, где A= -37, B=25.
мне нужно полное решение с переводом во внутреннее представление и
выполнением вычислений

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
PolinaSlesareva
13.12.2021 12:52

var

 Ch, Mes, MaxCh: Integer;

begin

 Write ('Введите число (1-31):');

 ReadLn (Ch);

 if (Ch < 1) or (Ch > 31) then begin

   WriteLn ('Введено некорректное число');

   Exit;

 end;

 Write ('Введите месяц (1-12): ');

 ReadLn (Mes);

 if (Mes < 1) or (Mes > 12) then begin

   WriteLn ('Введен некорректный месяц');

   Exit;

 end;

 case Mes of

 1, 3, 5, 7, 8, 10, 12: MaxCh := 31;

 4, 6, 9, 11: MaxCh := 30;

 2: MaxCh := 28;

 end;

 if Ch <= MaxCh then

   WriteLn ('Дата правильная')

 else

   WriteLn ('Дата неправильная!');

end.

// в программе не учитывается то, что в високосном году февраль имеет 29 дней

0,0(0 оценок)
Ответ:
superfrap320
12.03.2022 04:27

программа с комментариями, если все равно не понятно спрашивай

для проверки программы рекомендую n поставить где нибудь на 10 потому что вводить 1000 чисел с клавиатуры то еще удавольствие :))

числа можно вводить по одному или одной строкой через пробел

const

   n = 1000; // длина массива

var

   d : array of integer := new integer[n]; // объявляем и создаем массив

   a, b : integer;

   

begin

   // вводим числа в массив //

   writeln('введите данные в массив:');

   for var i := 0 to n-1 do begin

       read(a);

       d[i] := a;

   end;

   writeln('введен массив d=', d); // выводим массив на экран

   // переворачиваем данные в массиве                                //

   // для этого меняем первое с последним, второе с предпоследним    //

   // и так до середины                                              //

   for var i := 0 to (n div 2)-1 do begin

       a := d[i];

       d[i] := d[n-i-1];

       d[n-i-1] := a;

   end;

   writeln('переворачиваем массив d=', d); // выводим перевернутый массив

   write('числа у которых первая цифра больше последней:');

   // ищем и ввыводим числа с заданным условием //

   for var i := 0 to n-1 do begin

       // находим чему равна 1 цифра //

       b := d[i];

       repeat

           b := b div 10;

       until b < 10;

       if b > d[i] mod 10 then write(' ', d[i]); // сравниваем первую и последнюю цифры и ели первая больше то выводим число

   end;

end.

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота