Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
0911136_3EEB9_volkov_m_a_informatika_kurs_lekci...doc
Скачиваний:
7
Добавлен:
13.11.2019
Размер:
618.5 Кб
Скачать

10.4. Структуры алгоритмов

Преобразования величин, реализуемые в алгоритмическом языке, осуще­ствляются по операторам (командам), располагаемым в заданной последова­тельности. Логическая структура любого алгоритма может быть представлена комбинацией трех базовых структур: следование, ветвление, цикл.

Структура алгоритма является линейной, если она образована последова­тельностью простых операторов (команд).

Разветвляющийся алгоритм – алгоритм, содержащий хотя бы одно условие, в результате проверки которого обеспечивается переход на один из двух возможных шагов.

Циклический алгоритм – алгоритм, предусматривающий многократное по­вторение одного и того же действия (одних и тех же операций) над новыми исходными данными. Группа команд (операторов), выполняющихся одна за другой, называется серией, которая может состоять из одного оператора.

Сложные структуры алгоритма являются совокупностью рассмотренных выше.

11. Языки программирования

11.1. Основные понятия

Язык программирования – это искусственный язык, отличающийся от естественных ограниченным числом "слов", значение которого понятно транслятору, и строгими правилами записи команд (операторов). Совокупность таких требований образует синтаксис языка программирования, а смысл каждой команды и других конструкций языка – его семантику.

С помощью языка программирования создается не готовая программа, а только её текст, описывающий ранее разработанный алгоритм. Чтобы получить работающую программу, надо этот текст либо автоматически перевести в машинный код (компиляция) и затем использовать отдельно от исходного текста, либо сразу выполнять команды языка, указанные в тексте программы (интерпретация).

Компиляторы обрабатывают весь текст программы (исходный код). Они просматривают его в поисках синтаксических ошибок, выполняют определённый смысловой анализ и затем транслируют (переводят) на машинный язык – генерируют машинный код. При этом часто выполняется оптимизация кода.

Интерпретатор анализирует и осуществляет пооператорную обработку и выполнение исходной программы или запроса без трансляции всей программы.

В реальных системах перемешаны технологии компиляции и интерпретации.

11.2. Уровни языков программирования

Различают языки высокого и низкого уровня.

Если язык программирования ориентирован на конкретный тип процессора и учитывает его особенности, то он называется языком низкого уровня. Имеется в виду, что операторы языка близки к машинному коду и ориентированы на конкретные процессоры.

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

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