Программирование
Тип работы: | Все Задача Курсовая работа Лабораторная работа Ответы на вопросы |
Язык программирования: | Все Basic C C# C++ Delphi Fortran Free Basic HTML Java Pascal Pascal ABC Turbo Pascal VBA Ассемблер |
Блок-схема: | Все Нет |
-
) Отсортируйте слова в массиве по их длине.
b) Подсчитайте количество предложений в заданном тексте.
с) Дана строка, содержащая слова, разделенные пробелами, запятыми, восклицательными знаками, вопросительными знаками. Отсортируйте слова строки по длине.
Требования к содержанию контрольной работы следующее:
- описание задачи
- программный код
- примеры работы (приводятся экранные снимки тестов) -
Определить класс Matrix размерности nxn. Класс должен содержать
несколько конструкторов. Реализовать методы вывода матрицы на экран,
методы определения и получения размерности матрицы и самой матрицы.
язык java -
Дан массив длины N без нуля. Проверить, чередуются ли положительные и отрицательные числа. Если да, то вывести 0, если не чередуются, то вывести номер первого элемента, который всё «испортил». Ввод значений производить с клавиатуры.
-
Дан массив A размера N. Сформировать новый массив B того же размера по следующему правилу: элемент Bk равен среднему арифметическому элементов массива А с номерами от k до N.
Ввод значений сделать с клавиатуры. -
Описать суперкласс СТРОКА, содержащий следующие поля:
строка
и следующие методы:
конструктор без параметров;
конструктор с параметром;
вывод на экран значений полей;
очистка строки.
Описать подкласс КОМПЛЕКСНОЕ_ЧИСЛО. Строки данного класса состоят из двух полей, разделенных символом i.Каждое из полей может содержать только десятичные цифры, символы + и -. Если строка производного класса содержит другие символы, то КОМПЛЕКСНОЕ_ЧИСЛО принимает нулевое значение.
В подкласс включить следующие обязательные методы:
конструктор;
сложение двух комплексных чисел;
умножение двух комплексных чисел;
вывод на экран комплексного числа.
Написать приложение на языке Java. В программе применить принцип полиморфизма и предусмотреть меню для демонстрации работы всех методов суперкласса и подкласса -
250 руб.
1. а) Объявить класс Район Города, имеющий название, площадь, численность населения и позволяющий переименовывать район, а также изменять численность его населения и вычислить плотность населения.
б) Объявить класс Город, представляющий собой набор районов и позволяющий вычислить среднюю площадь и среднюю численность населения районов города, самый плотный район, а также добавить новый район или удалить имеющийся. Продемонстрировать работу всех методов.
2. Создать классы Домашний питомец (абстрактный) собака, кошка, попугай, имеющие кличку и характер. Определить методы печати и голоса («гав», «мяу», «чирик»), а также вида корма для каждого из них. Создать список животных, вывести информацию о них и продемонстрировать работу остальных методов. Определить каких животных средств больше. -
300 руб.
Сравнить количество операций алгоритма быстрой сортировки и сортировки вставками на массивах с [2-9] элементами. Передавать в сортировки нужно все возможные перестановки массива, то есть, при массиве из 2 эл-тов, перестановок будет 2!, а при 9 элементах 9!. И сравнить среднее кол-во операций алгоритмов для каждого из массивов.
-
Реализовать программу, реализующую простейший метод сортировки массивов:
- сортировку обменом (метод пузырька);
- сортировку выбором.
Каждый метод реализуется своей подпрограммой, добавляемой в основную программу по мере разработки. Кроме того, необходима вспомогательная подпрограмма генерации исходного массива случайных целых чисел с заданным числом элементов (не более 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-дерево. Найти ветви с мах числом ветвлений, это задание связанное с деревьями
-
500 руб.
Построение и обработка двоичных деревьев поиска. Реализовать программу, выполняющую следующий набор операций с деревьями поиска:
поиск вершины с заданным значением ключа с выводом счетчика числа появлений данного ключа добавление новой вершины в соответствии со значением ее ключа или увеличение счетчика числа появлений построчный вывод дерева в наглядном виде на основе процедур обхода:- в прямом порядке.
- в симметричном порядке.
-
Реализовать программно метод хеш-поиска с разрешением конфликтов методом цепочек.
Исходные ключи – любые слова (например – фамилии). Размер хеш-таблицы должен задаваться в программе с помощью константы m. Хеш-функция – такая же, что и в задании 1, но делить надо на константу m. В случае возникновения конфликта при попытке размещения в таблице нового ключа этот ключ добавляется в конец вспомогательного списка. Это требует включения в каждую ячейку хеш-таблицы двух указателей на начало и конец вспомогательного списка.
Программа должна выполнять следующие действия:
- добавление нового ключа в таблицу с подсчетом сделанных при этом сравнений;
- поиск заданного ключа в таблице с подсчетом сделанных при этом сравнений;
- вывод текущего состояния таблицы на экран;
- удаление заданного ключа из таблицы.Алгоритм удаления:
- вычислить хеш-функцию и организовать поиск удаляемого элемента в таблице если удаляемый элемент найден в ячейке таблицы, то эта ячейка либо становится пустой (если связанный с ней список пуст), либо в нее записывается значение из первого элемента списка с соответствующим изменением указателей;
- если удаляемый элемент найден в списке, то производится его удаление с изменением указателей.
После отладки программы необходимо выполнить ее для разных соотношений числа исходных ключей и размерности таблицы: взять 20 ключей и разместить их поочередно в таблице размерности 9, 17 и 23. Для каждого случая найти суммарное число сравнений, необходимое для размещения ключей и их поиска. Сделать вывод о влиянии размерности таблицы на эффективность поиска.