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

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

    -                изучены алгоритмы сортировок;

    -                изучены критерии оценки алгоритмов сортировок;

    -                проведен анализ и сравнение алгоритмов сортиров;

    -                изучено понятие шаблонных функций;

    -                реализована шаблонная функция Шейкер сортировки.

  • 2Лабораторная, Языки программирования С++

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

    1 Тема и название работы

    Программирование алгоритмов формирования и обработки одномерных массивов.

    2 Задание на разработку проекта и вариант задания

    Ввести одномерные массивы x = {-6, 0.5, 0.12, 13, -10.1} и y = {13, 2.1, 14, 6, -2}. Создать одномерный массив r( ) такой, что элементы с нечетными номерами являются элементами массива x, с четными номерами - массива y.

    Вывести массив r. В новом массиве r найти произведение элементов, расположенных до минимального элемента..

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

    1 Тема и название работы

    Обработка строковых данных.

    2 Задание на разработку проекта и вариант задания

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

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

    1 Тема и название работы

    Текстовые файлы.

    2 Задание на разработку проекта и вариант задания

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

  • 4 задачи на С++

    Лабораторная работа 1. Массивы, указатели и строки. Методы организации и работы

    Вариант задания реализовать в виде функции, использующей для работы со строкой только указатели и операции вида *p++,  p++ и т.д. Если функция возвращает строку или ее фрагмент, то это также необходимо сделать через указатель.

    Вариант: «Быстрая» сортировка (разделением) с использованием указателей на правую и левую границы массива, текущих указателей на правый и левый элемент и операции сравнения указателей.

    Лабораторная работа 2. Структуры, объединения и списки. Файловый ввод-вывод

    Определить структурированный тип, определить набор функций для работы с массивом структур. В структурированной переменной предусмотреть способ отметки ее как не содержащей данных (т.е. "пустой"). Функции должны работать с массивом структур или с отдельной структурой через указатели, а также при необходимости возвращать указатель на структуру. В перечень функций входят:

    - «очистка» структурированных переменных;

    - поиск свободной структурированной переменной;

    - ввод элементов (полей) структуры с клавиатуры;

    - вывод элементов (полей) структуры с клавиатуры;

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

    - сортировка массива структур в порядке возрастания заданного поля (при сортировке можно использовать тот факт, что в Си++ разрешается присваивание структурированных переменных);

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

    - удаление заданного элемента;

    - изменение (редактирование) заданного элемента.

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

    Вариант: Фамилия И.О., количество переговоров (для каждого - дата и продолжительность).

    Лабораторная работа 3. Разнотипные переменные. Динамический и статический способы создания переменных

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

    Вариант: В начале области памяти размещается форматная строка. Выражение "%nnnd", где nnn - целое - определяет массив из nnn целых чисел, "%d" - одно целое число, "%nnnf" - массив из nnn вещественных чисел, "%f" - одно вещественное число. Сразу же вслед за строкой размещается последовательность целых, вещественных и их массивов в соответствии с заданным форматом.

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

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

    Вариант: Первый параметр - строка, в которой каждый символ «*n», где n-цифра -  обозначает место включения строки, являющейся n+1 параметром. Функция выводит на экран полученный текст.

  • 4 Лабораторные работы на С++

    1 Программирование линейных алгоритмов

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

    2 Программирование разветвляющихся алгоритмов

    По указанию преподавателя выберите индивидуальное задание из нижеприведенного списка. В качестве f(x) использовать по выбору: sh(x), x2, ex. Отредактируйте вид формы и текст программы, в соответствии с полученным заданием.

    3 Программирование циклических алгоритмов

    4 Программирование с использованием массивов

    Во всех заданиях по теме «Массивы» скалярные переменные вводить с помощью компонента TEdit с соответствующим пояснением в виде компонента TLabel. Скалярный результат выводить в виде компонента TLabel. Массивы представлять на форме в виде компонентов TStringGrid, в которых 0-й столбец и 0-ю строку использовать для отображения индексов массивов. Вычисления выполнять, после нажатия кнопки типа TВutton.
    Задана матрица размером N×M. Получить массив B, присвоив его k-му элементу значение 0, если все элементы k-го столбца матрицы нулевые, и значение 1в противном случае.

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

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

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

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

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

  • Организовать программным способом файл F, компонентами которого являются действительные числа. Найти:
    а) наименьшее из значений компонент с нечетными номерами;
    б) сумму наименьшей и наибольшей компонент;
    в) разность первой и последней компонент;
    г) при наличии в файле более 10 отрицательных значений выдать на экран сообщение.
    Вывести на экран содержимое файла и все найденные значения.
    Привести блок-схему программы

  • абораторная, Программирование с++ 4 штуки

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

    Задание на лабораторную работу

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

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

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

    Задание на лабораторную работу

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

    Вычислить элементы последовательности:

    a(0)=1;

    a(n)=a(n div 2)+a(n div 3), n>1;

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

    Задание на лабораторную работу

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

    Удалить все вхождения заданного слова из текста

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

    Задание на лабораторную работу

    Дан список идентификаторов. Длина каждого идентификатора не более 8 символов. Идентификаторы в списке расположены в лексикографическом порядке. Составить функции (подпрограммы) для следующих операций: Удалить из списка все элементы.

     

  • Алгоритмы поиска С++

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

    2. Написать программу поиска с барьером элемента массива равного заданному значению.

    3. Написать программу бинарного поиска элемента массива равного заданному значению.

    4. Написать программу бинарного поиска элемента массива равного заданному значению, в которой новое значение индекса m определялось бы не как среднее значение между L и R, а согласно правилу золотого сечения.

  • Англо-русский словарь на C++

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

    Требования для класса: наличие конструктора, деструктора и перегруженного оператора присвоения (=). В коде должны присутствовать комментарии.

  • Англо-русский словарь на линейном двунаправленном списке

    Создание англо-русского словаря с использованием динамической памяти на языке С++. В программе предусмотреть:

    - хранение словаря в файле;

    - поиск английского слова и его значений;

    - вставку нового английского слова и его значений;

    удаление английского слова и его значений;

    графический пользовательский интерфейс интерфейс.

    Структура данных: линейный двунаправленный список (ЛДС)

  • Англо-русский словарь, реализация на бинарном дереве поиска

    Создание англо-русского словаря с использованием динамической памяти на языке С++. В программе предусмотреть:

    - хранение словаря в файле;

    - поиск английского слова и его значений;

    - вставку нового английского слова и его значений;

    удаление английского слова и его значений;

    графический пользовательский интерфейс интерфейс.

    Структура данных: Бинарное дерево поиска (БДП)

  • Выполнить задание на C++

    Практическая работа № 5

    Алгоритм поиска в отсортированных массивах

     

    Постановка задачи

    Составить программу поиска заданного элемента по ключу в одномерном целочисленном массиве A[n], используя алгоритм согласно варианту индивидуального задания. Провести тестирование программы на исходном массиве, сформированном вводом с клавиатуры. Рабочий массив A сформировать с использованием генератора псевдослучайных чисел. Провести контрольные прогоны программы для размеров массива n = 100, 1000, 10000, 100000 и 1000000 элементов в трех режимах: на массивах, строго убывающих, строго возрастающих и случайных чисел и сделать вывод о зависимости (устойчивости) алгоритма от исходной упорядоченности массива.

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

    Полученные результаты свести в сводную таблицу. Построить в одной координатной плоскости графики зависимости теоретической О(n)=f(С(n)) и эмпирической (Сф(n)) вычислительной сложности алгоритма от количества элементов в массиве n.

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

    Провести анализ полученных результатов. Сделать выводы о проделанной работе, основанные на полученных результатах.

     

    Сводная таблица результатов

    n

    f(C)

    100

     

     

    1000

     

     

    10000

     

     

    100000

     

     

    1000000

     

     

     

    Варианты индивидуальных заданий

    Алгоритм

    5.1

    Двоичного поиска

    5.2

    С использованием бинарного дерева поиска

    5.3

    Фибоначчиего поиска 

    5.4

    Поиска хэшированием

    5.5

    Поиска по бору

    5.6

    Поиска Рабина-Карпа

     

    Практическая работа № 6

    Алгоритмы поиска строк в тексте

     

    Постановка задачи

    Составить программу поиска первого вхождения заданной строки P длиной m символов в тексте S, размером n символов, используя алгоритм согласно варианту индивидуального задания. Уточнение: настоящая задача поиска сводится к нахождению в тексте (массиве) S индекса, начиная с которого строка P полностью совпадает с фрагментом текста S. В частном случае заданная строка может отсутствовать в тексте.

    Провести тестирование программы на исходном массиве, сформированном вводом с клавиатуры.

    Рабочий текст (массив) сформировать из произвольного текстового файла, например, романа Л.Н. Толстого «Война и мир». Провести контрольные прогоны программы как минимум на трех текстовых файлах различной длины.

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

    Полученные результаты свести в сводную таблицу. Построить в одной координатной плоскости графики зависимости теоретической О(n)=f(С+М) и эмпирической (Сф+Мф) вычислительной сложности алгоритма от размера текста (количества элементов в массиве) n.

    Сравнить вычислительную сложность алгоритма с вычислительной сложностью алгоритма прямого поиска строки.

    Провести анализ полученных результатов. Сделать выводы о проделанной работе, основанные на полученных результатах.

     

    Сводная таблица результатов

    n

    f(C+М)

    Cф+Мф

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    Варианты индивидуальных заданий

    Алгоритм

    6.1

    Прямого поиска строки

    6.2

    Кнута-Морриса-Пратта

    6.3

    Бойера-Мура 

    6.4

    Поиска хэшированием

     

    Практическое задание №7

    Линейные динамические списки

    1. 1.              Однонаправленные списки

    Постановка задачи

    Определите список операции над списками варианта, включая операцию добавления узла в начало списка, вывода списка. Разработайте для каждой операции функцию с параметрами. Информационная часть узла имеет тип int.

    Реализуйте программу решения задачи варианта.

    Вариант 1

    Даны два линейных однонаправленных списка L1 и L2. Разработать процедуру, которая формирует список L, включив в него по одному разу элементы, значения которых входят хотя бы  в один из списков L1 и L2.

    Вариант 2

    Даны два линейных однонаправленных списка L1 и L2. Разработать процедуру, которая формирует список L, включив в него по одному разу элементы, значения которых входят одновременно в оба  списка L1 и L2.

    Вариант 3

    Даны два линейных однонаправленных списка L1 и L2. Разработать процедуру, которая формирует список L, включив в него по одному разу элементы, значения которых входят в список L1 и не входят в список L2.

    Вариант 4

    Даны два линейных однонаправленных списка L1 и L2. Разработать процедуру, которая формирует список L, включив в него по одному разу элементы, значения которых входят  в один из списков L1 и L2 и в не входят в другой.

     

    1. 2.    Двунаправленные списки

    Постановка задачи

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

    Требования к разработке.

    1. Разработать структуру узла списка, структура информационной части узла определена вариантом. Для определения структуры узла списка, используйте тип struct. Сохраните определение структуры узла в заголовочном файле.
    2. Разработайте функции для выполнения операции над линейным динамическим списком:
    • вывод списка в двух направлениях
    • поиск узла с заданным значением (операция должна возвращать указатель на узел с заданным значением).
    1. Дополнительные операции над списком, указанные вариантом оформите в виде функций и включите в отдельный файл с расширением cpp. Подключите к этому файлу заголовочный файл с определением структуры узла.
    2. Разработайте программу, управляемую текстовым меню, и включите в меню  демонстрацию выполнения всех операций задания и варианта.
    3. Проведите тестирование операций.
    4. Оцените сложность алгоритма первой дополнительной операции для реализации линейного списка:
    • на линейном динамическом списке
    • на одномерном массиве.

     

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

    Варианты

    Вариант

    Тип информационной части узла списка

    Дополнительные Операции

    1

    Номер зач. книжки, Номер группы, Оценка.

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

    Удалить узлы с указанным номером группы.

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

    2

     

     

    Номер телефона (из 7 цифр), время разговора (целое число), номер телефона вызываемого абонента.

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

    Удалить последний узел  с заданным значением телефона.

    Подсчитать суммарное время разговора с заданного телефона.

    3

    Номер абонемента, Название книги, дата выдачи, дата возврата, дата фактического возврата.

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

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

    Удалить узлы, в которых дата возврата и дата фактического возврата совпадают.

    Определить количество книг, заданного абонемента.

    4

    Номер мед. полиса, Дата обращения, Код диагноза (число).

    Вставка нового узла перед первым узлом с заданным значением Мед. полиса, если такого нет, то узел вставить в конец списка.

    Удаление из списка всех узлов с заданным значением Кода диагноза.

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

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

    5

    Номер счета в банке, дата, вид операции (приход или расход), сумма вклада.

    Вставка нового узла перед первым узлом.

    Удаление сведений по счету (всех узлов), у которого общая сумма вклада равна нулю ( сумма по приходу, минус сумма по расходу).

    Создать новый список из исходного, которого будет содержать остаток по всем видам операций одного счета, указав вид операции – приход, и текущую дату. 

    6

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

    Вставить новый узел после последнего узла с заданным номером автобуса.

    Удалить все узлы заданного автобуса.

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

     

     

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

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

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

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

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

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

  • Две задачи на С++

    Задание 1

    Создать шаблонный класс матриц NхN. Шаблонный класс должен содержать:

    1. Конструкторы (без параметров, с параметрами, копирования), деструктор, оператор присваивания.

    2. Перегруженный метод det ().

    3. Перегруженные операторы – =, –, * =, *, <<, >>.

    Методы и операторы класса должны работать как для неконстантных, так и для константных объектов.

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

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

    Задание 2

    Напишите программу, которая вычисляет производную функции f(x) = sin(x) численно и аналитически и выводит результаты в текстовый файл в четыре колонки: аргумент, значение функции, значение производной (численное), значение производной (вычисленное аналитически). Между колонками должен быть минимум один пробел. Аргумент функции изменяется в диапазоне [0, 4π] с шагом 1 ∙ 10-1.

  • Две задачи по информатике
    1. Основной поток создает другой поток, передавая ему параметр. Параметр может принимать два значения: 0 или 1. Если параметр равен 1, то второй поток создает файл размером 10 Кб.
    2. Создать два потока. Один создает файл нулевой длины и завершается, а другой дожидается появления файла, созданного первым потоком, записывает в файл 1000 случайных чисел типа DOUBLE и также завершается. После этого основной поток удаляет файл.
  • 1. Дана строка, содержащая текст на русском языке. Найти слово,
    встречающееся в каждом предложении, или сообщить, что такого слова нет.
    2. Написать программу, которая находит и выводит на печать все
    четырехзначные числа вида abcd , для которых выполняется: a, b, c, d –
    разные цифры; a*b-c*d =a+b+c+d

  • Другое, Программирование  Код на С++

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

  • Даны два файла одного и того же типа. С помощью процедур BlockRead и BlockWrite добавить к первому файлу содержимое второго файла, а ко второму файлу — содержимое первого.

  • Другое, Программирование и алгоритмизация, программирование

    Задание 1

    Задание 2

    Задание 3

    Задание 4     

    Задание 5

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

     

    Задание 6

    В заданной строке подсчитать количество букв ‘а’ , ‘b’.

    Задание 7

    Дана строка, состоящая из слов, разделенных пробелами, в конце строки – точка. Определить, сколько в строку слов, содержащих четное число символов

    Задание 8

    В одномерном массиве вещественных чисел заменить элементы кратные пяти, стоящие на четных позициях, числом -1.