1)когда найдется элемент равный заданому 2)отсекается 1 элемент 3)Произведение элементов массива, которые лежат в промежутке [40;55)
в паскале как и почти любом ЯП есть переменные,которые содержат имя и значение,например (i: =0)->имя переменной i,значение 0.Значение переменной можно изменить,имя переменной нельзя.Массивы это переменные которые хранят несколько значений.Чтобы обратиться к определенному значению масива использовать синтаксис имямасива[индексмасива],например чтоб получить 3 элемент масива a использовать a[3].repeat (expression) until(boolean) это цикл,в котором будет выполняться expression(любой код) до тех пор пока boolean не будет верно.Boolean это выражение значение которого будет равно true/false(правда/неправда).Напрмер в repeat i:=i+1; until (a[i]=x) or (i=10); к переменной i будет прибавляться 1 до тех пор пока a[i] не равно x или i будет меньше 10(так как в масиве всего 10 элементов,если например i будет 11 это будет выход за границу массива).Каждый блок выполнения в цикле(в нашем случае i:=i+1) называется итерацией.В цикле for(a to max) в a идет создание переменной-счетчика(в нашем случае создание переменной i со значением 0) ,потом пишется to и идет максимальное значение счетчика.И итерации этого цикла(if (a[i]=>40) and (a[i]<55) then s:=s*a[i]; ).В конце каждой итерации автоматически значение счетчика увеличивается на 1.До тех пор пока счетчик меньше или равен max итерации будут выполняться. А вообще в интернете очень много обучающих статей по данной теме
84) Чтобы определить наибольшее количество единиц в разрядах маски надо рассчитать ее адрес в двоичной системе счисления. Это можно сделать с поразрядной конъюнкции (в результате побитного логического умножения адреса маски на ip адрес получим адрес сети)
Известен IP адрес: 68.112.69.138 и адрес сети 68.112.64.0
Первые два байта адреса 68 и 112 совпадают, то есть, если применить поразрядную конъюнкцию, получим адрес маски состоящий из восьми единиц: 11111111 и 11111111.
Рассмотрим третий байт.
маска : ip адрес: 69 в двоичной: 01000101 сеть: 64 в двоичной: 01000000
Правилом для маски является то, что если в маске оказывается ноль, то после него могут идти только нули. До нуля соответственно единицы.
Для шестого слева разряда маски: ?&1=0, значит в маске может находится только ноль.По правилу все остальные справа от шестого биты будут тоже равны нулю Второй бит: ?&1=1 значит в маске только 1, перед ним первый бит по правилу= 1 Третий, четвертый и пятый бит ?&0=0 могут быть как 0 так и 1,но по условию задачи нам надо найти наибольшее возможное количество единиц, следовательно примем значение равным 1.
Получаем значение второго байта маски: 11111000 В итоге адрес маски в двоичной системе получится 11111111.11111111.11111000.00000000 получаем 21 единицу. ответ: 21
88) Решение аналогично предыдущей задачи: IP адрес: 63.132.140.28 адрес сети: 63.132.140.0
Первые три байта ip адреса и адреса сети совпадают, в результате поразрядной конъюнкции получим значение маски 11111111.11111111.11111111
Для четвертого байта: маска: 28 в двоичной системе: 00011100 0 в двоичной: 00000000
Четвертый бит у маски ?&1=0 принимает значение 0 Все последующие биты по правилу= 0 Первые три бита могут быть равны только 1
В итоге адрес маски : 11111111.11111111.11111111.11100000 В нем 27 единиц
2)отсекается 1 элемент
3)Произведение элементов массива, которые лежат в промежутке [40;55)
в паскале как и почти любом ЯП есть переменные,которые содержат имя и значение,например (i: =0)->имя переменной i,значение 0.Значение переменной можно изменить,имя переменной нельзя.Массивы это переменные которые хранят несколько значений.Чтобы обратиться к определенному значению масива использовать синтаксис имямасива[индексмасива],например чтоб получить 3 элемент масива a использовать a[3].repeat (expression) until(boolean) это цикл,в котором будет выполняться expression(любой код) до тех пор пока boolean не будет верно.Boolean это выражение значение которого будет равно true/false(правда/неправда).Напрмер в repeat
i:=i+1;
until (a[i]=x) or (i=10); к переменной i будет прибавляться 1 до тех пор пока a[i] не равно x или i будет меньше 10(так как в масиве всего 10 элементов,если например i будет 11 это будет выход за границу массива).Каждый блок выполнения в цикле(в нашем случае i:=i+1) называется итерацией.В цикле for(a to max) в a идет создание переменной-счетчика(в нашем случае создание переменной i со значением 0) ,потом пишется to и идет максимальное значение счетчика.И итерации этого цикла(if (a[i]=>40) and (a[i]<55) then s:=s*a[i];
).В конце каждой итерации автоматически значение счетчика увеличивается на 1.До тех пор пока счетчик меньше или равен max итерации будут выполняться.
А вообще в интернете очень много обучающих статей по данной теме
Известен IP адрес: 68.112.69.138 и адрес сети 68.112.64.0
Первые два байта адреса 68 и 112 совпадают, то есть, если применить поразрядную конъюнкцию, получим адрес маски состоящий из восьми единиц: 11111111 и 11111111.
Рассмотрим третий байт.
маска :
ip адрес: 69 в двоичной: 01000101
сеть: 64 в двоичной: 01000000
Правилом для маски является то, что если в маске оказывается ноль, то после него могут идти только нули. До нуля соответственно единицы.
Для шестого слева разряда маски: ?&1=0, значит в маске может находится только ноль.По правилу все остальные справа от шестого биты будут тоже равны нулю
Второй бит: ?&1=1 значит в маске только 1, перед ним первый бит по правилу= 1
Третий, четвертый и пятый бит ?&0=0 могут быть как 0 так и 1,но по условию задачи нам надо найти наибольшее возможное количество единиц, следовательно примем значение равным 1.
Получаем значение второго байта маски: 11111000
В итоге адрес маски в двоичной системе получится 11111111.11111111.11111000.00000000
получаем 21 единицу.
ответ: 21
88) Решение аналогично предыдущей задачи:
IP адрес: 63.132.140.28 адрес сети: 63.132.140.0
Первые три байта ip адреса и адреса сети совпадают, в результате поразрядной конъюнкции получим значение маски 11111111.11111111.11111111
Для четвертого байта:
маска:
28 в двоичной системе: 00011100
0 в двоичной: 00000000
Четвертый бит у маски ?&1=0 принимает значение 0
Все последующие биты по правилу= 0
Первые три бита могут быть равны только 1
В итоге адрес маски : 11111111.11111111.11111111.11100000
В нем 27 единиц
ответ: 27 единиц