В соответствии с этим алгоритмом, как отмечалось выше, эталонный массив просматривается последовательно от первого до последнего элемента. Наиболее сложным является случай, когда слова нет в словаре (не найдено).
Общий алгоритм поиска можно описать так.
1. Ввести два исходных массива слов (таблицу-словарь).
2. Повторять
ввести новое слово и вывести русское
пока не надоест.
3. Закончить.
Пусть для окончания работы с программой (когда переводить надоело) необходимо ввести слово "End".
Уточненный алгоритм будет таким.
1. Ввести два исходных массива слов (таблицу-словарь).
2. Повторять
2.2.1. Ввести Слово (для перевода);
2.2.2. Номер Русского_Слова (Num):= 0;
2.2.3. Для номера Английского_Слова (i) от 1 до n выполнить
Основной недостаток алгоритма линейного поиска – большое время. При использовании оператора For для поиска ВСЕГДА выполняется ровно n операций сравнения, не зависимо от того, найдено слово или нет. Поэтому программа, обнаружив слово в начале словаря, продолжает его просмотр до конца, т.е. выполняет бесполезную работу. Время поиска может быть существенно сокращено, если обеспечить его прекращение, когда слово найдено. При равномерном распределении элементов в таблице эталаонов (слов в словаре) среднее время поиска может стать пропорциональным величине n / 2.
Этого можно достичь, изменив пункт 2.2 в рассмотренном выше алгоритме следующим образом.