Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







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





Рекомендовано методической комиссией факультета ВМК
для студентов ННГУ, обучающихся по направлению подготовки
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. Тематические задания по курсу «Программирование (язык СИ).







Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все...

Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право...

ЧТО ТАКОЕ УВЕРЕННОЕ ПОВЕДЕНИЕ В МЕЖЛИЧНОСТНЫХ ОТНОШЕНИЯХ? Исторически существует три основных модели различий, существующих между...

Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом...





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


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