5200
.pdfМИНОБРНАУКИ РОССИИ
Федеральное государственное бюджетное образовательное учреждение высшего образования
«Нижегородский государственный архитектурно-строительный университет»
Платов А.Ю.
ПРОГРАММИРОВАНИЕ
Учебно-методическое пособие по подготовке к лекциям, практическим занятиям
(включая рекомендации по организации самостоятельной работы),
по выполнению курсовой работы
для обучающихся по дисциплине «Программирование» по направлению подготовки 09.03.04 Программная инженерия
направленность (профиль) Разработка программно-информационных систем
Нижний Новгород
2022
УДК 004.9
Платов А.Ю. / Программирование: учебно-методическое пособие / А.Ю. Платов; Нижегородский государственный архитектурно-строительный университет – Нижний Новгород: ННГАСУ, 2022. – 14 с.– Текст: электронный.
В настоящем учебно-методическом пособии по дисциплине «Программирование» даются конкретные рекомендации учащимся для освоения как основного, так и дополнительного материала дисциплины и тем самым способствующие достижению целей, обозначенных в учебной программе дисциплины. Цель учебно-методического пособия — это помощь в усвоении лекций, в подготовке к практическим занятиям, а также в написании курсовой работы.
Учебно-методическое пособие предназначено для обучающихся в ННГАСУ по дисциплине «Программирование» по направлению подготовки 09.03.04 Программная инженерия, направленность (профиль) Разработка программно-информационных систем.
© А.Ю. Платов, 2022
© ННГАСУ, 2022
2
Оглавление
1. |
Общие положения................................................................................................................. |
4 |
|
|
1.1 |
Цели изучения дисциплины и результаты обучения .................................................. |
4 |
|
1.2 |
Содержание дисциплины .............................................................................................. |
4 |
|
1.3 |
Вспомогательная литература для изучения дисциплины .......................................... |
6 |
2. |
Методические указания по подготовке к лекциям ............................................................ |
7 |
|
|
2.1 |
Общие рекомендации по работе на лекциях ............................................................... |
7 |
|
2.2 |
Общие рекомендации при работе с конспектом лекций ............................................ |
7 |
|
2.3 |
Контрольные вопросы ................................................................................................... |
8 |
3. |
Методические указания по подготовке к практическим занятиям .................................. |
9 |
|
|
3.1 |
Общие рекомендации по подготовке к практическим занятиям............................... |
9 |
|
3.2 |
Примеры задач для практических занятий .................................................................. |
9 |
4. |
Методические указания по организации самостоятельной работы............................... |
11 |
|
|
4.1 |
Общие рекомендации для самостоятельной работы ................................................ |
11 |
|
4.2 |
Темы для самостоятельного изучения ....................................................................... |
13 |
5. |
Методические указания по выполнению курсовой работы (Общие рекомендации)... |
14 |
|
|
5.1 |
Цели выполнения курсовой работы ........................................................................... |
14 |
|
5.2 |
Общие требования к оформлению курсовой работы ............................................... |
14 |
|
5.3 |
Примерный список тем курсовой работы.................................................................. |
17 |
3
1. Общие положения
1.1 Цели изучения дисциплины и результаты обучения
Основными целями освоения учебной дисциплины «Программирование» является достижение результатов обучения, предусмотренных установленным в ОПОП индикаторами достижения компетенций. В процессе освоения дисциплины студент должен
Знать:
базовые положения математики, информатики, основы программирования и информационных технологий, тенденции их развития,
основы языка С;
основы работы с компилятором GCC.
Уметь:
реализовывать алгоритмы на языке С;
применять вычислительную технику и программные средства для решения практических
задач.
Данная дисциплина позволит студентам не только систематизировать полученные теоретические знания, укрепить исследовательские навыки, но и даст возможность ориентироваться в новом предметном поле программной инженерии.
1.2 Содержание дисциплины
Материал дисциплины сгруппирован по следующим разделам:
1 Семестр.
4
1.Введение в язык СИстория. Стандарты. Ниша языка. Современные рейтинги
2.Типы данныхЦелые, вещественные, символьные типы. Размеры типов. Операции с типами
3.Консольный ввод-выводФорматированный вывод. Срока форматирования.
4.Условный оператор. Оператор выбораУсловные выражения. Формы оператора. Оператор
switch.
5.МассивыФормы объявления массивов. Двумерные массивы. Представление многомерного массива через одномерный.
6.УказателиСмысл указателей. Операции адресации и разадресации. Операции с указателями. Массивы и указатели.
2 Семестр.
1.Основы текстового режимаОсобенности работы с аппаратурой. Прямая адресация видеопамяти. Знакоместо. Кодирование атрибута. Битовые маски.
2.Вывод на экран символаБазовые операции вывода символа с заданным цветом. Символические константы. Директивы препроцесора
3.Базовые функции выводаФункции для заполнения области, вывода рамки и названия. Работы с С-строками
4.МодульностьПонятие модуля. Интерфейс и реализация. Область жизни и видимость переменных.
5. Базовые функции для работы с окномСтруктуры и указатели на структуры. Конструирование объектов. Работа с динамической памятью.
3 Семестр.
1. Введение в язык PythonМесто языка Python в современной среде программирования. История возникновения и развития языка (версии), причины популярности (продуктивность, переносимость, поддерживающие библиотеки, интеграция компонентов, «приятность» написания кода, сферы применения
2. Структуризация программного пакета. Концептуальная иерархия PythonПакеты, модули, отдельные программы и обеспечение их взаимодействия). Понятие пространства имён и области действия (и видимости). программы, модули, операторы, выражения и объекты
3. Типы данных в PythonИзменяемые и неизменяемые типы данных. Типы данных в Python.
5
Особенности работы, представления и преобразования. Особенности представления с целыми и вещественными числами в Python. Строковые типы в Python. Управляющие символы и их использование (примеры).. Арифметические и битовые операции в Python
4. Контейнеры и коллекцииКлассификация контейнеров и примеры использования
5. Управлением ходом выполнения программы PythonЛогические типы переменных, операторы отношения, логические операторы и выражения). Операторы членства и тождественности.
6.Расширенные типы данныхСписки и кортежи в Python. Определение и особенности размещения в памяти, Операции и методы. Словари. Множества.
1.3Вспомогательная литература для изучения дисциплины
1.Агапов В. П.. Основы программирования на языке С# : Учебное пособие. / Агапов В. П. ; Агапов В. П.. – Москва : Московский государственный строительный университет, ЭБС АСВ,
2012. – 128 с. – URL: URL: http://www.iprbookshop.ru/16366.html. – ISBN ISBN 978-5-7264-0576-6.
2.Брусенцева В. С.. Язык программирования Си : Учебное пособие. / Брусенцева В. С. ; В. С. Брусенцева. – Белгород : Белгородский государственный технологический университет им. В.Г.
Шухова, ЭБС АСВ, 2018. – 58 с. – URL: URL: http://www.iprbookshop.ru/92316.html. – ISBN ISBN 2227-8397.
3.Мардашев А. М.. Задачи по программированию на С/С++ : Учебно-методическое пособие. / Мардашев А. М., Панкратов А. С., Салпагаров С. И. ; А. М. Мардашев, А. С. Панкратов, С. И. Салпагаров. – Москва : Российский университет дружбы народов, 2017. – 72 с. – URL: URL: http://www.iprbookshop.ru/90997.html. – ISBN ISBN 978-5-209-08034-3.
4.Русанова Я. М.. С++ как второй язык в обучении приемам и технологиям программирования : учебное пособие. / Русанова Я. М., Чердынцева М. И. ; Русанова Я. М.. – Ростов-на-Дону : Южный федеральный университет, 2010. – 200 с. – URL: URL: http://www.iprbookshop.ru/47120.html. – ISBN ISBN 978-5-9275-0749-8.
5.Шишкин А. Д.. Программирование на языке Си : Учебное пособие. / Шишкин А. Д. ; Шишкин А. Д.. – Санкт-Петербург : Российский государственный гидрометеорологический университет, 2013. – 104 с. – URL: URL: http://www.iprbookshop.ru/17959.html.
6
2. Методические указания по подготовке к лекциям
2.1 Общие рекомендации по работе на лекциях
Лекция является главным звеном дидактического цикла обучения. Ее цель — формирование основы для последующего усвоения учебного материала. В ходе лекции преподаватель в устной форме, а также с помощью презентаций передает обучаемым знания по основным,
фундаментальным вопросам изучаемой дисциплины.
Назначение лекции состоит в том, чтобы доходчиво изложить основные положения изучаемой дисциплины, ориентировать на наиболее важные вопросы учебной дисциплины и оказать помощь в овладении необходимых знаний и применения их на практике.
Личное общение на лекции преподавателя со студентами предоставляет большие возможности для реализации образовательных и воспитательных целей.
При подготовке к лекционным занятиям студенты должны ознакомиться с презентаций,
предлагаемой преподавателем, отметить непонятные термины и положения, подготовить вопросы с целью уточнения правильности понимания. Рекомендуется приходить на лекцию подготовленным, так как в этом случае лекция может быть проведена в интерактивном режиме,
что способствует повышению эффективности лекционных занятий.
2.2 Общие рекомендации при работе с конспектом лекций
В ходе лекционных занятий необходимо вести конспектирование учебного материала.
Конспект помогает внимательно слушать, лучше запоминать в процессе осмысленного записывания, обеспечивает наличие опорных материалов при подготовке к семинару, зачету,
экзамену.
Полезно оставить в рабочих конспектах поля, на которых делать пометки из рекомендованной литературы, дополняющие материал прослушанной лекции, а также подчеркивающие особую важность тех или иных теоретических положений.
В случае неясности по тем или иным вопросам необходимо задавать преподавателю уточняющие вопросы. Следует ясно понимать, что отсутствие вопросов без обсуждения означает
7
в большинстве случаев неусвоенность материала дисциплины.
2.3Контрольные вопросы
1.Оценка языка С по сравнению с другими языками
2.Перечислить типы данных
3.Как вывести форматированным способом разные типы данных
4.В чем преимущества оператора выбора перед условным.
5.Как передать массив в качетсве аргумента функции.
6.Как работу с массивами выполнить только с указателями.
7.Как кодируется атрибут символа.
8.Что такое битовая операция "или"
9.Вывод на экран символа
10.Как вывести данные с помощью видеопамяти.
11.Что нужно предусмотреть для обеспечения восстановления экрана.
12.Для чего необходимо разделять интерфейс от реализации
13.Как осуществляется доступ к элементам структуры.
14.К какому типу относится язык — процедурному, функциональному или объектноориентированному
15.Структуризация программного пакета. Концептуальная иерархия Python
16.Из каких элементов состоит программа на Питоне.
17.Перечислить типы данных на Питоне.
18.Какие существуют контейнеры в Питоне.
19.Какие конструкции существуют в Питоне для управления ходом программы.
20.Особенности работы с множествами. Особенности работы со словарями.
8
3. Методические указания по подготовке к практическим занятиям
3.1Общие рекомендации по подготовке к практическим занятиям
Входе подготовки к практическим занятиям необходимо изучать основную литературу, знакомиться с дополнительной литературой, а также с новыми публикациями в периодических изданиях: журналах, газетах и т.д. При этом необходимо учесть рекомендации преподавателя и требования учебной программы.
Всоответствии с этими рекомендациями и подготовкой полезно дорабатывать свои конспекты лекции, делая в нем соответствующие записи из литературы, рекомендованной преподавателем и предусмотренной учебной программой. Целесообразно также подготовить тезисы для возможного выступлений по всем учебным вопросам, выносимым на занятие.
При подготовке к практическим занятиям можно также подготовить краткие конспекты по вопросам темы. Очень эффективным приемом является составление схем и презентаций.
Готовясь к докладу или реферативному сообщению, желательно обращаться за методической помощью к преподавателю. Составить план-конспект своего выступления. Продумать примеры с целью обеспечения тесной связи изучаемой теории с реальной жизнью. Своевременное и качественное выполнение самостоятельной работы базируется на соблюдении настоящих рекомендаций и изучении рекомендованной литературы. Студент может дополнить список использованной литературы современными источниками, не представленными в списке рекомендованной литературы, и в дальнейшем использовать собственные подготовленные учебные материалы при написании курсовых и дипломных работ.
3.2Примеры задач для практических занятий
1.1. Приведите пример прототипа любой функции.
2.В чём состоит ошибка программы?
3.Приведите пример программы, в которой объявлены переменные всех известных вам видов (по времени жизни и области видимости).
4.Перечислите виды памяти и укажите, какие виды переменных (по времени жизни) могут храниться в каждой из них.
5.Есть ли разница между *p++ и (*p)++, где p имеет тип int* ? Обоснуйте ответ.
6.Напишите три варианта программы, которая суммирует все числа от 1 до 100. Первый вариант использует инструкцию while, второй – for, третий – пару инструкций if и goto.
7.Понятие алгоритма. Алгоритмические системы. Исполнители алгоритма.
8.Языки для формулировки алгоритмов: естественный язык, язык блок-схем и языки символического кодирования.
9
9.Алгоритмизация и этапы разработки алгоритма.
10.Обзор языков программирования. Языки программирования С и С++.
11.Основные парадигмы программирования: императивная, модульная, объектноориентированная.
12.Понятие типа данных. Простые и структурированные типы данных.
13.Указатели и адресная арифметика.
14.Объявления и определения функций. Аргументы функций.
15.Одномерные и многомерные массивы.
16.Работа с файлами. Операции чтения-записи. Текстовые и двоичные файлы.
17.Символьные массивы и строки. Обработка строк.
18.Структуры. Массивы структур.
19.Динамическое выделение памяти. Динамические массивы.
20.Модульное программирование.
10