Программирование
Тип работы: | Все Задача Курсовая работа Лабораторная работа Ответы на вопросы |
Язык программирования: | Все 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 алгоритмические языки Ассемблер |
Блок-схема: | Все Есть Нет |
-
Лабораторная работа №2 — Связный список
Задача: реализовать на основе односвязного списка контейнер
myList, который бы позволял хранить произвольный тип данных.
Указания по выполнению:
- лабораторная работа состоит из двух файлов:
myList.java — описание класса list, прототипы методов,
реализация методов;
test-list.java — тестирование и проверка возможностей класса;
- класс mylist должен содержать следующие поля:
ссылку на первый элемент списка;
ссылку на последний элемент списка;
число элементов в списке;
- класс myList должен содержать следующие методы:
конструктор;
конструктор копирования;
добавление элемента в начало списка, в конец списка;
удаление элемента из начала списка;
удаление элемента по значению;
получение числа элементов в списке;
очистка списка (удаление всех элементов);
- при невозможности извлечения или удаления элемента должны
генерироваться исключения. -
Реализовать программу, реализующую простейший метод сортировки массивов:
- сортировку обменом (метод пузырька);
- сортировку выбором.
Каждый метод реализуется своей подпрограммой, добавляемой в основную программу по мере разработки. Кроме того, необходима вспомогательная подпрограмма генерации исходного массива случайных целых чисел с заданным числом элементов (не более 10 000) и выводом этого массива на экран .
Каждый исходный массив должен обрабатываться всеми подпрограммами сортировки с подсчетом и выводом фактического числа выполненных сравнений и пересылок. Поскольку каждый из универсальных методов выполняет сортировку “на месте”, т.е. изменяет исходный массив, то для наглядности работы можно передавать в подпрограмму сортировки копию исходного массива, объявив его как параметр-значение.
После завершения разработки программы необходимо выполнить всеми методами сортировку нескольких массивов с разным числом элементов (10, 100, 1000, 10000) и провести сравнительный анализ эффективности рассматриваемых методов.Главная программа должна реализовать диалог с пользователем для выбора метода сортировки.
Задание 2 Оформить программу, реализующую метод быстрой сортировки массивов.
Метод реализуется в виде подпрограммы. Исходный массив должен обрабатываться подпрограммой сортировки с подсчетом и выводом фактического числа выполненных сравнений и пересылок. Выполнить сортировку нескольких массивов с разным числом элементов (10, 100, 1000, 10000).
-
300 руб.
Задание 1
Инициализируйте переменные a, b, с, d присвойте им целочисленные значения (типа int) и выполните вычисление выражений, используя арифметические операторы, тернарный оператор (проверяя делитель):
(a+b)/(2*a-c)
(a%b)/(d-1)
Задание 2
Общий заработок бригады рабочих составил n руб (значение n вводится с клавиатуры). Его нужно разделить между 5 рабочими. При этом учитывая, что процент выполненных работ каждого рабочего от общего объема работ (100%) разный (например, 1 рабочий выполнил 18% работ, второй – 17% и т.д.). Процент выполненных работ для каждого рабочего водится с клавиатуры. Найдите заработок каждого рабочего.
Задание 3
Создайте массив arr1, состоящий из n целых чисел. Размерность массива n и значения элементов массива должны вводиться с клавиатуры. При вводе должна выполняться проверка возможности считать с потока ввода int. Получите массив arr2, значения элементов которого равны квадратам соответствующих значений массив arr1. Выведете элементы массивов на консоль в одну строку.
Задание 4
Необходимо оклеить обоями стены в комнате. Длина стен равна a м, а высота b м. Рулон обоев имеет длину c м и ширину d м. Сколько будут стоить обои для всей стены, если цена одного рулона k руб. Создать программу, выполняющую расчет стоимости. Значения a, b, c, d, k должны вводиться с клавиатуры.
Задание 5
Создайте абстрактный класс MathAbstract. В нем создайте два метода:
- operMath() без реализации с параметрами int a, int b;
- show() без параметров, реализующий вывод строки на экран «Иллюстрация работы с абстрактным классом: арифметические операции».
Создайте неабстрактные класс MathReal01 – MathReal05 – производные от MathAbstract. В них выполните реализации метода operMath(). Реализации соответствуют выполнению основных арифметических операций (сложение, вычитание, умножение, деление, возведение в степень).
В основной программе выполните реализацию: вызов всех методов класса MathAbstract и выполнение соответствующих операций. Значения a, b вводятся с клавиатуры.
Задание 6
Структура данных. Создать класс, спецификация которого приведена ниже. Определить конструктор и методы setТип(), getТип(), printInfo().
Реализация. Реализовать класс в основной программе. В основной программе создать списочный массив объектов. Задать критерий (критерии) выбора данных и вывести эти данные на консоль.
Спецификация. Car: id, Марка, Модель, Год выпуска, Цвет, Цена, Регистрационный номер.
Создать массив объектов. Вывести:
1) список автомобилей заданной марки;
2) список автомобилей заданной модели, которые эксплуатируются больше n лет;
3) список автомобилей заданного года выпуска, цена которых больше указанной.
Продемонстрировать подход, в котором реализуется инкапсуляция и обеспечивается модульность.
-
Разработка информационно поисковой систем
-
реализации стека.
Используя технологию модульного программирования разработать программу обработки данных, содержащихся в заранее подготовленном файле, в соответствии с индивидуальным заданием. Применить динамическую структуру указанного в задании вида: стек, очередь или дек. Программа должна включать модуль, содержащий набор всех необходимых средств (типов, подпрограмм и т.д.) для решения поставленной задачи.
Порядок выполнения работы:
1) Получить у преподавателя индивидуальное задание.
2) Разработать математическую модель: описать с помощью формул и рисунков вид используемой динамической структуры и процессы е* создания и использования.
3) Построить схему алгоритма решения задачи.
4) Использовать подпрограммы, реализующие полный набор операций для этой структуры:
* допустимые операции для стека: инициал изация. проверка на пустоту, добавление нового элемента в начало, извлечение элемента из начала:
- допустимые операции для дека: инициализация, проверка на пустоту, добавление нового элемента в начало, добавление нового элемента в коней извлечение элемента из начала, извлечение элемента из конца.
5) Составить спецификации используемы* подпрограмм.
6) Составить программу, включающую модуль обработки соответствующей динамической структуры.
8)Проверить и продемонстрироватьпреподавателюработу программы на полном наборе тестов. Обеспечить одновременный показ в окнах на экране содержимого входного и выходногофайлов.
9) Оформить отчет о лабораторной работе
13.Дан текстовый файл Используя стек, сформировать новый текстовый файл, содержащий строки исходного файла, записанные в обратном порядке, первая строка становшся последней, вторая - предпоследней и т д.
Лабораторная работа3. Удаленио'добавленне вершины нзв дерева поиска
Отопите класс — дерево, необходимое для решения задачи, указанной в вашем варианте задания, и реализуйте его методы
Продемонстрируйте работу основных методов работы с деревом построение, вывод, обход, поиск, удаление, добавление элемента Составьте программу решения задачи, указанной в вашем варианте задания
13. Дано N-дерево. Найти ветви с мах числом ветвлений, это задание связанное с деревьями
-
Курсовая работа на тему «Сериализация в Java». В ней раскрываеться понятие сериализации, область ее применения и назначение, типы сериализаций, а так же ее расмотрение на практических примерах.
-
500 руб.
Построение и обработка двоичных деревьев поиска. Реализовать программу, выполняющую следующий набор операций с деревьями поиска:
поиск вершины с заданным значением ключа с выводом счетчика числа появлений данного ключа добавление новой вершины в соответствии со значением ее ключа или увеличение счетчика числа появлений построчный вывод дерева в наглядном виде на основе процедур обхода:- в прямом порядке.
- в симметричном порядке.
-
Реализовать программно метод хеш-поиска с разрешением конфликтов методом цепочек.
Исходные ключи – любые слова (например – фамилии). Размер хеш-таблицы должен задаваться в программе с помощью константы m. Хеш-функция – такая же, что и в задании 1, но делить надо на константу m. В случае возникновения конфликта при попытке размещения в таблице нового ключа этот ключ добавляется в конец вспомогательного списка. Это требует включения в каждую ячейку хеш-таблицы двух указателей на начало и конец вспомогательного списка.
Программа должна выполнять следующие действия:
- добавление нового ключа в таблицу с подсчетом сделанных при этом сравнений;
- поиск заданного ключа в таблице с подсчетом сделанных при этом сравнений;
- вывод текущего состояния таблицы на экран;
- удаление заданного ключа из таблицы.Алгоритм удаления:
- вычислить хеш-функцию и организовать поиск удаляемого элемента в таблице если удаляемый элемент найден в ячейке таблицы, то эта ячейка либо становится пустой (если связанный с ней список пуст), либо в нее записывается значение из первого элемента списка с соответствующим изменением указателей;
- если удаляемый элемент найден в списке, то производится его удаление с изменением указателей.
После отладки программы необходимо выполнить ее для разных соотношений числа исходных ключей и размерности таблицы: взять 20 ключей и разместить их поочередно в таблице размерности 9, 17 и 23. Для каждого случая найти суммарное число сравнений, необходимое для размещения ключей и их поиска. Сделать вывод о влиянии размерности таблицы на эффективность поиска.
-
Целью курсовой работы является разработка программы для перевода числовой записи числа в словесную на языке программирования высокого уровня.
Задачи:
- анализ и выбор языка программирования;
- анализ и выбор среды разработки;
- получение практического опыта по разработке прикладных программ;
овладение функционалом и инструментарием разработки на языке программирования высокого уровня.
-
Задачи курсовой работы следующие:
Разработка инженерного калькулятора на языке программирования Java в интегрированной среде разработки Eclipse.
Поддержка тригонометрических функций.
Интуитивно понятный графический интерфейс.
Разработка структуры программы в соответствии с ООП.