Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОСНОВЫ ПРОГРАММИРОВАНИЯ 2012.doc
Скачиваний:
23
Добавлен:
09.11.2019
Размер:
5.04 Mб
Скачать

126

КАФЕДРА ПРИКЛАДНОЙ МАТЕМАТИКИ

ОСНОВЫ ПРОГРАММИРОВАНИЯ

УЧЕБНОЕ ПОСОБИЕ ДЛЯ 1-ГО КУРСА СПЕЦИАЛЬНОСТИ


Оглавление

ОСНОВЫ ПРОГРАММИРОВАНИЯ 2

Введение 2

1. Основы алгоритмизации 4

1.1. Алгоритмы и величины 4

1.2. Линейные вычислительные алгоритмы 7

1.3. Ветвления и циклы в вычислительных алгоритмах 8

1.4. Вспомогательные алгоритмы и процедуры 13

2. Введение в языки программирования 16

2.1. История и классификация языков программирования 16

2.2. Структура и способы описания языков программирования высокого уровня 18

3. Программирование на паскале 21

3.1. Первое знакомство с Паскалем 21

3.2. Некоторые сведения о системе Турбо Паскаль 24

3.3. Элементы языка Турбо Паскаль 25

3.4. Типы данных 26

3.5. Арифметические операции, функции, выражения. Арифметический оператор присваивания 30

3.6. Ввод с клавиатуры и вывод на экран 33

3.7. Управление символьным выводом на экран 35

3.8. Логические величины, операции, выражения. Логический оператор присваивания 38

3.9. Функции, связывающие различные типы данных 40

3.10. Логические выражения в управляющих операторах 41

3.11. Цикл по параметру 43

3.12. Особенности целочисленной и вещественной арифметики 45

3.13. Подпрограммы 47

3.14. Вычисление рекуррентных последовательностей 54

3.15. Основные понятия и средства компьютерной графики в Турбо Паскале 59

3.16. Строковый тип данных 60

3.17. Табличные данные и массивы 65

3.18. Понятие множества. Множественный тип данных 69

3.19. Файлы. Файловые переменные 73

3.20. Комбинированный тип данных 79

3.21. Указатели и динамические структуры 83

4. Методы построения алгоритмов 89

4.1. Основные понятия структурного программирования 89

4.2. Метод последовательной детализации 94

4.3. Рекурсивные методы 96

4.4. Методы перебора в задачах поиска 98

4.5. Эвристические методы 104

4.6. Сложность алгоритмов 104

4.7. Методы сортировки данных 105

Приложение 1. Турбо Паскаль. Модуль CRT 110

Приложение 2. Турбо Паскаль. Модуль GRAPH 113

СПИСОК ЛИТЕРАТУРЫ 125

Основы программирования Введение

Программирование все в большей степени становится занятием лишь для профессионалов. Объявленный в середине 1980-х гг. лозунг «Программирование — вторая грамотность» остался в прошлом. В понятие «компьютерная грамотность» сегодня входит прежде всего навык использования многообразных средств информационных технологий. Решая ту или иную информационную задачу, необходимо выбрать адекватное программное средство. Это могут быть электронные таблицы, системы управления базами данных, математические пакеты и т.п. И только в том случае, когда подобные средства не дают возможности решить задачу, следует прибегать к универсальным языкам программирования.

Принято различать программистов двух категорий: прикладных и системных. Системные программисты — это разработчики базовых программных средств ЭВМ (операционных систем, трансляторов, сервисных средств и т.п.). Они являются профессионалами высочайшего уровня в программировании. Прикладные программисты разрабатывают средства прикладного программного обеспечения ЭВМ, предназначенные для решения задач из различных областей (наука, техника, производство, сфера обслуживания, обучение и т.п.). Требования к качеству, как прикладных программ, так и системных сегодня очень высоки. Программа должна не только правильно решать задачу, но и иметь современный интерфейс, быть высоконадежной, дружественной по отношению к пользователю и т.д. Только такие программы могут выдерживать конкуренцию на мировом рынке программных продуктов. Программирование на любительском уровне сегодня никому не нужно.

По мере развития компьютерной техники развивались также и методика, и технология программирования. Сначала возникает командное и операторное программирование, в 1960-х гг. бурно развивается структурное программирование, появляются линии логического и функционального программирования, а в последнее время — объектно-ориентированное и визуальное программирование.

Задача, которую следует ставить при первоначальном изучении программирования, — освоение основ структурной методики программирования. Для указанной цели наиболее подходящим средством является язык программирования Паскаль. Автор языка Паскаль — швейцарский профессор Никлаус Вирт — создавал его именно для этого. Структурная методика остается основой программистской культуры. Не освоив ее, человек, взявшийся изучать программирование, не имеет никаких шансов стать профессионалом.

При изучении данного курса студентам понадобятся знания основ алгоритмизации в рамках школьного базового курса информатики. Обычно в школе алгоритмизация изучается с использованием учебных исполнителей, с помощью которых можно успешно освоить основы структурной методики, а именно:

  • построение алгоритмов из базовых структур;

  • применение метода последовательной детализации.

Желательным является знакомство с архитектурой ЭВМ на уровне машинных команд .Эти знания позволяют освоить основные понятия программирования, такие как переменная, присваивание; «входить в положение транслятора» и благодаря этому не делать ошибок, даже не помня каких-то деталей синтаксиса языка; предвидеть те «подводные камни», на которые может «напороться» ваша программа в процессе выполнения. По существу, все эти качества и отличают профессионального программиста от дилетанта.

Еще одно качество профессионала — способность воспринимать красоту программы, получать эстетическое удовольствие оттого, что она хорошо написана. Нередко это чувство помогает интуитивно отличить неправильную программу от правильной. Однако основным критерием правильности является, безусловно, не интуиция, а грамотно организованное тестирование.

Процесс изучения и практического освоения программирования делится на три части:

  • изучение методов построения алгоритмов;

  • изучение языка программирования;

  • изучение и практическое освоение определенной системы программирования .

Решению первой задачи посвящены второй и четвертый разделы . Во втором разделе даются основные, базовые понятия и принципы построения алгоритмов работы с величинами. В четвертом разделе излагаются некоторые известные методики полного построения алгоритмов, обсуждаются проблемы тестирования программ, оценки сложности алгоритмов.

Язык программирования Турбо Паскаль излагается в третьем разделе. Подчеркнем, что это - прежде всего учебное пособие по программированию, а не по языку Паскаль. Поэтому исчерпывающего описания данных языков вы здесь не найдете. Языки излагаются в том объеме, который необходим для начального курса программирования. Более подробное описание языков можно найти в книгах, приведенных в списке литературы.

В учебном пособии нет инструкций по работе с конкретными системами программирования для изучаемых языков. С ними студенты должны познакомиться в процессе практики на ЭВМ, используя другие источники.