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

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

    Задача 1 и 2 посвящена созданию программ с использованием массивов (одномерных и матриц) и множеств. В этих программах полезно использовать подпрограммы.

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

    Задача 1

    var k : integer; c : array[1..n, 1..m] of integer; Определить k — количество «особых» элементов массива c, считая элемент «особым», если в его строке слева от него находятся элементы, меньшие его, а справа — большие. Указание: определите булевскую функцию f(x), которая проверяет, является ли элемент x «особым».

    Задача 2

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

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

    Задача 3

    type fr = file of real; Описать процедуру predlast(f), значением которой является предпоследний элемент файла f, имеющего тип fr и содержащего не менее двух элементов. Указание: введите файл f (последний элемент = 0) и вычислите функцию predlast(f).

    Задача 4

    type reals = file of real; var f : reals; Опишите рекурсивную функцию sum без параметров для нахождения суммы элементов файла f.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 4 программы на языке СИ

    Задача 1

    Дано натуральное число N. Составить программу для сравнения цифр старшего и младшего разрядов этого числа.

    Задача 2

    Дана последовательность целых чисел {Aj}. Hайти произведение неположительных чисел, наименьшее из неположительных чисел и номеp этого числа в последовательности.

    Задача 3

    Дана целочисленная матрица {Aij}i=1,...,n;j=1,...,m (n,m<=20). Найти минимум из наибольших элементов строк.

    Задача 4

    Ввести последовательность натуральных чисел {Aj}j=1...n (n<=1000). Упорядочить последовательность по невозрастанию первой цифры числа, числа с одинаковыми первыми цифрами дополнительно упорядочить по невозрастанию суммы цифр числа, числа с одинаковыми первыми цифрами и одинаковыми суммами цифр дополнительно упорядочить по невозрастанию самого числа.

  • 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 - приложение на C++

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Работу можно выполнять на встроенном ассемблере системы программирования 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

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

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

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

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

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

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

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

    Составить программу для вычисления определенного интеграла методом Симпсона с визуализацией решения. Вид подынтегральной функции 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.

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

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

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

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

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

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

  • 200 руб.
    Задача на C#

    Реализовать программу, которая вычисляет значение функции (в соответствии с вариантом) для заданного вещественного x следующими способами:

    - с заданной точностью eps;

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

    - с максимальной точностью.

    На вход программе подаются следующие числа:

    - x - вещественное число, аргумент функции;

    - eps - вещественное число, точность вычислений. Под точностью вычислений eps следует понимать модуль разности абсолютных значений двух последних вычисленных членов суммы. Может быть равен 0;

    - n - 0 или натуральное число, указывающее максимальное количество членов суммы для вычисления, 0 <= n <= 4294967295.

    В результате выполнения программа должна вывести три числа:

    - значение суммы, вычисленное с указанной точностью eps;

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

    - значение суммы, вычисленное с максимальной точностью.

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

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

    В таблице представлен формат вводимых и выводимых данных:

  • Задача на динамические структуры данных, стек

    Дана символьная строка длиной не более 80 символов, состоящая из слов, разделенных пробелом. Составить программу, которая вводит строку, организует из слов строки однонаправленный список-стек. Используя список, подсчитывает количество слов, длина которых меньше 3-х символов и удаляет из списка слова, длина которых меньше введенной с клавиатуры величины. Вывести на экран список до и после корректировки и все результаты работы.

  • Задача на классы и перегрузку операторов C++

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