
Алгоритмизация. Языки программирования.
Алгоритм – точное предписание, определяющее процесс перехода от исходных данных к результату.
Свойства алгоритма
1. Дискретность – означает расчлененность определяемого алгоритмом вычислительного процесса на отдельные этапы, возможность выполнения которых исполнителем (компьютером) не вызывает сомнений.
2. Понятность – точное понятие команды.
3. Детерминированность (определенность) – предполагает получение однозначного результата вычислительного процесса при заданных исходных данных. Благодаря этому свойству процесс выполнения алгоритма носит механический характер.
4. Результативность – по завершению выполнения алгоритма должен быть получен результат.
5. Массовость – алгоритм должен быть написан для решения ряда подобных задач.
Способы представления алгоритма
- словесный
- формульно-словесный
- графический (блок-схема)
- язык операторных схем
- алгоритмический язык.
Наибольшее распространение благодаря своей наглядности получил графический способ записи алгоритмов.
Блок-схемой называется графическое изображение логической структуры алгоритма, в котором каждый этап процесса обработки информации представляется в виде геометрических символов (блоков), имеющих определенную конфигурацию в зависимости от характера выполняемых операций.
Основные базовые структуры алгоритма
- линейная;
- ветвящаяся (ветвление);
- циклическая (цикл).
Программирование – это процесс создания программы, который может быть представлен как последовательность следующих шагов:
- определение требований к программе;
- разработка или выбор алгоритма решения поставленной задачи;
- написание команд;
- отладка;
- тестирование.
Язык программирования – формальный язык для описания алгоритма решения задачи на компьютере.
Уровни языков программирования
Языки программирования бывают двух уровней: низкого и высокого уровня.
Языки программирования низкого уровня близки к машинному коду и ориентированы на конкретные команды процессора.
Языком самого низкого уровня является язык ассемблера, который представляет каждую команду машинного кода с помощью символьных условных обозначений, называемых мнемоникой. Каждой модели процессора соответствует свой язык ассемблера.
С помощью языков низкого уровня создаются очень эффективные и компактные программы, так как разработчик получает доступ ко всем возможностям процессора. С другой стороны, для этого требуется очень хорошо понимать устройство компьютера (отладка больших приложений затруднена, а результирующая программа не может быть перенесена на компьютер с другим типом процессора). Подобные языки обычно применяются для написания небольших системных приложений, драйверов устройств, когда важнейшими требованиями становятся компактность, быстродействие и возможность прямого доступа к аппаратным ресурсам.
Языки программирования высокого уровня значительно ближе и понятнее человеку, для описания алгоритма используется привычная для него форма. Особенности конкретных компьютерных архитектур (аппаратных средств) в них не учитываются, поэтому создаваемые тексты программ легко переносимы на другие платформы, имеющие программу перевода данного языка в машинный код.