
- •Процедуры, функции; записи; файлы. Программирование рекурсивных алгоритмов.
- •Программирование рекурсивных алгоритмов
- •0 00011010 - Положительное число 1 00011010 – отрицательное число
- •Кодирование текстовой информации
- •Кодирование графической информации
- •Кодирование звуковой информации
- •Языки программирования высокого уровня
- •Основные преимущества алгоритмических языков перед машинными таковы:
Языки программирования высокого уровня
Языки программирования являются частным случаем алгоритмических языков. Язык программирования – алгоритмический язык, предназначенный для написания алгоритмов, выполняемых на компьютере.
Алгоритмическим языком называется формальный искусственный язык, предназначенный для представления алгоритмов.
Для формальных языков характерно отсутствие избыточности и строго определенный смысл всех конструкций. Любой формальный язык включает в себя 3 составляющих: алфавит, синтаксис, семантика.
Алфавит представляет собой совокупность упорядоченных в определенном смысле символов (букв) в данном языке или системе. Только символы, принадлежащие данному алфавиту, можно использовать для построения слов.
Синтаксис – это набор правил построения слов, конструкций и структур текста в языке или системе. Некоторые авторы включают в синтаксис и алфавит. Ошибки, возникающие при написании программы и касающиеся только синтаксиса, выявляются при синтаксическом анализе, осуществляемом транслятором.
Транслятор – это программа, производящая трансляцию программы с одного языка программирования в другой.
Под семантикой понимается смысл каждой синтаксической конструкции в языке или системе.
Языки программирования можно разделить на низкоуровневые (машинозависимые – команды могут выполняться только с помощью определенных машин) и высокоуровневые (машинонезависимые). Для высокоуровневых языков характерен расширенный набор конструкций и близость этих конструкций к естественным языкам. Языки низкого уровня: язык машинных команд – набор некоторых команд, записанных в двоичном коде; язык ассемблера – тот же язык машинных команд, только команда представлена некоторым буквенным обозначением (словом). Языки высокого уровня делятся на:
процедурные (алгоритмические) (Basic, Pascal, C и др.), предназначены:
-для однозначного описания алгоритмов;
-для решения задачи процедурные языки требуют в той или иной форме явно записать процедуру ее решения;
логические (Prolog, Lisp и др.), которые ориентированы на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания;
объектно-ориентированные (Object Pascal, C++, Java и др.), в основе лежит понятие объекта, сочетающего в себе данные и действия над нами. Программа на объектно-ориентированном языке, решая некоторую задачу, по сути описывает часть мира, относящуюся к этой задаче.
Основные преимущества алгоритмических языков перед машинными таковы:
- алфавит алгоритмического языка значительно шире алфавита машинного языка;
- набор операций, допустимых для использования, не зависит от набора машинных операций, а выбирается из соображений удобства формулирования алгоритмов решения задач определенного класса;
- требуемые операции задаются с помощью общепринятых математических обозначений;
- данным в алгоритмических языках присваиваются индивидуальные имена, выбираемые программистом;
- в языке может быть предусмотрен значительно более широкий набор типов данных по сравнению с набором машинных типов данных.