Информатика и технология программирования

       

Информатика и технология программирования

Итоговый экзамен (семестр)
Атттестационный экзамен ()
КЛАССЫ ДОПОЛНИТЕЛЬНЫХ ТИПОВ ДАННЫХ
ШАБЛОНЫ СТАНДАРТНЫХ СТРУКТУР ДАННЫХ
Формат входных документов
Сбор и форматирование терминов
Форматирование Си-программ
Форматирование таблиц
Форматирование группы документов
Создание алфавитного и тематического каталогов
Резюме

Что, как и зачем предлагается изучать
Программа = алгоритм + данные


Базовые типы данных
Операции, выражения
Если все сразу
Немного о процессе программирования
Анализ " смысла" программы и ее частей
С миру по нитке - готовая программа
Задачи, задачи и еще раз задачи

Технология программирования - это
Немного арифметики
Итерационные процессы и циклы
Символы, строки, тексты
Сортировка и поиск
Стеки, очереди
Типы данных: не только массивы
Указатели, массивы, память
Структуры и объединения
Типы данных и переменные

Указатели и управление памятью в Си
Функция как тип данных
Модульное программирование
Динамические переменные и массивы
Биты, байты, слова
Структура данных - вовсе не массивы
Массивы указателей
Линейные списки
Рекурсия

Указатели на функции
Двоичные файлы произвольного доступа
В стремлении к совершенству
Программирование вычислительных процессов
Объекты и классы
Особенности языка Си++
Класс: тип данных, определенный программистом
Программирование "от класса к классу"
Классы структур данных
Стратегии взаимодействия объектов программе

Финал-апофеоз: классов, функций, строк
Алгоритм
Составные части языка программирования
Составные части языка программирования - 2
Байт, машинное слово
Представление отрицательных чиселДополнительный код
Базовые типы данных целых чисел

Числа с плавающей точкой
Представление символьных данных
Массив как производный тип данных
Результат операции, действия над операндами
Преобразование типов операндов
Классификация операций
Арифметические операции

Операции сравнения и логические операции
Операции присваивания
Явное преобразование типа
Условная операция
Операция последовательности действий ("запятая")
" Подводные камни" и " маленькие хитрости"
Bk-t
Роль символа ";"
Вопросы без ответов

Операторы простой последовательности
Условные операторы
Операторы цикла
Операторы перехода
Определение функции

Способ передачи параметров
Функция main
Глобальные переменныеИнициализация
Области действия функцийОпределения и объявления
Препроцессор
Трансляция и ее фазы
Модульное программирование, компоновка

Шаг Простые переменные и массивы
Шаг Функции и общая структура программы
Шаг Операции и выражения
Шаг Операторы
Шаг Стандартные функцииВвод-вывод
Шаг Что делает программа
Способы анализа программы

Смысл операции присваивания
Смысл переменных
Смысл переменных при завершении циклов
Смысл индексных переменных при работе с массивами
Смысл переменных в структурах данных
Житейский смысл алгоритмов и их фрагментов

Смысл выражений в арифметических задачах
Пример анализа программы : выбор возрастающих последовательностей
Сортировка подсчетом
Особое число

Структурное программирование
Модульное проектирование
Нисходящее пошаговое структурное проектирование
Одновременное проектирование алгоритма и структур данных
Допустимые случаи использования оператора goto
Операторы continue, break и return

Пример проектирования : сложение смешанных чисел
Простые множители
Простые числа
Счастливые билеты
Задания к лабораторным работам
Нахождение корня функции методом половинного деления
Нахождение корня функции методом последовательных приближений
Вычисление степенного полинома
Вычисление суммы степенного ряда

Стандартная библиотека ввода-вывода
Работа со строкой
Ввод-вывод целых чисел

Информатика и технология программирования

Ввод целого числа
Вывод двоичного числа
Представление текста
Упорядоченные строки
Контекстная замена

Выделение вложенных фрагментов
Форматирование строки
Обменные сортировки
Сортировки разделением
Сортировка выбором

Сортировки вставками
Сортировка слиянием
Указатель как средство доступа к данным

