Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры_ТП (с рамками)_2013.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
253.1 Кб
Скачать

3. Понятие алгоритмического языка. Основные достоинства и недостатки программирования на алгоритмическом языке

Алгоритмический язык (АЯ) – формализованный язык для однозначной записи алгоритмов. Состоит из набора символов (алфавит алгоритмического языка), синтаксических правил и семантических определений; теоретическая основа языков программирования. Нередко термины «алгоритмический язык» и «язык программирования» используют как синонимы.

При появлении компьютеров программы писались в «машинных кодах» - т.е. сразу на языке компьютера. При этом кодирование занимало очень много времени, а выигрыш достигался только за счет того, что комп. умел выполнять все эти простые действия очень быстро. Но таким способом м. было решать только относительно простые вычислительные задачи.

Ввиду ограниченного числа команд процессора, многие комбинации повторялись в разных программах. В первую очередь это относилось к стандартным функциям и часто используемым действиям. Возникла разумная идея: сделать некий набор макрокоманд, который бы включал такие часто используемые комбинации. Отсюда пошли языки программирования. Т.е. была написана специальная программа «транслятор», которая получала программу, написанную на каком-то языке программирования и «переводила» ее на язык компьютера.

Помимо языков «низкого уровня», которые автоматизировали кодирование стандартных машинных операций, появились языки "высокого уровня", которые были уже намного ближе как к естественному человеческому, так и к математическому языку. Это дало возможность использовать компьютеры во все больших областях. Стали проявляться различные часто используемые функции, но уже более сложные и выполняющие какие-то прикладные задачи. Они выделялись в библиотеки стандартных функций, что позволяло программистам использовать уже готовые подпрограммы.

Каждый из этих шагов облегчал жизнь программистам и позволял писать более сложные программы, но в то же время приводил к тому, что эти программы работали медленнее и занимали больше места. Все дело в том, что алгоритм программы, как правило, не линейный, а включает циклы, ветвления и т.п. Поэтому, когда комп. транслирует написанную на языке высокого уровня программу в машинный код, то код получается далеко не оптимальным, причем, чем «выше» язык, на котором программа писалась изначально, тем ниже производительность готовой программы.

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

(-): 1) при программ-нии в коде нах-ся т. программа, которая непосредственно запускается на машине программистом или инженером по сопровождению. 2) программирование на АЯ требует наличия трансляторов, редакторов и загрузчиков. 3) на функционирование трех указанных выше программ требуется машинное время и другие ресурсы. 4) программы написанные в ручную на машинном языке короче и работают быстрее тех, что генерирует транслятор.