Программирование
Тип работы: | Все Диплом Задача Курсовая работа Лабораторная работа Ответы на вопросы |
Язык программирования: | Все 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 набора) -
400 руб.
Практическая работа № 5
Алгоритм поиска в отсортированных массивах
Постановка задачи
Составить программу поиска заданного элемента по ключу в одномерном целочисленном массиве A[n], используя алгоритм согласно варианту индивидуального задания. Провести тестирование программы на исходном массиве, сформированном вводом с клавиатуры. Рабочий массив A сформировать с использованием генератора псевдослучайных чисел. Провести контрольные прогоны программы для размеров массива n = 100, 1000, 10000, 100000 и 1000000 элементов в трех режимах: на массивах, строго убывающих, строго возрастающих и случайных чисел и сделать вывод о зависимости (устойчивости) алгоритма от исходной упорядоченности массива.
Провести эмпирическую (практическую) оценку вычислительной сложности алгоритма, для чего предусмотреть в программе подсчет фактического количества операций сравнения Сф.
Полученные результаты свести в сводную таблицу. Построить в одной координатной плоскости графики зависимости теоретической О(n)=f(С(n)) и эмпирической (Сф(n)) вычислительной сложности алгоритма от количества элементов в массиве n.
Сравнить вычислительную сложность алгоритма с вычислительной сложностью алгоритма последовательного поиска. Экспериментально оценить долю случаев, когда последовательный поиск выполняется быстрее, чем быстрый поиск.
Провести анализ полученных результатов. Сделать выводы о проделанной работе, основанные на полученных результатах.
Сводная таблица результатов
n
f(C)
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. Однонаправленные списки
Постановка задачи
Определите список операции над списками варианта, включая операцию добавления узла в начало списка, вывода списка. Разработайте для каждой операции функцию с параметрами. Информационная часть узла имеет тип 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 и в не входят в другой.
- 2. Двунаправленные списки
Постановка задачи
Разработать многомодульную программу, которая демонстрирует выполнение всех операций, определенных вариантом, над линейным двунаправленным динамическим списком.
Требования к разработке.
- Разработать структуру узла списка, структура информационной части узла определена вариантом. Для определения структуры узла списка, используйте тип struct. Сохраните определение структуры узла в заголовочном файле.
- Разработайте функции для выполнения операции над линейным динамическим списком:
- вывод списка в двух направлениях
- поиск узла с заданным значением (операция должна возвращать указатель на узел с заданным значением).
- Дополнительные операции над списком, указанные вариантом оформите в виде функций и включите в отдельный файл с расширением cpp. Подключите к этому файлу заголовочный файл с определением структуры узла.
- Разработайте программу, управляемую текстовым меню, и включите в меню демонстрацию выполнения всех операций задания и варианта.
- Проведите тестирование операций.
- Оцените сложность алгоритма первой дополнительной операции для реализации линейного списка:
- на линейном динамическом списке
- на одномерном массиве.
Примечание. В определении информационной части узла варианта, подчеркнутое поле считать полем ключа.
Варианты
Вариант
Тип информационной части узла списка
Дополнительные Операции
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.
Задание
- Вычислить значение функции для заданного значения n.
Организовать ввод исходных данных с помощью диалогового окна ввода информации InputBox.
- Программный код расположить в объекте КОМАНДНАЯ КНОПКА для события Click. В программном коде использовать цикл FOR.
- Вывести результат с помощью диалогового окна сообщения MsgBox.
1-Динамические структуры данных. Списки
Дана символьная строка длиной не более 80 символов, состоящая из слов, разделенных пробелом. Составить программу, которая вводит строку, организует из слов строки однонаправленный список-стек. Используя список, программа подсчитывает количество слов, длина которых меньше 5-ти символов и удаляет слова, длина которых меньше 3 -х символов. Выводит на экран списки и результаты подсчетов.
2- Простые объекты
Описать класс, включающий заданные поля и методы, двумя способами: без конструктора и с конструктором. Протестировать все методы класса. Поля класса должны быть скрытыми (private) или защищенными (protected). Методы не должны содержать операций ввода/вывода, за исключением процедуры, единственной задачей которой является вывод информации об объекте на экран.
Объект - светофор. Поле: цвет, который горит в данный момент. Методы: процедура инициализации, процедура вывода информации об объекте на экран, функция переключения светофора на заданный цвет.
В отчете привести диаграмму разработанных классов и объектную декомпозицию.
Лабораторная работа 1. Методы сортировки.
Задание
Реализовать заданный метод сортировки строк числовой матрицы в соответствии с индивидуальным заданием. Для всех вариантов добавить реализацию быстрой сортировки (quicksort). Оценить время работы каждого алгоритма сортировки и сравнить его со временем стандартной функции сортировки, используемой в выбранном языке программирования.
Метод – вставкой.
Лабораторная работа 2. Методы поиска.
Задание
Реализовать заданный метод поиска в соответствии с индивидуальным заданием. Организовать генерацию начального набора случайных данных. Для всех вариантов добавить реализацию добавления, поиска и удаления элементов. Оценить время работы каждого алгоритма поиска и сравнить его со временем работы стандартной функции поиска, используемой в выбранном языке программирования.
Метод – Интерполяционный
Лабораторная работа 3. Методы поиска подстроки в строке.
Задание
Реализовать заданный метод поиска подстроки в строке в соответствии с индивидуальным заданием. Для всех вариантов добавить реализацию добавления строк, ввода подстроки и поиска подстроки. Предусмотреть возможность существования пробела. Ввести опцию чувствительности / нечувствительности к регистру. Оценить время работы каждого алгоритма поиска и сравнить его со временем работы стандартной функции поиска, используемой в выбранном языке программирования.
Варианты
Кнута-Морриса-Пратта
Упрощенный Бойера-Мура
Четный номер по журналу
Нечетный номер по журналу
Лабораторная работа 4. Реализация стека/дека.
Используя технологию модульного программирования разработать программу обработки данных, содержащихся в заранее подготовленном файле, в соответствии с индивидуальным заданием. Применить динамическую структуру указанного в задании вида: стек, очередь или дек. Программа должна включать модуль, содержащий набор всех необходимых средств (типов, подпрограмм и т.д.) для решения поставленной задачи.
20.В текстовом файле хранится выражение, записанное в постфиксной форме. Используя стек, перевести его в инфиксную форму и в таком виде записать в новый текстовый файл.
Лабораторная работа №5
Задание на лабораторную работу
Написать программу, выполняющую указанные в вариантах действия над элементами двумерных массивов целых чисел. Действия оформить как отдельные функции. Все данные (в том числе, массивы и функции) передавать через параметры функций. В функции main() ввести с клавиатуры два массива с разным количеством элементов. Вывести их на экран в виде таблицы. Затем выполнить два вызова промежуточной функции с параметрами: первый массив, количество элементов, первое действие (функция) и второй вызов: второй массив, количество элементов, второе действие (функция). Вывести обработанные массивы на экран. В промежуточной функции осуществляется выбор элементов (строк, столбцов) для обработки и вызывается переданная функция, выполняющая одно из действий.
Первое действие: Поменять знак элементов столбца. Второе действие: Вывести на экран сумму отрицательных элементов в столбце. Промежуточная функция: Выполнить действия для столбцов, у которых первый элемент имеет нечетное значение.
Лабораторная работа №6
Задание на лабораторную работу
Написать программы, реализующие рекурсивный и итерационный методы решения задач. Сравнить время выполнения программ. Вывести на экран результат вычислений, время выполнения программы и глубину рекурсии или количество итераций.
Вычислить элементы последовательности:
a(0)=1;
a(n)=a(n div 2)+a(n div 3), n>1;
Лабораторная работа №7
Задание на лабораторную работу
Необходимо обработать текстовый файл. В первой строке файла указано общее число строк. Выделить память под массив указателей на строки, ввести текст построчно, динамически выделяя память для хранения каждой строки и записывая указатель в массив. Вывести на экран исходный текст. Выполнить один из вариантов обработки текста.
Удалить все вхождения заданного слова из текста
Лабораторная работа №8
Задание на лабораторную работу
Дан список идентификаторов. Длина каждого идентификатора не более 8 символов. Идентификаторы в списке расположены в лексикографическом порядке. Составить функции (подпрограммы) для следующих операций: Удалить из списка все элементы.
350 руб.Лабораторная работа №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 треугольников, найти их среднюю площадь.
250 руб.Задание
А. Реализовать классы «стек», «очередь», «дек» наследованием от базового класса «двусвязный список» согласно варианту, см. Таблицу 2. Базовый класс «двусвязный список» был реализован в одной из предыдущих работ.
Таблица 2
Спецификация вариантов
Вид наследования
public
protected
private
стек
дек
Программы - клиенты должны демонстрировать работу всех классов. Иерархию классов реализовать в отдельном модуле.
В. Решение задания А реализуйте шаблонами классов. Проверьте его на разных типах.
С. Решить задачи на применение шаблона стека и очереди(дека).
- Разработайте и реализуйте класс постфиксных калькуляторов. Используйте алгоритм вычисления постфиксных выражений, описанный ниже. Допускаются лишь операторы +, -, * и /. Предполагается, что постфиксные выражения являются корректными.
- Разработайте и реализуйте класс инфиксных калькуляторов. Используйте алгоритм вычисления постфиксных выражений, описанный ниже. Перед вычислением инфиксное выражение следует преобразовать в постфиксную форму, а затем вычислить полученное постфиксное выражение по алгоритму.
лаба №1 (тема: Бинарные деревья): задание - Найти в непустом дереве Т длину (число ветвей) пути от корня до вершины с элементом Е, если Е входит в Т (-1 в противном случае).
лаба №2 (тема: Файлы и динамические структуры данных):
Тут два задания: задание 1 - Вывести статистику появления идентификаторов в тексте программы, сформировав и распечатав содержимое бинарного дерева. Для каждого идентификатора указать имена всех функций, в которых он встречается.
Задание 2 этой лабы - В бинарном файле хранится последовательность целых чисел. Вывести в порядке убывания те числа, которые встречаются в последовательности более одного раза. Использовать для решения задачи бинарное дерево.
(Для решения второй задачи второй задачи лабораторной создать функции:
ввод с клавиатуры [или генерация случайных] чисел и запись в файл;
чтение неупорядоченных чисел из файла и вывод на экран;
создание списка/дерева значений, упорядоченных по возрастанию/убыванию (каждый элемент списка/дерева содержит число и счетчик повторений числа);
вывод содержимого списка/дерева на экран.)лаба №1 (тема: Бинарные деревья): задание - Найти в непустом дереве Т длину (число ветвей) пути от корня до вершины с элементом Е, если Е входит в Т (-1 в противном случае).
лаба №2 (тема: Файлы и динамические структуры данных):
Тут два задания: задание 1 - Вывести статистику появления идентификаторов в тексте программы, сформировав и распечатав содержимое бинарного дерева. Для каждого идентификатора указать имена всех функций, в которых он встречается.
Задание 2 этой лабы - В бинарном файле хранится последовательность целых чисел. Вывести в порядке убывания те числа, которые встречаются в последовательности более одного раза. Использовать для решения задачи бинарное дерево.
(Для решения второй задачи второй задачи лабораторной создать функции:
ввод с клавиатуры [или генерация случайных] чисел и запись в файл;
чтение неупорядоченных чисел из файла и вывод на экран;
создание списка/дерева значений, упорядоченных по возрастанию/убыванию (каждый элемент списка/дерева содержит число и счетчик повторений числа);
вывод содержимого списка/дерева на экран.)Описать класс, реализующий стек и работу с ним.
1.) Класс должен содержать следующие сведения телефонной книжки:
• фамилия, имя;
• номер телефона;
• день рождения (массив из трех чисел).
2.) В классе должны быть реализованы следующие операции над стеком:
• добавление новой записи;
• удаление из списка информации о человеке, фамилия которого введена с клавиатуры;
• вывод информации обо всех номерах телефонов;
• по запросу выводится информация о человеке, номер телефона которого введен с клавиатуры.
3.) Программа должна обеспечивать диалог с помощью меню.
4.) В программе должны быть созданы два экземпляра класса: информация о людях, у которых день рождения уже был в этом году и люди, у которых день рождения после текущей даты. При добавлении нового человека должен быть автоматически выбран экземпляр стека, в который добавляются данные. Должна быть предусмотрена возможность изменения текущей даты, после изменения информация о людях должна быть автоматически перенесена из одного списка в другой. При выводе информации о людях, пользователь должен выбрать какой список выводить (у которых день рождения уже был в этом году или еще предстоит), либо вывести все записи из обоих списков. Программа должна быть написана на языке c++Лабораторная работа 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.250 руб.Написать компьютерную программу, содержащую
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.Линейный алгоритм
Задача
Задана сумма в рублях и копейках… Найти эквивалетную сумму в евро, долларах и центах.
2. Разветвляющийся алгоритм
Задача
Заданы размеры трех прямоугольников. Определить, могут ли два из них быть размещены внутри третьего.
3. Интерационный алгоритм
4. Одномерные массивы
6. Функция