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

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

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

    Вариант задания:
    Информация о телевизорах: Модель
    (ключевое поле, имеет
    уникальные, неповторяющиеся значения), Размер по диагонали (поле
    используется для отбора элементов), Производитель, Цена.

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

  • Применяя парадигму абстрактных типов данных и инкрементную модель разработки, создать программную систему для решения поставленной задачи. Все исходные данные должны вводиться со стандартного устройства ввода (с клавиатуры), то есть запрашиваться у пользователя. Результаты обработки должны быть выданы на стандартное устройство вывода (дисплей). Ввод исходных данных, собственно сама обработка и вывод результатов должны быть оформлены в виде отдельных функций. Обмен данными должен быть реализован через аргументы функций. Кроме окончательного варианта программной системы должны быть предоставлены и её промежуточные версии.

    Дана последовательность целых чисел 1 а2, … , аn  }Найти минимальное

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

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

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

  • Написать код программы через таблицу ТАВ или ее еще называют таблица ASCII на С++

    Дана непустая послсдовательносгъ слов из строчных букв; между соседними словами - запятая, за последним словом - точка. Напечатать все буквы, которые входят в наибольшее количество слов тоП последовательности.


  • Решение задач, Информатика и программирование Visual Basic

    Построить график функции у = ех [] cos (х) на отрезке [а, Ь], координаты концов которого а и b вводятся с клавиатуры. Построить оси координат и разместить на них деления, рядом с которыми расположить числа в соответствии с заданным масштабом.

  • Функция принимает натуральное число и возвращает
    сумму чисел, представленных цифрами этого числа.

  • ---Решение задач,---Программирование

    Практическая работа № 8 Программирование вычислитель-
    ного процесса обработки одномерных массивов

    Задание

    Составить программу вычислительного процесса согласно варианту из табл. 1. Заданные в условии векторы программировать с использованием указа­теля. Ввод/вывод векторов осуществлять с помощью файловых потоков C++.

  • Дан список списков целочисленных элементов:
    • Необходимо его обратить, т.е. список {6,3,10,2} надо преобразовать в {2, 10, 3, 6};
    • При этом, обратить и каждый из подсписков;
    • Не использовать конвертацию в массивы

    НЕЛЬЗЯ использовать контейнерные классы. И стандартные функции там, где без них можно обойтись.

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

    3. Базовый класс – Спортсмен, производные классы – Тренер, Атлет (участник соревнований)

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

    Каждый элемент массива содержит сведения об участнике кошачье выставки: кличку, год рождения, получен/не получен ветеринарный пропуск.

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

    Сортировка должна быть возможна по любому сведению (и по кличке, и по году рождения, и по наличию/отсутствию ветпропуска) как в порядке возрастания, так и в порядке убывания.

    Указание: следует создать массив указателей, который на момент запуска процедуры сортировки ■ содержит адреса исходных ячеек массива.

  • Написать программу «Моя записная книжка». Одна запись содержит фамилию и имя, дату рождения и номер телефона. База хранится в текстовом файле.

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

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

  • Упражнение Д6.5. Напишите программу, которая создаёт контейнер типа list<double> и заполняет его десятью элементами, вставляя их в порядке возрастания значений.

  • Написать программу соответствия между числом и цветом фона (0-черный, 1-голубой,2-зеленый, 3-васильковый, 4-красный, 5-фиолетовый, 6-коричневый, 7-светло-серый).

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

  • Решение задач, программирование на СИ-

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

  • Решение задач, Программирование, Программирование на Си, Программирование на языках высокого уровня

    Разработка системы имитационного моделирования работы строительных машин.

    Условие: на строительстве здания занято 3 машины (экскаватор и 2 бульдозера), машины периодически ломаются, математические ожидания межремонтного (рабочего) времени равны: для экскаватора – 4 часа, для бульдозера – 6 часов. Машины работают две смены подряд (16 часов). Третья смена используется для профилактики (в случае необходимости в 3-ю смену ведется ремонт). Таким образом, каждый рабочий день машины начинают в исправном состоянии. После каждого отказа машины подвергаются ремонту. Обслуживает машины бригада из двух слесарей (6 и 3 разряд). Продолжительность ремонта – случайная величина, распределенная по экспоненциальному закону, зависит она от типа машины и от состава бригады. Математические ожидания продолжительности ремонта:

    Состав бригады

    Экскаватор

    Бульдозер

    Бульдозер

    Слесарь 3-го разряда

    2 часа

    Не может

    Не может

    Слесарь 6-го разряда

    1 час

    2 часа

    2 часа

    Вместе

    0,25 часа

    1,5 часа

    1,5 часа

    Межремонтное время также распределено по экспоненциальному закону. Простой машин приносит следующие убытки: экскаватор – 5000 рублей/час, бульдозер – 3000 рублей/час. Работа машин приносит следующий доход – экскаватор – 5000 рублей/час, бульдозер – 3000 рублей/час. Слесарь 6-го разряда получает 1000 рублей/час за ремонт, слесарь 3-го разряда получает 600 рублей/час. Накладные расходы на бригаду – 500 рублей/час. Требуется определить экономическую целесообразность увольнения слесаря 3-го разряда.

  • Вариант №6

    1. Задан массив A из N элементов.  Сформировать массив B,  coдержащий только те элементы массива A, значение которых больше заданного числа X. Значения X, N и элементы массива A ввести с клавиатуры.
    2. В матрице размерами N*M (N и M не больше 10) определить сумму элементов той строки, где расположен максимальный элемент. Размеры матрицы задать при помощи ввода, а саму матрицу сформировать из случайных чисел в диапазоне от 0 до 100.
    3. Вводится строка произвольного текста. Поменять местами ее первое и последнее слово (слова разделены пробелами)
    4. Вводится строка произвольного текста. Подсчитать количество гласных букв в ней.

     

    Вариант №16

    1. Заданы два массива X и Y из N элементов каждый. Сформировать и вывести на печать массив Z из 2*N элементов, в котором элементы массивов X и Y чередуются.
    2. Сформировать и отпечатать "шахматную" матрицу, т.е. матрицу размерами 8*8, состоящую из нулей и единиц, расположенных в шахматном порядке.
    3. Вводится строка произвольного текста. Удалить из нее все пробелы и вывести, сколько пробелов было удалено.
    4. Вводится строка произвольного текста. Удвоить первое слово.

     

    Вариант №26

    1. В отсортированный массив вставить произвольное число, введенное с клавиатуры, в нужное место.
    2. В целочисленной матрице A размерами N*M вычислить количество элементов, имеющих нечетные значения, в каждой строке. Размеры матрицы задать при помощи ввода, а саму матрицу сформировать из случайных чисел в диапазоне от 0 до 50.
    3. В заданной строке текста удалить части текста, заключённые в скобки.
    4. Вводятся две строки произвольного текста. Найти позицию первого несовпадающего символа или вывести сообщение о том, что строки равны.
    5. В текстовый файл записать 20 чисел. Программа должна переставить местами первое число с максимальным из чисел чисел (разрешается использовать для этой цели массив в оперативной памяти).
    6. Разработать библиотечный модуль, содержащий следующие подпрограммы (процедуры или функции) для работы со строками:

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

    Б. Заменить в заданной строке все заглавные буквы на строчные.

    В. Удалить все знаки препинания.

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

     

     

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

     

    1. 1.                Найти площадь кольца, внутренний радиус которого равен r, а внешний – заданному числу R (R>r).
    2. 2.                Составьте программу, находящую произведение и результат деления двух обыкновенных дробей.

     

    Задание 2. Программирование ветвящихся алгоритмов.

     

    1. Определить, равен ли квадрат заданного трехзначного числа кубу суммы цифр этого числа.
    2. Дан круг радиуса R. Определить, поместится ли правильный треугольник со стороной а в этом круге.
    3. Дано натуральное число N. Если оно делится на 4, вывести на экран ответ N=4k (где k соответствующее частное); если остаток от деления на 4 равен 1, N=4k+1; если остаток от деления на 4 равен 2, N=4k+2; если остаток от деления на 4 равен 3, N=4k+3.

    Например, 12 - 43, 22 - 45+2.

     

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

     

    1. 1.      Дано натуральное число N. Вычислить:

     

     

    1. 2.      Вычислить: y=cosx+cosx2+cosx3+…+cosxn.

     

    Задание 4. Линейные массивы. Сортировка массивов.

     

    1. 1.      Найти произведение всех элементов массива вещественных чисел, меньших заданного числа. Размерность массива –10. Заполнение массива осуществить случайными числами от 50 до 100.
    2. 2.      Вычислить среднее арифметическое значение тех элементов одномерного массива, которые попадают в интервал от –2 до 10.
    3. 3.      Даны два линейных массива одинаковой размерности. Составить третий массив из произведений элементов первых двух массивов, стоящих на местах с одинаковым индексом.
      1. Задание 1.1.

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

             

    В треугольнике заданы сторона a и углы В и С. Найти площадь S и стороны b и c:

    ;;;

     

    1. Задание 1.2.

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

     

    Дано действительное число А. Вычислить F(А),если

             

    1. Задание 1.3.

    Составить блок-схему алгоритма и программу для вычисления суммы бесконечного сходящегося ряда. Суммирование прекратить при появлении в сумме слагаемых, имеющих абсолютную величину, меньшую заданной погрешности d. Значение d задается при помощи оператора ввода.

     

    (суммировать отдельно слагаемые со знаком + и слагаемые со знаком -.Затем второе значение вычитается из первого)

     

    1. Задание 1.4

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

     

    В заданном массиве К из N элементов найти сумму элементов, имеющих четные номера, и произведение элементов ,имеющих нечетные номера.

     

     

     

     

     

     

  • Выполнить задание на 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

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

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

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

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