Указатель как элемент архитектуры компьютера
Работа с указателем
Философский смысл указателя
Адресная арифметикаУказатель как адрес памяти
Указатели и массивы
Указатели как формальные параметры
Указатель - результат функции
Операции над указателями
Границы памяти, адресуемой указателем

Строки, массивы символов и указатели char*
Результат функции - указатель на строку
Указатель на структуру -формальный параметр
Указатель на структуру -результат функции
Объединения
Битовые поля

Иерархия и конструирование типов данных
Контекстное определение типов данных в Си
Абстрактные типы данных
Определение типа данных (спецификатор typedef)

Присваивание указателей различного типа
Явное преобразование типа указателя " на лету"
Работа с памятью " на низком уровне"
Указатель типа void*
Работа с последовательностью данных переменного формата
Упаковка последовательности нулей
Указатели и многомерные массивы

Формальные и фактические параметры
Вызов функцииФункции с переменным количеством параметров
Файл Си-программы как элемент модульного программирования
Классы памяти и области действия переменных
Области действия функций
СвязываниеВнешние ссылки и точки входа

Заголовочные файлы и библиотеки
Работа с динамической памятью в Си
Динамические массивы
Динамические массивы и проблемы размерности данных
Поразрядная операция ИЛИ
Поразрядная операция И
Операция поразрядной ИНВЕРСИИ
Поразрядная операция ИСКЛЮЧАЮЩЕЕ ИЛИ

Операция СДВИГ ВЛЕВО
Операция СДВИГ ВПРАВО
Упаковка данных
Поразрядная сортировка разделением
Работа с битовыми растрами
Машинная арифметика - целые произвольной точности
Двоично-десятичная арифметика

ЗаписьKлючИндекс
Индексная таблицаИндексный файл
Операции над индексными таблицами и файлами
Область переполнения
Многоуровневые индексы
Индексное дерево

Преобразование ключей
Структуры данных: все, кроме массивов
Структуры данных " в узком смысле"
Формирование массивов указателей
Работа с массивом указателей
Многоуровневые указатели
Динамические массивы указателей переменной размерности
Массивы указателей на строки

Дуализм двумерного массива и массива указателей
Многоуровневые массивы указателей на строки
Списки как динамические структуры данных
Работа со списками
Способы формирования списков

Односвязные списки
Представление очереди и стека односвязным списком
Двусвязные списки
Проблема концов списка и циклические списки

Особенности программирования рекурсивных функций
Философские аспекты рекурсии
Линейная рекурсия
Рекурсия и поисковые задачи
Поиск выхода в лабиринте

Обход шахматной доски
Линейный кроссворд

Информатика и технология программирования

Результат функции рекурсивного поиска
Деревья
Двоичное дерево
Нумерация вершин в деревьяхСпособы обхода дерева
Структуры данных с произвольными связямиГрафы
Синтаксис указателя на функцию
Указатель на функцию как формальный параметр
Итераторы
Динамическое связывание
Иерархические структуры данных
Структуры данных с элементами произвольных типов
Структуры переменной размерности

Последовательный текстовый файл
Позиционирование в текстовом файле
Двоичный файл - неограниченный массив байтов

Основные характеристики двоичных файлов
Избыточность в двоичных файлах и защита от ошибок
Файл записей фиксированной длины
Файл записей переменной длины
Параметризованные файлы записей фиксированной длины

Связанные записи в файлеФайловый указатель
Массив указателей в файле
Односвязный список в файле
Кэширование структур данных при работе с файлами

Машинная зависимость в языках высокого уровня
Понятие процессаПроцесс и программа
Состояние процесса

Прерывание
Механизм прерываний в архитектуре I
Средства обработки прерываний в Си
Обработка программного прерывания
Взаимодействие прерывающего процесса и основной программы
Ввод-вывод данных по прерыванию
Вложенные прерывания

Отложенное прерывание ( Fork-обработка)
Введение элементов многозадачности в MS DOS
Резидентная программа - всплывающие часы
Переключение процессовСостояние процесса
Модель системы процессов, работающих в разделении времени
Синхронизация процессов

Объект и класс как элементы технологии программирования
Объект и класс в синтаксисе языка программирования
"Философский" смысл технологии ООП
Эпизодическое объектно-ориентированное программирование
Тотальное программирование "от класса к классу"
Структура как базовый тип данных
Ссылка (неявный указатель)

