Программирование
Тип работы: | Все Задача Курсовая работа |
Язык программирования: | Все C C# C++ Delphi Fortran Java Pascal ABC Turbo Pascal VBA Ассемблер |
Блок-схема: | Все Нет |
-
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) список автомобилей заданного года выпуска, цена которых больше указанной.
Продемонстрировать подход, в котором реализуется инкапсуляция и обеспечивается модульность.
-
Реализовать программу, реализующую простейший метод сортировки массивов:
- сортировку обменом (метод пузырька);
- сортировку выбором.
Каждый метод реализуется своей подпрограммой, добавляемой в основную программу по мере разработки. Кроме того, необходима вспомогательная подпрограмма генерации исходного массива случайных целых чисел с заданным числом элементов (не более 10 000) и выводом этого массива на экран .
Каждый исходный массив должен обрабатываться всеми подпрограммами сортировки с подсчетом и выводом фактического числа выполненных сравнений и пересылок. Поскольку каждый из универсальных методов выполняет сортировку “на месте”, т.е. изменяет исходный массив, то для наглядности работы можно передавать в подпрограмму сортировки копию исходного массива, объявив его как параметр-значение.
После завершения разработки программы необходимо выполнить всеми методами сортировку нескольких массивов с разным числом элементов (10, 100, 1000, 10000) и провести сравнительный анализ эффективности рассматриваемых методов.Главная программа должна реализовать диалог с пользователем для выбора метода сортировки.
Задание 2 Оформить программу, реализующую метод быстрой сортировки массивов.
Метод реализуется в виде подпрограммы. Исходный массив должен обрабатываться подпрограммой сортировки с подсчетом и выводом фактического числа выполненных сравнений и пересылок. Выполнить сортировку нескольких массивов с разным числом элементов (10, 100, 1000, 10000).
-
Реализовать программно метод хеш-поиска с разрешением конфликтов методом цепочек.
Исходные ключи – любые слова (например – фамилии). Размер хеш-таблицы должен задаваться в программе с помощью константы m. Хеш-функция – такая же, что и в задании 1, но делить надо на константу m. В случае возникновения конфликта при попытке размещения в таблице нового ключа этот ключ добавляется в конец вспомогательного списка. Это требует включения в каждую ячейку хеш-таблицы двух указателей на начало и конец вспомогательного списка.
Программа должна выполнять следующие действия:
- добавление нового ключа в таблицу с подсчетом сделанных при этом сравнений;
- поиск заданного ключа в таблице с подсчетом сделанных при этом сравнений;
- вывод текущего состояния таблицы на экран;
- удаление заданного ключа из таблицы.Алгоритм удаления:
- вычислить хеш-функцию и организовать поиск удаляемого элемента в таблице если удаляемый элемент найден в ячейке таблицы, то эта ячейка либо становится пустой (если связанный с ней список пуст), либо в нее записывается значение из первого элемента списка с соответствующим изменением указателей;
- если удаляемый элемент найден в списке, то производится его удаление с изменением указателей.
После отладки программы необходимо выполнить ее для разных соотношений числа исходных ключей и размерности таблицы: взять 20 ключей и разместить их поочередно в таблице размерности 9, 17 и 23. Для каждого случая найти суммарное число сравнений, необходимое для размещения ключей и их поиска. Сделать вывод о влиянии размерности таблицы на эффективность поиска.
-
500 руб.
Построение и обработка двоичных деревьев поиска. Реализовать программу, выполняющую следующий набор операций с деревьями поиска:
поиск вершины с заданным значением ключа с выводом счетчика числа появлений данного ключа добавление новой вершины в соответствии со значением ее ключа или увеличение счетчика числа появлений построчный вывод дерева в наглядном виде на основе процедур обхода:- в прямом порядке.
- в симметричном порядке.
-
300 руб.
Сравнить количество операций алгоритма быстрой сортировки и сортировки вставками на массивах с [2-9] элементами. Передавать в сортировки нужно все возможные перестановки массива, то есть, при массиве из 2 эл-тов, перестановок будет 2!, а при 9 элементах 9!. И сравнить среднее кол-во операций алгоритмов для каждого из массивов.