ФНТИ
Карта сайта

Языки программирования
Жукова Т.В.

Лекции

  1. Введение. Основы алгоритмизации. Основы программирования на алгоритмическом языке
  2. Одномерные и двумерные массивы.
  3. Адреса и указатели. Массив указателей. Указатели и массивы.
  4. Функции.
  5. Символьные строки. Стандартные функции обработки строк.
  6. Свободные массивы.
  7. Текстовые файлы.
  8. Побитовые операции.
  9. Структуры.
  10. Ограничения целостности.
  11. Классы памяти. Динамическое распределение памяти.
  12. Динамические структуры. Связанные списки. Построение и обработка.
  13. Динамические структуры. Двоичное дерево поиска. Построение и обработка.

Семинары

  1. Построение алгоритмов обработки одномерных массивов (блок-схемы). Решение задач обработки одномерных массивов.
  2. Решение задач обработки двумерных массивов
  3. Решение задач обработки массивов с использованием указателей
  4. Организация программы как функции пользователя
  5. Решение задач обработки символьных строк с использованием стандартных функций.
  6. Отношения для примеров.
  7. Обработка массива структур. Свободные массивы. Решение задач с использованием динамического выделения памяти под структуру
  8. Решение задач построение динамического списка (стек, очередь).
  9. Обработка однонаправленного списка (удаление элемента, вставка элемента).
  10. Обработка двунаправленного списка (удаление элемента, вставка элемента).
  11. Обработка циклического списка.
  12. Рекурсивный обход дерева. Поиск элемента в дереве.
  13. Удаление элементов из дерева.
  14. Хэш-таблицы.

Лабораторные работы

  1. Решение задач обработки одномерных массивов
  2. Решение задач обработки двумерных массивов.
  3. Организация программы как функции пользователя
  4. Работа с текстовыми файлами
  5. Обработка массива структур. Свободные массивы
  6. Решение задач с использованием динамического выделения памяти под структуру. Чтение данных в структуру из файла
  7. Решение задач построение динамического списка (стек, очередь).
  8. Обработка однонаправленного списка (удаление элемента, вставка элемента).
  9. Обработка двунаправленного списка (удаление элемента, вставка элемента)
  10. Рекурсивный обход дерева. Поиск элемента в дереве
  11. Удаление элементов из дерева

Самостоятельная работа

  1. Решение задач обработки одномерных массивов
  2. Решение задач обработки двумерных массивов
  3. Решение задач обработки символьных строк
  4. Решение задач построения и обработки динамического списка (стек, очередь) или дерева
  5. Решение задач построения и обработки двоичного дерева

Основная литература

  1. Керниган Б., Ритчи Д. Язык программирования Си - СПб.: «Невский Диалект», 2001 г. - 352 с
  2. Подбельский В. В., Фомин С. С. Программирование на языке Си: Учебное пособие - М., Финансы и статистика, 2005 г. - 600 с
  3. Вирт Н. Алгоритмы и структуры данных – СПб.: «Невский Диалект», 2001 - 352 с
  4. Керниган Б., Пайк Р. Практика программирования – М., Издательский дом «Вильямс», 2004 – 288 сД
  5. Павловская Т. А. С/С++. Программирование на языке высокого уровня -СПб. «Питер», 2003 – 461 с

Дополнительная литература

  1. Мартин Фаулер Рефакторинг. Улучшение существующего кода. – СПб. «Символ-Плюс», 2005 - 432 с
Факультет нанотехнологии и информатики, МФТИ, 2007 г.,