Лысаков. Основы программирования (1247269)
Текст из файла
www.phys.nsu.ruФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮНОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТУДКББКЛ 886Физический факультетЛысаков К. Ф. Основы программирования: Учеб. пособие /Новосиб. гос. ун-т. Новосибирск, 2010. 104 с.К. Ф. ЛЫСАКОВВ пособии рассмотрены основы структурногопрограммирования. При этом основной упор делается наалгоритмическое решение задачи, а программная реализациярассматривается лишь как завершающий этап.В качестве языка программирования используетсясмешение языков С и С++, что позволяет облегчитьвосприятие языка программирования.ОСНОВЫ ПРОГРАММИРОВАНИЯРецензентдоц., зам.
зав. кафедрой АФТИ ФФ НГУ М. Ю. ШадринУчебное пособиеУчебное пособие подготовлено в рамках реализации программыразвития НИУ-НГУ на 2009-2018 гг.Новосибирск2010© Новосибирский государственныйуниверситет, 2010© Лысаков К. Ф. 20102www.phys.nsu.ru2.10.2.ОГЛАВЛЕНИЕ1.ВВЕДЕНИЕ………………………………………………...61.1.ПОНЯТИЕ ПРОГРАММИРОВАНИЯ.......................................................61.2.ОПИСАНИЕ АЛГОРИТМОВ РЕШЕНИЯ .................................................61.2.1. Этап первый: постановка задачи ............................................71.2.2. Этап второй: дополнительные данные...................................71.2.3. Этап третий: составление блок-схемы решения...................81.2.4.
Этап четвертый: корректность и усовершенствования .....91.3.ОТЛАДКА ПРОГРАММНОЙ РЕАЛИЗАЦИИ ...........................................91.3.1. Метод отладочной печати.....................................................101.3.2. Метод пошаговой отладки .....................................................101.4.РАБОТА С ПРОЕКТАМИ В MICROSOFT VISUAL C++.........................121.4.1. Общие сведения ........................................................................121.4.2.
Создание проекта ....................................................................131.4.3. Сборка проекта........................................................................171.4.4. Конфигурации проектов..........................................................171.4.5.
Файловая структура рабочего пространства .....................181.5.ИСПОЛЬЗОВАНИЕ СПРАВОЧНОЙ СИСТЕМЫ .....................................202.БАЗОВЫЕ КОНСТРУКЦИИ ЯЗЫКОВ С И С++ ...... 212.1.ПОТОКИ ВВОДА / ВЫВОДА ..............................................................212.2.ПЕРЕМЕННЫЕ ..................................................................................222.3.СТРУКТУРА ПРОГРАММЫ ................................................................242.4.ВВОД И ВЫВОД ПЕРЕМЕННЫХ .........................................................252.5.АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ И ИХ ИСПОЛЬЗОВАНИЕ ..................272.5.1.
Выражения и приведение арифметических типов ...............282.5.2. Отношения и логические выражения.....................................292.5.3. Приведение типов ....................................................................302.5.4. Выражения с поразрядными операциями ..............................302.6.ОПЕРАТОРЫ ВЕТВЛЕНИЯ .................................................................312.6.1. Оператор if ...............................................................................312.6.2.
Переключатель switch..............................................................332.7.ОПЕРАТОРЫ ЦИКЛОВ ......................................................................352.7.1. Цикл for......................................................................................352.7.2. Цикл while..................................................................................372.7.3. Цикл do-while ............................................................................372.8.МАССИВЫ ДАННЫХ ........................................................................382.9.ФУНКЦИИ ........................................................................................392.10.ЛОКАЛЬНЫЕ И ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ ....................................412.10.1.Глобальные переменные......................................................4133.Локальные переменные .......................................................42РАБОТА С ДИНАМИЧЕСКОЙ ПАМЯТЬЮ .............
453.1.УКАЗАТЕЛИ И РАБОТА С НИМИ .......................................................453.2.АРИФМЕТИКА УКАЗАТЕЛЕЙ И МАССИВЫ........................................462.3.1. Динамическая память. Массивы ............................................473.3.ПЕРЕДАЧА ПЕРЕМЕННЫХ ПО ССЫЛКЕ.............................................494.СТРУКТУРНОЕ ПРОГРАММИРОВАНИЕ ............... 534.1.МЕТОДОЛОГИЯ................................................................................544.1.1.
Создание программ ..................................................................554.2.ПРОГРАММА «БРОДИЛКА» ..............................................................564.2.1. Подключение внешней библиотеки.........................................564.2.2. Основные функции библиотеки Conlib...................................574.2.3. Создание каркаса программы .................................................584.2.4. Инициализация переменных программы ................................604.2.5. Заполнение игрового поля ........................................................614.2.6.
Отображение игрового поля...................................................634.2.7. Обработка клавиатуры и перемещение игрока ....................645.АЛГОРИТМЫ СОРТИРОВКИ ДАННЫХ.................. 665.1.5.2.СОРТИРОВКА ПУЗЫРЬКОМ ..............................................................67ПИРАМИДАЛЬНАЯ СОРТИРОВКА .....................................................686. ПРОИЗВОДНЫЕ ТИПЫ ДАННЫХ. СПИСКИДАННЫХ……………………………………………………….746.1.СТРОКИ ...........................................................................................746.2.СТРУКТУРНЫЙ ТИП .........................................................................756.3.СПИСКИ ДАННЫХ ............................................................................776.3.1. Односвязный список данных....................................................776.3.2.
Двусвязный список данных ......................................................786.3.3. Распечатка элементов списка................................................796.3.4. Добавление элемента в существующий список.....................807.РАБОТА С ФАЙЛАМИ................................................... 827.1.ПОТОКИ И ФАЙЛЫ ...........................................................................827.1.1. Потоки ......................................................................................837.1.2.
Текстовые потоки ...................................................................837.1.3. Двоичные потоки .....................................................................847.1.4. Файлы ........................................................................................847.2.ОСНОВЫ ФАЙЛОВОЙ СИСТЕМЫ ......................................................854www.phys.nsu.ru7.3.УКАЗАТЕЛЬ ФАЙЛА .........................................................................877.4.ОТКРЫТИЕ ФАЙЛА ..........................................................................877.5.ЗАКРЫТИЕ ФАЙЛА ...........................................................................907.6.ЗАПИСЬ СИМВОЛА ...........................................................................917.7.ЧТЕНИЕ СИМВОЛА...........................................................................917.8.ИСПОЛЬЗОВАНИЕ FOPEN(), GETC(), PUTC(), И FCLOSE() ..................927.9.ИСПОЛЬЗОВАНИЕ FEOF().................................................................947.10.ВВОД / ВЫВОД СТРОК: FPUTS() И FGETS()........................................957.11.ФУНКЦИЯ REWIND()........................................................................977.12.ФУНКЦИЯ FERROR() ........................................................................987.13.СТИРАНИЕ ФАЙЛОВ ........................................................................987.14.ФУНКЦИИ FREAD() И FWRITE()........................................................997.14.1.Использование fread() и fwrite()..........................................997.15.ФУНКЦИИ FPRINF() И FSCANF() .....................................................1011.
ВВЕДЕНИЕ1.1.Понятие программированияПрограммирование — это процесс создания (разработки) программы,который может быть представлен последовательностью следующих шагов:1. Спецификация(определение,формулированиетребованийк программе).2. Разработка алгоритма.3. Кодирование (запись алгоритма на языке программирования).4. Отладка.5. Тестирование.В большинстве своем, различные самоучители и другие печатныеиздания,воглавуугластавятизучениекакого-либоязыкапрограммирования, на примере которого решают задачи. При этом, длялюдей впервые встречающихся с программированием, наибольшуюсложность представляют именно два первых пункта.В данном учебном пособии, основной упор делается именно напостановкузадачиинаееалгоритмическоерешение.Еслиалгоритмическое решение составлено верно, то кодирование можетпроисходить на любом языке программирования.В качестве языка программирования, в пособии рассмотрен симбиозязыков С и С++, которые позволяет описывать программные реализациизначительно проще чем классический язык С, но при этом неиспользованы основы объектно-ориентированного программирования(классы, полиморфизм, перегрузка и наследование).1.2.Описание алгоритмов решенияДля решения любой задачи, необходимо выполнить следующие этапы:56www.phys.nsu.ru1.Четко определить условия задачи, входные данные и какой1.2.3.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.