Программа курса «Введение в компьютерные технологии», I-1
Язык программирования Си
Данный курс доступен на сайте "Университет без границ".
- Основы работы в среде Microsoft Visual Studio. Создание проекта «Win32 Console Application». Основные файлы проекта. Этапы компиляции программ.
- Основы синтаксиса языка Си, структура консольного приложения. Ключевые слова. Базовые типы данных (bool, char, int, double). Определение переменных и констант. Выражения, операции, комментарии. Приведение типов. Приоритет операторов.
- Директивы препроцессора и их использование.
- Блоки и правила видимости переменных. Управляющие операторы (if, goto, switch). Циклы (while, do, for).
- Процедурный подход программирования. Определение функции. Прототип функции. Передача параметров в функции по значению, передача массивов в функции. Локальные, глобальные, статические переменные. Рекурсия.
- Модульный подход в программировании. Использование *.h файлов. Раздельная компиляция. Внешние (extern) и статические (static) глобальные переменные и функции.
- Математические функции стандартной библиотеки Си (<math.h>). Консольный ввод-вывод (<stdio.h>). Форматированный ввод-вывод.
- Указатели. Массивы. Передача параметров в функции по указателю. Функции работы с динамической памятью (malloc/free/realloc). Динамические массивы. Сложные декларации, определение синонимов типов (typedef). Указатель на функцию.
- Строки Си. Функции работы со строками (<string.h>, <ctype.h>).
- Пользовательские типы данных (enum, struct, union).
Фундаментальные алгоритмы программирования
- Поиск элемента в массиве.
- Поиск последовательности элементов в массиве (метод Боуера-Мура).
- Одно- и двусвязные списки.
- Методы сортировки массивов (сортировка выбором, быстрая сортировка).
Численные методы
- Машинная арифметика, точность вычислений.
- Поиск корня уравнения (методы вилки, хорд и касательных).
- Интерполяция и экстраполяция значений функции.
- Линейная аппроксимация измерений.
- Вычисление определенных интегралов (методы прямоугольников, трапеций и Симпсона).
Литература
- В.В. Подбельский, С.С. Фомин. «Программирование на языке Си» – Москва, Финансы и статистика, 2005, 600 с.
- Стивен Прата. «Язык программирования C. Лекции и упражнения» – Москва, «Вильямс», 2015, 928 с.
- Антонюк В.А., Задорожный С.С., Иванов А.П., Лукашёв А.А., Панов Н.А., Шленов С.А. «Язык программирования Си. Учебно-методическое пособие (I семестр).» – М.: Физический факультет МГУ им. М.В.Ломоносова, 2022, 108 с.
- Д.А. Бикулов, Н.В. Иваницкая, А.П. Иванов. «Язык программирования Си, учебно-методическое пособие» – М.: Физический факультет МГУ им. М.В.Ломоносова, 2021, 106 с.
- В.А. Антонюк, А.П. Иванов. «Программирование и информатика. Краткий конспект лекций.» – М.: Физический факультет МГУ им. М.В.Ломоносова, 2015, 64 с.
- В.А. Антонюк, С.С. Задорожный. «Язык программирования С/С++, часто встречающиеся ошибки при написании программ» – М.: Физический факультет МГУ им. М.В.Ломоносова, 2021, 64 с.
- Керниган, Д. Ритчи. «Язык программирования Си» – Санкт-Петербург, Невский диалект, 2003, 304 с.
- Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн. «Алгоритмы: построение и анализ» – Вильямс, 2011, 1296 c.
- Н.Н. Калиткин. «Численные методы» – Москва, Наука, 1978, 592 с.