Способы организации данных

ПРОГРАММА КУРСА

Лекции

Раздел 1

Вводная часть.

· Программное и аппаратное обеспечение. Языки программирования: уровень и тип языка программирования, характеристики. Краткий обзор парадигм программирования: процедурные языки, объектно-ориентированные языки.

· Этапы разработки программного обеспечения. Жизненный цикл программного продукта.

· Характеристики разрабатываемой программы.

· Основные принципы обработки команд программы исполнителем (компьютером).

· Организация ЭВМ. Принципы построения ЭВМ, машина Фон Неймана.

Раздел 2

Понятие Данные.

· Понятие данные, информация. Свойства информации. Представление данных разного типа в компьютере: целочисленные данные и числа с плавающей точкой, строки фиксированной и переменной длины, символы, логические значения, даты. Различные варианты кодировки символов. Сравнение данных разных типов. Системы счисления. Общие понятия и конкретные системы: десятичная, двоичная, шестнадцатеричная, восьмеричная. Правила перевода числа из одной системы в другую. Устройство памяти. Адресация. Понятие переменная. Объявление (декларация) и инициализация переменных. Правила именования.

Раздел 3

Понятие Программа.

· Понятие программа, алгоритм, исполнитель.

· Типы программного обеспечения: системное, прикладное, инструментальное (средства разработчика).

· Трехуровневая модель программного продукта.

· Свойства алгоритмов. Формы представления алгоритмов: естественный язык, блок-схема, формальный язык. Составление блок-схем алгоритмов.

· Иерархическая организация программы, модульность. Область видимости и время жизни. Секции программного модуля.

· Понятия транслятор, компилятор, интерпретатор. Статическая и динамическая компиляция.

Раздел 4

Понятие Интерфейс.

· Варианты интерфейсов: UI, GUI и др. Важность правильной разработки интерфейса. Различные методы построения диалога с пользователем.

Раздел 5

Язык программирования. Переменные.

· Состав и структура языка программирования. Понятия алфавита, синтаксиса и семантики.

· Комментарии.

· Переменные. Определение имени переменной. Объявление переменной. Инициализация переменной по умолчанию и из кода.

· Область видимости и время жизни переменных. Затенение имен.

· Оператор присваивания.

· Типы переменных. Преобразование типов явное и неявное. Стандартные операции с переменными.

· Константы.

· Указатель или ссылка на переменную.

Раздел 6

Язык программирования. Операторы.

· Понятие оператора. Запись операторов. Многострочные операторы, понятие блока.

· Оператор условия. Составления условия: сравнение числовых значений, дат, строковых и логических значения. Составление сложных условий: использование логических операций OR, AND, XOR, NOT. Приоритет операций. Вложенные операторы. Оптимизация условий.

· Оператор выбора. Оптимизация оператора выбора.

· Оператор цикла: циклы с предусловием, с постусловием, с параметром. Цикл для обхода элементов группы. Понятия: тело цикла, условие цикла, счетчик, итерация. Использование счетчика цикла. Оператор досрочного выхода из цикла.

Раздел 7

Процедуры и функции.

· Декомпозиция задачи на подзадачи. Программирование сверху вниз и снизу вверх. Парадигма черного ящика. Входные и выходные данные подпрограммы.

· Понятия подпрограмма, процедура, функция. Процедуры стандартные, пользовательские, обработки событий. Описание, объявление, вызов процедуры. Библиотеки функций.

· Вызов процедуры и функции.

· Аргументы формальные и фактические. Тип аргумента. Передача аргументов по значению и по ссылке. Значение, возвращаемой функцией.

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

Раздел 8

Способы организации данных.

· Роль организации данных в программе.

· Понятие массива. Массивы одномерные и многомерные. Понятие индекса и элемента массива. Подсчет объема памяти занимаемой массивом. Типовые задачи с массивами: доступ к элементу, обход элементов, инициализация элементов.

· Представление текстовой информации. Понятие строка. Различные способы организации строковых данных. Работа с отдельными символами. Наиболее употребительные функции для работы со строками.

· Пользовательский тип данных (структура). Объявление и использование пользовательского типа. Совместное использование пользовательских типов данных и массивов.

· Применение списков и файлов. Однонаправленный, двунаправленный, кольцевой списки. Организация стеков различных типов.

Раздел 9