Записи семинаров 1 курса зимой/весной 2022г

 

1 Семестр

 

02.09.21
Введение. Работа со связкой Far + gcc. Компиляция, сборка, запуск программы. Все, необходимое для написания программы, ввода двух чисел и вывода их на экран:

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

int main(void)

{int a,b,c;                 

 printf("a="); scanf("%d",&a);

 printf("b="); scanf("%d",&b);

 c=a+b;

 printf("%d+%d=c=%d\n",a,b,c);

 return 0;

}

Пожелания к следующему разу :

- установить у себя Far и gcc (с моего сайта),

- прочитать/прослушать информацию для первокурсников с сайта (в частности, как создать командный файл wgcc),

- создать, скомпилировать, создать и запустить простой пример программы на языке С.

 

21.09.21
Массивы. Работа с массивами фиксированного размера и размера, задаваемого в некоторой переменной. Стек и куча. Понятие системного стека Операции со стеком.

Ввод массива из файла, в котором размер массива задан явно, с отведением под него памяти. Видео.

 

23.09.21
Циклы. Оператор switch и случаи оправданности его использования. Использование break, continue, goto. Логические операции и, или, не. Немного про использование точки с запятой. Операторы ++. Видео.

 

30.09.21
Макроопределения. Оператор #define. Использование IN и OUT. Неявные преобразования типов. Все базовые типы. Что можно и что нельзя помещать в include-файлы. Видео.

 

05.10.21
Массивы и указатели. Отличия. Символьные переменные. Строки. Строковые константы. Видео.

 

07.10.21
Время жизни и область видимости переменных. Глобальные и локальные переменные в языке C. Пример функции определения простоты целого числа.  Видео.

 

14.10.21
Обоснование запрета на массивы (в виде локальных автоматических переменных), размер которых задается в виде переменной. Процесс выполнения программы. Простейший вариант цикла выполнения программы. Видео.

 

19.10.21
Работа с массивами. Модельная задача на работу с массивами. Реализация ввода массива, заданного в одном из двух возможных форматов, из файла. Видео.

 

22.10.21
Работа с простыми двумерными массивами. Вычисление детерминанта матрицы из целых чисел. Видео.

 

28.10.21
Кеш-память. Представление целых чисел в ЭВМ (Little/Big-endian, дополнительный код). Видео.

 

02.11.21
Работа с битовыми операциями. Подходы к решению пары принципиальных задач. Видео.

 

11.11.21
Сортировки. Сортировки пузырьком и слиянием с рекурсией. Теоремы о времени работы и пространственной сложности. Разница математического и программистского подходов к теоремам о пространственной сложности алгоритмов. Видео.

 

30.11.21
Вещественные числа с плавающей точкой (примитивный подход). Точность представления вещественных чисел с плавающей точкой. Как правильно интерпретировать равенство вещественных чисел? Основные элементарные концепции вычислительной геометрии.  Видео.

 

 

 

2 Семестр

 

12.02.2022.

Четыре вида двумерных массивов. Видео1 и Видео2.

 

19.02.2022.

Функции создания двумерного массива, красивой распечатки двумерного массива (несколько слов про строки), удаления из двумерного массива строки и столбца. Видео.

 

26.02.2022.

Общие правила оформления программ. Потоки ввода/вывода и дескрипторы файлов. Перенаправление ввода/вывода. Видео.

Работа со строками. Пример. Видео.

 

05.03.2022.

Запятая в роли разделители и оператора. О правилах хорошего тона в программировании (работа с табуляциями в текстовых редакторах, отведение/очистка памяти, использование size_t, использование goto). Ввод/вывод long long int в компиляторе gcc. Сравнение строк, совместимое со сравнением текстового представления чисел. Видео.

 

12.03.2022.

Работа со строками. Разбор строки с помощью sscanf() Видео.

Реализация аналога fgets() для ввода строк неограниченной длины. Видео.

 

19.03.2022.

Ввод криволинейных массивов и работа с ними. Видео.

 

26.03.2022.

Разбор отдельных задач. Windows: назначение расширению выполняемой программы (assoc/ftype). Начало работы в Python.

Видео.

Python. Модель памяти. Типы переменных. Считывание данных из файла. Исключения. Видео1. Видео2.

 

16.04.2022.

Работа со структурами. Примеры: работа с вектором целых чисел, работа со структурой, описывающей студента.

Видео.

 

07.05.2022.

Двунаправленные списки. Определение. Ссылочная реализация.

Видео.