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

Тип работы: Все Диплом Задача Курсовая работа Лабораторная работа Ответы на вопросы
Язык программирования: Все Bash Basic Batch C C# C# ASP .NET C++ Delphi Fortran Free Basic HTML Java JavaScript Object Pascal Pascal Pascal ABC Python Turbo Pascal VBA Visual Basic алгоритмические языки Ассемблер
Блок-схема: Все Есть Нет
Сортировать по умолчанию цене названию
  • Однонаправленные+, двунаправленные, циклические списки ("Закон Джозафа - Иосифа Флавия"))
    Стек, очередь, Бинарное дерево *Двунаправленное, вместо Next - Массив.*.

    ______________________________

    || задание
    Поиск подстроки в строке ("Алгоритм Кнута Моррис Пратт") , "Алгоритм Бойера- Мура", "Алгоритм Рабина-Карпа"
    3 метода
    ___________________________________
    ||| задание
    Сортировка 5 методов (3 набора)

  • Выполнить задание на 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

    Вариант 15

    Игра Угадай число

    Сделать программу с интерфейсом и без него Компьютер загадывает случайное значение от 0 до 50. Пользователь должен за 5 попыток угадать это число. При каждом неудачном отгадывании появляется подсказка о том, что «загаданное число больше/меньше того, что ввел пользователь». Если за 5 попыток угадать число не удалось, то компьютер побеждает. Если за 5 и менее попыток игрок отгадывает число, то побеждает пользователь. После этого появляется вопрос о том, хочет ли пользователь сыграть еще раз. Если да, то игра начинается заново с новым случайным числом, если нет, то игра закрывается. Также нужно показывать счет (количество побед игрока и компьютера). Загадывание случайного числа от min до max: x=Int((max-min+1)*Rnd()+min) MSGBOX с вопросами показаны в файле с теорией (ВБА. Hello world). Выход из цикла – Exit do / Exit for Выход из процедуры – Exit su

    Лабораторная по предмету «программирование на СИ++»

    Задание 1

    Реализовать свой класс точки на плоскости. Выполнить перегрузку операторов ">" и "<". Создать массив объектов класса. Значения координат заполнить случайными числами.  Класс должен быть реализован так, чтобы функции из предыдущих заданий работали без какой-либо модификации. 

    Задание 2

    Реализовать рекурсивный вариант функции "быстрой" сортировки в виде шаблонной функции. Проверить работу. 

    Задание 3

    Рассмотреть упаковку бинарного дерева в массив. Реализовать функцию сортировки с использованием бинарного дерева ("пирамидальная").

    Задание 4

    Сравнить среднее время выполнения различных функций сортировки на больших массивах (не менее 5000 элементов) различных типов. Указание: Для оценки времени использовать функции Win32 API QueryPerformanceCounter и QueryPerformanceFrequency.

    Задание 5

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

     

  • Описать суперкласс СТРОКА, содержащий следующие поля:
    строка
    и следующие методы:
    конструктор без параметров;
    конструктор с параметром;
    вывод на экран значений полей;
    очистка строки.
    Описать подкласс КОМПЛЕКСНОЕ_ЧИСЛО. Строки данного класса состоят из двух полей, разделенных символом i.Каждое из полей может содержать только десятичные цифры, символы + и -. Если строка производного класса содержит другие символы, то КОМПЛЕКСНОЕ_ЧИСЛО принимает нулевое значение.
    В подкласс включить следующие обязательные методы:
    конструктор;
    сложение двух комплексных чисел;
    умножение двух комплексных чисел;
    вывод на экран комплексного числа.
    Написать приложение на языке Java. В программе применить принцип полиморфизма и предусмотреть меню для демонстрации работы всех методов суперкласса и подкласса

  • Разработать иерархию классов в соответствии заданной предметной областью. После чего спроектировать графическое приложение, которое будет работать с классами, разработанными ранее. Требования к разрабатываемой информационной системе:
    Объекты предметной области - Комплексные числа в обычной форме записи, показательной записи.
    Основные методы классов - Выполнение действий: сложение, вычитание, деление, умножение, извлечение корня.

  •                                            Вариант 1

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

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



     

     

     

     

     

    Требования к оформлению:

    Формат файла: .doc, .docx или .pdf.

    Титульный лист: выполняется по образцу, обязательно указать номер варианта.

    Основной шрифт: Times New Roman, 14 пт, полуторный межстрочный интервал

    Выравнивание текста: по ширине

    Блок-схемы отображаются в виде рисунка: в тексте, без обтекания. Обязательны подрисуночная надпись и ссылка в предшествующем тексте.

  • Лабораторная работа 10. Задание

    Задать размерность одномерного массива с помощью комбинированного окна ComboBox.

    Задать размерность и тип массива в программном коде.

    Ввести элементы массива A(n) с помощью генератора случайных чисел. Вывести образованный массив на экранную форму в объект Label.

    Упорядочить полученный массив по возрастанию.

    Выдать упорядоченный массив на экранную форму в объект ListBox.

    Дан вектор A(n), содержащий нулевые элементы. Уплотнить его, выбросив нулевые элементы

     

    Лабораторная работа 13.

    Задание

    Задан список из десяти городов. присвоить переменной T название последнего из городов, название которого содержит более 4-х букв

     

    Лабораторная работа 14.

    Задание

    Переменная х изменяется в интервале от –5 до 10 с шагом 2. Оформив вычисление факториала в виде функции, выдать на экран значения функции у, которая вычисляется по правилу:

    Лабораторная работа 19.

    Задание

    1. Вычислить значение функции  для заданного значения n.

    Организовать ввод исходных данных с помощью диалогового окна ввода информации InputBox.

    1. Программный код расположить в объекте КОМАНДНАЯ КНОПКА для события Click. В программном коде использовать цикл FOR.
    2. Вывести результат с помощью диалогового окна сообщения MsgBox.
  • 1-Динамические структуры данных. Списки

    Дана символьная строка длиной не более 80 символов, состоящая из слов, разделенных пробелом. Составить программу, которая вводит строку, организует из слов строки однонаправленный список-стек. Используя список, программа подсчитывает количество слов, длина которых меньше 5-ти символов и удаляет слова, длина которых меньше 3 -х символов. Выводит на экран списки и результаты подсчетов.

    2- Простые объекты

    Описать класс, включающий заданные поля и методы, двумя способами: без конструктора и с конструктором. Протестировать все методы класса. Поля класса должны быть скрытыми (private) или защищенными (protected). Методы не должны содержать операций ввода/вывода, за исключением процедуры, единственной задачей которой является вывод информации об объекте на экран.

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

    В отчете привести диаграмму разработанных классов и объектную декомпозицию.

  • Лабораторная работа 1. Методы сортировки.

    Задание

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

    Метод – вставкой.

    Лабораторная работа 2. Методы поиска.

    Задание

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

    Метод – Интерполяционный

    Лабораторная работа 3. Методы поиска подстроки в строке.

    Задание

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

    Варианты

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

    Упрощенный Бойера-Мура

    Четный номер по журналу

    Нечетный номер по журналу

    Лабораторная работа 4. Реализация стека/дека.

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

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

  • абораторная, Программирование с++ 4 штуки

    Лабораторная работа №5

    Задание на лабораторную работу

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

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

    Лабораторная работа №6

    Задание на лабораторную работу

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

    Вычислить элементы последовательности:

    a(0)=1;

    a(n)=a(n div 2)+a(n div 3), n>1;

    Лабораторная работа №7

    Задание на лабораторную работу

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

    Удалить все вхождения заданного слова из текста

    Лабораторная работа №8

    Задание на лабораторную работу

    Дан список идентификаторов. Длина каждого идентификатора не более 8 символов. Идентификаторы в списке расположены в лексикографическом порядке. Составить функции (подпрограммы) для следующих операций: Удалить из списка все элементы.

     

  • Выполнить 7 лабораторных работ

    Лабораторная работа №1

    Задание 1

    В программу вводятся пользователем значения переменных a и b, вычислить значение выражения F. Составить алгоритм решения задачи в соответствии со своим вариантом на алгоритмическом языке и нарисовать блок-схему.

    Задание 2

    В программу вводятся координаты точки X и Y (вещественные числа). Определить, принадлежит ли точка с координатами (X; Y) заштрихованной части плоскости. Составить алгоритм решения задачи в соответствии со своим вариантом на алгоритмическом языке и нарисовать блок-схему.

    Задание 3

    Вычислить сумму S первых n-членов ряда с точностью E (вводится пользователем). Суммирование членов ряда прекратить, если очередной член ряда y будет меньше E. Составить алгоритм решения задачи в соответствии со своим вариантом на алгоритмическом языке и представить его в виде блок-схемы.

    Лабораторная работа №2

    Задание 1

    В программу вводятся пользователем значения переменных a и b, вычислить значение выражения F. Составить алгоритм решения задачи в соответствии со своим вариантом на алгоритмическом языке и нарисовать блок-схему.

    Задание 2

    В программу вводятся координаты точки X и Y (вещественные числа). Определить, принадлежит ли точка с координатами (X; Y) заштрихованной части плоскости. Составить алгоритм решения задачи в соответствии со своим вариантом на алгоритмическом языке и нарисовать блок-схему.

    Задание 3

    Вычислить сумму S первых n-членов ряда с точностью E (вводится пользователем). Суммирование членов ряда прекратить, если очередной член ряда y будет меньше E. Составить алгоритм решения задачи в соответствии со своим вариантом на алгоритмическом языке и представить его в виде блок-схемы.

    Лабораторная работа №3

    Задание 1

    Составить блок-схему алгоритма и написать программу со следующей спецификацией. Пользователем с клавиатуры вводятся целые числа до тех пор, пока сумма четных чисел не превысит число, записанное в файле predel.txt. Вывести в файл kolmax.txt общее количество введенных чисел и максимальное из них. В программе для записи результата в файл необходимо использовать функции fscanf() и fprintf().

    Задание 2

    Составить блок-схему алгоритма и написать программу со следующей спецификацией. Программа считывает из файла startgame.txt целое число. Пользователь начинает отгадывать это число, вводя с клавиатуры произвольные числа. Программа реагирует на ввод очередного числа подсказкой, например, «Введенное число больше загаданного» или «Введенное число меньше загаданного». Процесс завершается, если пользователь ввел загаданное число. Записать в файл endgame.txt введенные числа и их общее количество. В программе использовать файловые потоки.

    Лабораторная работа №4

    Задание 1

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

    Задание 2

    На тетрадном листе нарисуйте многоугольник, показанный на рисунке. С помощью линейки определите длины сторон a1-a12 и запишите их в текстовый файл. Напишите функцию для вычисления площади треугольника по трем сторонам.

    Задание 2

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

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

    Лабораторная работа №5

    Задание 1

    Дано число R и массив размера N = 10. Данные вводятся пользователем с клавиатуры. Найти два различных элемента массива, сумма которых наиболее близка к числу R. Вывести на экран порядковые номера этих элементов.

    Задание 2

    Дан целочисленный массив размера N = 10. Данные вводятся пользователем с клавиатуры. Написать и использовать в программе функцию для выявления в массиве повторяющихся чисел или чисел, не принадлежащих интервалу [1..N]. В случае, если таких чисел нет, функция должна возвратить значение -1, иначе – индекс и значение первого недопустимого числа. Аргументами функции должен быть массив и его размерность. Результат вывести на экран.

    Задание 3

    В файле хранится квадратная матрица A размерностью M = 5. Написать и использовать функцию нахождения среднего значения элементов матрицы, расположенных над ее главной диагональю. Результат вывести на экран.

    Лабораторная работа №6

    Задание 1

    Пользователь вводит размер n динамического массива X, а затем заполняет его целыми числами. Сформировать новый массив Y, в который поместить сначала все четные, а затем все нечетные элементы массива X. Получившейся массив Y вывести в файл.

    Задание 2

    В файле записано количество точек на плоскости и их координаты. Поместить эти координаты в двумерный динамический массив. Найти две 92 точки, находящиеся на максимальном удалении друг от друга. Расстояние R между точками с координатами (x1, y1) и (x2, y2) вычисляется по формуле:. На экран вывести координаты этих точек и расстояние между ними.

    Лабораторная работа №7

    Задание

     Создать класс треугольник, члены класса – длины трех сторон. Описать в классе конструкторы, деструктор, методы проверки существования треугольника, вычисления и вывода сведений о фигуре – длины сторон, углы, периметр, площадь. Предусмотреть в классе проверку, является ли треугольник равнобедренным. Написать программу, демонстрирующую работу с классом: дано K треугольников, найти их среднюю площадь.

     

  • Наследование классов на с++

    Задание

    А. Реализовать классы «стек», «очередь», «дек» наследованием от базового класса «двусвязный список» согласно варианту, см. Таблицу 2. Базовый класс «двусвязный список» был реализован в одной из предыдущих работ.

    Таблица 2

    Спецификация вариантов

    Вид наследования

    public

    protected

    private

    стек

     

    дек

     

     

    Программы - клиенты должны демонстрировать работу всех классов. Иерархию классов реализовать в отдельном модуле.

    В. Решение задания А реализуйте шаблонами классов. Проверьте его на разных типах.

    С. Решить задачи на применение шаблона стека и очереди(дека).

    1. Разработайте и реализуйте класс постфиксных калькуляторов. Используйте алгоритм вычисления постфиксных выражений, описанный ниже. Допускаются лишь операторы +, -, * и /. Предполагается, что постфиксные выражения являются корректными.
    2. Разработайте и реализуйте класс инфиксных калькуляторов. Используйте алгоритм вычисления постфиксных выражений, описанный ниже. Перед вычислением инфиксное выражение следует преобразовать в постфиксную форму, а затем вычислить полученное постфиксное выражение по алгоритму.
  • Лабораторная, Программирование Полиморфизм на С++ Вариант 9

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

    лаба №1 (тема: Бинарные деревья): задание - Найти в непустом дереве Т длину (число ветвей) пути от корня до вершины с элементом Е, если Е входит в Т (-1 в противном случае).

    лаба №2 (тема: Файлы и динамические структуры данных):
    Тут два задания: задание 1 - Вывести статистику появления идентификаторов в тексте программы, сформировав и распечатав содержимое бинарного дерева. Для каждого идентификатора указать имена всех функций, в которых он встречается.

    Задание 2 этой лабы - В бинарном файле хранится последовательность целых чисел. Вывести в порядке убывания те числа, которые встречаются в последовательности более одного раза. Использовать для решения задачи бинарное дерево.
    (Для решения второй задачи второй задачи лабораторной создать функции:
    ввод с клавиатуры [или генерация случайных] чисел и запись в файл;
    чтение неупорядоченных чисел из файла и вывод на экран;
    создание списка/дерева значений, упорядоченных по возрастанию/убыванию (каждый элемент списка/дерева содержит число и счетчик повторений числа);
    вывод содержимого списка/дерева на экран.)лаба №1 (тема: Бинарные деревья): задание - Найти в непустом дереве Т длину (число ветвей) пути от корня до вершины с элементом Е, если Е входит в Т (-1 в противном случае).

    лаба №2 (тема: Файлы и динамические структуры данных):
    Тут два задания: задание 1 - Вывести статистику появления идентификаторов в тексте программы, сформировав и распечатав содержимое бинарного дерева. Для каждого идентификатора указать имена всех функций, в которых он встречается.

    Задание 2 этой лабы - В бинарном файле хранится последовательность целых чисел. Вывести в порядке убывания те числа, которые встречаются в последовательности более одного раза. Использовать для решения задачи бинарное дерево.
    (Для решения второй задачи второй задачи лабораторной создать функции:
    ввод с клавиатуры [или генерация случайных] чисел и запись в файл;
    чтение неупорядоченных чисел из файла и вывод на экран;
    создание списка/дерева значений, упорядоченных по возрастанию/убыванию (каждый элемент списка/дерева содержит число и счетчик повторений числа);
    вывод содержимого списка/дерева на экран.)

  • Лабораторная, Языки программирования С++

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

  • Лабораторная, Информатика и программирование Lazarus

    Лабораторная работа 9.
    Разработать приложение, содержащее меню (используя ТMainMenu), которое позволяет создавать, сохранять и открывать текстовый файл из нескольких строк – предложений. А также подсчитывать количество цифр в файле и определить самое короткое слово файла.
    Лабораторная работа 10.
    Разработать приложение, содержащее меню, позволяющее:
    1. Создавать, сохранять, открывать типизированный файл записей, содержащий следующую информацию: название песни, автор, год написания.
    2. Добавлять запись.
    3. Удалять запись.
    4. Выводить информацию об интересующей песне.
    5. Находить самую старую песню.
    6. Сортировать список по алфавиту и в обратном порядке (по названию песни).
    7. Выход.

    Лабораторная работа 11.
    Разработать программу, содержащую меню, которое позволяет создавать, сохранять и открывать текстовый файл из нескольких строк – символов. Выводить в отдельном окне количество согласный букв или количество цифр в файле. Выводить информацию об авторе программы в отдельных окнах (разработанном и стандартном). Разработать подпрограмму, подсчитывающую количество знаков в строке, которую поместить в отдельный модуль и использовать при определении количества букв и цифр.

    Лабораторная работа 13
    Создать цветной рисунок, на котором изобразить дом, елку, солнце и нанести подпись.

    Лабораторная работа 14.
    Разработать приложение, моделирующее произвольное движение внутри синего прямоугольника двух кругов красного и желтого цвета, отскакивающих друг от друга и от границ этого прямоугольника.

    Лабораторная работа 15
    Построить на одной сетке графики функций y=x*sin(x) и y=x*cos(x).Лабораторная работа 9.
    Разработать приложение, содержащее меню (используя ТMainMenu), которое позволяет создавать, сохранять и открывать текстовый файл из нескольких строк – предложений. А также подсчитывать количество цифр в файле и определить самое короткое слово файла.
    Лабораторная работа 10.
    Разработать приложение, содержащее меню, позволяющее:
    1. Создавать, сохранять, открывать типизированный файл записей, содержащий следующую информацию: название песни, автор, год написания.
    2. Добавлять запись.
    3. Удалять запись.
    4. Выводить информацию об интересующей песне.
    5. Находить самую старую песню.
    6. Сортировать список по алфавиту и в обратном порядке (по названию песни).
    7. Выход.

    Лабораторная работа 11.
    Разработать программу, содержащую меню, которое позволяет создавать, сохранять и открывать текстовый файл из нескольких строк – символов. Выводить в отдельном окне количество согласный букв или количество цифр в файле. Выводить информацию об авторе программы в отдельных окнах (разработанном и стандартном). Разработать подпрограмму, подсчитывающую количество знаков в строке, которую поместить в отдельный модуль и использовать при определении количества букв и цифр.

    Лабораторная работа 13
    Создать цветной рисунок, на котором изобразить дом, елку, солнце и нанести подпись.

    Лабораторная работа 14.
    Разработать приложение, моделирующее произвольное движение внутри синего прямоугольника двух кругов красного и желтого цвета, отскакивающих друг от друга и от границ этого прямоугольника.

    Лабораторная работа 15
    Построить на одной сетке графики функций y=x*sin(x) и y=x*cos(x).

  • Лабораторная, Прикладное программирование

    Лабораторная № 1

    В одномерном массиве, состоящем из п вещественных элементов, вычислить:

    1. Количество элементов массива, больших С.

    2. Произведение элементов массива, расположенных после максимального по модулю элемента.

    Преобразовать массив таким образом, чтобы сначала располагались все отрицательные элементы, а потом — все положительные (элементы, равные нулю, считать положительными).

    Лабораторная №2

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

    ЗАДАНИЕ 1: Дана целочисленная прямоугольная матрица. Определить номер первого из столбцов, содержащих хотя бы один нулевой элемент (оформить в виде функции).

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

    ЗАДАНИЕ 2: Введена целочисленная прямоугольная матрица.

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

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

     ЗАДАНИЕ 3:
    Начать выполнять лабораторную работу на тему "Программа с простейшим меню" путём переделки предыдущей программы(из Задания 2): 1) переделка ВСЕГО ПРЕДЫДУЩЕГО текста программы в набор из нескольких Procedure(...) и Fuction(...) в разделе процедур и функций; 2) написание нового (короткого) текста ОСНОВНОЙ программы ( = раздел операторов между BEGIN и END. ), содержащего простейшее МЕНЮ [внешний цикл типа repeat ... untul k=0; внутри цикла: А) вывод (writeln) подсказок-пунктов меню типа 1. Ввод данных 2. Обработка данных ... 4. Просмотр матрицы ... 0. Выход из программы ; Б) подсказка "Введите номер пункта меню: " и ввод значения управляющей переменной (например, k ) ; В) оператор CASE k of ... для вызова внутри него (по имени) нужной процедуры (функции) ].

    Использовать учебную систему программирования Pascal ABC.

     

     

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

    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, содержащую сценарий тестирования инструментария векторной алгебры.
    Конструкторы, деструкторы и оператор-функции должны содержать вывод на экран сообщений о том, какие вектора и матрицы (по номерам) участвуют в преобразованиях.

  • Лабораторная, программирование на СИ 4 штуки

    1.Линейный алгоритм 

    Задача

    Задана сумма в рублях и копейках… Найти эквивалетную сумму в евро, долларах и центах.

    2. Разветвляющийся алгоритм 

    Задача

    Заданы размеры трех прямоугольников. Определить, могут ли два из них быть размещены внутри третьего.

    3. Интерационный алгоритм 

    4. Одномерные массивы 

    6. Функция