Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции Алгоритмизация.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
445.44 Кб
Скачать

52

Конспект лекций

по дисциплине «Алгоритмизация и языки про­граммирования» __

Оглавление

Тема 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:

  1. Определение алгоритма.

  2. Способы описания алгоритмов

  3. Правила оформ­ления схем алгоритмов.

  4. Разновидности структур алгоритмов

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

Здесь мы ввели понятие действия. В дальнейшем будем считать тождественными понятия

действие ≡ инструкция ≡ оператор.

Действия (инструкции, операторы) выполняются некоторым исполнителем. Для нас

исполнитель ≡ процессор.

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

  1. действия должны быть понятны исполнителю;

  2. разные исполнители должны одинаково понимать одни и те же действия.

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

Рассмотрим эти конструкции на примерах алгоритмов для вычислений по формулам.

Х = А2-1. вход – А, выход – Х

Тогда словесная запись алгоритма будет следующей.

  1. Задать значение для А.

  2. Умножить А на А, запомнить результат.

  3. Из результата п.2 вычесть 1, запомнить результат в переменной Х.

Здесь у нас появилось важное действие – запоминание. Будем называть его присваиванием. Это фундаментальное понятие. Оно связано с понятием память.

Чтобы различать разные значения, их располагают в разных участках памяти. Под переменные значения отводится свободное место в памяти. Следовательно, можно сказать: ”Результат присвоить переменной Х”.

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

Последовательный алгоритм – такой, в котором действия выполняются в том порядке, в каком они написаны (в естественном порядке).

Рассмотрим следующий пример.

0, x ≤ 0 вход - x,

f = выход – f.

x2, x > 0

Записать алгоритм вычисления f можно следующим образом.

  1. Задать значение х.

  2. Если х ≤ 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,…,∞ раз.

Этих трех конструкций (трех типов алгоритмов) достаточно для написания алгоритмов любой сложности.

Р ассмотрим алгоритм еще с одной точки зрения. Если не вдаваться в его структуру, то любой алгоритм можно представить в виде “черного ящика”:

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

Выход – совокупность переменных и значений, которые получены после вычислений.

Правила, описывающие алгоритмический язык, распадаются на две части: семантику и синтаксис.

Семантика – смысловая часть описания языка. Она определяет, как понимать (человеку) и выполнять (машине) алгоритмы.

Синтаксис – набор формальных правил написания алгоритмов на алгоритмическом языке.