Функции -элементы структуры
Перегрузка (переопределение) функций
Контроль преобразования типов указателей
Параметры функций по умолчанию
Вставляемые (inline) функции
Указатели на элементы структуры
Неизменяемые переменные (константы)
Определение переменной внутри выражения

Синтаксис класса и объекта в Си++
Создание и уничтожение объектовКонструкторы и деструкторы
Ограничение доступа к объектам классаДружественность
Статические элементы класса
Переопределение операторов

Конструктор копирования объектов
Преобразование к базовому типу данных
Преобразование типов данных и классы
Переопределение операций new и delete
Переопределение операций () и []
Переопределение операции присваивания
Шаблоны

Массив указателей
Циклический список

Информатика и технология программирования

Виртуальные функции - как элемент " отложенного" проектирования
Назад: Си++ = Си + классы + объектно-ориентированное
Программа как система взаимодействующих объектов
Система объектов, управляемых сообщениями

Постановка задачи
Шаг Ударим классом по двоичному файлу
Шаг Что такое произвольный элемент коллекции
Шаг Строки -элементы таблицы
Шаг Промежуточный финишРаботаем с файлом строк

Шаг Массив файловых указателей
Шаг Файловая коллекция однотипных элементов
Шаг Пример использования: ввод, сохранение и сортировка строк
Приложения
Определение дескриптора открытого файла в stdio.h
Макроопределения и функции проверки флагов состояния
Стандартные потоки (файлы) ввода-вывода
Функции открытия-закрытия файла
Символы строки режима работы с файлом

Функции посимвольного ввода-вывода
Функции построчного ввода-вывода
Функции форматированного ввода-вывода
Функции позиционирования и блочного ввода-вывода
Функции работы с символами (Заголовочный файл - ctype.h)
Функции для работы со строками (string.h, stdlib.h)
Функции для работы с терминалом в текстовом режиме (conio.h)
Математические функции (math.h)

Классы потокового ввода-вывода
Заголовочные файлы
Предопределенные объекты-потоки
Переопределенные операции чтения-записи для базовых типов данных
Переопределение операций чтения-записи для типов данных пользователя
Форматирование данных в потоках
Манипуляторы
Состояние потока
Файловые потоки

Строковые потоки
Вызов оболочки
Система меню
Работа с окнами и файлами
Редактирование
Модульное программированиеПроект
Трансляция и компоновка
Выполнение и отладка
Настройка
Система помощи

Назад: Информатика и технология программирования Структура курса для дневного отделения
Exampl-
Экзаменационные билеты ( семестр )
ЗаданиеНаписать программу слияния двух упорядоченных массивов в третий

ЗаданиеНаписать программу поиска самой внутренней вложенной пары скобок
Последовательное переписывание вложенных фрагментов
ЗаданиеНаписать функцию поиска парных фрагментов
Исключение парных фрагментов
ПРЕДМЕТЫ ИЗУЧЕНИЯ
ОБЪЕКТЫ ИЗУЧЕНИЯ
Представления
З нания
Умения и навыки
Раздел: Информатика и основы программирования на языке Си ( часа )

Практические занятия, их содержание, объем в часа х ( часов)
Лаборато р ные занятия, их содержание, объем в часа х ( часа)
Расчетно-графическая работа
УПРАВЛЕНИЕ
Prgrg-

Раздел: Типы данныхОсновы организации программы и данных ( часов).
Раздел : Машинно-ориентированные операции и работа с битами (часа).
Раздел : Структуры данных ( часов)
Тест 2
Раздел : Организация файлов данных ( bk.doc ) ( часов)
Раздел : Основы системного программирования и организации вычислительных процессов ( часов)
Раздел: Обзор технологий программирования (чаc ов).
Раздел : " Эпизодическое" объектно-ориентированное программирование ( часов)
Раздел : Тотальное объектно-ориентированное программирование (часов)
Технология объектно-ориентированного программирования на Си++ (часов)

Практические занятия ( часов)


Установка и настройка Windows 2000 далее
Основы WAP далее