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

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

    Программы в среде Visual Studio на языке Visual C# на темы:

    -Сложные арифметические выражения

    -Условный оператор

    -Циклы с пред- и постусловием

    -Ряды

    -Одномерные массивы

    -Многомерные массивы

    -Строки

    -Типизированные методы

    -Нетипизированные (пустые) методы

    -Файлы


  • 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 параметром. Функция выводит на экран полученный текст.

  • ЛАБОРАТОРНАЯ РАБОТА № 1

    Задача 1. Даны натуральные n, m. Получить все меньшие n натуральные числа, сумма цифр которых равна m.

    Задача 2. Проверить, правильно ли в данной строке расставлены круглые скобки (т.е. находится ли справа от каждой открывающей скобки соответствующая закрывающая скобка, а слева от каждой закрывающей — соответствующая открывающая). Ответ — «да» или «нет». Используйте следующий алгоритм: На каждом шаге цикла во время просмотра строки символов текущее значение количества открывающих скобок больше или равно текущему значению количества закрывающих скобок. После окончания цикла количество открывающих скобок равно количеству закрывающих скобок.

    ЛАБОРАТОРНАЯ РАБОТА № 2

    Задача 1. Даны натуральное n и (построчно) элементы квадратной вещественной матрицы А четвертого порядка. Вычислить n-ю степень этой матрицы (A1 = A; A2 = A*A; A3 = A2 * A и т.д.). Указания: 1. Определите процедуру mult(a,b,c) для умножения матриц (a*b = c). 2. Для вычисления n-ой степени матрицы поступайте так же, как при вычислении в цикле n-ой степени числа, но вместо умножения чисел используйте процедуру mult. –> решения есть.

    Задача 2. Дана строка. В алфавитном порядке напечатайте (по разу) все малые латинские гласные буквы, входящие в эту строку ровно 3 раза. Указание: гласные буквы — а, e, i, o, u; остальные — согласные. Решение задачи простое, если вы будете использовать множества.

    ЛАБОРАТОРНАЯ РАБОТА № 3

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

    Задача 2. Дан массив a : array [1..n] of integer; Напишите рекурсивную программу для вычисления произведения
    Указание. Пусть функция f(k) вычисляет произведение a[1]*a[2]*…a[k]. Нам надо вычислить f(n). Определим f(k) рекурсивно: 3) если k=1, то f(k)=a[1]; 4) если k>1, то значение функции равно произведению a[k] и f(k–1).

    ЛАБОРАТОРНАЯ РАБОТА № 4

    Задача 1. Используйте представление последовательности строк в виде линейного списка и опишите процедуру УДАЛИТЬ(L , i), удаляющую i-ю строку из списка L.

    Задача 2. Напишите программу, которая имитирует движение велосипеда. Указание: напишите процедуру отображения велосипеда с параметрами. В качестве параметра возьмите координаты какойнибудь точки велосипеда (например, середина педалей — x1, y1). Назовем данную точку «центральной». Построение велосипеда ведите относительно центральной точки (например, чтобы нарисовать колесо велосипеда, можно воспользоваться следующим действием: circle(x1+50,y1,25)). Перемещение велосипеда по экрану можно получить, реализовав, например, следующий алгоритм:

    1. Задаем начальные значения переменным x1 и y1.

    2. Рисуем велосипед заданным цветом с данными значениями x1 и y1 (вызываем процедуру рисования велосипеда).

    3. Изменяем цвет линий на цвет, соответствующий цвету фона.

    4. Рисуем велосипед измененным цветом с теми же значениями x1 и y1 (вызываем процедуру рисования велосипеда).

    5. Изменяем координаты x1.

    6. Изменяем цвет линий на цвет, соответствующий цвету велосипеда.

    7. Рисуем велосипед заданным цветом с новыми значениями x1 и y1 (вызываем процедуру рисования велосипеда).

    8. Повторяем действия 2—7.

  • 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в противном случае.

  • 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) список автомобилей заданного года выпуска, цена которых больше указанной.

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

  • VBA Обработка матриц

    1. Матрицу задать случайным образом в виде целых чисел. Диапазон целых чисел должен задаваться через необходимый элемент управления.

    2. Все элементы управления расположить на созданной пользовательской форме.

    3. Раскрасить необходимые элементы матрицы цветами. Например, положительные – красные, отрицательные - синие. Четные и нечетные….

    4. Упорядочить числа по возрастанию (убыванию) с помощью отдельного элемента управления.

    5. Обработать ошибки при вводе пользователем не числовых данных в матрицу.

    6. Составить из элементов матрицы систему линейных уравнений  с целыми значениями неизвестных и решить её любым известным способом ( матричным, методом Гаусса, методом Крамера).

    Вариант: В матрице А(5,6) найти номер столбца с максимальной суммой элементов.

  • 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

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

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

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

  • Битовые операции. СИ

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

  • Генератор надежных паролей, Delphi

    Функционал программы генерирования паролей:

    1. Пользователь вводит критерии для формирования пароля:

    - Длину пароля (n);

    - Выбирает допустимые наборы символов.

    2. Программа из доступных символов произвольно выбирает n - е количество символов и отображает пользователю.