Главная страница
Навигация по странице:

  • Варианты заданий

  • ЛАБОРАТОРНАЯ РАБОТА № 2 ФАЙЛЫ Цель работы

  • ЛАБОРАТОРНАЯ РАБОТА № 3 СПИСКИ, СТЕКИ, ОЧЕРЕДИ Цель работы

  • Лабораторные работы. Лабораторная работа 1 графические компоненты языка си


    Скачать 207 Kb.
    НазваниеЛабораторная работа 1 графические компоненты языка си
    Дата05.07.2022
    Размер207 Kb.
    Формат файлаdoc
    Имя файлаЛабораторные работы.doc
    ТипЛабораторная работа
    #625292

    ЛАБОРАТОРНАЯ РАБОТА № 1

    ГРАФИЧЕСКИЕ КОМПОНЕНТЫ ЯЗЫКА СИ

    Цель работы – познакомиться с графическим режимом языка Си, функциями и цветом. Научиться строить графики математических функций и управлять движением заданных фигур.

    Постановка задачи

    Написать две программы согласно индивидуального варианта. В первом задании построить график функции, используя арифметические циклы, шаг изменения значений рассчитать самостоятельно. Во втором задании смоделировать непрерывное движение заданного объекта, выход из программы осуществлять с помощью клавиши Esc.

    Варианты заданий

    Вариант № 1

    1. Построить график функции , где , .

    2. Написать программу движения окружности в прямоугольнике. Движение происходит под некоторым углом с «отражением от стенки».

    Вариант № 2


    1. Построить график функции , где .

    2. Написать программу движения окружности в треугольнике. Движение происходит под некоторым углом с «отражением от стенки».

    Вариант № 3

    1. Построить график функции , где .

    2. Написать программу увеличения и уменьшения снежинки по достижению некоторого максимального или минимального размеров соответственно.

    Вариант № 4


    1. Построить график функции, для которой входные значения лежат в промежутке [-10,10]. Если входной сигнал меньше –2, выходной сигнал равен . Если – больше 2, . Если лежит в промежутке [–2, 2], .

    2. Написать программу движения окружности в окружности. Движение происходит под некоторым углом с «отражением от стенки».

    Вариант № 5

    1. Построить график функции , где .

    2. Написать программу движения снежинки по спирали. Начальное положение снежинки на спирали выбирается случайно.

    Вариант № 6


    1. Построить график функции , где .

    2. Написать программу полета бабочки. Движение должно быть хаотичным.

    Вариант № 7


    1. Построить график функции , где. Для 3 случаев:

    2. Написать программу игры в футбол двух футболистов: нападающего и вратаря.

    Вариант № 8

    1. Построить график функции , где .

    2. Написать программу восхода и заката солнца.

    Вариант № 9

    1. Построить график функции , где .

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

    Вариант № 10

    1. Построить график функции , где , .

    2. Написать программу «цветок»: распускается и закрывается.

    Вариант № 11


    1. Построить график функции , где , построить асимптоты.

    2. Написать программу «зарядка»: человечек сначала машет левой рукой, затем правой, аналогично с ногами.

    Вариант № 12

    1. Построить график функции , где , построить асимптоты.

    2. Написать программу «лампочка»: лампочка загорается и гаснет через некоторые промежутки времени.

    Вариант № 13

    1. Построить график функции , где , .

    2. Написать программу «мерцающая надпись»: надпись мерцает (изменяет свой цвет).

    Вариант № 14

    1. Построить график функции , где .

    2. Написать программу движения разноцветных снежинок (не менее 10 штук) сверху вниз. Движение должно быть хаотичным.

    Вариант № 15

    1. Построить график функции , где , построить асимптоты.

    2. Написать программу движения разноцветных снежинок (не менее 10) слева направо. Движение должно быть хаотичным.

    Вариант № 16


    1. Построить график функции , где .

    2. Написать программу движения колокола (слева направо).

    Контрольные вопросы

    1. Какие два режима работы в языке Си Вы знаете? В чем их отличие?

    2. Какие координаты имеет центр экрана в графическом режиме?

    3. Как установить графический режим?

    4. За что отвечают параметры функции initgraph()?

    5. Какая библиотека предназначена для работы с графическими функциями?

    6. Какие видеорежимы Вам известны?

    7. Что такое цветовая палитра? Как она зависит от выбранного графического режима?

    8. Какие функции предназначены для работы с цветом?

    9. Какие функции предназначены для работы с текстом?

    10. Какие функции можно использовать, чтобы нарисовать окружность?

    11. Какие функции предназначены для рисования различных фигур?

    12. Как нарисовать точку?

    13. В чем заключается механизм прорисовки движения заданной фигуры?

    14. Как закончить работу в графическом режиме?

    15. Какие функции предназначены для перемещения позиции курсора из текущей позиции в заданную?

    ЛАБОРАТОРНАЯ РАБОТА № 2

    ФАЙЛЫ

    Цель работы – познакомиться с функциями для работы с текстовыми и типизированными файлами.

    Постановка задачи

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

    Варианты заданий

    Вариант № 1

    1. Дан текстовый файл, фразы в котором отделены друг от друга точками, а слова – пробелами и знаками препинания. Удалить из этого файла все фразы, содержащие слово «мама».

    2. В текстовом файле хранится целочисленная матрица 6х5. Заменить в ней все числа, кратные 7, наибольшим значением матрицы. Полученный файл вывести на экран.

    3. Компоненты типизированного файла – целочисленные массивы, состоящие из 3 элементов. Записать в новый текстовый файл тот массив, сумма элементов которого максимальна.

    4. Компоненты типизированного файла – вещественные числа. Изменить знак у каждого третьего числа на противоположный.

    Вариант № 2

      1. Дан текстовый файл, фразы в котором отделены друг от друга точками, а слова – пробелами и знаками препинания. Расставить фразы в этом файле в порядке увеличения количества знаков препинания в каждой из них.

      2. В текстовом файле хранится матрица 32х10. Записать в другой файл числа из этой матрицы следующим образом: в первом столбце числа в интервале [0; 10), во втором – числа [10; 20) и т.д. Числа не должны повторяться.

      3. Компоненты типизированного файла – целочисленные массивы, состоящие из 10 элементов. Записать в конец текстового файла четвертые элементы всех массивов.

      4. Компоненты типизированного файла – вещественные числа. Поменять местами первый компонент файла с минимальным, а последний – с максимальным.

    Вариант № 3

    1. Дан текстовый файл, фразы в котором отделены друг от друга точками, а слова – пробелами и знаками препинания. Удалить из этого файла фразы, содержащие предлоги «с», «на», «под».

    2. В текстовом файле хранится целочисленная матрица 30х7. Заменить в ней все отрицательные элементы минимальным, положительные – максимальным, а нулевые – разностью максимального и минимального элементов. Исходную и полученную матрицы вывести на экран. Учесть: высота экрана 25 строк.

    3. Компоненты типизированного файла – целочисленные массивы, состоящие из 5 элементов. Вывести на экран те массивы из этого файла, которые не содержат отрицательных элементов.

    4. Компоненты типизированного файла – вещественные числа. Создать новый файл, в который записать общее количество компонент исходного файла, их максимальное и минимальное значение.

    Вариант № 4

    1. Дан текстовый файл, фразы в котором отделены друг от друга точками, а слова – пробелами и знаками препинания. Удалить из этого файла лишние пробелы, оставив по одному между словами.

    2. В текстовом файле хранится матрица 27х11. Записать в другой файл количество положительных, отрицательных и нулевых элементов исходной матрицы, ее среднее арифметическое значение, максимум и минимум (с позициями), наибольшее отрицательное и наименьшее положительное значение элементов матрицы (с позициями).

    3. Компоненты типизированного файла – целочисленные массивы, состоящие из 10 элементов. Создать новый типизированный файл, компонентами которого будут количества единиц в массивах из исходного файла.

    4. Компоненты типизированного файла – вещественные числа. Поставить последнее число из этого файла между 10-м и 11-м компонентами.

    Вариант № 5

    1. Дан текстовый файл, фразы в котором отделены друг от друга точками, а слова – пробелами и знаками препинания. Удалить из этого файла фразы, содержащие слова с двумя буквами «О».

    2. В текстовом файле хранится вещественная матрица 30х8. Записать ее в другой файл таким образом, чтобы в первом столбце находились минимальные элементы строк, а в последнем – максимальные.

    3. Компоненты типизированного файла – массивы, состоящие из 7 вещественных чисел. Вывести на экран те из них, которые не содержат нулей.

    4. Компоненты типизированного файла – целые числа. Добавить после каждого положительного числа его квадрат, нули удалить.

    Вариант № 6

    1. Дан текстовый файл, фразы в котором отделены друг от друга точками, а слова – пробелами и знаками препинания. Расставить фразы в этом файле в порядке увеличения количества слов в каждой из них.

    2. В текстовом файле хранится целочисленная матрица 40х12. Добавить в этот файл информацию о седловых точках этой матрицы (седловая точка – максимум в строке и минимум в столбце). Учесть: высота экрана 25 строк.

    3. Компоненты типизированного файла – массивы, состоящие из 6 вещественных чисел. Вывести на экран тот из них, сумма отрицательных элементов которого больше.

    4. Компоненты типизированного файла – целые числа. Удалить из этого файла максимальное и минимальное число.




    Вариант № 7

    1. Дан текстовый файл, фразы в котором отделены друг от друга точками, а слова – пробелами и знаками препинания. Оставить в этом файле только фразы, в которых нет запятых.

    2. В текстовом файле хранится историческая информация: дата в формате dd.mm.yyyy (число.месяц.год) и краткое сообщение о событии. Записать в другой файл эти исторические события в хронологическом порядке.

    3. Компоненты типизированного файла – массивы, состоящие из 3 вещественных чисел. Записать в новый текстовый файл тот из них, в котором второй элемент больше, чем в остальных.

    4. Компоненты типизированного файла – целые числа. Удалить из него все нули. Добавить в начало файла количество отрицательных компонентов, а в конец – количество положительных.

    Вариант № 8

    1. Дан текстовый файл, фразы в котором отделены друг от друга точками, а слова – пробелами и знаками препинания. Оставить в этом файле только те фразы, все слова в которых содержат букву «а».

    2. В текстовом файле хранится целочисленная матрица 15х15. «Разорвать» эту матрицу по главной диагонали, записав в другой файл сначала элементы, находящиеся над диагональю, потом в одну строку диагональные элементы, и затем элементы, находящиеся под диагональю. Форма треугольников должна сохраниться.

    3. Компоненты типизированного файла – массивы, состоящие из 7 вещественных чисел. В новый типизированный файл записать все массивы из исходного файла, но без четвертых элементов.

    4. Компоненты типизированного файла – целые числа. Удалить из этого файла все нули, добавить в начало «-1», а в конец файла – значение, на 1 больше максимального в этом файле.

    Вариант № 9

    1. Дан текстовый файл, фразы в котором отделены друг от друга точками, а слова – пробелами и знаками препинания. Оставить в этом файле только те фразы, в которых встречается не меньше 5 различных гласных букв.

    2. В текстовом файле хранится вещественная матрица 35х9. Добавить в эту матрицу столбцы, содержащие суммы элементов каждой строки, их максимумы и минимумы.

    3. Компоненты типизированного файла – массивы, состоящие из 9 вещественных чисел. В новый текстовый файл записать суммы положительных элементов всех массивов.

    4. Компоненты типизированного файла – целые числа. Удалить из этого файла все числа, расположенные между первым и последним положительными компонентами.

    Вариант № 10

    1. Дан текстовый файл, фразы в котором отделены друг от друга точками, а слова – пробелами и знаками препинания. Оставить в этом файле только те слова, которые содержат хотя бы одну букву «а» и не содержат букв «е».

    2. В текстовом файле хранится вещественная матрица 27х5. Заменить в ней все отрицательные числа нулями. Учесть: высота экрана 25 строк.

    3. Компоненты типизированного файла – массивы, состоящие из 9 вещественных чисел. Вывести на экран сумму пятых элементов всех массивов.

    4. Компоненты типизированного файла – целые числа. Удалить из этого файла все числа, являющиеся степенью числа «2».

    Вариант № 11

    1. Дан текстовый файл, фразы в котором отделены друг от друга точками, а слова – пробелами и знаками препинания. Оставить в этом файле только те фразы, которые содержат не менее трех слов.

    2. В текстовом файле в табличном виде хранится информация о количестве и ценах товаров на складе. Добавить в таблицу графу с датами проводимых проверок, а также графу с общими суммами по каждому виду товара.

    3. Компоненты типизированного файла – массивы, состоящие из 10 вещественных чисел. Вывести на экран максимальные элементы всех массивов.

    4. Компоненты типизированного файла – целые числа. Удалить из этого файла все положительные числа, кратные 3, добавив в конец файла их количество.

    Вариант № 12

    1. Дан текстовый файл, фразы в котором отделены друг от друга точками, а слова – пробелами и знаками препинания. Удалить из него все слова, содержащие заглавные буквы.

    2. В текстовом файле хранится таблица результатов сдачи студентами сессии. Переписать в другой файл фамилии студентов-отличников, студентов-хорошистов и студентов, получивших на экзаменах только одну тройку.

    3. Компоненты типизированного файла – массивы, состоящие из 5 вещественных чисел. Вывести на экран минимальные элементы всех массивов.

    4. Компоненты типизированного файла – целые числа. Удалить из этого файла компоненты, отличающиеся от среднего арифметического значения компонент более, чем втрое.

    Вариант № 13

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

    2. В текстовом файле хранится целочисленная матрица 30х7. Преобразовать ее в вещественную и вывести на экран и в другой файл с точностью до второго знака после точки. Учесть: высота экрана 25 строк.

    3. Компоненты типизированного файла – целочисленные массивы, состоящие из 4 элементов. Сформировать новый типизированный файл из четных элементов этих массивов, имеющих четные индексы.

    4. Компоненты типизированного файла – вещественные числа. Удалить из этого файла наименьшее из положительных чисел.

    Вариант № 14

    1. Дан текстовый файл, фразы в котором отделены друг от друга точками, а слова – пробелами и знаками препинания. Оставить в этом файле только те фразы, в которых имеются имена собственные (слова с прописными буквами).

    2. В текстовом файле хранится матрица 28х10. Записать ее в другой файл в зеркальном отражении.

    3. Компоненты типизированного файла – целочисленные массивы, состоящие из 7 элементов. Третьи элементы всех массивов записать в новый типизированный файл.

    4. Компоненты типизированного файла – вещественные числа. Поменять местами первый и последний отрицательные компоненты. В конец файла добавить количество отрицательных компонент.

    Вариант № 15

    1. Дан текстовый файл, фразы в котором отделены друг от друга точками, а слова – пробелами и знаками препинания. Проверить, все ли фразы начинаются с прописной буквы. Если нет – исправить.

    2. В текстовом файле хранится таблица синусов и косинусов различных углов. Добавить в этот файл колонки с тангенсами и котангенсами этих углов.

    3. Компоненты типизированного файла – целочисленные массивы, состоящие из 3 элементов. Вывести на экран количество массивов, содержащих число «3».

    4. Компоненты типизированного файла – вещественные числа. Удалить из этого файла каждое пятое число.

    Вариант № 16

    1. Дан текстовый файл, фразы в котором отделены друг от друга точками, а слова – пробелами и знаками препинания. Заменить все буквы в этом файле на заглавные.

    2. В текстовом файле хранится таблица с результатами сдачи сессии студентами одной группы. У таблицы есть шапка следующего вида: Фамилия, № зачетки, математика, физика, химия, черчение. Добавить в таблицу графу со средним баллом студента за сессию.

    3. Компоненты типизированного файла – массивы, состоящие из 12 вещественных чисел. В новый типизированный файл записать суммы отрицательных чисел в каждом из них.

    4. Компоненты типизированного файла – целые числа. Поменять местами первый компонент с последним, второй – с предпоследним и т.д.

    Контрольные вопросы

    1. Что такое файл?

    2. Какие виды файлов Вы знаете?

    3. В чем отличие текстового файла от типизированного?

    4. Что такое поток?

    5. Какая библиотека предназначена для работы с потоком?

    6. Что такое признак окончания файла? Для каких файлов он существует?

    7. Как инициализировать поток?

    8. Что такое структурный тип?

    9. Какая функция отвечает за открытие потока? Какие у нее параметры?

    10. Какие режимы открытия файла Вы знаете? В чем их отличия друг от друга?

    11. Какие ошибки могут возникнуть при открытии файла?

    12. В каком случае указатель на поток принимает значение NULL?

    13. Какая функция отвечает за закрытие файла? Какие у нее параметры?

    14. Сколько раз можно открыть файл в программе?

    15. Какие функции используются для работы с вводом-выводом данных файлов?

    16. В чем отличие функции fprintf() от функции fread(), а функции fscanf() от fwrite()?

    17. Как определить текущую позицию указателя на поток?

    18. Как переместить указатель на поток из текущей позиции в заданную?

    19. За что отвечает константа EOF? Как и где ее использовать?

    20. Какие основные функции для работы с файлами Вы знаете?


    ЛАБОРАТОРНАЯ РАБОТА № 3

    СПИСКИ, СТЕКИ, ОЧЕРЕДИ

    Цель работы – познакомиться с динамическими структурами данных, научиться создавать абстрактные типы данных, используя понятия списка, стека и очереди.

    Постановка задачи

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

    Варианты реализаций

    1. Разработайте класс, реализующий стек в массиве. Заполнение стека должно производиться с начала массива. Методы класса: добавление элемента в стек, удаление элемента из стека, получение значения с вершины стека, проверка заполнения стека, проверка пустоты стека.

    2. Разработайте класс, реализующий стек с помощью указателей. Методы класса: добавление элемента в стек, удаление элемента из стека, получение значения с вершины стека, проверка заполнения стека, проверка пустоты стека, очистка стека.

    3. Разработайте класс DualStack, использующий один массив для сохранения двух стеков: один растет с одного конца массива, другой – с другого. Ни один из стеков не должен переполняться до тех пор, пока весь массив не будет заполнен. Методы класса: добавление элемента в стек n, удаление элемента из стека n, получение элемента с вершины стека n, проверка заполнения стека n, проверка пустоты стека n, очистка стека n.

    4. Разработайте класс, реализующий очередь в «циклическом» массиве. Поля класса: массив, индексы первого и последнего элементов в очереди. Методы класса: добавление элемента в очередь, удаление элемента из очереди, получение значения из очереди, проверка заполнения очереди, проверка пустоты очереди.

    5. Разработайте класс, реализующий очередь в «циклическом» массиве. Поля класса: массив, индекс первого элемента в очереди, количество элементов в очереди. Методы класса: добавление элемента в очередь, удаление элемента из очереди, получение значения из очереди, проверка заполнения очереди, проверка пустоты очереди.

    6. Разработайте класс, реализующий очередь с помощью указателей. Методы класса: добавление элемента в очередь, удаление элемента из очереди, получение значения из очереди, проверка заполнения очереди, проверка пустоты очереди.

    Варианты заданий




    1.Разработайте класс, реализующий линейный односвязный список. Методы класса: добавление элемента к концу списка, просмотр списка, удаление n-го элемента из списка. Поля записей: автор книги, название книги, год издания, издательство.

    2.Напишите программу, которая считывает символьную строку, содержащую три набора скобок: круглые (), угловые <> и квадратные [],- и определяет, правильно ли расставлены в этой строке скобки. Указания: в стек заносить тип скобки (реализация 1).



    1.Разработайте класс, реализующий линейный односвязный список. Методы класса: вставка элемента после n-го элемента списка, просмотр списка, удаление из списка каждого второго элемента. Поля записей: номер группы, имя ребенка, его возраст, домашний адрес.

    2.Напишите программу, которая считывает символьную строку, содержащую три набора скобок: круглые (), угловые <> и квадратные [],- и определяет, правильно ли расставлены в этой строке скобки. Указания: в стек заносить тип скобки (реализация 2).



    1.Разработайте класс, реализующий линейный односвязный список. Методы класса: добавление элемента к началу списка, просмотр списка, перемещение элемента с позиции р на n позиций вперед по списку. Поля записей: номер аудитории, ее предназначение, количество мест, наличие компьютеров.

    2.Напишите программу для тестирования стека, реализованного классом DualStack (реализация 3).



    1.Разработайте класс, реализующий линейный односвязный список. Методы класса: добавление элемента в упорядоченный список с сохранением упорядоченности, просмотр списка, обмен n-го и m-го элементов списка, удаление последнего элемента из списка. Поля записей: наименование овощей, их сорт, количество, поставщик.

    2.Фирма по хранению и сбыту товаров получает грузы по различным ценам, причем товары, полученные позднее, продаются в первую очередь. Напишите программу, считывающую записи о торговых операциях двух типов: операции по закупке и операции по продаже с 20%-ной надбавкой. Результаты о каждой из операций выводить на экран. Если на складе отсутствует требуемое в заказе число товара, то продайте все имеющееся, а затем напечатайте сообщение об отсутствии остальной части изделий на складе (реализация 1).



    1.Разработайте класс, реализующий линейный односвязный список. Методы класса: вставка элемента после n-го элемента списка, просмотр списка, удаление 3-х элементов списка, начиная с n-го. Поля записей: номер учебной группы, предмет изучения, количество часов, тип проводимых занятий.

    2.Фирма по хранению и сбыту товаров получает грузы по различным ценам, причем товары, полученные позднее, продаются в первую очередь. Напишите программу, считывающую записи о торговых операциях двух типов: операции по закупке и операции по продаже с 20%-ной надбавкой. Результаты о каждой из операций выводить на экран. Если на складе отсутствует требуемое в заказе число товара, то продайте все имеющееся, а затем напечатайте сообщение об отсутствии остальной части изделий на складе (реализация 2).



    1.Разработайте класс, реализующий линейный двусвязный список. Методы класса: добавление элемента к концу списка, просмотр списка в прямом и обратном порядке, удаление n-го элемента из списка. Поля записей: номер группы, предмет, форма контроля (экзамен, зачет, курсовой проект), средний балл группы.

    2.Фирма по хранению и сбыту товаров получает грузы по различным ценам, причем товары, полученные позднее, продаются в первую очередь. Напишите программу, считывающую записи о торговых операциях двух типов: операции по закупке и операции по продаже с 20%-ной надбавкой. Результаты о каждой из операций выводить на экран. Если на складе отсутствует требуемое в заказе число товара, то продайте все имеющееся, а затем напечатайте сообщение об отсутствии остальной части изделий на складе (реализация 4).



    1.Разработайте класс, реализующий линейный двусвязный список. Методы класса: вставка элемента перед n-м элементом списка, просмотр списка в прямом и обратном порядке, удаление из списка каждого второго элемента. Поля записей: фамилия студента, номер его зачетной книжки, допуск к экзамену, экзаменационной оценка.

    2.Фирма по хранению и сбыту товаров получает грузы по различным ценам, причем товары, полученные позднее, продаются в первую очередь. Напишите программу, считывающую записи о торговых операциях двух типов: операции по закупке и операции по продаже с 20%-ной надбавкой. Результаты о каждой из операций выводить на экран. Если на складе отсутствует требуемое в заказе число товара, то продайте все имеющееся, а затем напечатайте сообщение об отсутствии остальной части изделий на складе (реализация 5).



    1.Разработайте класс, реализующий линейный двусвязный список. Методы класса: добавление элемента к началу списка, просмотр списка в прямом и обратном направлении, перемещение элемента с позиции р на n позиций назад по списку. Поля записей: исполнитель, название альбома, год создания, цена.

    2.Многочлены вида , где можно представить в виде очереди, где каждый элемент имеет три поля: одно – для коэффициента ci, второе – для показателя степени ei, третье – для указателя на следующую ячейку. Для описанного представления многочленов напишите программу их дифференцирования (реализация 6).



    1.Разработайте класс, реализующий линейный двусвязный список. Методы класса: добавление элемента в упорядоченный список с сохранением упорядоченности, просмотр списка в прямом и обратном направлении, обмен n-го и m-го элементов списка, удаление последнего элемента из списка. Поля записей: изображенное на памятнике, его автор, место, год установки.

    2.Многочлены вида , где можно представить в виде очереди, где каждый элемент имеет три поля: одно – для коэффициента ci, второе – для показателя степени ei, третье – для указателя на следующую ячейку. Для описанного представления многочленов напишите программу их дифференцирования (реализация 5).



    1.Разработайте класс, реализующий линейный двусвязный список. Методы класса: вставка элемента после n-го элемента списка, просмотр списка в прямом и обратном направлении, удаление трех элементов списка, средний из которых имеет номер n. Поля записей: фамилия абитуриента, номер оконченной им школы, наличие медали, средний балл, полученный на вступительных экзаменах.

    2.Многочлены вида , где можно представить в виде очереди, где каждый элемент имеет три поля: одно – для коэффициента ci, второе – для показателя степени ei, третье – для указателя на следующую ячейку. Напишите программу сложения и умножения многочленов, представленных описанным образом (реализация 6).



    1.Разработайте класс, реализующий кольцевой односвязный список. Методы класса: добавление элемента в список, просмотр списка, удаление произвольного элемента из списка. Поля записей: участники, количество забегов, в которых они принимали участие, сумма сделанных на них ставок, количество побед.

    2.Напишите программу, которая считывает строку текста, помещая каждый непустой символ и в очередь, и в стек, и проверяет, является ли данная строка палиндромом (реализации 1 и 4).



    1.Разработайте класс, реализующий кольцевой односвязный список. Методы класса: вставка элемента после текущего элемента списка, просмотр списка, удаление из списка каждого второго элемента. Поля записей: участник, вид спорта, в котором он выступает, страна, за которую он выступает, занятое на соревнованиях место.

    2.Многочлены вида , где можно представить в виде очереди, где каждый элемент имеет три поля: одно – для коэффициента ci, второе – для показателя степени ei, третье – для указателя на следующую ячейку. Для описанного представления многочленов написать программу вычисления значения р(х) при заданном х (реализация 4).



    1.Разработайте класс, реализующий кольцевой односвязный список. Методы класса: добавление элемента в список, просмотр списка, перемещение элемента с текущей позиции на n позиций вперед по списку. Поля записей: фирма-продавец, тип процессора, объем оперативной памяти, жесткого диска, цена.

    2.Многочлены вида , где можно представить в виде очереди, где каждый элемент имеет три поля: одно – для коэффициента ci, второе – для показателя степени ei, третье – для указателя на следующую ячейку. Напишите программу сложения и умножения многочленов, представленных описанным образом (реализация 5).



    1.Разработайте класс, реализующий кольцевой односвязный список. Методы класса: добавление элемента в упорядоченный список с сохранением упорядоченности, просмотр списка, обмен n-го и m-го элементов списка. Поля записей: специальность, срок, форма обучения, учебное заведении.

    2.Написать программу, использующую класс (реализация 1) для моделирования Т-образного сортировочного узла на железной дороге. Программа должна разделять на два направления состав, состоящий из вагонов двух типов (на каждое направление формируется состав из вагонов одного типа). Предусмотреть возможность формирования состава из файла и с клавиатуры.



    1.Разработайте класс, реализующий кольцевой односвязный список. Методы класса: вставка элемента перед текущим элементом списка, просмотр списка, удаление 3-х элементов списка, начиная с текущего. Поля записей: номер квартиры, количество комнат, общая, жилая площадь.

    2.Написать программу, использующую класс (реализация 2) для моделирования Т-образного сортировочного узла на железной дороге. Программа должна разделять на два направления состав, состоящий из вагонов двух типов (на каждое направление формируется состав из вагонов одного типа). Предусмотреть возможность формирования состава из файла и с клавиатуры.



    1.Разработайте класс, реализующий кольцевой односвязный список. Методы класса: добавление элемента в список, просмотр списка, перемещение элемента с текущей позиции на n позиций назад по списку. Поля записей: фамилия работника, его год рождения, семейное положение, специальность.

    2.Написать программу, использующую класс (реализация 1) для отыскания прохода по лабиринту. Лабиринт представляется в виде матрицы, состоящей из квадратов. Каждый квадрат либо открыт, либо закрыт. Вход в закрытый квадрат запрещен. Если квадрат открыт, то вход в него возможен со стороны, но не с угла. Каждый квадрат определяется его координатами в матрице. После отыскания прохода программа печатает найденный путь в виде координат квадратов.



    1.Разработайте класс, реализующий кольцевой двусвязный список. Методы класса: добавление элемента в список, просмотр списка, перемещение элемента с текущей позиции на n позиций назад по списку. Поля записей: марка автомобиля, страна-производитель, год выпуска, количество пассажиров.

    2.Написать программу, использующую класс (реализация 2) для отыскания прохода по лабиринту. Лабиринт представляется в виде матрицы, состоящей из квадратов. Каждый квадрат либо открыт, либо закрыт. Вход в закрытый квадрат запрещен. Если квадрат открыт, то вход в него возможен со стороны, но не с угла. Каждый квадрат определяется его координатами в матрице. После отыскания прохода программа печатает найденный путь в виде координат квадратов.



    1.Разработайте класс, реализующий кольцевой двусвязный список. Методы класса: вставка элемента после n-го элемента списка, просмотр списка, удаление из списка каждого второго элемента. Поля записей: наименование фрукта, страна произрастания, стоимость, срок годности.

    2.Написать программу для вычисления значения арифметического выражения, записанного в префиксной форме (реализация 1).



    1.Разработайте класс, реализующий кольцевой двусвязный список. Методы класса: добавление элемента в упорядоченный список с сохранением упорядоченности, просмотр списка в прямом и обратном направлении, обмен n-го и m-го элементов списка, удаление последнего элемента из списка. Поля записей: название футбольной команды, имя главного тренера, количество побед, количество проигрышей.

    2.Написать программу для вычисления значения арифметического выражения, записанного в постфиксной форме (реализация 2).



    1.Разработайте класс, реализующий кольцевой двусвязный список. Методы класса: вставка элемента после n-го элемента списка, просмотр списка в прямом и обратном направлении, удаление трех элементов списка, средний из которых имеет номер n. Поля записей: название страны, стоимость турпутевки, количество дней путешествия, количество путешествующих.

    2.Написать программу для вычисления значения арифметического выражения, записанного в префиксной форме (реализация 4).

    Контрольные вопросы

    1. Что такое структура и структурный тип?

    2. Как осуществляется доступ к элементам структур?

    3. Что такое абстрактный тип данных?

    4. Что такое список?

    5. Какие виды списков Вы знаете?

    6. Какие методы применимы к спискам?

    7. Какие методы реализации списков Вы знаете?

    8. Что такое стек?

    9. Какие методы применимы к стекам?

    10. Каков механизм заполнения стека? Что такое «дно» стека?

    11. Как реализовать запись арифметических выражений с помощью стека?

    12. Что такое очередь?

    13. Использование какого вида очереди наиболее эффективно?

    14. Какие методы применимы к очередям?

    15. Каков механизм заполнения очереди?

    16. Что такое дек? Какие виды деков Вы знаете?

    17. Как определить количество элементов в списке, стеке и очереди?

    18. В чем различие между конкатенацией двух стеков от конкатенации двух очередей?

    19. Что такое дескриптор?

    20. Как и когда используется нулевой указатель NULL?


    написать администратору сайта