Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования
«Воронежский государственный лесотехнический университет имени Г.Ф. Морозова»
ОСНОВЫ ПРОГРАММИРОВАНИЯ И АЛГОРИТМИЗАЦИИ
Методические указания для самостоятельной работы студентов по направлению подготовки
09.03.02 – Информационные системы и технологии
Воронеж 2016
УДК 681.3.06 (076)
Оксюта, О. В. Основы программирования и алгоритмизации Текст : методические указания для самостоятельной работы студентов по направлению подготовки 09.03.02 – Информационные системы и технологии / О. В. Оксюта ; М-во образования и науки РФ, ФГБОУ ВО «ВГЛТУ им. Г.Ф. Морозова». – Воронеж, 2016. – 32 с.
Печатается по решению учебно-методического совета ФГБОУ ВО «ВГЛТУ им. Г.Ф. Морозова» (протокол № __ от _______ 2016 г.)
Рецензент заведующий кафедрой электротехники и автоматики ФГБОУ ВПО ВГАУ д-р.техн.наук., проф. Д.Н. Афоничев
|
© Оксюта О.В., 2016 |
ISBN |
© ФГБОУ ВО «Воронежский государствен- |
ный |
|
|
лесотехнический университет имени |
|
Г.Ф. Морозова», 2016 |
ВВЕДЕНИЕ
Методические указания подготовлены в соответствии с рабочей программой дисциплины «Основы программирования и алгоритмизации» для студентов по направлениям подготовки 09.03.02 – Информационные системы и технологии. Целью изучения данной дисциплины является формирование у студентов знаний и умений по разработке программ с использованием языка программирования высокого уровня и интегрированной среды изучаемого языка программирования.
Врезультате освоения дисциплины студент должен:
–уметь составлять алгоритмы решения задач; составлять программы на алгоритмическом языке высокого уровня; проводить отладку программ с использованием современных программных инструментов; грамотно разбивать решаемую задачу на подпрограммы, объединять подпрограммы в модули; работать в интегрированной среде изучаемого языка программирования;
–владеть навыками построения алгоритмов и программ в интегрированной среде программирования на языке С++; навыками разработки программных средств в различных предметных областях; навыками документации программной и организационной разработки.
СОДЕРЖАНИЕ ДИСЦИПЛИНЫ
Раздел 1. Основные этапы решения задач на ЭВМ. Понятие алгоритма и языка программирования.
Основные этапы решения задач на ЭВМ. Понятие алгоритма. Свойства алгоритмов. Формы записей алгоритмов. Общие принципы построения алгоритмов. Основные алгоритмические конструкции: линейные, разветвляющиеся, циклические. Основные этапы решения задач на ЭВМ. Понятие и виды алгоритмов. Порядок составления алгоритмов. Способы записи алгоритмов. Условные обозначения на блок-схемах. Понятие и виды языков программирования. Трансляторы.
Раздел 2. Программа на языке высокого уровня.
Эволюция языков программирования. Классификация языков программирования. Элементы языков программирования. Понятие системы программирования. Исходный, объектный и загрузочный модули. Интегрированная среда программирования. Компилирование и выполнение программы. Структура программы.
Раздел 3. Пользовательские и стандартные типы данных.
Данные: понятие и типы. Основные базовые типы данных и их характеристика. Понятие переменных и констант. Целочисленный тип данных. Вещественные типы данных. Символьный тип данных. Пустой тип данных. Автоматическое преобразование типов и операция приведения типа. Функции ввода и вывода. Выражения, операции, приоритет операций. Основы алгебры логики. Логические операции с высказываниями: конъюнкция, дизъюнкция, инверсия. Законы логических операций. Таблицы истинности.
Раздел 4. Представление основных управляющих структур программирования.
Понятие оператора. Оператор присваивания, пустой оператор, составной оператор, оператор безусловного перехода. Оператор вызова функции. Условные операторы. Оператор множественного выбора. Вложенные условные операторы. Операторы циклов. Циклические конструкции. Циклы с предусловием и постусловием. Операторы передачи управления.
Раздел 5. Массивы.
Массивы как структурированный тип данных. Объявление массива. Одномерные и многомерные массивы. Размещение массива в памяти. Особенности индексации массивов в С. Ввод и вывод одномерных массивов. Ввод и вывод двухмерных массивов. Обработка массивов. Стандартные функции для массива целых и вещественных чисел. Сортировка массивов. Указатели и адреса. Адресная арифметика. Указатели и массивы. Символьные массивы. Объявление строковых типов данных. Поиск, удаление, замена и добавление символов в строке. Операции со строками. Строковые функции. Динамическое распределение памяти.
Раздел 6. Функции.
Понятие подпрограммы. Понятие функции, сущность, назначение, различие функций. Формат объявления функций. Аргументы функций. Возвращаемое значение. Вызов функций, рекурсия. Прототипы функций. Программирование рекурсивных алгоритмов. Классы памяти. Локальные и глобальные переменные. Область видимости. Передача массивов в функции. Перегрузка функций. Функции с переменным числом параметров. Указатель на функцию.
Раздел 7. Структуры и объединения.
Понятие структуры. Формат объявления структур. Объявление переменных типа структура. Доступ к элементам структур. Вложенные структуры. Массивы структур. Структуры как аргументы функций. Указатели на структуры. Битовые поля. Перечисления. Объявление перечислений, операции над переменными перечислимого типа. Объединения. Объявление объединений. Объявления с вариантными полями.
Раздел 8. Файлы. Модульные программы.
Файлы и потоки. Типы файлов. Режимы открытия файлов. Организация доступа к файлам. Текстовые файлы. Функции чтения и записи символов и строк. Бинарные файлы. Порядок работы с файлами произвольного доступа. Функции чтения и записи для бинарных файлов. Создание структуры записи. Использование файла произвольного доступа. Функции определения ошибок и позиционирования в файлах. Стандартные процедуры и функции для файлов разного типа.