Программирование
Тип работы: | Все Задача Курсовая работа Лабораторная работа Ответы на вопросы |
Язык программирования: | Все Bash Basic C C# C# ASP .NET C++ Delphi Fortran Free Basic HTML Java JavaScript Pascal Pascal ABC Turbo Pascal VBA Visual Basic Ассемблер |
Блок-схема: | Все Есть Нет |
-
Создание англо-русского словаря с использованием динамической памяти на языке С++. В программе предусмотреть:
- хранение словаря в файле;
- поиск английского слова и его значений;
- вставку нового английского слова и его значений;
удаление английского слова и его значений;
графический пользовательский интерфейс интерфейс.
Структура данных: линейный двунаправленный список (ЛДС)
-
Работу можно выполнять на встроенном ассемблере системы программирования Turbo Pascal, однако, рекомендуется на автономном (отдельном или внешнем) ассемблере.
Выбрать простую математическую задачу, легко разрешимую на Паскале, например Y = A * X2. Задачу согласовать с преподавателем.
Написать программу на ассемблере, например, для указанной выше задачи:
Вариант 2 - (A * X^4 + B * X^3 + C * X^2 + D * X) div E
Вариант 2 - 9*A + 7*B + 2*C -
200 руб.
Разработать программу для управления базой данных «Фонотека». Реализовать функции создания в ней записи, ее редактирования, удаления и поиска записи по значению поля. Запись в базе данных содержит следующие поля: исполнитель, название альбома, жанр, год выпуска.
-
250 руб.
Лабораторная работа
Web-браузер
Цель работы: Разработать браузер, выполняющий базовые функции, используя язык программирования C#.
Задание:
Разработать браузер, реализующий функции:
- Назад, Вперед, Домой;
- Добавления и удаления страницы из «Избранного»;
- Хранения истории посещений;
- Добавления/удаления новой вкладки.
Лабораторная работа считается защищенной, если:
- приложение содержит кнопки Назад, Вперед, Домой с соответствующим функционалом;
- приложение умеет добавлять/удалять страницы из «Избранного»;
- приложение хранит историю посещений с URL-адресом страницы и датой/временем посещения;
- приложение имеет приемлемый для браузера интерфейс с возможность добавления/удаления вкладок;
-
500 руб.
Построение и обработка двоичных деревьев поиска. Реализовать программу, выполняющую следующий набор операций с деревьями поиска:
поиск вершины с заданным значением ключа с выводом счетчика числа появлений данного ключа добавление новой вершины в соответствии со значением ее ключа или увеличение счетчика числа появлений построчный вывод дерева в наглядном виде на основе процедур обхода:- в прямом порядке.
- в симметричном порядке.
-
200 руб.
Написать программу подсчитывающая количество битов, выставленных в единицу у числа типа long и double. Сами значения чисел вводятся с клавиатуры.
-
100 руб.
Написать две программы в консоли, языке java: 20:5'
1 Программа просит пользователя ввести число любое ("введите число:"), далее, а на выходе мы должны получить ряд простых чисел (простые это те которые делятся на 1 и на самих себя)
Например ввел 100 и из 100 программа отбирает эти простые числа и выводит их пользователю!
2 Программа просит пользователя ввести строку (любую) ("введите строку") и из
этой строки программа должна определить есть в ней полиндром или нет!
Написать пользователю есть полиндром или полиндром отсутствует в данной строке!
-
400 руб.
Практическая работа № 5
Алгоритм поиска в отсортированных массивах
Постановка задачи
Составить программу поиска заданного элемента по ключу в одномерном целочисленном массиве A[n], используя алгоритм согласно варианту индивидуального задания. Провести тестирование программы на исходном массиве, сформированном вводом с клавиатуры. Рабочий массив A сформировать с использованием генератора псевдослучайных чисел. Провести контрольные прогоны программы для размеров массива n = 100, 1000, 10000, 100000 и 1000000 элементов в трех режимах: на массивах, строго убывающих, строго возрастающих и случайных чисел и сделать вывод о зависимости (устойчивости) алгоритма от исходной упорядоченности массива.
Провести эмпирическую (практическую) оценку вычислительной сложности алгоритма, для чего предусмотреть в программе подсчет фактического количества операций сравнения Сф.
Полученные результаты свести в сводную таблицу. Построить в одной координатной плоскости графики зависимости теоретической О(n)=f(С(n)) и эмпирической (Сф(n)) вычислительной сложности алгоритма от количества элементов в массиве n.
Сравнить вычислительную сложность алгоритма с вычислительной сложностью алгоритма последовательного поиска. Экспериментально оценить долю случаев, когда последовательный поиск выполняется быстрее, чем быстрый поиск.
Провести анализ полученных результатов. Сделать выводы о проделанной работе, основанные на полученных результатах.
Сводная таблица результатов
n
f(C)
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. Однонаправленные списки
Постановка задачи
Определите список операции над списками варианта, включая операцию добавления узла в начало списка, вывода списка. Разработайте для каждой операции функцию с параметрами. Информационная часть узла имеет тип 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 и в не входят в другой.
- 2. Двунаправленные списки
Постановка задачи
Разработать многомодульную программу, которая демонстрирует выполнение всех операций, определенных вариантом, над линейным двунаправленным динамическим списком.
Требования к разработке.
- Разработать структуру узла списка, структура информационной части узла определена вариантом. Для определения структуры узла списка, используйте тип struct. Сохраните определение структуры узла в заголовочном файле.
- Разработайте функции для выполнения операции над линейным динамическим списком:
- вывод списка в двух направлениях
- поиск узла с заданным значением (операция должна возвращать указатель на узел с заданным значением).
- Дополнительные операции над списком, указанные вариантом оформите в виде функций и включите в отдельный файл с расширением cpp. Подключите к этому файлу заголовочный файл с определением структуры узла.
- Разработайте программу, управляемую текстовым меню, и включите в меню демонстрацию выполнения всех операций задания и варианта.
- Проведите тестирование операций.
- Оцените сложность алгоритма первой дополнительной операции для реализации линейного списка:
- на линейном динамическом списке
- на одномерном массиве.
Примечание. В определении информационной части узла варианта, подчеркнутое поле считать полем ключа.
Варианты
Вариант
Тип информационной части узла списка
Дополнительные Операции
1
Номер зач. книжки, Номер группы, Оценка.
Вставить новый узел перед первым узлом с таким же ключом, если такого узла еще нет, то вставить перед первым узлом, у которого ключ больше.
Удалить узлы с указанным номером группы.
Сформировать новый список из исходного, включив в него узлы с оценкой неуд, исключив их при этом из исходного списка.
2
Номер телефона (из 7 цифр), время разговора (целое число), номер телефона вызываемого абонента.
Добавить новый узел в список, упорядочивая узлы по первым четырем цифрам телефона в порядке возрастания.
Удалить последний узел с заданным значением телефона.
Подсчитать суммарное время разговора с заданного телефона.
3
Номер абонемента, Название книги, дата выдачи, дата возврата, дата фактического возврата.
Вставить новый узел в список после последнего узла с таким же номером абонента(дата фактического возврата еще не заполнена).
Изменить значение поля фактической даты возврата по указанной книге, указанного абонемента.
Удалить узлы, в которых дата возврата и дата фактического возврата совпадают.
Определить количество книг, заданного абонемента.
4
Номер мед. полиса, Дата обращения, Код диагноза (число).
Вставка нового узла перед первым узлом с заданным значением Мед. полиса, если такого нет, то узел вставить в конец списка.
Удаление из списка всех узлов с заданным значением Кода диагноза.
Переместить все узлы с одинаковым мед. полисом в новый список.
Определить количество обращений в одну и туже дату с одним и тем же диагнозом.
5
Номер счета в банке, дата, вид операции (приход или расход), сумма вклада.
Вставка нового узла перед первым узлом.
Удаление сведений по счету (всех узлов), у которого общая сумма вклада равна нулю ( сумма по приходу, минус сумма по расходу).
Создать новый список из исходного, которого будет содержать остаток по всем видам операций одного счета, указав вид операции – приход, и текущую дату.
6
Номер автобусного маршрута, время отправления (целое число), номер автобуса, стоимость одной поездки, дата отправления.
Вставить новый узел после последнего узла с заданным номером автобуса.
Удалить все узлы заданного автобуса.
Подсчитать, сколько раз автобус выходил на маршрут в течении заданного дня.
-
200 руб.
Оператор цикла.
2.14 Программа. Даны натуральное n и n вещественных пар (x,y). Рассматривая пары (x,y) как координаты точек на плоскости, определить радиус наименьшего круга ( с центром в начале координат ), внутрь которого попадают все эти точки.
2.20 Не используя стандартные функции (за исключением abs), вычислить с точностью eps>0:
Д) y=arctgx=x - x^3/3 + x^5/5 - ... + (-1)^n*x^(2n+1)/(2n+1) + ... ( abs(x)<1 );
Регулярные типы: векторы.
3.2 Для решения каких из следующих задач нужны массивы, а в каких задачах можно обойтись и без них?
Б) Дано 50 чисел. Определить, сколько среди них отличных от последнего числа.
3.10. Упорядочить массив Х по возрастанию ( т.е. переставить его элементы так, чтобы для всех k выполнялось x(k)<=x(k+1) ), используя следующий алгоритм сортировки ( упорядочения ):
А) СОРТИРОВКА ВЫБОРОМ: отыскивается максимальный элемент массива и переносится в конец массива; затем этот метод применяется для ко всем элементам, кроме последнего ( он уже находится на своем окончательном месте), и т.д.
Регулярные типы: матрицы.
Программа. Определить, является ли заданная целая квадратная матрица10-го порядка ортонормированной, т.е. такой, в которой скалярное произведение каждой пары различных строк равно 0, а скалярное произведение каждой строки на себя равно 1.
-
Составить программу для вычисления определенного интеграла методом Симпсона с визуализацией решения. Вид подынтегральной функции F(x) задать в отдельной функции, остальная часть программы не должна зависеть от конкретной функциональной зависимости. Исходными данными служат начальное и конечное значения переменной x и число интервалов разбиения либо погрешность вычисления интеграла.
В программе предусмотреть выполнение следующих действий:
1. Вывод результата.
2. Вывод графика функции F(x) на заданном интервале.
3. Графическую иллюстрацию процесса интегрирования.
-
400 руб.
Функционал программы генерирования паролей:
1. Пользователь вводит критерии для формирования пароля:
- Длину пароля (n);
- Выбирает допустимые наборы символов.
2. Программа из доступных символов произвольно выбирает n - е количество символов и отображает пользователю.
-
200 руб.
Задача 1
Дан файл SCHOOL, в котором содержится информация о школьниках:
1) Ф.И.О.
2) год рождения, месяц, число
3) оценки экзаменов
а) отсортировать записи по возрастанию среднего экзаменационного балла;
б) по запросу по Ф.И.О. - выдать средний балл;
в) распечатать ведомость школьников со средним баллом меньше 3.
Задача 2
Построить график функции y(x) и таблицу значений y(x) с шагом измерения аргумента h.
Таблицу значений функции и аргумента необходимо вывести на экран в графическом режиме.
y = x 3 - 2x 2 +1 , h=0.02
-
0 руб.
Задание 1
Создать шаблонный класс матриц NхN. Шаблонный класс должен содержать:
1. Конструкторы (без параметров, с параметрами, копирования), деструктор, оператор присваивания.
2. Перегруженный метод det ().
3. Перегруженные операторы – =, –, * =, *, <<, >>.
Методы и операторы класса должны работать как для неконстантных, так и для константных объектов.
Написать тестовую программу, демонстрирующую все возможности класса.
Исходный код программы должен состоять из двух файлов: заголовочного файла с описанием шаблонного класса и файла, содержащего функцию main.
Задание 2
Напишите программу, которая вычисляет производную функции f(x) = sin(x) численно и аналитически и выводит результаты в текстовый файл в четыре колонки: аргумент, значение функции, значение производной (численное), значение производной (вычисленное аналитически). Между колонками должен быть минимум один пробел. Аргумент функции изменяется в диапазоне [0, 4π] с шагом 1 ∙ 10-1.
-
450 руб.
- Основной поток создает другой поток, передавая ему параметр. Параметр может принимать два значения: 0 или 1. Если параметр равен 1, то второй поток создает файл размером 10 Кб.
- Создать два потока. Один создает файл нулевой длины и завершается, а другой дожидается появления файла, созданного первым потоком, записывает в файл 1000 случайных чисел типа DOUBLE и также завершается. После этого основной поток удаляет файл.
-
100 руб.
Даны три одномерных массива a, b и c разного размера. Определить какой из массивов имеет наименьшее количество нулевых элементов.
Требования к программе:
- inc использовать нельзя;
- размер и заполнение массивов вводится с клавиатуры или ввод информации должен быть из файла;- необходимо для решения использовать подпрограммы, нельзя совмещать решение и ввод или вывод, так же необходимо создать тип массиваж
- не нужно фиксировать размер массива через const, его нужно вводить каждый раз.
-
Для последовательности целых чисел заданной длины n (вводится в диалоге с пользователем) подсчитать общую сумму и количество элементов заданой последовательности, которые расположены: между первым не принадлежащем диапазону от -5 до 7 элементом последовательности и последним элементом последовательности, значение которого меньше его порядкового номера (язык Си)(ещё желательно написать в скобочках в программе пояснения)
-
100 руб.
Задан ряд последовательных натуральных чисел от M до N (M < N), из которого удаляют сначала все числа, стоящие на нечетных местах. Затем, из оставшегося ряда удаляют все числа, стоящие в нем на четных местах. Эти действия повторяют до тех пор, пока не останется одно число.
Требуется написать программу, которая находит оставшееся число.
Входные данные
Входной файл INPUT.TXT содержит число M в первой строке и число N во второй (M < N < 109). -
1. Дана строка, содержащая текст на русском языке. Найти слово,
встречающееся в каждом предложении, или сообщить, что такого слова нет.
2. Написать программу, которая находит и выводит на печать все
четырехзначные числа вида abcd , для которых выполняется: a, b, c, d –
разные цифры; a*b-c*d =a+b+c+d40 руб.Тема: Простые вычисления по формулам.
Задание. Составить программу для вычисления значения функции по формуле. Значение аргумента x=0,1.