14:
14(10) = 8+4+2 = 1110(2)
В 8-разрядной ячейке: 00001110
В знаковом (старшем) разряде положительного числа - значение "0".
Обратный и дополнительный код положительного числа совпадает с прямым кодом.
-31:
31 = 16+8+4+2+1 = 11111(2)
В 8-разрядной ячейке: 00011111
Получим обратный код отрицательного числа, заменив все цифры на противоположные (0 на 1, 1 на 0): 11100000
В знаковом (старшем) разряде отрицательного числа - значение "1".
Получим дополнительный код отрицательного числа, добавив 1 к младшему разряду: 11100000+1 = 11100001
Выполним сложение: 00001110+11100001 = 11101111
В результате сложения получили отрицательное число (в старшем разряде "1").
Определим абсолютную величину этого числа.
Вычтем 1: 11101111-1 = 11101110
Заменим все цифры на противоположные: 00010001
00010001 = 2^4+2^1 = 16+1 = 17
Итак, с учётом знака "-", получили результат -17
14+(-31) = -17
Var
a:array[1..12]of integer;
m, n:integer;
Begin
a[1]:=31;a[7]:=31;
a[2]:=28;a[8]:=31;
a[3]:=31;a[9]:=30;
a[4]:=30;a[10]:=31;
a[5]:=31;a[11]:=30;
a[6]:=30;a[12]:=31;
Write('Введите номер месяца -> ');
Readln(m);
Write('Год високосный(1 - да || 0 - нет)?');
Readln(n);
if (m = 2) then Writeln(a[m] + n) else
Writeln(a[m]);
end.
// PascalABC.NET 3.3
begin
var n:=ReadInteger('n = ');
var a:=ArrRandom(n,-10,10); a.Println;
a:=a.Shuffle; a.Println;
a:=a.Where(x->x<>a.Max).ToArray;
a.Println;
end.
Пример:
n = 20
8 -9 1 -5 -5 0 9 -4 -7 -4 -3 9 7 -2 4 6 -2 7 -9 -2
-4 -7 -2 8 9 -3 9 7 4 -9 -2 -2 -4 6 0 1 -5 -5 7 -9
-4 -7 -2 8 -3 7 4 -9 -2 -2 -4 6 0 1 -5 -5 7 -9
S = V * t , исходя из этого V = S / t - в этом была ошибка.
А предложение для улучшения - ну, не знаю, ускорить вывод скорости движения ученика что ли,не 2 секунды,а 1 секунду.