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

Тип работы: Все Диплом Задача Курсовая работа Лабораторная работа
Язык программирования: Все C C# C++ Delphi Fortran Java Pascal ABC Turbo Pascal VBA Ассемблер
Блок-схема: Все Есть Нет
Сортировать по умолчанию цене названию
  • Вычисление определенного интеграла методом Симпсона с визуализацией решения

    Составить программу для вычисления определенного интеграла методом Симпсона с визуализацией решения. Вид подынтегральной функции F(x) задать в отдельной функции, остальная часть программы не должна зависеть от конкретной функциональной зависимости. Исходными данными служат начальное и конечное значения переменной x и число интервалов разбиения либо погрешность вычисления интеграла.

    В программе предусмотреть выполнение следующих действий:

    1. Вывод результата.

    2. Вывод графика функции F(x) на заданном интервале.

    3. Графическую иллюстрацию процесса интегрирования.

  • Разработать класс CMatrix C++

    Разработать класс CMatrix для работы с квадратной матрицей, содержащей целые числа.

    Матрица содержит не более 10 строк и столбцов. Класс должен содержать следующие элементы.

    Поля (скрытые):

    - количество строк матрицы (или столбцов, раз она квадратная);

    - массив элементов матрицы размерностью 10*10.

    Методы:

    - конструктор по умолчанию, формирующий матрицу размером 10*10, заполненную нулями;

    - конструктор, формирующий матрицу заданных размеров, заполненную нулями;

    - конструктор, формирующий матрицу заданных размеров, заполненную случайными числами в заданном диапазоне (диапазон задается в виде двух значений – минимального и максимального);

    - конструктор-копировщик;

    - методы-функции для ввода значений матрицы с клавиатуры и для вывода матрицы на экран;

    - метод-функция для транспонирования матрицы (т.е. строки сделать столбцами);

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

    Реализовать для разработанного класса методы-операторы:

    +, -, * (плюс, минус, умножить) - для выполнения операций поэлементного суммирования, вычитания и умножений двух матриц одинакового размера;

    == (два знака равенства подряд) - для сравнения двух матриц в условии, результатом этой операции должно быть любое ненулевое значение, если матрицы имеют одинаковые размеры и все соответствующие элементы равны между собой; в противном случае результату присвоить значение 0.

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

  • Задача на С++

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

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

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

    − Из наименования функции и принимаемых аргументов должно быть ясно их назначение.

    − В работе должны использоваться только динамические массивы.

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

  • Методом Симпсона с визуализацией решения

    Составить программу для вычисления определенного интеграла методом Симпсона с визуализацией решения. Вид подынтегральной функции F(x) задать в отдельной функции, остальная часть программы не должна зависеть от конкретной функциональной зависимости. Исходными данными служат начальное и конечное значения переменной x и число интервалов разбиения либо погрешность вычисления интеграла.

    В программе предусмотреть выполнение следующих действий:

    1. Вывод результата.

    2. Вывод графика функции F(x) на заданном интервале.

    3. Графическую иллюстрацию процесса интегрирования.

  • Класс «Автомобиль» на С++

    Создать класс «Автомобиль». Разработать методы: ввод марки автомобиля, года выпуска, мощности двигателя, максимальной скорости (добавить по своему усмотрению), вывода на экран информации об автомобиле по запросу. Создать массив объектов класса Автомобиль. Посчитать среднюю скорость всех автомобилей. Найти автомобиль, развивающий максимальную скорость. Предусмотреть вывод соответствующей информации на экран.

  • Динамические массивы на Pascal

    Даны три одномерных массива a, b и c разного размера. Определить какой из массивов имеет наименьшее количество нулевых элементов.

    Требования к программе:

    - inc использовать нельзя;
    - размер и заполнение массивов вводится с клавиатуры или ввод информации должен быть из файла;

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

    - не нужно фиксировать размер массива через const, его нужно вводить каждый раз.

  • Шифр цезаря на С

    Шифр цезаря на на языке С с поддержкой русского и английского языка. Требование к коду: должно работать на Unix системах.

  • Обработка матриц на СИ

    Общее задание

    Составить программу решения задачи. Все числовые значения должны вводиться в процессе исполнения программы. Размерность (единицы измерения) исходных значений должна быть сохранена.

    Задать двумерный массив размерности N x M натуральных случайных чисел из интервала (-10; 10). Предусмотреть автоматический и ручной способ ввода элементов массива. Вывести на экран в виде таблицы исходный массив и преобразованный с соответствующими заголовками.

    Индивидуальное задание

    1. Дана матрица размера N x M. Вывести номер ее последнего столбца, содержащего только положительные элементы. Если таких столбцов нет, то вывести 0.

    2. Дана квадратная матрица порядка М. Зеркально отразить ее элементы относительно главной диагонали матрицы.

    3. Дана матрица размера M x N. Продублировать столбец матрицы, содержащую ее минимальный элемент.

    4. В квадратной матрице найти транспонированную подматрицу размерности k x h, расположенную в верхнем левом углу.

  • Задача на С и С#

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

    При обработке исходного файла считать число элементов в нём неизвестным. Не допускается использование массивов для обработки всего файла. Для решения задачи предварительно составляется блок-схема.

    Индивидульное задание: Пользователь вводит последовательно все элементы матрицы m*n. Массивы использовать нельзя. Записать все числа в текстовый файл по строкам. Прочитать их оттуда и вывести на экран.

  • 6 задач на Java

    Задание 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) список автомобилей заданного года выпуска, цена которых больше указанной.

    Продемонстрировать подход, в котором реализуется инкапсуляция и обеспечивается модульность.

  • Windows Form - приложение на C++

    Создать Windows-приложение, которое по запрашиваемому количеству строк и столбцов формирует случайным образом двумерный массив А, подсчитывает сумму элементов не кратных 3 по строкам (для нечетных вариантов) или по столбцам (для четных вариантов) получившейся матрицы, полученные результаты заносит в одномерный массив В и сортирует массив В методом пузырька.

  • Windows - приложение на C++

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

    Если максимальный элемент вектора из 18 элементов расположен до минимального отсортировать по возрастанию элементы, расположенные после него, иначе до него. Минимальный элемент увеличить в десять раз.

  • Сравнение алгоритмов сортировки, Java

    Реализовать программу, реализующую простейший метод сортировки массивов:

    - сортировку обменом (метод пузырька);

    - сортировку выбором.

    Каждый метод реализуется своей подпрограммой, добавляемой в основную программу по мере разработки. Кроме того, необходима вспомогательная подпрограмма генерации исходного массива случайных целых чисел с заданным числом элементов (не более 10 000) и выводом этого массива на экран .

    Каждый исходный массив должен обрабатываться всеми подпрограммами сортировки с подсчетом и выводом фактического числа выполненных сравнений и пересылок. Поскольку каждый из универсальных методов выполняет сортировку “на месте”, т.е. изменяет исходный массив, то для наглядности работы можно передавать в подпрограмму сортировки копию исходного массива, объявив его как параметр-значение.
    После завершения разработки программы необходимо выполнить всеми методами сортировку нескольких массивов с разным числом элементов (10, 100, 1000, 10000) и провести сравнительный анализ эффективности рассматриваемых методов.

    Главная программа должна реализовать диалог с пользователем для выбора метода сортировки.

    Задание 2 Оформить программу, реализующую метод быстрой сортировки массивов.

    Метод реализуется в виде подпрограммы. Исходный массив должен обрабатываться подпрограммой сортировки с подсчетом и выводом фактического числа выполненных сравнений и пересылок. Выполнить сортировку нескольких массивов с разным числом элементов (10, 100, 1000, 10000).

  • Метод хеш-поиска с разрешением конфликтов методом цепочек

    Реализовать программно метод хеш-поиска с разрешением конфликтов методом цепочек.

    Исходные ключи – любые слова (например – фамилии). Размер хеш-таблицы должен задаваться в программе с помощью константы m. Хеш-функция – такая же, что и в задании 1, но делить надо на константу m. В случае возникновения конфликта при попытке размещения в таблице нового ключа этот ключ добавляется в конец вспомогательного списка. Это требует включения в каждую ячейку хеш-таблицы двух указателей на начало и конец вспомогательного списка.

    Программа должна выполнять следующие действия:

    - добавление нового ключа в таблицу с подсчетом сделанных при этом сравнений;

    - поиск заданного ключа в таблице с подсчетом сделанных при этом сравнений;

    - вывод текущего состояния таблицы на экран;
    - удаление заданного ключа из таблицы.

    Алгоритм удаления:

    - вычислить хеш-функцию и организовать поиск удаляемого элемента в таблице если удаляемый элемент найден в ячейке таблицы, то эта ячейка либо становится пустой (если связанный с ней список пуст), либо в нее записывается значение из первого элемента списка с соответствующим изменением указателей;

    - если удаляемый элемент найден в списке, то производится его удаление с изменением указателей.

    После отладки программы необходимо выполнить ее для разных соотношений числа исходных ключей и размерности таблицы: взять 20 ключей и разместить их поочередно в таблице размерности 9, 17 и 23. Для каждого случая найти суммарное число сравнений, необходимое для размещения ключей и их поиска. Сделать вывод о влиянии размерности таблицы на эффективность поиска.

  • Бинарное дерево на Java

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

    - в прямом порядке.

    - в симметричном порядке.

  • Работа с контейнерными классами С++

    Задание 1. Написать программу учета книг в библиотеке.

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

    Программа должна обеспечивать выбор с помощью меню и выполнение одной из следующих функций:

    - добавление данных о книгах, вновь поступающих u библиотеку;

    - удаление данных о списываемых книгах;

    - выдача сведений о всех книгах, упорядоченных по фамилиям авторов;

    - выдача сведении о всех книгах, упорядоченных по годам издания.

    Хранение данных организовать с применением контейнерного класса vector.

    Задание 2. Составить программу учета заявок на авиабилеты.

    Каждая заявка содержит: пункт назначения, номер рейса, фамилию и инициалы пассажира, желаемую дату вылета.

    Программа должна обеспечивать выбор с помощью меню и выполнение одной из следующих функций:

    - добавление заявок в список;

    - удаление заявок;

    - вывод заявок по заданному номеру рейса и дате вылета;

    - вывод всех заявок, упорядоченных по пунктам назначения;

    - вывод всех заявок, упорядоченных по датам вылета.

    Хранение данных организовать с применением контейнерного класса multimap, в качестве ключа использовать «пункт назначения».

  • Рыбалка на Pascal

    Пользователь управляет сачком (движение вверх-вниз). Управление осуществляется стрелками. Рыбки плывут справа налево по косинусоиде. Необходимо поймать определенное количество рыбок. В игре 2 уровня сложности, отличающиеся скоростью и количеством одновременно плывущих рыб.

  • Разработка текстового редактора

    Текстовой редактор на C#

    Имеет следующие возможности:

    - сохранение и отрытые документа

    - установка шрифта, цвета и его размера

    - установка фона

    - вставка, копирование и вырезание

    - выравнивание текста, создание списков, подчеркивание, курсив и тд…

  • Шахматные часы

    Два циферблата настраиваются независимо на определенное время игры. Кнопки переключения часов, начальные установки задаются в начале игры. Циферблат реализовать в форме стрелок (часовая, минутная, секундная) и в цифровой форме. Внизу цифровая идентификация оставшегося времени. На каждом циферблате флажок, при падении флажка – звуковой сигнал. При установке запрашиваются имена игроков и время для каждого игрока в часах, минутах и секундах.

  • Несколько задач на С++

    Задача 1

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

    Написать программу:

    1. Вводит значение для поля объекта первого типа.

    2. Создает объект первого типа.

    3. Вводит значения полей для полей объекта второго типа.

    4. Создает объект второго типа.

    5. Определяет значения полей объекта второго типа.

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

    7. Выводит полученный результат.

    Входные данные

    Первая строка: целое число в десятичном формате Вторая строка: целое число в десятичном формате˽целое число в десятичном фор-мате

    Выходные данные

    Первая строка, с первой позиции: max = целочисленное значение в десятеричном формате.

    Задача 2

    Разработать объект, который обладает следующей функциональностью: - В конструкторе вводит количество элементов целочисленного массива. - В конструкторе создает целочисленный массив заданным количеством элементов. - Конструкторе определяет значения элементов массива. Значение каждого элемента равно квадрату индекса элемента. - Выводит значения элементов массива в обратном порядке. Необходимые свойства объекта определяется разработчиком. Количество элементов массива принадлежит интервалу от 5 до 20. Написать программу: 1. Создает объект посредством оператора new. 2. Выводит значения элементов массива в обратном порядке. 3. Удаляет объект посредством оператора delete.

    Входные данные

    Первая строка (количество элементов массива): целое число в десятичном формате

    Выходные данные

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

    Задача 3

    Создать объект, который сообщает об отработке конструктора и деструктора. У объекта нет свойств и функциональности. Написать программу, которая: 1. Создает объект.

    Входные данные

    Отсутствует.

    Выходные данные

    Первая строка, с первой позиции: Constructor Вторая строка, с первой позиции: Destructor

    Задача

    Создать класс для объекта стек. Стек хранит целые числа. Имеет характеристики: наименование (строка, не более 10 символов) и размер (целое). Размер стека больше или равно 1.

    Функционал стека:

    -    добавить элемент и вернуть признак успеха (логическое);

    -    извлечь элемент и вернуть признак успеха (логическое);

    -    получить имя стека (строка);

    -    получить размер стека (целое);

    -    получить текущее количество элементов в стеке (целое).

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

    В основной программе реализовать алгоритм:

    1. Ввести имя и размер для первого стека.

    2. Создать объект первого стека.

    3. Ввести имя и размер для второго стека.

    4. Создать объект второго стека.

    5. В цикле:

    5.1. Считывать очередное значение элемента.

    5.2. Добавлять элемент в первый стек, при переполнении завершить цикл.

    5.3. Добавлять элемент во второй стек, при переполнении завершить цикл.

    6. Построчно вывести содержимое стеков.

      Входные данные

      Первая строка:

      «имя стека 1» «размер стека»

      Вторая строка:

      «имя стека 2» «размер стека»

      Третья строка:

      Последовательность целых чисел, разделенных пробелами, в количестве не менее чем размер одного из стеков + 1.

      Выходные данные

      Первая строка:

      «имя стека 1» «размер»

      Вторая строка:

      «имя стека 2» «размер»

      Третья строка:

      «имя стека 1» «имя стека 2»

      Каждое имя стека в третьей строке занимает поле длины 15 позиции и прижата к левому краю.

      Четвертая строка и далее построчно, вывести все элементы стеков:
      «значение элемента стека 1» «значение элемента стека 2»

      Вывод значений элементов стеков производиться последовательным извлечением.

      Каждое значение занимает поле из 15 позиции и прижата к правому краю.