Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод_пособие_Прг+КР.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
913.41 Кб
Скачать

1.3. Базовые алгоритмические структуры.

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

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

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

Алгоритм, в состав которого входит структура "ветвление" называется алгоритмом разветвляющейся структуры.

Может оказаться, что по одному из выбранных путей никакие действия не предпринимаются. В этом случае структура ветвления называется "обход", а алгоритм становится усечённым.

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

Структура " повторение" (рис 2, в) обеспечивает повторяющееся выполнение (цикл) одного или нескольких операторов. Эта группа операторов образует тело цикла. Параметром цикла является переменная (индекс), которая изменяется с некоторым заданным шагом при каждом новом выходе на повторение. Использование блока МОДИФИКАЦИЯ предполагает, что число повторений тела цикла (циклов) известно.

Цикл, в котором число повторений тела цикла заранее определено, носит название регулярного цикла.

Алгоритм, в состав которого входит структура "повторение" называется алгоритмом циклической структуры.

а) б) в)

Рис.2. Базовые алгоритмические структуры.

Различают две разновидности структуры "повторение": "цикл - пока" и "цикл - до" (рис.3).

а) б)

Рис.3. Разновидности циклических структур: а – "пока" , б – "до".

В структуре "цикл - пока" (рис. 3,а) тело цикла выполняется после проверки условия выхода из цикла, а в структуре "цикл – до" (рис. 3,б) – до проверки этого условия. Этим и определяется название данных структур. Использование на рис. 3 блоков УСЛОВИЕ предполагает, что число циклов может быть неизвестным.

Цикл, в котором число повторений тела цикла заранее не известно и определяется в ходе выполнения цикла, носит название итеративного цикла.

Циклы могут содержать внутри себя другие циклы. Такие структуры называются вложенными.

2. Основы программирования

2.1. Машинный код процессора

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

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

Машинные коды трудно воспринимаются человеком. Поэтому люди составляют программу на удобном для себя языке – языке высокого уровня. Программирование на естественном человеческом языке (метаязыке) может использоваться только на этапе составления алгоритма.

ЭВМ исполняет программу в машинных кодах. Автоматически перевести такую программу в машинный код нельзя из-за неоднозначности естественного языка.

Программа на языке программирования для выполнения требует преобразования в машинные коды. Эту операцию выполняют специальные программы – трансляторы.

Существуют два классических видов трансляторов: компилятор и интерпретатор.

Компилятор преобразует всю программу, написанную на языке высокого уровня в машинные коды.

Компилятор имеет ряд достоинств:

  • транслированная программа может исполняться без компилятора,

  • при трансляции может использоваться технология оптимизации,

  • скорость работы компилированной программы в сотни раз выше, чем интерпретируемой.

Но компилятор имеет и свои недостатки, связанные с трудоемкостью программирования, сложностью тестирования и отладки, сложностью остановки программы.

Альтернативой компилятору служит интерпретатор.

Интерпретатор сразу выполняет команды языка, указанные в тексте программы. Команды транслируются и исполняются последовательно (поштучно) в процессе их ввода.

К достоинствам интерпретатора можно отнести:

  • постоянный контроль среды программирования,

  • удобства тестирования и отладки,

  • легкость остановки программы.

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