
- •Введение
- •Рекомендуемая литература
- •1. Алгоритмизация и основные этапы работы на эвм
- •1.1. Основные этапы подготовки решения задач на эвм
- •1.2. Алгоритмы и способы их описания.
- •1.3. Базовые алгоритмические структуры.
- •2. Основы программирования
- •2.1. Машинный код процессора
- •2.2. Классификация языков программирования
- •3. Интегрированная среда разработки (иср) Lazarus
- •3.1 Основные характеристики
- •3.2. Консольное приложение
- •3.3. Характеристика проекта консольного приложения
- •4. Алфавит языка Free Pascal
- •4.1. Типы данных
- •4.2. Выражения
- •4.3. Основные стандартные функции
- •4.4. Процедуры ввода и вывода
- •4.5. Операторы
- •4.6. Массивы.
- •4.7. Подпрограммы.
- •4.8. Модули.
- •5. Контрольная работа «Программирование основных алгоритмических структур на языке Free Pascal»
- •5.1. Задания контрольной работы
- •5.2. Требования по оформлению пояснительной записки
- •Министерство рф по связи и информатизации Поволжский государственный университет телекоммуникаций и информатики
- •Программирование основных алгоритмических структур на языке Free Pascal
- •5.3. Методические указания по выполнению заданий
- •6. Перечень контрольных вопросов
1.3. Базовые алгоритмические структуры.
Наиболее часто употребляются линейные вычисления, ветвления, выбор, циклы, вложенные циклы и подпрограммы. Алгоритм любой сложности может быть представлен комбинацией трёх базовых структур (рис.2): следование, ветвление и повторение (цикл).
Структура "следование" (рис.2,а) означает, что несколько операторов должны быть выполнены последовательно друг за другом и только один раз за время выполнения данной программы. Характерной особенностью этих структур является наличие у них одного входа и одного выхода. Совокупность базовых структур "следование" называется алгоритмом линейной структуры.
Структура "ветвление" (рис.2,б) разделяет последовательность действий на 2 направления в зависимости от итога проверки заданного условия. При этом каждый из путей ведёт к общему выходу.
Алгоритм, в состав которого входит структура "ветвление" называется алгоритмом разветвляющейся структуры.
Может оказаться, что по одному из выбранных путей никакие действия не предпринимаются. В этом случае структура ветвления называется "обход", а алгоритм становится усечённым.
Если в разветвляющемся алгоритме имеется три и более условий, то его можно представить в виде совокупности нескольких базовых структур "ветвление". Такую структуру называют "множественный выбор".
Структура " повторение" (рис 2, в) обеспечивает повторяющееся выполнение (цикл) одного или нескольких операторов. Эта группа операторов образует тело цикла. Параметром цикла является переменная (индекс), которая изменяется с некоторым заданным шагом при каждом новом выходе на повторение. Использование блока МОДИФИКАЦИЯ предполагает, что число повторений тела цикла (циклов) известно.
Цикл, в котором число повторений тела цикла заранее определено, носит название регулярного цикла.
Алгоритм, в состав которого входит структура "повторение" называется алгоритмом циклической структуры.
а) б) в)
Рис.2. Базовые алгоритмические структуры.
Различают две разновидности структуры "повторение": "цикл - пока" и "цикл - до" (рис.3).
а) б)
Рис.3. Разновидности циклических структур: а – "пока" , б – "до".
В структуре "цикл - пока" (рис. 3,а) тело цикла выполняется после проверки условия выхода из цикла, а в структуре "цикл – до" (рис. 3,б) – до проверки этого условия. Этим и определяется название данных структур. Использование на рис. 3 блоков УСЛОВИЕ предполагает, что число циклов может быть неизвестным.
Цикл, в котором число повторений тела цикла заранее не известно и определяется в ходе выполнения цикла, носит название итеративного цикла.
Циклы могут содержать внутри себя другие циклы. Такие структуры называются вложенными.
2. Основы программирования
2.1. Машинный код процессора
Процессор – это большая интегральная схема, содержащая миллионы компонент: триггеры для запоминания битов данных, вентили для выполнения операций. Для управления компонентами применяются управляющие сигналы, имеющие два уровня – низкий и высокий.
Множество управляющих сигналов можно связать с набором 0 и 1, которые можно интерпретировать, как число. Программа, с которой работает процессор, это последовательность чисел, называемая машинным кодом.
Машинные коды трудно воспринимаются человеком. Поэтому люди составляют программу на удобном для себя языке – языке высокого уровня. Программирование на естественном человеческом языке (метаязыке) может использоваться только на этапе составления алгоритма.
ЭВМ исполняет программу в машинных кодах. Автоматически перевести такую программу в машинный код нельзя из-за неоднозначности естественного языка.
Программа на языке программирования для выполнения требует преобразования в машинные коды. Эту операцию выполняют специальные программы – трансляторы.
Существуют два классических видов трансляторов: компилятор и интерпретатор.
Компилятор преобразует всю программу, написанную на языке высокого уровня в машинные коды.
Компилятор имеет ряд достоинств:
транслированная программа может исполняться без компилятора,
при трансляции может использоваться технология оптимизации,
скорость работы компилированной программы в сотни раз выше, чем интерпретируемой.
Но компилятор имеет и свои недостатки, связанные с трудоемкостью программирования, сложностью тестирования и отладки, сложностью остановки программы.
Альтернативой компилятору служит интерпретатор.
Интерпретатор сразу выполняет команды языка, указанные в тексте программы. Команды транслируются и исполняются последовательно (поштучно) в процессе их ввода.
К достоинствам интерпретатора можно отнести:
постоянный контроль среды программирования,
удобства тестирования и отладки,
легкость остановки программы.
Но и он не лишен недостатков: транслированная программа не может исполняться без интерпретатора, при трансляции не может автоматически использоваться оптимизация, скорость работы интерпретируемой программы в сотни раз ниже, чем компилируемой. Поэтому интерпретатор в основном используется в математических пакетах, предназначенных для решения сложных математических задач.