Алфавит

Программа

Теперь описанный выше процесс можно описать более точно. Для записи чисел в память будем пользоваться обычным для языков программирования оператором присвоения. Например, М: = х означает, что переменной М присвоено значение переменной .с; в терминах машинной памяти это значит, что в ячейку памяти М записано содержимое ячейки х.

1. Ввести данные: исходную последовательность расположить в ячейках р(1), ..., р(п).

2. е:=п (в ячейке е лежит число элементов последовательности).

3. i: = 1 (счетчик номеров устанавливаем в начальное положение).

4.M:= р(1) (в М—первое число).

5.N: = 1 (в N — его номер).

6. i: = i + 1 (счетчик увеличивается на 1).

7. Если p(i) £ М, то перейти к п. 10; иначе перейти к следующему шагу (п. 8).

8. М: = p(i)М — новое число).

9. N: = iN — его номер).

10. Если i < е ,то перейти к п. 6; иначе — к следующему шагу-

11. Конец алгоритма.

Это описание уже близко к программе на языке программирования. Для машинной реализации остается выбрать язык программирования, уточнить с его помощью шаг 1 (он не элементарен и в разных языках будет уточнен по-разному), вставить после шага 10 шаг, связанный с выводом результата (на печать или экран), и записать алгоритм на выбранном языке, строго соблюдая его синтаксис.

Алгоритм является фундаментальным понятием информатики. Можно выделить три крупных класса алгоритмов: вычислительные, информационные и управляющие. Вычислительные алгоритмы, как правило, работают со сравнительно простыми видами данных (числа, матрицы), но сам процесс вычисления может быть долгим и сложным. Информационные алгоритмы представляют собой набор сравнительно простых процедур (например, поиск числа или слова, удовлетворяющего определенным признакам), но работающих с большими объемами информации. Таковы алгоритмы в различных базах данных. Для того чтобы они работали эффективно, важно иметь хорошую организацию данных. Например, чтобы в картотеке можно было быстро найти нужные сведения, эти сведения нужно постоянно поддерживать в определенном порядке (по разделам, внутри разделов по алфавиту и т. д.). Управляющие алгоритмы характеризуются тем, что данные к ним поступают от внешних процессов, которыми они управляют. Результаты работы этих алгоритмов представляют собой различные управляющие воздействия. Поэтому значения данных в ходе работы управляющих алгоритмов меняются (иногда очень быстро), и алгоритм должен вовремя правильно отреагировать, т. е. выдать нужный управляющий сигнал в нужный момент.

Алфавит – конечное множество символов.

Всем известны алфавиты естественных языков: русский, латинский и другие, представляющие собой конечные множества букв. В информатике алфавит понимается более широко: как множество всех символов, используемых при написании некоторого класса текстов. Например, алфавит текстов, которые могут быть напечатаны на пишущей машинке, — это множество всех символов клавиатуры машинки: строчные и прописные буквы, цифры, знаки препинания, скобки и др.

Алфавит языка программирования — множество символов, которые могут быть использованы в текстах этого языка (в частности, символами, т. е. элементарными неделимыми единицами, считаются ключевые слова языка программирования — begin, end, else, for и т. д.).

Блок-схема алгоритма