|
ПО КУРСУ «ПРОГРАММИРОВАНИЕ (ЯЗЫК СИ)»Стр 1 из 2Следующая ⇒ Рекомендовано методической комиссией факультета ВМК
Нижний Новгород 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 часов.
Рекомендуемые образовательные технологии: лекции, самостоятельная работа, использование интерактивных форм обучения для самостоятельной работы студентов. 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 км? Что будет с Землей? - задался я вопросом... ![]() ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|