Механизмы поиска могут быть различными. Конкретный механизм зависит от различных факторов, таких как, количество планируемых поисков, объем текстового файла, условия поиска и т.д.
1. Однократный поиск в соответствии с условиями задачи.
В этом случае нет смысла в использовании сложных алгоритмов и/или предварительной подготовке файла. Чем сложнее алгоритм, тем больше будут затраты труда и времени на написание и отладку программы. Наилучшее решение - последовательный просмотр строк файла с поиском первого вхождения в строку заданного контекста. Большинство языков программирования имеет встроенную функцию или процедуру поиска подстроки в строке, например Pos() в языке Паскаль, поэтому задача сводится к единственному циклу "Повторять пока не встретился конец файла: читать строку, искать в строке контекст и что-то с ним сделать".
2. Многократный поиск в файле различных контекстов.
Здесь используются специально разработанные методы, основанные на предшествующем построении дополнительных структур, таких, как индексы, деревья поиска и т.д. Их общий смысл в том, что для поиска сначала просматриваются эти вспомогательные структуры (которые, к тому же, упорядочены для ускорения поиска) и зачастую к самому файлу можно вообще не обращаться. Для понимания аналогии можно вспомнить поиск нужного слова в словаре. Сначала мы выбираем первую букву, затем ищем страничку, которая содержит слова, между которыми находится наше искомое, а потом просматриваем найденную страницу.
//Pascal ABC.NET v3.1 сборка 1172
Var
n,r:integer;
begin
readln(n);
n:=(n div 10)*(n mod 10);
writeln(n);
end.
Пример ввода:
32
Пример вывода:
6
А) книга, Сказки Пушкина,235 страниц, содержит текст и цветные иллюстрации,стоимость 75 рублей.
б) 1 Сказки Пушкина
2 235 страниц
3 75 рублей
4 цветные
<span>5 есть текст
вроде так)))</span>
Num := (d + n) / 10;
sq := trunk(num) + 1;
Индексами помечено, в каком порядке мы должны "собирать" получившееся число.
10 / 8 = 1₁ (2₂)
С шестнадцатеричной системой ничего не надо делать, ведь 10 в ней - это буква A.
<h2>Ответ</h2>
12₈ и A₁₆