ПО КУРСУ «ПРОГРАММИРОВАНИЕ (ЯЗЫК СИ)»
Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







ПО КУРСУ «ПРОГРАММИРОВАНИЕ (ЯЗЫК СИ)»





Рекомендовано методической комиссией факультета ВМК
для студентов ННГУ, обучающихся по направлению подготовки
09.03.03«Прикладная информатика»

 

Нижний Новгород

2015 год

 

УДК 004.4

Ф-76

Ф-76 Фомина И.А. Учебно-методическое пособие по курсу «Программирование (язык Си)». – Нижний Новгород: Нижегородский госуниверситет, 2015. – 33 с.

 

Рецензент: к. т.-н., доцент Карпенко С. Н.

 

 

В учебно-методическом пособии представлены основные цели и задачи курса, требования к результатам его освоения. Приводятся структура и содержание основных разделов дисциплины, темы лабораторных работ и методические рекомендации по выполнению основных лабораторных работ. В результате выполнения данных работ, студенты приобретают навыки программирования в среде Microsoft Visual Studio. Учатся применять типовые алгоритмы при решении прикладных задач.

Пособие предназначено для студентов 1 курса факультета ВМК направления подготовки «Прикладная информатика» (квалификация: бакалавр прикладной информатики, форма обучения: очная), изучающих курс «Программирование на языке Си». Данные методические указания могут быть использованы как помощь при выполнении практических и лабораторных работ в терминал - классе.

 

© Нижегородский государственный

Университет им. Н.И. Лобачевского, 2015

© Фомина И. А

 


Содержательное описание курса

1.1. Цели освоения дисциплины

Целью курса является изучение методов программирования для овладения знаниями в области технологии программирования; подготовка к осознанному использованию, как языков программирования, так и методов программирования

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



1.2. Место дисциплины в структуре основных образовательных программ

Данная дисциплина является базовой для последующих курсов, связанных с вопросами алгоритмизации и программирования.

В курс включены синтаксис, семантика и техника программирования на языке СИ, типовые алгоритмы обработки массивов и строк.

Освоение данной дисциплины необходимо для дальнейшего изучения дисциплин по выбору студента, к числу которых относятся курсы «Объектно-ориентированное программирование (С++)», «Высокоуровневые методы программирования (С#)», «Шаблоны проектирования», специальные курсы, а также современные технологии по разработке, распространению и поддержке программного обеспечения.

 

Формирование компетенций

В результате освоения программы курса у студента должны быть сформированы общекультурные, профессиональные и профессионально-прикладные компетенции.

Данная дисциплина способствует формированию следующих компетенций, предусмотренных ФГОС ВПО по направлению подготовки 09.03.03 «Прикладная информатика»

А)Студент должен обладать следующими общекультурными компетенциями (ОК):

· владением культурой мышления, способностью к обобщению, анализу, восприятию информации, постановке цели и выбору путей ее достижения (ОК-1);

· способностью проявлять инициативу, брать на себя ответственность в условиях риска и принимать нестандартные решения в проблемных ситуациях (ОК-4);

· способностью находить, обрабатывать и анализировать информацию из разных источников (в том числе из глобальных компьютерных сетей) (ОК ¾ 6);

· способностью к самоорганизации и самообразованию (ОК-7);

· способностью использовать навыки работы с информацией из различных источников для решения профессиональных и социальных задач (ОК-12).

 

Б) Профессиональные компетенции (ПК) – способность применять теоретические знания на практике

· способность применять основные законы, принципы и правила фундаментальных математических и естественных наук для моделирования объектов и процессов исследуемых предметных областей (ОПК-1);

· способность понимать значение информации в развитии современного общества, сознавать опасности и угрозы, возникающие в этом процессе, анализировать, выбирать и применять методы и средства для обеспечения информационной безопасности, в том числе защиты государственной тайны (ОПК-2)

· способность решать стандартные задачи профессиональной деятельности на основе информационной и библиографической культуры с применением информационно-коммуникационных технологий и с учетом основных требований информационной безопасности (ОПК-4).

· способностью проводить тестирование компонентов программного обеспечения ИС (ПК-8);

· способностью применять системный подход и математические методы в формализации решения прикладных задач (ПК-15).

 

1.4 Требования к результатам освоения дисциплины «Программирование (С)»

В результате изучения дисциплины студент должен:

иметь представление:

· о конструировании алгоритмов,

· о методах структурного и модульного программирования,

· об основных приемах программирования задач на языке С;

· об абстракциях основных структур данных (стек, очереди, списки, деревья и т.п.) и методах их обработки и способах реализации,

уметь:

· самостоятельно выбирать метод решения задачи

· разрабатывать алгоритмы,

· реализовывать алгоритмы на языке программирования Си,

· описывать основные структуры данных,

· реализовывать методы обработки данных,

· работать в средах программирования;

приобрести навыки:

· структурного программирования,

· алгоритмизации,

иметь опыт:

разработки алгоритмов,

