- •Программирование на языке высокого уровня
- •1 Часть Учебное пособие Москва 2007
- •Оглавление
- •1. Основы алгоритмизации
- •1.1. Алгоритмизация и требования к алгоритму
- •1.2. Блок-схемы алгоритмов
- •1.2.1. Способы записи алгоритма
- •1.2.2. Блок-схемы
- •1.2.3. Следование, ветвление, цикл
- •1.3. Этапы разработки программы
- •1.3.1. Язык программирования. Программа
- •1.3.2. Этапы разработки
- •1.4. Ошибки
- •1.4.1. Компилятор. Синтаксис и семантика
- •1.4.2. Типы ошибок
- •2. Алфавит языка Турбо Паскаль. Программа
- •2.1. Идентификаторы
- •2.2. Разделители
- •2.3. Специальные символы
- •2.4. Структура Pascal-программы
- •Пример простейшей программы на языке Pascal
- •3. Типы данных
- •3.1. Структура типов данных
- •3.2. Простые типы
- •3.2.1. Порядковые типы
- •3.2.1.1 Целые типы.
- •3.2.1.1.1. Встроенные процедуры и функции, применимые к целым типам
- •3.2.1.2. Логический тип.
- •3.2.1.3. Символьный тип.
- •3.2.1.4. Перечисляемый тип.
- •3.2.2. Вещественные типы
- •3.3. Константы и переменные
- •3.4. Преобразование типов
- •4. Операторы
- •4.1. Ввод данных
- •4.2. Вывод данных
- •4.3. Составной оператор
- •4.4. Условный оператор
- •4.5. Операторы циклов
- •4.5.1. Оператор for
- •4.5.2. Оператор while
- •4.5.3. Оператор repeat
- •4.5.4. Стандартные функции для циклов
- •4.6. Оператор выбора case
- •5. Массивы
- •5.1 Определение массива
- •5.2. Ввод/вывод одномерного массива (вектора).
- •5.3 Типизированные константы – массивы
- •5.4. Сортировка массивов (ранжирование)
- •6. Процедуры и функции
- •6.1. Подпрограммы
- •6.2. Параметры. Глобальные и локальные описания
- •6.3. Процедуры
- •6.4. Функции
- •6.5. Процедура exit
- •6.6. Рекурсия
- •6.7. Директивы подпрограмм
- •6.8. Открытые массивы
- •7. Записи
- •7.1.Определение и правила записи
- •7.2. Оператор присоединения
- •7.3. Записи с вариантами (экономия пространства)
- •8. Множества
- •8.1. Понятие множества
- •8.2. Конструктор множества
- •8.3. Операции над множествами
- •8.4. Примеры программ, использующих множества.
- •Литература
1.2.3. Следование, ветвление, цикл
Алгоритмические структуры (рис. 1.1, а, б, в) образуют линейную последовательность операций, которые выполняются по очереди в порядке записи, — следование. Программную реализацию такой алгоритмической структуры называют линейной программой. Линейные программы обычно предназначены для решения простейших задач, в которых не предусмотрен выбор из нескольких возможных направлений хода программы или циклическое повторение операций.
Пример :вычислить значение функции y=2-sinX^2 +E^(sinX^2-2)
начало
Ввод X
R=2-sinX^2
y=r+E(-r)
Вывод y
останов
Возможность альтернативного выбора при выполнении программы предоставляют ветвления (рис. 1, г), при выполнении которых алгоритм может пойти по одной из двух возможных ветвей в зависимости от справедливости проверяемого условия. Иногда выделяют также обход, который представляет собой пропуск нескольких шагов алгоритма или не выполнении какого-либо условия. Алгоритм, содержащий блок сравнения называется разветвляющимся.
Пример: вычислить для произвольного Х Значение функции, заданной кусочно.
1-x, x<=1
Y=
Ввод x
E^(x-1), x>1
X<=1
да
нет
Y= E^(x-1)
Y=1-x
Вывод x,y
Цикл (рис. 1. д) представляет собой многократно повторяющую последовательность шагов алгоритма. Алгоритм, содержащий цикл называется циклическим.
Пример: вычислить сумму: S=1^2+2^2+3^2+…+n^2=
Где n – заданное число.
Предлагается следующий алгоритм решения задачи:
Шаг 1 ввести n;
Шаг 2 положить S=0 (обнуление ячейки суммы);
Шаг 3 положить i=1;
Шаг 4 вычислить I^2 и прибавить к текущему значению S s=s+I^2;
Шаг 5 увеличить I на 1 I=I+1;
Шаг 6 сравнить I с n. Если I<=N вернуться к шагу 4, иначе перейти к шагу 7;
Шаг 7 вывести S;
Основная повторяющаяся операция S=S+I^2 выполняется при различных значениях I. Величина I называется параметром цикла. Параметр цикла изменяется от начального значения I=1 до конечного I=N с шагом 1.
Блок-схема имеет вид:
ввод n;
ввести n;
S=0
i=1;
For I=1 to N
А
S=S+I^2;
тело
цикла
I=I+1;
S=S+I^2;
I<=N
Вывод S
А
1.3. Этапы разработки программы
1.3.1. Язык программирования. Программа
Команды, выполняемые процессором ПК, являются электрическими сигналами, которые можно представить в виде последовательностей нулей и единиц. Каждой команде соответствует свое число. Таким образом, процессор имеет дело с машинным кодом. Написать программу на нем может только очень опытный программист, хорошо знающий архитектуру процессора (его устройство) и систему команд (набор допустимых инструкций). Большинство программ создаются при помощи "посредников", в качестве которых выступают языки программирования высокого уровня.
Совокупность средств и правил представления алгоритма в виде, пригодном для выполнения вычислительной машиной, называется языком программирования.
Программа — это запись (реализация) алгоритма на языке программирования.