Программа курса «Программирование и информатика», I-1

Язык программирования Си

  1. Основы работы в среде Microsoft Visual Studio. Создание проекта «Win32 Console Application». Основные файлы проекта. Этапы компиляции программ.
  2. Основы синтаксиса языка Си, структура консольного приложения. Ключевые слова. Базовые типы данных (bool, char, int, double). Определение переменных и констант. Выражения, операции, комментарии. Приведение типов. Приоритет операторов.
  3. Директивы препроцессора и их использование.
  4. Блоки и правила видимости переменных. Управляющие операторы (if, goto, switch). Циклы (while, do, for).
  5. Процедурный подход программирования. Определение функции. Прототип функции. Передача параметров в функции по значению, передача массивов в функции. Локальные, глобальные, статические переменные. Рекурсия.
  6. Модульный подход в программировании. Использование *.h файлов. Раздельная компиляция. Внешние (extern) и статические (static) глобальные переменные и функции.
  7. Математические функции стандартной библиотеки Си (<math.h>). Консольный ввод-вывод (<stdio.h>). Форматированный ввод-вывод.
  8. Указатели. Массивы. Передача параметров в функции по указателю. Функции работы с динамической памятью (malloc/free/realloc). Динамические массивы. Сложные декларации, определение синонимов типов (typedef). Указатель на функцию.
  9. Строки Си. Функции работы со строками (<string.h>, <ctype.h>).
  10. Пользовательские типы данных (enum, struct, union).

Фундаментальные алгоритмы программирования

  1. Поиск элемента в массиве.
  2. Поиск последовательности элементов в массиве (метод Боуера-Мура).
  3. Одно- и двусвязные списки.
  4. Методы сортировки массивов (сортировка выбором, быстрая сортировка).

Численные методы

  1. Машинная арифметика, точность вычислений.
  2. Поиск корня уравнения (методы вилки, хорд и касательных).
  3. Интерполяция и экстраполяция значений функции.
  4. Линейная аппроксимация измерений.
  5. Вычисление определенных интегралов (методы прямоугольников, трапеций и Симпсона).

Литература

  1. В.В. Подбельский, С.С. Фомин. «Программирование на языке Си» – Москва,  Финансы и статистика, 2005, 600 с.
  2. Стивен Прата. «Язык программирования C. Лекции и упражнения» – Москва, «Вильямс», 2015, 928 с.
  3. Д.А. Бикулов, Н.В. Иваницкая, А.П. Иванов. «Язык программирования Си, учебно-методическое пособие»
  4. В.А. Антонюк, А.П. Иванов. «Программирование и информатика. Краткий конспект лекций.» – Москва, физический ф-т МГУ, 2015, 64 с.
  5. Керниган, Д. Ритчи. «Язык программирования Си» – Санкт-Петербург,  Невский диалект, 2003, 304 с.
  6. Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн. «Алгоритмы: построение и анализ» – Вильямс, 2011, 1296 c.
  7. Н.Н. Калиткин. «Численные методы» – Москва, Наука, 1978, 592 с.