Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

5200

.pdf
Скачиваний:
0
Добавлен:
21.11.2023
Размер:
567.98 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Федеральное государственное бюджетное образовательное учреждение высшего образования

«Нижегородский государственный архитектурно-строительный университет»

Платов А.Ю.

ПРОГРАММИРОВАНИЕ

Учебно-методическое пособие по подготовке к лекциям, практическим занятиям

(включая рекомендации по организации самостоятельной работы),

по выполнению курсовой работы

для обучающихся по дисциплине «Программирование» по направлению подготовки 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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]