<span>//PascalABC.NET
//Версия 3.3, сборка 1634 (14.02.2018)</span>
begin
var a:=ArrRandomInteger(ReadInteger('n->'),-100,100); a.Println;
Println('Сумма=',Range(0,a.Length-1,2).Aggregate(0,(s,z)->s+a[z]));
end.
Пример:
n-> 4
-63 28 -56 -1
Сумма= -119
1.3.1.ПОНЯТИЕ СИСТЕМЫ СЧИСЛЕНИЯ.
Все фантастические возможности вычислительной техники (ВТ) реализуются путем создания разнообразных комбинаций сигналов высокого и низкого уровней, которые условились называть «единицами» и «нулями».
Система счисления(СС) - это система записи чисел с помощью определенного набора цифр.CС называетсяпозиционной, если одна и та же цифра имеет различное значение, которое определяется ее местом в числе. Десятичная СС является позиционной: 999.Римская СС является непозиционной. Значение цифры Х в числе ХХІ остается неизменным при вариации ее положения в числе.Количество различных цифр, употребляемых в позиционной СС, называется основанием СС.
Развернутая форма числа - это запись, которая представляют собой сумму произведений цифр числа на значение позиций.
Например: 8527=8*103+5*102+2*101+7*100
Развернутая форма записи чисел произвольной системы счисления имеет вид
, где
X - число;
a - основа системыисчисления;
i - индекс;
m - количество разрядов числа дробной части;
n - количество разрядов числа целой части.
Например: 327.46 n=3, m=2, q=10
Если основание используемой СС больше десяти, то для цифр вводят условное обозначение со скобкой вверху или буквенное обозначение.
Например: если 10=А, а 11=В, то число 7А.5В12 можно расписать так:
7А.5В12 = В·12-2 + 5 ·2-1 +А ·120 + 7 ·121.
В шестнадцатеричной СС основа - это цифры 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 с соответствующими обозначениями 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F. Примеры чисел: 17D.ECH, F12AH.
ДвоичнаяСС- это система, в которой для записи чисел используются две цифры 0 и 1. Основанием двоичной системы счисления является число 2.
Двоичный код числа - запись этого числа в двоичной системе счисления. Например,
0=02
1=12
2=102
3=112 …
7=1112
120=11110002.
В ВТ применяют позиционные СС с недесятичным основанием: двоичную, восьмеричную, шестнадцатеричную. Для обозначения используемой СС число снабжают верхним или нижним индексом, в котором записывают основание СС. Другой способ – использование латинских букв после записи числа:
D – десятичная СС
В – двоичная СС
О – восьмеричная СС
Н – 16-ричная СС.
Несмотря на то, что 10-тичная СС имеет широкое распространение, цифровые ЭВМ строятся на двоичных элементах, т.к. реализовать элементы с 10 четко различимыми состояниями сложно. Историческое развитие ВТ сложилось таким образом, что ЭВМ строятся на базе двоичных цифровых устройств: триггеров, регистров, счетчиков, логических элементов и т.д.
16-ричная и 8-ричная СС используются при составлении программ на языке машинных кодов для более короткой и удобной записи двоичных кодов – команд, данных, адресов и операндов.
Задача перевода из одной СС в другую часто встречается при программировании, особенно, на языке Ассемблера. Например, при определении адреса ячейки памяти. Отдельные стандартные процедуры языков программирования Паскаль, Бейсик, Си, HTML требуют задания параметров в 16-ричной СС. Для непосредственного редактирования данных, записанных на жесткий диск, также необходимо умение работать с 16-ричными числами. Отыскать неисправность в ЭВМ невозможно без представлений о двоичной СС.
В таблице приведены некоторые числа, представленные в различных СС.
Двоичные
числа
Восьмеричные
числа
Десятичные
числа
Шестнадцатеричные
числа
0
0
0
0
1
1
1
1
10
2
2
2
11
3
3
3
100
4
4
4
101
5
5
5
110
6
6
6
111
7
7
7
1000
10
8
8
1001
11
9
9
1010
12
10
A
1011
13
11
B
1100
14
12
C
1101
15
13
D
1110
16
14
E
1111
17
15
F
Ответ:
10.8.224.0
Объяснение:
<u>1. Получаем двоичный код IP-адреса:</u>
<em>10.8.240.121 = </em>0 0 0 0 1 0 1 0 . 0 0 0 0 1 0 0 0 . 1 1 1 1 0 0 0 0 . 1 0 0 0 0 0 1 1
<u>2. Получаем двоичный код маски: </u>
<em>255.255.224.0 = </em>1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 0 0 0 0 0 . 0 0 0 0 0 0 0 0
<u>3. Применяем к ним операцию побитовой конъюнкции (побитовое умножение), получим:</u>
0 0 0 0 1 0 1 0 . 0 0 0 0 1 0 0 0 . 1 1 1 0 0 0 0 0 . 0 0 0 0 0 0 0 0
<u>4. Записываем полученный адрес в десятичном формате:</u>
10.8.224.0
<u></u>