- •Содержание
- •Алгоритм. Блок-схема. Элементы блок-схемы
- •Циклы
- •Массивы. Работа с массивами
- •Сортировка данных
- •Матрица. Работа с матрицами
- •Язык программирования Turbo Pascal
- •Алфавит языка Turbo Pascal
- •Вещественные типы данных
- •Логический тип данных
- •Символьный тип данных
- •Массивы в ТР
- •Cтроки в ТР
- •Оператор присваивания в ТР
- •Целочисленные типы данных
- •Условный оператор
- •Составной и пустой оператор
- •Оператор выбора
- •Оператор перехода и метка
- •Циклы в ТР
- •Оператор цикла for
- •Оператор цикла while
- •Оператор цикла repeat
- •Подпрограммы в ТР
- •Локальность имен в ТР
- •Формальные и фактические параметры
- •Рекурсия. Рекурсивные функции
- •Модули в ТР
- •Стандартные модули в ТР
- •Использование модуля GRAPH
- •Файлы в ТР
- •Общие принципы работы с файлами в ОС
- •Элементы объектно-ориентированного программирования
- •Инкапсуляция
- •Наследование
- •Полиморфизм
- •Список литературы
Министерство образования и науки Российской Федерации НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ИНСТИТУТ СОЦИАЛЬНОЙ РЕАБИЛИТАЦИИ
В.В. УСТИНОВ
ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ
Часть 1
Конспект лекций для студентов I–II курсов колледжа ИСР, обучающихся по направлению «Информатика и вычислительная техника»
НОВОСИБИРСК
2010
УДК 004.421(075.8) У 804
Рецензент:
Е.Н. Павенко, старший преп. каф. АСУ
Л.П. Сапрыкина, нач. ОКПС ИСР
Работа подготовлена на кафедре автоматизированных систем
иинформационных технологий обучения и утверждена Редакционно-издательским советом университета
вкачестве курса лекций
Устинов В.В.
У 804 Основы алгоритмизации и программирования : конспект лекций / В.В. Устинов. – Новосибирск : Изд-во НГТУ, 2010. –
Ч. 1. – 40 с.
ISBN 978-5-7782-1366-1
В настоящей работе излагаются основы алгоритмизации и программирования – науки о построении алгоритмов (путей) решения различных задач и переложения их на вычислительные ресурсы (ЭВМ). Рассматриваются основные принципы построения алгоритмов решения задач, а также использования языка программирования высокого уровня (Turbo Pascal/Free Pascal) для реализации алгоритмов решений различных задач на IBM PC.
Конспект лекций предназначен для студентов I–II курсов колледжа Института социальной реабилитации по направлению «Информатика и вычислительная техника», но может быть использован также и другими студентами, изучающими курс «Основы алгоритмизации и программирования».
|
УДК 004.421(075.8) |
ISBN 978-5-7782-1366-1 |
© Устинов В.В., 2010 |
|
© Hовосибиpский государственный |
|
технический университет, 2010 |
2
Содержание
Алгоритм. Блок-схема. Элементы блок-схемы............................................... |
4 |
Циклы................................................................................................................. |
6 |
Массивы. Работа с массивами.......................................................................... |
7 |
Сортировка данных........................................................................................... |
7 |
Матрица. Работа с матрицами.......................................................................... |
9 |
Язык программирования Turbo Pascal........................................................... |
10 |
Алфавит языка Turbo Pascal ........................................................................... |
11 |
Целочисленные типы данных......................................................................... |
12 |
Вещественные типы данных .......................................................................... |
12 |
Логический тип данных.................................................................................. |
13 |
Символьный тип данных................................................................................ |
14 |
Массивы в ТР................................................................................................... |
15 |
Cтроки в ТР...................................................................................................... |
15 |
Оператор присваивания в ТР.......................................................................... |
15 |
Условный оператор......................................................................................... |
16 |
Составной и пустой оператор......................................................................... |
17 |
Оператор выбора ............................................................................................. |
18 |
Оператор перехода и метка ............................................................................ |
18 |
Циклы в ТР....................................................................................................... |
19 |
Оператор цикла for.......................................................................................... |
19 |
Оператор цикла while...................................................................................... |
20 |
Оператор цикла repeat..................................................................................... |
21 |
Подпрограммы в ТР........................................................................................ |
22 |
Локальность имен в ТР................................................................................... |
24 |
Формальные и фактические параметры........................................................ |
25 |
Рекурсия. Рекурсивные функции................................................................... |
25 |
Модули в ТР..................................................................................................... |
26 |
Стандартные модули в ТР .............................................................................. |
27 |
Использование модуля GRAPH..................................................................... |
29 |
Файлы в ТР....................................................................................................... |
32 |
Общие принципы работы с файлами в ОС ................................................... |
32 |
Элементы объектно-ориентированного программирования....................... |
35 |
Инкапсуляция ............................................................................................... |
35 |
Наследование................................................................................................ |
37 |
Полиморфизм................................................................................................ |
37 |
Список литературы....................................................................................... |
39 |
3 |
|
Алгоритм. Блок-схема. Элементы блок-схемы
Алгоритмом называется определенная последовательность ин-
струкций (действий), приводящая к решению поставленной задачи за конечное число шагов.
Задача-пример. Решить квадратное уравнение ах2+bx+c=0. Алгоритм: Шаг 1. Вычисляем дискриминант D = b2–4ac.
Шаг 2. Если: а) D < 0, то корней нет;
б) D = 0, то х = –b/2a;
в) D > 0, то х1,2 = –b± 
D /2a.
Блок-схема – набор условных обозначений, реализующих алго-
ритм решения задачи. Для задания определенной последовательности используются стрелки, указывающие путь решения.
Для начала нам будет достаточно четырех условных обозначений:
– выполняемые действия
–проверка условия. В зависимости от условия могут быть два варианта дальнейших действий
– ввод/вывод данных
– начало/конец блок-схемы
4
Составим блок-схему решения квадратного уравнения (рис. 1)
Рис. 1
Замечание. Последовательность действий обычно идет сверху вниз и слева направо, и стрелками на конце линий ее можно не обозначать.
Внимание: Записи вида x = –b/2a в выполняемых блоках означают не просто равенство, а операцию присваивания: все, что было вычислено в правой части, присваивается переменной, стоящей в левой части. В программировании зачастую встречаются выражения вида а = а + 5, b = b * 5 + 4 * d и т.д. Смысл этих действий иллюстрируется на рис. 2.
Рис. 2
Хорошо поняв суть операции присваивания, программист не должен писать выражения вида x + y = a * b + c. В левой части в операциях присваивания должна быть только одна переменная. Но в условных блоках такие выражения законны, так как здесь происходит проверка на равенство.
5
Алгоритм может быть реализован в трех видах: a) в виде словесного описания;
б) в виде блок-схемы;
в) в виде программы, написанной на языке программирования. Задание. Построить блок-схему решения следующих задач:
а) введя 2 числа, найти из них самое маленькое; б) введя 3 числа, найти из них самое большое;
в) введя сегодняшнюю дату, вычислить завтрашнюю.
Циклы
Задача-пример. Найти сумму первых 100 чисел S = 1+2+3+...+100. Блок-схема решения данной задачи приведена на рис. 3.
Рис. 3
Анализируя работу данного алгоритма, видим, что есть участок кода, который неоднократно повторяется (на рисунке выделен рамкой).
Циклом называется повторяющийся участок в алгоритме, а опера-
торы, участвующие в цикле, составляют тело цикла.
Вопрос. Зачем нужны первоначальные значения переменным S и i? Можно ли без них обойтись? При каком значении i осуществится выход из цикла?
Факториалом числа N называется произведение N первых чисел и
обозначается N! = 1·2·3·...·N.
Задание. Построить блок-схему нахождения N!
6
