Программирование

Тип работы: Все Задача Курсовая работа Лабораторная работа Ответы на вопросы
Язык программирования: Все Basic C C# C++ Delphi Fortran Free Basic HTML Java Pascal Pascal ABC Turbo Pascal VBA Ассемблер
Блок-схема: Все Есть Нет
Сортировать по умолчанию цене названию
  • Создать иерархию классов, состоящую из одного базового класса и не менее двух классов-наследников. Сделать программу, демонстрирующую функциональность этих классов.

    3. Базовый класс – Спортсмен, производные классы – Тренер, Атлет (участник соревнований)

  • Создать код на C++, реализующий сортировку исходного массива методом выбора, не выполняя при этом физического перемещения в памяти элементов массива.

    Каждый элемент массива содержит сведения об участнике кошачье выставки: кличку, год рождения, получен/не получен ветеринарный пропуск.

    Исходные данные массива могут либо вводиться с клавиатуры, либо читаться из файла.

    Сортировка должна быть возможна по любому сведению (и по кличке, и по году рождения, и по наличию/отсутствию ветпропуска) как в порядке возрастания, так и в порядке убывания.

    Указание: следует создать массив указателей, который на момент запуска процедуры сортировки ■ содержит адреса исходных ячеек массива.

  • Написать программу «Моя записная книжка». Одна запись содержит фамилию и имя, дату рождения и номер телефона. База хранится в текстовом файле.

    Предусмотреть возможность работы с произвольным числом записей, поиска записи по дате рождения, добавления и удаления записей.

    Хранение данных организовать с применением класса tree.

  • Упражнение Д6.5. Напишите программу, которая создаёт контейнер типа list<double> и заполняет его десятью элементами, вставляя их в порядке возрастания значений.

  • Написать программу соответствия между числом и цветом фона (0-черный, 1-голубой,2-зеленый, 3-васильковый, 4-красный, 5-фиолетовый, 6-коричневый, 7-светло-серый).

  • Даны два файла одного и того же типа. С помощью процедур BlockRead и BlockWrite добавить к первому файлу содержимое второго файла, а ко второму файлу — содержимое первого.

  • Решение задач, программирование на СИ-

    Разработка графического интерфейса приложения «Цвет». С помощью меню и диа-логового окна выбрать цвет и на рабочей области родительского окна вывести название цвета, за-крашенное заданным цветом.

  • Решение задач, Программирование, Программирование на Си, Программирование на языках высокого уровня

    Разработка системы имитационного моделирования работы строительных машин.

    Условие: на строительстве здания занято 3 машины (экскаватор и 2 бульдозера), машины периодически ломаются, математические ожидания межремонтного (рабочего) времени равны: для экскаватора – 4 часа, для бульдозера – 6 часов. Машины работают две смены подряд (16 часов). Третья смена используется для профилактики (в случае необходимости в 3-ю смену ведется ремонт). Таким образом, каждый рабочий день машины начинают в исправном состоянии. После каждого отказа машины подвергаются ремонту. Обслуживает машины бригада из двух слесарей (6 и 3 разряд). Продолжительность ремонта – случайная величина, распределенная по экспоненциальному закону, зависит она от типа машины и от состава бригады. Математические ожидания продолжительности ремонта:

    Состав бригады

    Экскаватор

    Бульдозер

    Бульдозер

    Слесарь 3-го разряда

    2 часа

    Не может

    Не может

    Слесарь 6-го разряда

    1 час

    2 часа

    2 часа

    Вместе

    0,25 часа

    1,5 часа

    1,5 часа

    Межремонтное время также распределено по экспоненциальному закону. Простой машин приносит следующие убытки: экскаватор – 5000 рублей/час, бульдозер – 3000 рублей/час. Работа машин приносит следующий доход – экскаватор – 5000 рублей/час, бульдозер – 3000 рублей/час. Слесарь 6-го разряда получает 1000 рублей/час за ремонт, слесарь 3-го разряда получает 600 рублей/час. Накладные расходы на бригаду – 500 рублей/час. Требуется определить экономическую целесообразность увольнения слесаря 3-го разряда.

  • Вариант №6

    1. Задан массив A из N элементов.  Сформировать массив B,  coдержащий только те элементы массива A, значение которых больше заданного числа X. Значения X, N и элементы массива A ввести с клавиатуры.
    2. В матрице размерами N*M (N и M не больше 10) определить сумму элементов той строки, где расположен максимальный элемент. Размеры матрицы задать при помощи ввода, а саму матрицу сформировать из случайных чисел в диапазоне от 0 до 100.
    3. Вводится строка произвольного текста. Поменять местами ее первое и последнее слово (слова разделены пробелами)
    4. Вводится строка произвольного текста. Подсчитать количество гласных букв в ней.

     

    Вариант №16

    1. Заданы два массива X и Y из N элементов каждый. Сформировать и вывести на печать массив Z из 2*N элементов, в котором элементы массивов X и Y чередуются.
    2. Сформировать и отпечатать "шахматную" матрицу, т.е. матрицу размерами 8*8, состоящую из нулей и единиц, расположенных в шахматном порядке.
    3. Вводится строка произвольного текста. Удалить из нее все пробелы и вывести, сколько пробелов было удалено.
    4. Вводится строка произвольного текста. Удвоить первое слово.

     

    Вариант №26

    1. В отсортированный массив вставить произвольное число, введенное с клавиатуры, в нужное место.
    2. В целочисленной матрице A размерами N*M вычислить количество элементов, имеющих нечетные значения, в каждой строке. Размеры матрицы задать при помощи ввода, а саму матрицу сформировать из случайных чисел в диапазоне от 0 до 50.
    3. В заданной строке текста удалить части текста, заключённые в скобки.
    4. Вводятся две строки произвольного текста. Найти позицию первого несовпадающего символа или вывести сообщение о том, что строки равны.
    5. В текстовый файл записать 20 чисел. Программа должна переставить местами первое число с максимальным из чисел чисел (разрешается использовать для этой цели массив в оперативной памяти).
    6. Разработать библиотечный модуль, содержащий следующие подпрограммы (процедуры или функции) для работы со строками:

    А. Подсчитать количество букв в последнем слове заданной строки

    Б. Заменить в заданной строке все заглавные буквы на строчные.

    В. Удалить все знаки препинания.

    Написать программу, к которой подключается модуль, демонстрирующую работоспособность всех подпрограмм модуля.

     

     

    Задание №1. Программирование линейных алгоритмов.

     

    1. 1.                Найти площадь кольца, внутренний радиус которого равен r, а внешний – заданному числу R (R>r).
    2. 2.                Составьте программу, находящую произведение и результат деления двух обыкновенных дробей.

     

    Задание 2. Программирование ветвящихся алгоритмов.

     

    1. Определить, равен ли квадрат заданного трехзначного числа кубу суммы цифр этого числа.
    2. Дан круг радиуса R. Определить, поместится ли правильный треугольник со стороной а в этом круге.
    3. Дано натуральное число N. Если оно делится на 4, вывести на экран ответ N=4k (где k соответствующее частное); если остаток от деления на 4 равен 1, N=4k+1; если остаток от деления на 4 равен 2, N=4k+2; если остаток от деления на 4 равен 3, N=4k+3.

    Например, 12 - 43, 22 - 45+2.

     

    Задание 3. Программирование циклических алгоритмов.

     

    1. 1.      Дано натуральное число N. Вычислить:

     

     

    1. 2.      Вычислить: y=cosx+cosx2+cosx3+…+cosxn.

     

    Задание 4. Линейные массивы. Сортировка массивов.

     

    1. 1.      Найти произведение всех элементов массива вещественных чисел, меньших заданного числа. Размерность массива –10. Заполнение массива осуществить случайными числами от 50 до 100.
    2. 2.      Вычислить среднее арифметическое значение тех элементов одномерного массива, которые попадают в интервал от –2 до 10.
    3. 3.      Даны два линейных массива одинаковой размерности. Составить третий массив из произведений элементов первых двух массивов, стоящих на местах с одинаковым индексом.
      1. Задание 1.1.

    Составить программу для вычисления по формулам. Предусмотреть задание исходных данных при помощи оператора ввода.

             

    В треугольнике заданы сторона a и углы В и С. Найти площадь S и стороны b и c:

    ;;;

     

    1. Задание 1.2.

    Составить блок-схему алгоритма и программу с использованием условного оператора. Предусмотреть задание исходных данных при помощи оператора ввода.

     

    Дано действительное число А. Вычислить F(А),если

             

    1. Задание 1.3.

    Составить блок-схему алгоритма и программу для вычисления суммы бесконечного сходящегося ряда. Суммирование прекратить при появлении в сумме слагаемых, имеющих абсолютную величину, меньшую заданной погрешности d. Значение d задается при помощи оператора ввода.

     

    (суммировать отдельно слагаемые со знаком + и слагаемые со знаком -.Затем второе значение вычитается из первого)

     

    1. Задание 1.4

    Составить программу для выполнения заданных действий над массивом чисел. В программе предусмотреть ввод значений его элементов.

     

    В заданном массиве К из N элементов найти сумму элементов, имеющих четные номера, и произведение элементов ,имеющих нечетные номера.

     

     

     

     

     

     

  • Выполнить задание на C++

    Практическая работа № 5

    Алгоритм поиска в отсортированных массивах

     

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

    Составить программу поиска заданного элемента по ключу в одномерном целочисленном массиве A[n], используя алгоритм согласно варианту индивидуального задания. Провести тестирование программы на исходном массиве, сформированном вводом с клавиатуры. Рабочий массив A сформировать с использованием генератора псевдослучайных чисел. Провести контрольные прогоны программы для размеров массива n = 100, 1000, 10000, 100000 и 1000000 элементов в трех режимах: на массивах, строго убывающих, строго возрастающих и случайных чисел и сделать вывод о зависимости (устойчивости) алгоритма от исходной упорядоченности массива.

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

    Полученные результаты свести в сводную таблицу. Построить в одной координатной плоскости графики зависимости теоретической О(n)=f(С(n)) и эмпирической (Сф(n)) вычислительной сложности алгоритма от количества элементов в массиве n.

    Сравнить вычислительную сложность алгоритма с вычислительной сложностью алгоритма последовательного поиска. Экспериментально оценить долю случаев, когда последовательный поиск выполняется быстрее, чем быстрый поиск.

    Провести анализ полученных результатов. Сделать выводы о проделанной работе, основанные на полученных результатах.

     

    Сводная таблица результатов

    n

    f(C)

    100

     

     

    1000

     

     

    10000

     

     

    100000

     

     

    1000000

     

     

     

    Варианты индивидуальных заданий

    Алгоритм

    5.1

    Двоичного поиска

    5.2

    С использованием бинарного дерева поиска

    5.3

    Фибоначчиего поиска 

    5.4

    Поиска хэшированием

    5.5

    Поиска по бору

    5.6

    Поиска Рабина-Карпа

     

    Практическая работа № 6

    Алгоритмы поиска строк в тексте

     

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

    Составить программу поиска первого вхождения заданной строки P длиной m символов в тексте S, размером n символов, используя алгоритм согласно варианту индивидуального задания. Уточнение: настоящая задача поиска сводится к нахождению в тексте (массиве) S индекса, начиная с которого строка P полностью совпадает с фрагментом текста S. В частном случае заданная строка может отсутствовать в тексте.

    Провести тестирование программы на исходном массиве, сформированном вводом с клавиатуры.

    Рабочий текст (массив) сформировать из произвольного текстового файла, например, романа Л.Н. Толстого «Война и мир». Провести контрольные прогоны программы как минимум на трех текстовых файлах различной длины.

    Провести эмпирическую (практическую) оценку вычислительной сложности алгоритма, для чего предусмотреть в программе подсчет фактического количества операций посимвольного сравнения Сф и сдвигов подстроки Мф относительно текста.

    Полученные результаты свести в сводную таблицу. Построить в одной координатной плоскости графики зависимости теоретической О(n)=f(С+М) и эмпирической (Сф+Мф) вычислительной сложности алгоритма от размера текста (количества элементов в массиве) n.

    Сравнить вычислительную сложность алгоритма с вычислительной сложностью алгоритма прямого поиска строки.

    Провести анализ полученных результатов. Сделать выводы о проделанной работе, основанные на полученных результатах.

     

    Сводная таблица результатов

    n

    f(C+М)

    Cф+Мф

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    Варианты индивидуальных заданий

    Алгоритм

    6.1

    Прямого поиска строки

    6.2

    Кнута-Морриса-Пратта

    6.3

    Бойера-Мура 

    6.4

    Поиска хэшированием

     

    Практическое задание №7

    Линейные динамические списки

    1. 1.              Однонаправленные списки

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

    Определите список операции над списками варианта, включая операцию добавления узла в начало списка, вывода списка. Разработайте для каждой операции функцию с параметрами. Информационная часть узла имеет тип int.

    Реализуйте программу решения задачи варианта.

    Вариант 1

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

    Вариант 2

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

    Вариант 3

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

    Вариант 4

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

     

    1. 2.    Двунаправленные списки

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

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

    Требования к разработке.

    1. Разработать структуру узла списка, структура информационной части узла определена вариантом. Для определения структуры узла списка, используйте тип struct. Сохраните определение структуры узла в заголовочном файле.
    2. Разработайте функции для выполнения операции над линейным динамическим списком:
    • вывод списка в двух направлениях
    • поиск узла с заданным значением (операция должна возвращать указатель на узел с заданным значением).
    1. Дополнительные операции над списком, указанные вариантом оформите в виде функций и включите в отдельный файл с расширением cpp. Подключите к этому файлу заголовочный файл с определением структуры узла.
    2. Разработайте программу, управляемую текстовым меню, и включите в меню  демонстрацию выполнения всех операций задания и варианта.
    3. Проведите тестирование операций.
    4. Оцените сложность алгоритма первой дополнительной операции для реализации линейного списка:
    • на линейном динамическом списке
    • на одномерном массиве.

     

    Примечание. В определении информационной части узла варианта, подчеркнутое поле считать полем ключа.

    Варианты

    Вариант

    Тип информационной части узла списка

    Дополнительные Операции

    1

    Номер зач. книжки, Номер группы, Оценка.

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

    Удалить узлы с указанным номером группы.

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

    2

     

     

    Номер телефона (из 7 цифр), время разговора (целое число), номер телефона вызываемого абонента.

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

    Удалить последний узел  с заданным значением телефона.

    Подсчитать суммарное время разговора с заданного телефона.

    3

    Номер абонемента, Название книги, дата выдачи, дата возврата, дата фактического возврата.

    Вставить новый узел  в список после последнего узла с таким же номером абонента(дата фактического возврата еще не заполнена).

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

    Удалить узлы, в которых дата возврата и дата фактического возврата совпадают.

    Определить количество книг, заданного абонемента.

    4

    Номер мед. полиса, Дата обращения, Код диагноза (число).

    Вставка нового узла перед первым узлом с заданным значением Мед. полиса, если такого нет, то узел вставить в конец списка.

    Удаление из списка всех узлов с заданным значением Кода диагноза.

    Переместить все узлы с одинаковым  мед. полисом в новый список.

    Определить количество обращений в одну и туже дату с одним и тем же диагнозом.

    5

    Номер счета в банке, дата, вид операции (приход или расход), сумма вклада.

    Вставка нового узла перед первым узлом.

    Удаление сведений по счету (всех узлов), у которого общая сумма вклада равна нулю ( сумма по приходу, минус сумма по расходу).

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

    6

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

    Вставить новый узел после последнего узла с заданным номером автобуса.

    Удалить все узлы заданного автобуса.

    Подсчитать, сколько раз автобус выходил на маршрут в течении заданного дня.

     

     

  • Написать компьютерную программу, содержащую

    1. Описание класса vect, содержащего:
    1. 1. Скрытые данные, описывающие размерность вектора и массив со значениями элементов вектора;
    1. 2. Открытые данные, описывающие количество созданных векторов (static) и номер вектора;
    1. 3. Набор конструкторов класса, включающий конструктор по умолчанию и конструктор копирования;
    1. 4. Деструктор;
    1. 5. Оператор-функции:
    - сложения векторов,
    - вычитания векторов,
    - унарный минус,
    - умножения числа на вектор,
    - скалярного произведения векторов,
    - присваивания;
    1. 6. Описание дружественного класса matr.

    2. Описание класса matr для квадратной матрицы, содержащего:
    2. 1. Скрытые данные, описывающие размерность матрицы и массив со значениями элементов матрицы;
    2. 2. Открытые данные, описывающие количество созданных матриц (static) и номер матрицы;
    2. 3. Набор конструкторов класса, включающий конструктор по умолчанию и конструктор копирования;
    2. 4. Деструктор;
    2. 5. Оператор-функции:
    - сложения матриц,
    - вычитания матриц,
    - унарный минус,
    - умножения числа на матрицу,
    - произведения матриц,
    - умножения матрицы на вектор,
    - присваивания.
    2. 6. Функцию main, содержащую сценарий тестирования инструментария векторной алгебры.
    Конструкторы, деструкторы и оператор-функции должны содержать вывод на экран сообщений о том, какие вектора и матрицы (по номерам) участвуют в преобразованиях.

  • Решение задач, Программирование c++ 10 задач

    Решение задач, Информатика

    По каждому цеху предприятия имеются плановые и фактические показатели выпуска товарной продукции. Количество цехов не превышает 16. Для отдельных цехов и по предприятию в целом подсчитать средний процент выполнения плана, а также определить количество цехов, выполнивших план менее чем на 100%, 120%, 140%, 200%. Результат распечатать в виде двух таблиц:

    Таблица 1.

    Сведения о цехах, выполнивших план не более чем на .... процентов

    Таблица 2

     

    Указания: Заполнить исходную таблицу и отсортировать ее по возрастанию процента выполнения плана. Заполнить таблицу 2. После этого в цикле, пока не откажется пользователь

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

    .


  • 1. Описание класса vect, содержащего:
    1. 1. Скрытые данные, описывающие размерность вектора и массив со значениями элементов вектора;
    1. 2. Открытые данные, описывающие количество созданных векторов (static) и номер вектора;
    1. 3. Набор конструкторов класса, включающий конструктор по умолчанию и конструктор копирования;
    1. 4. Деструктор;
    1. 5. Оператор-функции:
    - сложения векторов,
    - вычитания векторов,
    - унарный минус,
    - умножения числа на вектор,
    - скалярного произведения векторов,
    - присваивания;
    1. 6. Описание дружественного класса matr.

    2. Описание класса matr для квадратной матрицы, содержащего:
    2. 1. Скрытые данные, описывающие размерность матрицы и массив со значениями элементов матрицы;
    2. 2. Открытые данные, описывающие количество созданных матриц (static) и номер матрицы;
    2. 3. Набор конструкторов класса, включающий конструктор по умолчанию и конструктор копирования;
    2. 4. Деструктор;
    2. 5. Оператор-функции:
    - сложения матриц,
    - вычитания матриц,
    - унарный минус,
    - умножения числа на матрицу,
    - произведения матриц,
    - умножения матрицы на вектор,
    - присваивания.
    2. 6. Функцию main, содержащую сценарий тестирования инструментария векторной алгебры.
    Конструкторы, деструкторы и оператор-функции должны содержать вывод на экран сообщений о том, какие вектора и матрицы (по номерам) участвуют в преобразованиях.

    1. Описание класса vect, содержащего:
    1. 1. Скрытые данные, описывающие размерность вектора и массив со значениями элементов вектора;
    1. 2. Открытые данные, описывающие количество созданных векторов (static) и номер вектора;
    1. 3. Набор конструкторов класса, включающий конструктор по умолчанию и конструктор копирования;
    1. 4. Деструктор;
    1. 5. Оператор-функции:
    - сложения векторов,
    - вычитания векторов,
    - унарный минус,
    - умножения числа на вектор,
    - скалярного произведения векторов,
    - присваивания;
    1. 6. Описание дружественного класса matr.

    2. Описание класса matr для квадратной матрицы, содержащего:
    2. 1. Скрытые данные, описывающие размерность матрицы и массив со значениями элементов матрицы;
    2. 2. Открытые данные, описывающие количество созданных матриц (static) и номер матрицы;
    2. 3. Набор конструкторов класса, включающий конструктор по умолчанию и конструктор копирования;
    2. 4. Деструктор;
    2. 5. Оператор-функции:
    - сложения матриц,
    - вычитания матриц,
    - унарный минус,
    - умножения числа на матрицу,
    - произведения матриц,
    - умножения матрицы на вектор,
    - присваивания.
    2. 6. Функцию main, содержащую сценарий тестирования инструментария векторной алгебры.
    Конструкторы, деструкторы и оператор-функции должны содержать вывод на экран сообщений о том, какие вектора и матрицы (по номерам) участвуют в преобразованиях.

  • Две задачи по информатике
    1. Основной поток создает другой поток, передавая ему параметр. Параметр может принимать два значения: 0 или 1. Если параметр равен 1, то второй поток создает файл размером 10 Кб.
    2. Создать два потока. Один создает файл нулевой длины и завершается, а другой дожидается появления файла, созданного первым потоком, записывает в файл 1000 случайных чисел типа DOUBLE и также завершается. После этого основной поток удаляет файл.
  • Составить программу, которая содержит сведения телефонной книжки

    1.)             Составить программу, которая содержит сведения телефонной книжки.

    Каждая запись включает:

    • фамилия, имя;
    • номер телефона;
    • день рождения (массив из трех чисел).

    2.) Программа должна обеспечивать:

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

    3.) Программа должна обеспечивать диалог с помощью меню.

    Реализовать с помощью меню:

    1. Добавление данных в двусвязный список с возможностью записи в файл

    2. Считывание списка из файла

    3. Сортировка в соответствии с заданием и возможность записи в файл

    4. Возможность вывода с начала списка и с конца списка

    5. Выборка (поиск) в соответствии с заданием

  • Задача структура данных на С++

    Разработка библиографического справочника с использованием динамической памяти на языке C++. В программе предусмотреть:

    • Хранение справочника в файле;
    • Поиск информации по имени автора;
    • Поиск информации по укороченному имени;
    • Включение новой информации о литературном источнике;
    • Удаление информации по имени автора;
    • Графический пользовательский интерфейс;

    Структура данных: ЛОС.

  • Морской бой на C++

    Написан код к игре морской бой на языке c++.

  • Задачи по программированию C++

    Вариант 1

    Задание Классы

    Описать класс, реализующий стек и работу с ним.

    1.)  Класс должен содержать следующие сведения об отправлении поездов дальнего следования:

    • пункт отправления;
    • номер поезда;
    • время прибытия.

    2.)  В классе должны быть реализованы следующие операции над стеком:

    • добавление данных о поездах в информационную систему;
    • удаление данных о поезде по введенному номеру поезда;
    • вывод информации обо всех поездах;
    • вывод информации о поезде, номер которого введен с клавиатуры;

    3.)   Программа должна обеспечивать диалог с помощью меню.

    4.)  В программе должны быть созданы два экземпляра класса: прибывающие и задерживающиеся поезда, должны быть предусмотрена возможность перевода поезда из прибывающих в задерживающиеся и наоборот по введенному номеру поезда (при этом информация о данном поезде удаляется из одного списка и добавляется в другой). При выводе информации о поездах, пользователь должен выбрать какой список выводить (прибывающих или задерживающихся поездов), либо вывести все поезда из обоих списков.

    Вариант 1

    Задание Двуязычный список

    1.)   Автоматизированная информационная система на железнодорожном вокзале содержит сведения об отправлении поездов дальнего следования.

    Для каждого поезда указывается:

    • пункт назначения;
    • номер поезда;
    • время отправления.

    2.)  Программа должна обеспечивать:

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

    3.)  Программа должна обеспечивать диалог с помощью меню.

    Вариант 1

    Задание Файлы

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

    Вариант 2

    Задание Двуязычный список

    1.)  Составить программу, которая содержит текущую информацию о книгах в библиотеке.

    Сведения о книгах включают:

    • фамилию и инициалы автора;
    • название;
    • год издания;
    • количество экземпляров данной книги в библиотеке.

    2.)  Программа должна обеспечивать:

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

    3.)  Программа должна обеспечивать диалог с помощью меню

    Вариант 2

    Задание Файлы

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

    Вариант 2

    Задание Классы

    Описать класс, реализующий стек и работу с ним.

    1.)  Класс должен содержать следующие сведения о книгах в библиотеке:

    • фамилию и инициалы автора;
    • название;
    • год издания;
    • количество экземпляров данной книги в библиотеке.

    2.)  В классе должны быть реализованы следующие операции над стеком:

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

    3.)  Программа должна обеспечивать диалог с помощью меню.

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