- •Часть 1
- •40 01 02 – 02 Информационные системы и технологии (в экономике)
- •Общие сведения Сведения об эумк
- •Методические рекомендации по изучению дисциплины
- •Рабочая учебная программа
- •Протокол согласования учебной программы по изучаемой учебной дисциплине с другими дисциплинами специальности
- •Содержание дисциплины
- •1. Название тем лекционных занятий, их содержание, объем в часах
- •3. Перечень тем лабораторных занятий, их содержание и объем в часах
- •Теоретический раздел
- •Тема № 1. Введение в программирование
- •Происхождение языка с.
- •Основные характеристики алгоритмического языка с
- •Область применения
- •Системы программирования
- •Исходные и объектные модули, процессы компиляции и связывания
- •Алфавит языка
- •Лексемы (cTokens)
- •Тема № 2. Выражения и операции языка Унарные операции
- •Бинарные операции
- •Условная трехместная операция
- •Операция явного преобразования типа
- •Приоритет операций. Порядок вычисления выражений.
- •Организация ввода-вывода информации
- •Тема № 3. Управляющие структуры. Ветвления и циклы
- •Операторы преобразования данных – это операторы присваивания и произвольные выражения, завершенные символом «;».
- •Операторы управления работой программы называют управляющими конструкциями программы.
- •Тема № 4. Организация данных. Массивы и указатели Массивы
- •Инициализация массивов
- •Указатели
- •Функции для выделения и освобождения памяти
- •Тема № 5. Функции. Символьные строки и функции над ними Определение функций
- •Описание функций
- •Вызов функции
- •Передача параметров
- •Указатели на функции
- •Массивы указателей на функции
- •Главная функция. Передача аргументов главной функции
- •Рекурсивные программы
- •Стандартные функции ввода-вывода строк
- •Стандартные функции обработки строк
- •Тема № 6. Классы памяти и препроцессор языка Си Локальные и глобальные переменные
- •Автоматические (локальные) переменные
- •Внешние (глобальные) переменные
- •Статические переменные
- •Регистровые переменные
- •Область видимости и функции
- •Препроцессор и его директивы
- •Тема № 7. Структуры Декларация структур
- •Инициализация структур
- •Доступ к элементам структур
- •Элементы-массивы
- •Массивы структур
- •Указатели на структуры
- •Доступ к элементам структуры, определенной через указатель
- •Структуры и функции
- •Объединения
- •Битовые поля
- •Практический раздел Виртуальные лабораторные работы
- •Лабораторная работа №1
- •Лабораторная работа №2
- •Контрольные работы
- •Содержание пояснительной записки.
- •Задание для контрольной работы №1
- •Задание для контрольной работы №2
- •Варианты индивидуальных заданий
- •Теоретические вопросы
- •Пример оформления титульного листа для виртуальных лабораторных работ
- •Пример оформления титульного листа для контрольных
Битовые поля
При дефиците памяти может возникнуть необходимость запаковать несколько объектов в одно слово машины. Одна из обычных ситуаций – это объединение групп однобитовых флажков. Битовое поле может быть только элементом структуры или объединения и вне этих объектов не встречается. Назначение битовых полей – обеспечить удобный доступ к отдельным битам данных. С помощью битовых полей можно формировать объекты с длиной внутреннего представления не кратной байту. Битовые поля не имеют адресов и не могут объединяться в массивы.
Битовые поля полезны по следующим причинам:
1. Если ограничено место для хранения информации, можно сохранить несколько логических переменных в одном байте.
2. Некоторые интерфейсы передают информацию, закодировав биты в один байт.
3. Некоторым процедурам кодирования необходимо получить доступ к отдельным битам в байте.
Описание структуры с битовыми полями имеет следующий формат:
struct {
<тип 1> <имя поля 1>:<ширина поля 1>;
<тип 2> <имя поля 2>:<ширина поля 2>;
. . .
} <имя структуры>;
где <тип i> - тип поля, который может быть только int (signed или unsigned);
<ширина поля i> - целое неотрицательное десятичное число, не превышающее разрядности слова конкретной ЭВМ.
Разрешается не указывать имени поля, что означает пропуск (неиспользование) соответствующего указанной ширине количества бит. Нулевая длина вводится, когда необходимо, чтобы следующее поле разместилось с начала очередного слова конкретной ЭВМ.
Вместо struct может употребляться union.
Для обращения к полям используются те же конструкции, что и для обращения к обычным элементам структур:
<имя структуры>.<имя поля i>
(*<указатель на структуру>).<имя поля i>
<указатель на структуру> -> <имя поля i>
Нельзя получить адрес переменной битового поля. Переменные битового поля не могут помещаться в массив. Переходя с компьютера на компьютер нельзя быть уверенным в порядке изменения битов (слева на право или справо налево). Любая программа использует битовые поля и зависит от компьютера. Можно смешивать различные структурные переменные в битовых полях.
Попытка присвоить нецелое значение, либо значение, слишком большое для указанного поля, приведет к возникновению ошибки. Обычно оказывается полезным определить массив символических констант для всевозможных значений битового поля и использовать введенные символические имена.
Практический раздел Виртуальные лабораторные работы
По дисциплине ОАиП часть 1 студенты выполняют 2 виртуальные лабораторные работы.
Каждая виртуальная лабораторная работа выполняется студентом в соответствии с полученным им заданием.
Средой разработки является MicrosoftVisualStudio2005. Язык разработки Си. Программа должна быть откомпилирована в формате «Release-версии». Результаты выполнения лабораторных работ оформляются в виде отчета (см. таблицу ниже).
Материалы, предоставляемые на проверку:
-файлы проекта;
-откомпилированные программные модули;
-откомпилированные программные модули в формате «Release-версии»,
-отчет по лабораторным работам в электронном виде.
Все упаковывается и высылается по электронной почте преподавателю.
Содержание отчета лабораторной работы
|
Наименование пункта отчета |
Краткая характеристика |
|
Титульный лист |
См. пример ниже |
|
Цель |
Формулировка цели выполнения лабораторной работы |
|
Задание по лабораторной работе |
Формулировка задания |
|
Листинг кода программы |
Листинг кода программы должен быть с комментариями |
|
Интерфейсы работы программы |
Основные результаты работы программы в виде копий экранов. |
|
Выводы |
Формулировка основных выводов по проделанной работе. |
ЗАДАНИЯ ДЛЯ ВИРТУАЛЬНЫХ ЛАБОРАТОРНЫХ РАБОТ
