1)первые два числа в маске 255 => первые два числа IP адреса компьютера целиком относятся к номеру сети
2)последнее число в маске 0, поэтому последнее число IP адреса целиком относится к номеру узла
3)
Учитываются только последние 2 бита, но нужно учитывать ещё и 138:
и того получилось:
4)первое число в полученном адресе 3 умножается на , а второе просто добавляется к сумме
3*256+138 = 906
ответ: 906
roman-fetisov2005
24.11.2022
Так как в задании не указано, что введенное слово должно обрамляться пробелами, то код может быть такой:
var s,a:string; begin write('Введите строку : '); readln(s); write('Введите слово : '); readln(a); if(pos(a, s) <> 0) then writeln('Слово "',a,'" в строке есть') else writeln('В строке такого слова нет'); end.
Тест №1 Введите строку : Привет участникам олимпиады! Введите слово : ник Слово "ник" в строке есть
Тест №2 Введите строку : Всем привет! Введите слово : админ В строке такого слова нет
qwe54344
24.11.2022
Довольно просто найти ответ, используя таблицу в Excel (см.файл).
В первом столбце таблицы ставим номер шага- от состояния до начала (нулевой шаг), до девятого шага.
В следующем столбце будем составлять слово для каждого шага. Для нулевого шага оставляем пустую ячейку. Для первого шага пишем такую формулу: =СИМВОЛ(B4+64)&C3&C3 Эта формула составляет одну текстовую строку из трёх текстовых строк (символ "&" как раз выполняет соединение строк). здесь B4 -адрес ячейки, находящейся слева от текущей (в ней содержится номер текущего шага). Для первого шага, к номеру шага (1) прибавляется число 64 (получили 65), затем функция СИМВОЛ возвращает нам первую букву латинского алфавита (её код=65). Для каждого следующего шага получаемый код будет увеличиваться на единицу, и функция будет возвращать по порядку следующие буквы алфавита (они идут по порядку, с кодами 65 - 90). C3 -адрес ячейки, находящейся сверху от текущей (в ней содержится строка, полученная на предыдущем шаге). Для первого шага берётся строка с нулевого шага (из пустой ячейки, то есть пустая строка). Эта взятая строка дважды добавляется к предыдущему тексту (к букве алфавита). Для каждого следующего шага, к букве будет дважды добавляться текстовая строка, полученная на предыдущем шаге.
Эту формулу надо скопировать во все ячейки столбца, с первого до девятого шага.
Затем, под этой таблицей, в любой ячейке ставим формулу, составляющую текстовую строку пароля: =ПСТР(C12;1;1)&ПСТР(C12;511;1)&ПСТР(C12;6;1)&ПСТР(C12;258;1)&ПСТР(C12;68;1) Здесь C12 -адрес ячейки, в которой содержится текстовая строка, полученная на последнем, девятом шаге. Формула состоит из пяти функций ПСТР, каждая из них возвращает по одной букве пароля, затем буквы составляются в одну текстовую строку пароля, сцепляясь с символа "&". Для функции ПСТР в скобках указаны через точку с запятой её аргументы: текстовая строка (у нас стоит ссылка на строку в ячейке C12); позиция извлекаемой буквы в строке (по задаче, используются пять позиций: 1, 511, 6, 258 и 68); количество извлекаемых букв (одна).
В итоге, мы получаем текстовую строку пароля: IADGE (первой идёт большая буква i)
Также, я добавил третий столбец, где показывается длина текстовой строки, полученной на каждом шаге. Этот столбец не обязательный, я добавил просто для сведения.
Если эксель у вас не установлен, можно использовать его онлайн-версию (там нужно войти с учётной записью майкрософт), либо использовать бесплатные аналоги (например из OpenOffice). Есть и бесплатные онлайн аналоги экселя. Но, в аналогах скорее чаще всего функции уже другие (в OpenOffice, например, вместо СИМВОЛ используется CHAR, а вместо ПСТР используется MID.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Если маска подсети 255.255.252.0 и ip-адрес компьютера в сети 156.132.15.138, то номер компьютера в сети
ip: 156.132.15.138
1)первые два числа в маске 255 => первые два числа IP адреса компьютера целиком относятся к номеру сети
2)последнее число в маске 0, поэтому последнее число IP адреса целиком относится к номеру узла
3)
Учитываются только последние 2 бита, но нужно учитывать ещё и 138:
и того получилось:
4)первое число в полученном адресе 3 умножается на , а второе просто добавляется к сумме
3*256+138 = 906
ответ: 906