реализации их в виде программы на языке СИ,

описания структур данных,

описания основных базовых конструкций,

программирования на языке высокого уровня,

работы в различных средах программирования.

 

Структура курса «Программирование (С)»

Плановая нагрузка

Общая трудоемкость дисциплины составляет 3 зачетных единицы 108 часов.

№ п/п Раздел Дисциплины Семестр Неделя семестра Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) Формы текущего контроля успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам)
        лекции практика с/р  
Основные понятия. Структура программы на языке С 1-2    
Препроцессор языка СИ    
Типы данных, выражения и операции   Отчёт по л/р
Операторы управления программой 5-6   Отчёт по л/р
Указатели, массивы и адресная арифметика 7-8   Отчёт по л/р
Функции и структура программы 9-10   Отчёт по л/р
Обработка символьных строк 11-12   Отчёт по л/р
Динамическое распределение памяти 13-14   Отчёт по л/р
Ввод, вывод и стандартная библиотека ввода-вывода 15-16   Отчёт по л/р
Типы, определяемые пользователем 17-18   Зачет

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

2.2. Содержание разделов дисциплины

 

1. ВВЕДЕНИЕ В ЯЗЫК С.

История создания языка С. Сравнение с другими языками программирования. Структура программы на языке С. Основные понятия: алфавит, константы, идентификаторы, ключевые слова, комментарии к программе, директивы препроцессора.

 

2. ПРЕПРОЦЕССОР ЯЗЫКА С.

Директива #define, создание и использование макросов. Предопределенные макроимена. Директива #include. Директивы условной компиляции.

 

3. ТИПЫ ДАННЫХ, ВЫРАЖЕНИЯ И ОПЕРАЦИИ.

Базовые типы данных. Модификаторы типов. Арифметические, логические, битовые операции, операции сравнения. Дополнительные операции (инкрементация, декрементация, условное присваивание, скобки, операция запятая, операция sizeof). Конструирование выражений. Явное и неявное преобразование типов в арифметических выражениях.

 

4. ОПЕРАТОРЫ УПРАВЛЕНИЯ ПРОГРАММОЙ.

Пустой оператор. Операторы - выражения. Блок операторов. Операторы цикла while, do-while, for. Операторы break и continue. Операторы return, exit(). Операторы условия if, switch.

 

5. УКАЗАТЕЛИ, МАССИВЫ И АДРЕСНАЯ АРИФМЕТИКА.

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

 

6. ОБРАБОТКА СИМВОЛЬНЫХ СТРОК.

Определение строк и строковых констант. Инициализация строк. Указатели и строки. Библиотечные функции работы со строками. Реализация библиотечных функций. Массивы строк.

 

7. ФУНКЦИИ И СТРУКТУРА ПРОГРАММЫ.

Создание и использование простой функции. Формальные и фактические параметры функции. Передача аргументов в функции. Массивы как аргументы функций. Возвращаемое значение. Прототип функции. Рекурсивные функции. Аргументы функции main. Многофайловая программа. Область видимости переменных. Классы памяти и работа с переменными. Автоматические, статические и внешние переменные.

 

8. ДИНАМИЧЕСКОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ.

Статические и динамические массивы. Функции выделения, перераспределения и освобождения памяти: malloc(), calloc(), realloc(), free(). Выделение памяти для одномерных и многомерных массивов.

 

9. ВВОД, ВЫВОД И СТАНДАРТНАЯ БИБЛИОТЕКА ВВОДА-ВЫВОДА.

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

 

10. ТИПЫ, ОПРЕДЕЛЯЕМЫЕ ПОЛЬЗОВАТЕЛЕМ.

Структуры. Массивы структур. Указатели на структуры. Структуры в качестве аргументов функций. Структуры данных: стек, очередь, списки, бинарные деревья. Объединения. Битовые поля. Перечислимый тип. Переименование типов - typedef.

 

Лабораторный практикум

Общие положения о выполнении лабораторных работ

Лабораторные работы в компьютерных классах служат для самостоятельной работы студентов над учебными задачами с целью выработки и закрепления практических навыков программирования, полученных в рамках теоретического курса «Программирование (язык С)». Лабораторные занятия предполагают изучение студентами интегрированной среды программирования Microsoft Visual Studio, а также подготовку и отладку программ по каждому из разделов курса.

1. Форматированный ввод-вывод. Типы данных.

2. Явное и неявное преобразование типов

3. Разветвляющиеся и циклические алгоритмы

4. Битовые операции

5. Массивы

6. Указатели и массивы

7. Работа со строками

8. Оформление программ с использованием функций

9. Определяемые пользователем типы: структуры, объединения, битовые поля.

10. Библиотеки ввода-вывода. Работа с файлами

Задания на лабораторные работы определяются преподавателем из списка задач, приведенных ниже.

 

3.2. Тематические задания по курсу «Программирование (язык СИ).









Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2018 zdamsam.ru Размещенные материалы защищены законодательством РФ.