Ethernet — это самая распространённая технология локальных сетей в мире. Сотни миллионов устройств и высокий спрос на поддержку Ethernet-систем говорят о том, что изобретение 43-летней давности прочно закрепилось и никуда не исчезнет в ближайшее время.
Объяснение:
В ходе развития компьютерной техники Ethernet постоянно «переизобретали», добавляли новые возможности и сделали общепринятой сетевой технологией. В этом материале мы затронем тему эволюции Ethernet — от изобретения до превращения в стандарт международного уровня и основу огромного количества сетей.
Первое, что приходит в голову, когда речь заходит о технологиях локальных сетей – это, конечно, Ethernet. Эта технология была разработана в 1970 году Исследовательским центром в Пало-Альто, принадлежащем корпорации Xerox. В 1980 г. на его основе появилась спецификация самой характерной чертой Ethernet является метод доступа к среде передачи - CSMA/CD (carrier-sense multiple access/collision detection) - множественный доступ с обнаружением несущей. Перед началом передачи данных сетевой адаптер Ethernet "прослушивает" сеть, чтобы удостовериться, что никто больше ее не использует. Если среда передачи в данный момент кем-то используется, адаптер задерживает передачу, если же нет, то начинает передавать. В том случае, когда два адаптера, предварительно прослушав сетевой трафик и обнаружив "тишину", начинают передачу одновременно, происходит коллизия. При обнаружении адаптером коллизии обе передачи прерываются, и адаптеры повторяют передачу спустя некоторое случайное время (естественно, предварительно опять прослушав канал на предмет занятости). Для приема информации адаптер должен принимать все пакеты в сети, чтобы определить, не он ли является адресатом.
Различные реализации - Ethernet, Fast Ethernet, Gigabit Ethernet – обеспечивают пропускную соответственно 10, 100 и 1000 Мбит/с.
// PascalABC.NET 3.1, сборка 1230 от 27.04.2016
begin
Writeln('Sпол.неч = ',ArrRandom(50,-10,20).Println
.Where((x,i)->(x>0) and (i.IsEven)).Sum)
end.
Тестовое решение
15 16 0 17 20 7 -3 -4 9 9 -3 -8 14 10 10 11 7 18 -8 8 0 15 1 4 11 1 9 -10 -7 -7 12 17 8 13 7 15 1 13 12 11 4 -5 -3 -6 -5 -10 -9 -8 8 -8
Sпол.неч = 148
2. Длинный "школьный" вариант ("почувствуйте разницу")
// PascalABC.NET 3.1, сборка 1230 от 27.04.2016
var
a:array[1..50] of integer;
i,s:integer;
begin
Randomize;
s:=0;
for i:=1 to 50 do begin
a[i]:=Random(31)-10; Write(a[i],' ');
if (a[i]>0) and Odd(i) then s:=s+a[i]
end;
Writeln;
Writeln('Sпол.неч = ',s)
end.
Тестовое решение
4 14 4 7 9 -4 3 6 20 -10 3 -3 15 12 9 0 3 12 13 -1 9 -2 -2 16 18 -2 5 9 17 -3 4 -6 10 10 -5 10 8 13 12 15 13 1 12 1 7 6 9 2 -9 -6
Sпол.неч = 207