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

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

    Шифр цезаря на на языке С с поддержкой русского и английского языка. Требование к коду: должно работать на 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 позиции и прижата к правому краю.

    1. Разработка программы-дневника регистрации температуры, С++

      Опишите запись, содержащую информацию о температуре воздуха:

      - номер месяца;

      - номер дня;

      - температура ночью;

      - температура днем.

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

    2. Алгоритмы сортировки, Java

      Сравнить количество операций алгоритма быстрой сортировки и сортировки вставками на массивах с [2-9] элементами. Передавать в сортировки нужно все возможные перестановки массива, то есть, при массиве из 2 эл-тов, перестановок будет 2!, а при 9 элементах 9!. И сравнить среднее кол-во операций алгоритмов для каждого из массивов.

    3. Задача на стек и файлы на языке С

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

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

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

    4. База данных "Фонотека" на Pascal

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

    5. Работа со стандартной библиотекой шаблонов

      На языке С++ реализовать класс, описывающий товар на складе, содержащий поля: наименование, артикул, дата поступления на склад, количество товара, цена за единицу товара. Реализовать класс контейнер - вектор, содержащий объекты класса «Товар». Отсортировать контейнер. С использованием алгоритма двоичного поиска, провести поиск в контейнере по артикулу, названию, и дате поступления. При поиске осуществлять запись найденных объектов в контейнер-список. В качестве отчетности представить исходный код программы.

    6. Задача на односвязный список выполненная на двух языках Си и С++

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

      1) Функция add_lastnode(), добавляющая элементы односвязного линейного списка всегда после последнего элемента.

      2) Функция вывода односвязного линейного списка в обратном порядке