Типы обработки информации
Обработка информации — процесс планомерного изменения ее содержания или формы представления. Можно выделить несколько типов таких процессов:
- обработка, связанная с получением новой информации, нового содержания знаний, например, следователь по некоторому набору улик находит преступника;
- обработка, связанная с изменением формы, но не изменяющая содержания; например, перевод текста с одного языка на другой; сюда же можно отнести и структурирование данных (расположение данных в алфавитном порядке, группировка по признакам, табличное представление и т.п.);
- поиск информации в массиве, таком как телефонный справочник, словарь, расписание поездов и т.д.; если информация структурирована, то поиск осуществляется быстрее.
Понятие алгоритма
Обработка информации производится в соответствии с определенными правилами человеком или автоматическим устройством. Такой порядок называется алгоритмом в честь средневекового арабского математика Аль-Хорезми. Он один из первых детально исследовал наборы инструкций, описывающих порядок действий исполнителя для достижения некоторого результата.
Рисунок 1. Памятник Аль Хорезми в Хиве, Узбекистан. Автор24 — интернет-биржа студенческих работ
В развитие теории алгоритмов внесли весомый вклад такие ученые, как Готфрид Лейбниц, Ада Лавлейс, Блез Паскаль, Леонард Эйлер и другие.
В настоящее время основополагающей аксиомой теории алгоритмов считается тезис Чёра - Тьюринга, в соответствии с которым "числовая функция тогда и только тогда алгоритмически исчисляется, когда она частично рекурсивна", т.е. может быть разложена на простейшие действия (операторы), многократное повторное обращение к которым приводит к требуемому результату. Такую функцию можно вычислить на т.н. машине Тьюринга - абстрактном устройстве, умеющем выполнять простейшие операторы, такие как сложение и вычитание. Создавая всё более сложные функции на основе комбинирования простых, машина Тьюринга может выполнять класс задач, которые и являются алгоритмически исчислимыми.
Рисунок 2. Схема машины Тьюринга. Автор24 — интернет-биржа студенческих работ
Исполнитель алгоритма
Исполнитель, под которым может подразумеваться как живое существо, так и искусственно созданное устройство, получает данные и подвергает их обработке (вход исполнителя). Результатом становится информация, передаваемая вовне (выход). Исполнитель располагает обрабатывающим блоком (процессором) и памятью для хранения как обрабатываемой информации, так и самого алгоритма.
Выполнение инструкций в рамках решения конкретной задачи может производиться как последовательно, так и параллельно, если ее можно разбить на независимые фрагменты. Примером параллельных вычислений может служить подсчет голосов на выборах, когда вычисления одновременно производятся на многих участках. В компьютерах параллельные вычисления организованы за счет использования сразу нескольких процессоров или процессорных ядер.
Для автоматизации обработки информации компьютеры настраиваются на выполнение тех или иных алгоритмов с помощью программ, которые составляются с помощью языков программирования. При этом задачи разбиваются на простые фрагменты. Те из них, которые могут быть пригодны для решения других аналогичных задач, оформляются и сохраняются в виде так называемых библиотек и используются многократно. Существуют программные библиотеки для решения разных классов задач:
- для управления оборудованием (устройствами ввода, вывода, хранения, преобразования информации);
- для обработки текстов;
- для обработки звука;
- для обработки изображений;
- для криптографических целей (шифрование/дешифрование);
- для математических вычислений;
- для взаимодействия по сети;
- для формирования пользовательских интерфейсов;
- для работы с базами данных.
Программные библиотеки представляют собой совокупности функций - фрагментов компьютерного кода, обладающих всеми признаками абстрактного вычислительного устройства: входом, вычисляющим блоком и выходом.
Вход функции представляет собой множество т.н. аргументов. Оно может быть пустым, с фиксированным или переменным количеством членов. Выход функции представляет собой, как правило, оператор return, возвращающий результирующее значение, которое может быть не только числом, но и сложным объектом. Некоторые функции не возвращают значений, а выводят результат на какое-нибудь устройство или в память.
сортировки в виде функции на языке JavaScript. Автор24 — интернет-биржа студенческих работ" />
Рисунок 3. Реализация алгоритма сортировки в виде функции на языке JavaScript. Автор24 — интернет-биржа студенческих работ
Внутри вычислительного блока функции размещаются:
- выражения (математические, логические и т.п.);
- обращения к другим функциям, в том числе расположенным в других библиотеках;
- условные переходы, с помощью которых организуется ветвление программы, переходы между ее частями (если ... то ... иначе ...);
- циклы, повторяющие часть программы до наступления определенного условия;
- обращения к внешним устройствам ввода/вывода для получения дополнительной информации и записи промежуточных результатов.
Разбив задачу на ряд относительно простых функций и изучив возможности полезных библиотек, программист составляет из этих логически замкнутых фрагментов приложение. Приложение имеет точку входа - функцию с которой начинается обработка, и демонстрирует пользователю полученные результаты (в большинстве случаев на мониторе).