- •Т.В. Панова основы информатики и программирования на языке высокого уровня си Лабораторный практикум
- •Лабораторная работа №1. Организация компьютерной системы. Операционная система. Оболочка операционной системы………………………………………..…………5
- •Лабораторная работа №1
- •Организация компьютерной системы. Операционная система. Оболочка операционной системы
- •I. Теоретические сведения.
- •1. Основные блоки фон-неймановской кс
- •Общая функциональная схему кс
- •Цп управ.
- •2. Программное обеспечение
- •2.1. Системное по.
- •Функциональные уровни в составе спо
- •2.2. Прикладное по.
- •2.3. Инструментальное по.
- •3. Операционная система
- •3.2. Файл – объект файловой системы.
- •3.3. Логический диск и каталоги.
- •3.4. Организация файловой структуры ос и доступ к файлу.
- •3.5. Дерево каталогов.
- •3.6. Группы файлов.
- •4. Оболочка операционной системы
- •4.1. Функциональные клавиши оболочки ос.
- •III. Практическая часть.
- •1.2. Операционная среда.
- •2. Состав Windows
- •3. Файловые системы Windows
- •3.1. Файловая система fat (File Allocation Table).
- •3.2. Файловая система ntfs (New Technology File System).
- •4. Объекты Windows
- •4.1. Логические объекты Windows.
- •4.2. Физические объекты Windows.
- •II. Контрольные вопросы.
- •III. Практическая часть.
- •2.2. Перемещение файла.
- •IV. Требования к защите
- •2. Текстовый процессор Microsoft Word
- •2.1. Элементы окна Word.
- •II. Контрольные вопросы.
- •III. Практическая часть.
- •IV. Требования к защите
- •1.2. Описание алгоритмов с помощью блок-схем.
- •Основные символы блок-схем алгоритмов
- •1 (Да)0 (нет)
- •II. Контрольные вопросы.
- •3. Блок-схема алгоритма задачи:
- •2. Выполнение индивидуального задания.
- •IV. Требования к защите индивидуальных заданий.
- •V. Варианты индивидуальных заданий.
- •Лабораторная работа №5
- •3.Тип данных
- •4. Базовые типы данных языка Си
- •6. Операции и выражения
- •6.1. Знаки операций.
- •6.2. Операции присваивания.
- •6.3. Арифметические операции.
- •6.4. Операции сравнения и логические операции.
- •6.5. Условная операция.
- •6.6. Операция явного преобразования типа.
- •7. Логика алгоритма и операторы
- •8. Операторы простой последовательности действий
- •8.1. Функции форматного ввода/вывода данных.
- •Функция форматного ввода данных
- •Функция форматного вывода данных
- •Пример организации форматного ввода/вывода данных
- •8.2. Основные стандартные функции. Стандартные функции консольного ввода/вывода
- •Стандартные математические функции
- •II. Контрольные вопросы.
- •III. Практическая часть.
- •2. Математическая модель и описательный алгоритм задачи:
- •Лабораторная работа №6
- •Условные конструкции: операторы ветвления
- •I. Теоретические сведения.
- •1. Условный оператор
- •2. Оператор множественного выбора (переключатель)
- •II. Контрольные вопросы.
- •2. Математическая модель и описательный алгоритм задачи:
- •Лабораторная работа №7
- •Циклические конструкции: операторы цикла
- •I. Теоретические сведения.
- •1. Оператор цикла с параметром (счетчиком)
- •2. Итерационные циклы
- •2.1. Оператор цикла с предусловием.
- •2.2. Оператор цикла с постусловием.
- •II. Контрольные вопросы.
- •III. Практическая часть.
- •1. Выполнение общего задания.
- •2. Математическая модель и описательный алгоритм задачи:
- •3. Блок-схема алгоритма задачи:
- •4. Текст программы:
- •5. Тестирование:
- •2. Математическая модель и описательный алгоритм задачи:
- •3. Блок-схема алгоритма задачи:
- •4. Текст программы:
- •5. Тестирование:
- •2. Математическая модель и описательный алгоритм задачи:
- •3. Блок-схема алгоритма задачи:
- •4. Текст программы:
- •5. Тестирование:
- •2. Математическая модель и описательный алгоритм задачи:
- •Лабораторная работа №8
- •Указатели и одномерные массивы данных
- •I. Теоретические сведения.
- •1. Указатели
- •1. Объявление переменных:
- •2. Операции присваивания объявленным переменным:
- •3. Использование косвенного обращения:
- •2. Массив как статическая структура данных
- •Одномерный массив данных
- •3. Адресная арифметика
- •4. Линейный поиск и сортировка в массивах данных
- •4.1. Признаки порядка.
- •4.2. Способы сортировки в массивах данных.
- •II. Контрольные вопросы.
- •III. Практическая часть.
- •1. Выполнение общего задания.
- •3. Блок-схема алгоритма программы:
- •4. Текст программы:
- •3. Блок-схема алгоритма программы:
- •4. Текст программы:
- •5. Тестирование:
- •3. Блок-схема алгоритма программы:
- •4. Текст программы:
- •5. Тестирование:
- •3. Блок-схема алгоритма программы:
- •4. Текст программы:
- •5. Тестирование:
4. Линейный поиск и сортировка в массивах данных
В задачах на линейный поиск требуется найти в массиве данных элемент, группу элементов или фрагмент массива, которые отвечают заданным требованиям, при этом нет необходимости сортировать массив или выделять дополнительные рабочие массивы того же порядка, что и заданный.
Сортировкой информационной структуры (массива, списка, файла) называется преобразование исходной структуры путем перестановки ее элементов для достижения упорядоченности по заданному признаку порядка.
4.1. Признаки порядка.
Одномерный массив a из n элементов для любого i=2,3,…,n называется упорядоченным:
по возрастанию, если ai >ai-1;
по неубыванию, если ai ≥ ai-1;
по убыванию, если ai<ai-1;
по невозрастанию, если ai ≤ ai-1.
4.2. Способы сортировки в массивах данных.
Для реализации алгоритма любого способа сортировки требуется прохождение не менее двух вложенных циклов.
4.2.1. Пузырьковая сортировка (попарные перестановки) выполняется многократными перестановками каждых двух соседних элементов, нарушающих порядок; процесс завершается, когда достигается упорядоченность массива.
Алгоритм пузырьковой сортировки можно реализовать с помощью двух циклов с параметром (внешнего и вложенного). Наибольший/наименьший (в зависимости от признака порядка) элемент массива в последнем проходе вложенного цикла «всплывает, как пузырек», попадая на свое место в начало/конец (или наоборот) массива, после чего начальное/конечное значение параметра цикла изменяется на единицу (увеличивается/уменьшается), тем самым с каждым проходом внешнего цикла уменьшается количество проходов внутреннего цикла.
Блок-схема алгоритма перестановок элементов массива (сортировка по возрастанию):
Также алгоритм пузырьковой сортировки можно реализовать, используя в качестве внешнего цикла цикл с постусловием (переменная f используется в качестве признака перестановок):
4.2.2. Сортировка простого выбора (минимума/максимума) выполняется перестановками каждого элемента с минимальным/максимальным (в зависимости от признака порядка) среди следующих за ним элементов.
Блок-схема алгоритма перестановок элементов массива (сортировка по возрастанию):
II. Контрольные вопросы.
Чем является переменная в программе?
Что означает унарная операция «&», к каким объектам она применима?
Какое значение может принимать адрес?
Чем является указатель, что он содержит?
Для чего используются указатели?
Что означает унарная операция «*», что является ее результатом?
На объект какого типа может ссылаться указатель?
Что означает указатель на тип void?
Что такое статическая структура данных?
Чем характеризуются переменные статических структур?
Что представляет собой массив данных?
На каком этапе выделяется память под элементы массива?
Меняется ли объем памяти, выделенный под массив, во время выполнения программы?
Как занести в указатель адрес первого элемента массива?
На что ссылается любой указатель?
Что является результатом операции указатель+i?
Чем отличаются операции p++ и *p++, если p – указатель?
Чем отличаются операции (*p)++ и *(++p), если p – указатель?
Что означает линейный поиск в массиве данных?
Что называется сортировкой информационной структуры?
Какие существуют признаки порядка?
В чем заключается суть пузырьковой сортировки массива данных?
Как выполнить сортировку массива простым выбором?