
- •Конспект лекций
- •Тема 1. Программные средства пк. Основы алгоритмизации задач.
- •Тема 2. Программирование на базовом процедурно-ориентированном алгоритмическом зыке. Классификация операторов алгоритмического языка. Оператор присваивания. Операторы управления. (2 часа)
- •Тема 3. Описание линейных и разветвляющихся структур алгоритмов. Программирование разветвляющихся структур.(1 часа)
- •Тема 4. Организация выполнения программ на пк. Структуры данных: массивы. Множества. Записи. (2 часа)
- •Тема 5. Организация алгоритмов циклической структуры. Алгоритмическое описание вложенных циклических структур. (1 часа)
- •Оператор цикла с параметром
- •Оператор цикла с постусловием
- •Примеры бесконечных циклов
- •Тема 6. Программирование ввода-вывода массивов. Строковые данные. Библиотека стандартных подпрограмм. (1 часа)
- •Тема 7. Подпрограммы, их классификация. (1 часа)
- •Параметры-значения
- •Тема 8. Алгоритмы поиска и сортировки. (1 часа)
- •Тема 9. Программирование в среде delphi. (1 часа)
- •Тема 10. Работа с файлами. Различные типы файлов.
- •Тема 11. Динамические структуры данных. Указатели. Работа с очередями и стеком. (2 часа)
- •Добавление в конец списка
- •Рекурсивная процедура добавления элемента в список
- •Включение в список
- •Рекурсивная процедура удаления элемента из списка
- •Тема 12. Машинная графика.Примеры программ с различной структурной организацией. (1 часа)
- •Литература
Конспект лекций
по дисциплине «Алгоритмизация и языки программирования» __
Оглавление
-
Тема 1. ОСНОВЫ АЛГОРИТМИЗАЦИИ ЗАДАЧ.
4
Тема 2. ПРОГРАММИРОВАНИЕ НА БАЗОВОМ ПРОЦЕДУРНО-ОРИЕНТИРОВАННОМ АЛГОРИТМИЧЕСКОМ ЗЫКЕ. ОПЕРАТОР ПРИСВАИВАНИЯ.
КОНТРОЛЬНЫЕ ВОПРОСЫ
6
8
Тема 3 АРИФМЕТИЧЕСКИЕ И ЛОГИЧЕСКИЕ ВЫРАЖЕНИЯ.ОРГАНИЗАЦИЯ ВВОДА-ВЫВОДА ДАННЫХ.
КОНТРОЛЬНЫЕ ВОПРОСЫ
10
12
Тема 4. ОПИСАНИЕ ЛИНЕЙНЫХ И РАЗВЕТВЛЯЮЩИХСЯ СТРУКТУР АЛГОРИТМОВ. ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ СТРУКТУР.
ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ
17
20
Тема 5. ОРГАНИЗАЦИЯ ВЫПОЛНЕНИЯ ПРОГРАММ НА ПК.
ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ
22
25
Тема 6. СТРУКТУРЫ ДАННЫХ: МАССИВЫ, МНОЖЕСТВА, ЗАПИСИ. ОРГАНИЗАЦИЯ ВВОДА-ВЫВОДА МАССИВОВ.
25
Тема 7. ОРГАНИЗАЦИЯ АЛГОРИТМОВ ЦИКЛИЧЕСКОЙ СТРУКТУРЫ.
ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ
КОНТРОЛЬНЫЕ ВОПРОСЫ
28
31
33
Тема 8. ПРОГРАММИРОВАНИЕ ВВОДА-ВЫВОДА МАССИВОВ. СТРОКОВЫЕ ДАННЫЕ.
ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ
39
43
Тема 9. ПОДПРОГРАММЫ. ОБРАЩЕНИЕ К ПОДПРОГРАММАМ.
ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ
45
47
Тема 10. АЛГОРИТМЫ ПОИСКА И СОРТИРОВКИ.
ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ
48
51
Тема 11. ПРОГРАММИРОВАНИЕ В СРЕДЕ DELPHI.
ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ
60
62
Тема 12. РАБОТА С ФАЙЛАМИ. ПРИМЕРЫ РАБОТЫ С ФАЙЛАМИ.
63
Тема 11. ДИНАМИЧЕСКИЕ СТРУКТУРЫ ДАННЫХ. УКАЗАТЕЛИ. РАБОТА С ОЧЕРЕДЯМИ И СТЕКОМ. (2 часа)
38
Тема 12. МАШИННАЯ ГРАФИКА.ПРИМЕРЫ ПРОГРАММ С РАЗЛИЧНОЙ СТРУКТУРНОЙ ОРГАНИЗАЦИЕЙ. (1 часа)
44
Приложение А.
47
Литература
51
Тема 1. Программные средства пк. Основы алгоритмизации задач.
(1 часа)
План лекции 1:
Определение алгоритма.
Способы описания алгоритмов
Правила оформления схем алгоритмов.
Разновидности структур алгоритмов
Алгоритм – это заданная определенным образом последовательность действий, приводящая за конечное число шагов к достижению поставленной цели (к решению поставленной задачи).
Здесь мы ввели понятие действия. В дальнейшем будем считать тождественными понятия
действие ≡ инструкция ≡ оператор.
Действия (инструкции, операторы) выполняются некоторым исполнителем. Для нас
исполнитель ≡ процессор.
Исполнитель должен уметь выполнять некоторый набор действий и понимать, в какой последовательности эти действия нужно выполнять по заданному алгоритму. При этом должны быть соблюдены следующие два условия:
действия должны быть понятны исполнителю;
разные исполнители должны одинаково понимать одни и те же действия.
В жизни алгоритмы встречаются нам повсюду. Любая целенаправленная деятельность человека – алгоритм (или его выполнение).
Рассмотрим эти конструкции на примерах алгоритмов для вычислений по формулам.
Х = А2-1. вход – А, выход – Х
Тогда словесная запись алгоритма будет следующей.
Задать значение для А.
Умножить А на А, запомнить результат.
Из результата п.2 вычесть 1, запомнить результат в переменной Х.
Здесь у нас появилось важное действие – запоминание. Будем называть его присваиванием. Это фундаментальное понятие. Оно связано с понятием память.
Чтобы различать
разные значения, их располагают в разных
участках памяти. Под переменные значения
отводится свободное место в памяти.
Следовательно, можно сказать: ”Результат
присвоить переменной Х”.
Этот пример определяет нам первую базовую конструкцию структурного программирования – следование: если в записи алгоритма друг за другом написаны несколько действий, то они будут выполняться последовательно.
Последовательный алгоритм – такой, в котором действия выполняются в том порядке, в каком они написаны (в естественном порядке).
Рассмотрим следующий пример.
0, x
≤ 0 вход - x,
f = выход – f.
x2, x > 0
Записать алгоритм вычисления f можно следующим образом.
Задать значение х.
Если х ≤ 0
то 2.1. задать f = 0
иначе 2.2. задать f = x * x.
Получили новую конструкцию, которая задает разветвление в порядке выполнения действий. Такая конструкция называется условной (соответственно алгоритм – условным) или конструкцией ЕСЛИ – ТО – ИНАЧЕ, по-английски IF – THEN – ELSE. Запись в общем виде:
ЕСЛИ условие
ТО последовательность действий 1
ИНАЧЕ последовательность действий 2.
Упрощенная или усеченная форма:
ЕСЛИ условие
ТО последовательность действий.
Пример . Подсчитать сумму нечетных чисел от 1 до 25.
вход
– пустой,
выход – S.
Алгоритм вычисления S .
Задать S равным 0.
Задать n равным 0.
Пока n ≤ 12 выполнять
3.1. к S добавить 2*n + 1
3.2. увеличить n на 1
Алгоритм будет работать до тех пор, пока выполняется условие п.3.
Здесь мы получили третью базовую конструкцию – циклическую. Она означает следующее: пока истинно некоторое условие, – делай то-то и то-то. Называется она конструкцией ПОКА – ДЕЛАЙ, по-английски WHILE – DO. Соответствующий алгоритм называется циклическим алгоритмом. Он задает многократное выполнение одних и тех же действий. Запись в общем виде:
ПОКА условие ВЫПОЛНИТЬ
последовательность действий.
Последовательность может выполняться 0,1,…,∞ раз.
Этих трех конструкций (трех типов алгоритмов) достаточно для написания алгоритмов любой сложности.
Р
ассмотрим
алгоритм еще с одной точки зрения. Если
не вдаваться в его структуру, то любой
алгоритм можно представить в виде
“черного ящика”:
Вход – совокупность переменных и их значений, которые используются алгоритмом для вычислений.
Выход – совокупность переменных и значений, которые получены после вычислений.
Правила, описывающие алгоритмический язык, распадаются на две части: семантику и синтаксис.
Семантика – смысловая часть описания языка. Она определяет, как понимать (человеку) и выполнять (машине) алгоритмы.
Синтаксис – набор формальных правил написания алгоритмов на алгоритмическом языке.