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

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

    Объектом исследования является рекурсивные и итерационные алгоритмы и их сравнение.

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

    Задачи:

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

    -                   рассмотреть понятие итерации и привести примеры ее реализации;

    -                   сравнить  их и выявить преимущества и недостатки данных типов алгоритмов.

  • Курсовая: создание динамической библиотеки на Delphi

    Создать программный модуль, содержащий описание динамической библиотеки, обладающей следующими подпрограммами:

    – организация динамической структуры данных типа очередь;

    – создание очереди, уничтожение очереди, добавление элемента, исключение элемента, определение текущего числа элементов в очереди, очистка очереди.

    Написать программу, иллюстрирующую работу с данной библиотекой.

  • Курсовая: Сравнение алгоритмов сортировки вставками и выбором

    Курсовая на тему "Сравнение алгоритмов сортировки вставками и выбором" с применением библиотеки (DLL) 

    Программа написанна на Delphi 7

    Сравнить эффективность алгоритмов сортировки – сортировки вставками и сортировки выбором. Для этого подсчитать среднее число сравнений (по 100 реализациям, со случайным расположением элементов), необходимое для сортировки n элементов тем и другим алгоритмом. Организовать библиотеку, содержащую подпрограммы для реализации функциональности поставленной задачи.

  • Лабораторная работа

    Лабораторная работа

    Требования к лабораторных работ:

    1. Исходный код отформатирован в едином стиле.

    2. Исходный код лабораторной разбит на классы и методы.

    3. Работоспособность лабораторной работы была протестирована на различных наборах входных данных.

    4. Требования к оформлению:

    a. Титульный лист

    b. Задание на лабораторную + задание по варианту

    c. Краткое описание используемых алгоритмов и структур данных

    d. Сжатый исходный код лабораторной работы

    e. Результаты тестирования (время/память)

    f. Выводы.

    Задание 1

    Реализовать АТД на структуре очередь.

    СД – односвязный список.

    Задание 2

    Сортировка вставками.

    Задание 3

    Сортировка слиянием.

     

     

  • Написать программы согласно темам и описанию. Подробное описание во вложении. Язык Delphi или C#.
    Тема 1. Двоичные деревья
    Задание. Построение и обработка двоичных деревьев поиска. Реализовать программу, выполняющую следующий набор операций с деревьями поиска:
    поиск вершины с заданным значением ключа с выводом счетчика числа появлений данного ключа
    добавление новой вершины в соответствии со значением ее ключа или увеличение счетчика числа появлений
    построчный вывод дерева в наглядном виде на основе процедур обхода:
    - в прямом порядке;
    - с помощью обратно-симметричного обхода.
    Тема 2. Организация поиска в массиве данных при помощи специальных методов поиска.
    Задание. Реализовать программно метод хеш-поиска с разрешением конфликтов методом цепочек.
    Тема 3. Сортировка данных
    Задание 1. Реализовать программу, реализующую простейший метод сортировки массивов:
    сортировку вставками
    сортировку обменом (метод пузырька)
    Задание 2. Оформить программу, реализующую метод быстрой сортировки массивов.
    Метод реализуется в виде подпрограммы. Исходный массив должен обрабатываться подпрограммой сортировки с подсчетом и выводом фактического числа выполненных сравнений и пересылок. Выполнить сортировку нескольких массивов с разным числом элементов (10, 100, 1000, 10000).

  • Лабораторная работа по HTML

    Тема 1: Форма записи на соревнования.

    Задание

    Разработать структуру формы (таблица со списком полей и комментарием к их заполнению). Предусмотреть всевозможные поля реализуемой формы (не менее 7 полей). Указать какие поля являются обязательными, указать в каких полях необходимо предусмотреть правильность введенных данных (например, email). Поля должны быть строго тематические, то есть форма с полями «фамилия», «имя», «отчество», «возраст», «e-mail», «пол», «контактный телефон» не подойдет

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

    Отчет по первой части, включающий титульный лист, структуру формы и структуру приложения необходимо оформить в формате .doc или .docx.

    Тема 2: Форма заявки на закупку мебели.

    Разработать структуру формы (таблица со списком полей и комментарием к их заполнению). Предусмотреть всевозможные поля реализуемой формы (не менее 7 полей). Указать какие поля являются обязательными, указать в каких полях необходимо предусмотреть правильность введенных данных (например, email). Поля должны быть строго тематические, то есть форма с полями «фамилия», «имя», «отчество», «возраст», «e-mail», «пол», «контактный телефон» не подойдет

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

    Отчет по первой части, включающий титульный лист, структуру формы и структуру приложения необходимо оформить в формате .doc или .docx.

  • Лабораторные работы на Pascal

    Лабораторная работа № 1

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

    Лабораторная работа № 2

    Задание: Составить блок-схему и программу для выполнения действий по индивидуальному заданию, используя оператор выбора. Во всех вариантах предусмотреть проверку корректности исходных данных. При вводе некорректных данных должно выводиться сообщение об ошибке.
    Вариант: Дан номер месяца (1 – январь, 2 – февраль, ...). Вывести название соответствующего времени года («зима», «весна» и т. д.).

    Лабораторная работа № 3

    Задание: Составить блок-схему и программу для заполнения таблицы значений функции y = f(x) на отрезке с указанным шагом изменения аргумента. Вид функции задается в лабораторной работе № 1. Значение функции выводить с точностью до тысячных долей.

    Лабораторная работа № 4

    Задание: Составить блок-схему и программу табулирования двух функций S и Y в заданном диапазоне изменения аргумента x. Здесь n - число слагаемых суммы S.

    Лабораторная работа № 5

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

    Вариант: Скорректировать массив A=(a1, а2, ..., аn), переписав в начало массива группу, содержащую наибольшее число подряд идущих положительных элементов. Элементы массива вводить с клавиатуры.

    Лабораторная работа № 6

    Задание: составить программу заданной обработки матрицы целых чисел. В процессе обработки использовать перестановки элементов внутри массива, не создавая новых массивов. Заполнение исходного массива организовать с помощью генератора случайных чисел. Исходный и обработанный массив выводить на экран. Во всех вариантах работать с ЗАДАНОЙ матрицей, не создавая дополнительных массивов и матриц (кроме случаев, где это предусмотрено вариантом задания).

    Вариант: Даны матрица А(n×(n+1)) и два одномерных массива X=(x1, ..., xn+1) и Y=(y1, ..., yn+1), а также натуральные числа р, q. Образовать новую матрицу размера (n+1)×(n+2) вставкой после строки с номером р матрицы А новой строки с элементами x1,x2, ..., xn+1 и последующей вставкой после столбца с номером q нового столбца с элементами y1,y2, ..., yn+1.

    Лабораторная работа № 7

    Задание: составить программу заданной обработки массива слов. В процессе обработки использовать множественных тип данных. Заполнение исходных данных – с клавиатуры. Исходный и обработанный массив выводить на экран.

    Вариант: Дан массив из n слов произвольной длины (длина слова не превышает 80 символов). Символами могут быть только заглавные латинские буквы. Найти и вывести все гласные буквы (без повторений), которые встретились в двух самых длинных словах.

  • Линейный односвязный список на Pascal

    Сформировать линейный односвязный список из N узлов, каждый из которых содержит 5 информационных полей, содержащих сведения о поездах дальнего следования железнодорожного вокзала.

    Структура записи:

    - номер поезда (строка, длиной не более 4-х символов);

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

    - время отправления (в формате чч:мм);

    - время в пути (в часах);

    - наличие билетов (целое число);

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

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

    Определить общее количество билетов до заданной станции (название станции запрашивается в диалоге).

    Добавить в список 2 узла: 1- в начало списка, 2 – после узла с максимальным временем пути. Вывести список после добавления узлов.

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

    Удалить список.

    Все запросы на ввод данных и все выводы данных должны сопровождаться соответствующими текстовыми пояснениями.

  • Максимальный из элементов массива с четными индексами

    Зданием на курсовую является: В массиве найти максимальный элемент с четным индексом.

    Другая формулировка задачи: среди элементов массива с четными индексами, найти тот, который имеет максимальное значение.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Морской бой на C++

    Написан код к игре морской бой на языке c++.

  • Написать на C# 10 консольных программ

    Задание 1. Дана целочисленная последовательность, длиной 15 элементов, содержащая как положительные, так и отрицательные числа. Вывести: Первый положительный элемент.

    Задание 2. Дана последовательность строк, состоящая из 10 элементов. Вывести строки, начинающиеся на «М» и имеющие длину 4 символа

    Задание 3. Дана строковая последовательность, состоящая из 10 элементов вывести: Сумму длин всех строк, заканчивающихся на «а» Задание 4. Дана целочисленная последовательность, длиной 15 элементов, содержащая как положительные, так и отрицательные числа. Вывести сумму положительных двузначных элементов      

    Задание 5. Дана цифра D (однозначное целое число) и целочисленная последовательность A. Вывести первый положительный элемент последовательности A, оканчивающийся цифрой D. Если требуемых элементов в последовательности A нет, то вывести 0.

    Сортировка по возрастанию выполняется по умолчанию, сортировка по убыванию descending 

    Задание 6. Дана последовательность строк отсортировать последовательность по убыванию длины строки.

    Задание 7. Дана последовательность строк вывести количество строк, в которых 3-я буква «м».

    Задание 8. Дана последовательность целых чисел, вывести все трехзначные числа последовательности в обратном порядке.

    Задание 9. Дана последовательность целых чисел, вывести

    Четные числа, увеличенные в два раза.  Задание 10. Аналогично примеру выше (последовательности по 15 элементов) вывести: Четные элементы строковой последовательности.

  • Написать программы и отчет

    Задание 1

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

    поиск вершины с заданным значением ключа с выводом счетчика числа появлений данного ключа

    добавление новой вершины в соответствии со значением ее ключа или увеличение счетчика числа появлений

    построчный вывод дерева в наглядном виде на основе процедур обхода:

    • в прямом порядке;
    • с помощью обратно-симметричного обхода;

    Задание 2

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

    Задание 3

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

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

    Задание 3.1

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

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

  • Написать простейшее программное обеспечение

    Разработка программного обеспечения для определения качества сдачи студентами экзаменационной сессии.

    Файл «Сессия студентов»

    Структура записи:

    • № группы;
    • Ф И О студента;
    • Оценки по 5 экзаменам;
    • Результаты сдачи 5 зачетов ( 1 – сдан, 0 – не сдан);
    1. Создать файл с заданной структурой записи.
    2. Выдать на экран содержимое файла.
    3. Выдать на экран список всех студентов заданной группы со средним баллом каждого студента в виде:
    • Ф И О студента;
    • Средний балл по сданным экзаменам;
    1. Сформировать файл:
    • Ф И О студента;
    • Результаты сдачи 5 зачетов ( 1 – сдан, 0 _ не сдан)ж
    1. Вновь сформированный файл распечатать.
    2. Добавить запись в исходный файл.
    3. Удалить все записи с указанными № групп.
    4. Корректировка файла: по заданной Ф И О студента и № группы изменить результаты сдачи экзаменов.

    Программы написаны на 3-ёх языках: C++, C#, Java.

     

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

    Задача 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. Обработка матриц на СИ

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

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

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

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

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

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

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

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

    2. Пара задач на Fortran F90

      Задача 1

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

      Задача 2

      Дана текстовая строка из слов. Слово – набор либо буквенных символов либо цифирных (jjj hgh 567 jj 89 ggikgg 56 … ), разделенных одним либо более пробелами. Определить количество изображённых чисел в строке.

      Задача 3

      Дана текстовая строка из 50 символов, состоящая из одних целых положительных чисел, разделённых одним или более пробелами. Напечатать эти числа в столбик.

    3. Пара задач на СИ

      Задание 1

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

      С использованием массива.

      С использованием указателей.

      Задание 2

      Дан файл, содержащий текст, записанный строчными русскими буквами. Получить в другом файле тот же текст, записанный заглавными буквами.

    4. Приложение «Эллипс». Графика на С++

      Разработка графического интерфейса приложения «Эллипс». В окне приложения отобразить эллипс, высоту, ширину и цвет которого задавать в диалоговой панели.