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

Тип работы: Все Диплом Задача Курсовая работа Лабораторная работа Ответы на вопросы
Язык программирования: Все 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 алгоритмические языки Ассемблер
Блок-схема: Все Есть Нет
Сортировать по умолчанию цене названию
  • Необходимо создать кроссворд в программе visual studio на языке С#

    Необходимо создать кроссворд в программе visual studio на языке С#, используя приложение Winforms. А также создать презентацию (7-10 слайдов) объясняющую работу программы(желательно используя диаграммы с сайта https://creately.com/).

  • Лабораторная, Программирование

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

     Задание

     

    1. Создать консольный проект C#:

     

    2. Разработать программу в соответствие с вариантом.

     

    Вариант 1:

    Lv.

    Задание

    Оценка

    1

    Пользователь вводит N чисел. (N также вводит). Затем пользователю предлагается ввести число K, и программа выводит среднее арифметическое первых K из введенных пользователем чисел. N — целое число меньше 100.

    5

    2

    Добавить вычисление среднеквадратичного отклонения введенных чисел

    6

    3

    Снять ограничение N<100

    7

    4

    Добавить проверки корректности ввода. Запрашивать повторный ввод при некорректно введенных данных.

    8

    5

    Сохранять результаты, время и параметры вычисления (N и K). Должна быть возможность в программе просмотреть историю работы программы. 

    9

    6

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

    10

    7

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

    11

    Лабораторная работа #2

     

    Задания:

    Создать класс, описывающий объекты, приведенные в таблице.

    Разработать программу, создающую несколько объектов этого класса, демонстрирующую их использование.

     

     

    Класс

    поля

    Методы (функции)

    1

    комплексное число

    Действительная часть, мнимая часть

    Сложение, умножение, вывод на экран

    2

    бочка с водой

    Объем воды, максимальный объем

    Наливание воды (возвращает количество успешно налитой воды)

    Сливание воды (возвращает количество слитой воды)

    Возвращающий текущее количество воды

    3

    матрица 2х2

    Массив из четырех чисел

    Вывод на экран, транспонирование

    4

    дата

    День, месяц, год

    Увеличение/уменьшение на заданное количество дней

    5

    время

    Час, минута, секунда

    Увеличение/уменьшение на заданное количество секунд

    Увеличение/уменьшение на заданное количество минут

    6

    лампочка

    Состояние, сопротивление

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

    Если напряжение больше 270 В, состояние лампочки меняется на сгоревшая и в дальнейшем мощность всегда равна 0 независимо от напряжения.

    7

    вектор

    Массив из чисел

    Добавление числа, удаление числа, нахождение максимального элемента.

    8

    идеальный газ

    Объем, температура,

    давление

    Адиабатное сжатие, изобарное нагревание, печать параметров.

    9

    конечный автомат

    (набор состояний и переходов согласуется с преподавателем)

    Номер состояния

     

    Переход в новое состояние

    Печать текущего состояния

    10

    LFSR (Линейный регистр сдвига с обратной связью)

    значение

    Переход в следующее состояние

    вывод значения

    11

    компьютер

    Состояние

    (включен, выключен, ожидание, гибернация)

    Нажатие кнопки включения

    Нажатие кнопки сна

    Нажатие кнопки перехода в гибернацию

    12

    игровой юнит

    Здоровье, уровень

    Атака (отнимает количество здоровья, равное его уровню, у другого юнита, если здоровье этого юнита больше 0. Поднимается на новый уровень, если здоровье другого юнита падает до 0)

    13

    Тамагоччи

    сыт/голоден

    здоров/болен

    жив/мертв

    веселый/грустный

    Кормить, укол, уложить спать, играть.

    14

    JK-триггер

     

    состояние

    Подача сигналов на входы

    Печать значений выходов

    15

    Конденсатор

    Заряд,  емкость

    Изменение емкости, изменение напряжения, изменение заряда, печать параметров

    16

    Взвешенный неориентированный граф

    Массив вершин, массив(ы) ребер

     

    Добавление ребра, добавление вершины, удаление вершины, удаление ребра, проверка наличия связи между вершинами (на «4» - только прямой связи).

    17

    Ориентированный граф

    Массив вершин, массив(ы) ребер

    Добавление ребра, добавление вершины, удаление вершины, удаление ребра, проверка, является ли граф связным (печать сообщения — сильно связный, односторонне связный,  слабо связный, не связный)

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

    Теоретические сведенЗадания:

    1

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

    2

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

    3

    «Нелегальное казино» - эмулятор игрового автомата для азартной игры. В простейшем случае три слота, в которых выскакивают три случайных числа, и в зависимости от комбинации игрок либо выигрывает сколько-то ставок, либо проигрывает ставку. Можно реализовать другую азартную игру (согласовать с преподавателем).

    4

    Графический калькулятор — калькулятор, в который можно ввести выражение, и построить график функции, задаваемой этим выражением.

    5

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

    6

    Программа, иллюстрирующая по шагам решение какой-либо задачи на графе. (например алгоритм Дейкстры, задачу коммивояжера, удаление циклов)

    7

    Простая игра (например сапер, крестики-нолики, взломай сейф и т.п.)

    8

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

    9

    Текстовый редактор с возможностью поиска и замены.

    10

    Матричный калькулятор, реализующий изученные в курсе линейной алгебры операции с матрицами (не обязательно все).

     

    Лабораторная работа №4.

     

    Задание

    Разработайте приложение для Windows Mobile.

    Для дополнительных баллов:

    используйте в своём приложении связь с базой данных (в ней должно быть больше одной таблицы).

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

    Создание веб-сайта на ASP .NET с помощью веб-сервисов.

     

    Задание

    Разработайте веб-сервис (с как минимум тремя функциями) и веб-сайт, который использует функционал этого сервиса.

    Для дополнительных баллов:

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

     

  • Курсовая, Программирование  Тетрис на C#

    Тетрис на C#, от 300 до 600 строк, без xml и сторонних библиотек, со счетом и лучшими игроками

  • -Контрольная, Программирование  C#

    1 задание. Основы создания запросов к коллекциям объектов с помощью LINQ

  • Курсовая, Информатика и программирование1

    Разработка windows-приложения ис для тестирования мед. персонала на c#

    Приложение должно быть десктопным(desktop). На языке C#
    ___________________________
    У приложения должен быть:
    1)вход под своим логином и паролем;
    2)меню с несколькими функциями(справочник МКБ; тесты; создавать новый тест)

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

    По объему курсовой не более 30 стр. (приложения в виде картинок в конце работы не считаются).

  • Лабораторная, Программирование 2

    практическая работа №1 

    «Выполнение программы простой структуры. Вычисление выражений с использованием стандартных функций»

     

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

    1. Для задачи 1 определить тип заданных выражений и найти их значения.

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

    3. Для задачи 2 записать выражение, зависящее от координат точки X1 и Y1 и принимающее значение TRUE, если точка принадлежит заштрихованной области, и FALSE, если не принадлежит.

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

    5. Для задачи 3 вычислить значение выражения, используя различные вещественные типы данных (float и double).

    6. Результаты всех вычислений вывести на печать.

    7. Объяснить полученные результаты.

    практическая работа №2  «Использование основных операторов языка С#»

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

    Решить указанные в варианте задачи, используя основные операторы языка С#. При решении задачи, использовать все типы циклов (for, while, do while).

    4. Дана последовательность из n целых чисел. Найти сумму нечетных элементов этой последовательности.

    26. Дана последовательность целых чисел, за которой следует 0.  Найти максимальный элемент в этой последовательности.

    55.

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

    Для х изменяющегося от a до b с шагом (b-a)/k, где (k=10), вычислить функцию f(x), используя ее разложение в степенной ряд в двух случаях:

    а) для заданного n;

    б) для заданной точности e (e=0.0001).

    Для сравнения найти точное значение функции

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

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

    1. Сформировать массив из n элементов с помощью датчика случайных чисел (n задается пользователем с клавиатуры).
    2. Распечатать массив.
    3. Выполнить удаление указанных элементов из массива.
    4. Выполнить добавление указанных элементов в массив.
    5. Выполнить перестановку элементов в массиве.
    6. Выполнить поиск указанных в массиве элементов и подсчитать количество сравнений, необходимых для поиска нужного элемента.
    7. Выполнить сортировку массива указанным методом.
    8. Выполнить поиск указанных элементов в отсортированном массиве и подсчитать количество сравнений, необходимых для поиска нужного элемента.
  • 1Лабораторная, программирование C#

    Лабораторная работа 2. Работа с числами, датами и текстом

    Цель работы: ознакомиться с базовыми возможностями стандартных числовых, логического, символьного и строкового типов, а также типов DateTime, StringBuilder, Math, Random, Biglntegcr.

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

    Варианты:

    • Получить текущее время и дату в двух разных форматах и вывести на экран количество нулей, единиц,..., девяток в их записи.
    • В заданной строке поменять порядок слов на обратный (слова разделены пробелами).
    • Дана строка, слова которой разделены пробелами. Распознать в ней слова, являющиеся числами в шестнадцатеричной системе счисления, и вывести их десятичный эквивалент.
    • Рассчитать максимальную степень двойки, на которую делится произведение подряд идущих чисел от а до Ь (числа целые 64-битные без знака).
    • Дана строка. Найти в ней все заглавные буквы, не входящие в английский алфавит
    • Реализовать эффективное перемешивание символов строки.
      • Дана строка. Записать номера символов, входящих в нее, в виде шестнадцатеричных чисел через пробелы. Числа должны быть ровно из четырех цифр (возможно, с нулями в начале).
      • С помощью класса DatcTimc вывести на консоль названия месяцев на французском языке. По желанию обобщить на случай, когда язык задается с клавиатуры.
      • Сгенерировать равновероятно случайную строку длиной не более четырех строчных английских букв.
      • Дана строка, содержащая число с десятичной точкой. Преобразовать эту строку в число действительного типа (не пользуясь стандартным Parse.TryParse).
      • Дана строка, слова в которой разделены пробелами. Есть знаки препинания, которые записаны сразу после слова. Добавить перед каждым словом тот знак препинания, который стоит после него.
      • Дана строка, слова в которой разделены пробелами. Вывести все слова, содержащие буквы, не входящие в английский алфавит. Вывод должен быть выровнен по правому краю и иметь ширину самого длинного слова.
      • Дана строка из 256 английских букв. Записать через пробел 30 символов этой строки, стоящих на случайных местах. Желательно сделать только одно обращение к классу Random.
      • Реализовать вычисление параметров треугольника (стороны, углы, периметр, площадь, радиусы вписанной и описанной окружностей, ...) по трем заданным параметрам.
      • Дана строка, состоящая из строчных английских букв. Заменить в ней все буквы, стоящие после гласных, на следующие по алфавиту (z заменяется на а).
      • Лабораторная работа 3. Создание класса на языке C#

        Цель работы: изучить на практике средства реализации инкапсуляции, предоставляемые языком С#, а также общепринятые практики проектирования интерфейса базового класса с учетом возможности наследования.

        Постановка задачи. Необходимо реализовать первый из классов предметной области согласно выбранному варианту. Предусмотреть необходимый набор методов, полей, свойств, конструкторов и индексаторов в реализуемом классе. Реализовать статические элементы класса (например, создание уникального Id), перегрузку методов. Продемонстрировать работу с созданным классом.

        Варианты:

        • Человек - Спортсмен - Специалисты по отдельным видам спорта.
        • Человек - Студент - Студенты отдельных специальностей.
        • Предмет мебели - Шкаф - Виды шкафов (для посуды, для обуви и т. д.).
        • АЛУ - Процессор - Процессоры разных производителей.
        • Транспортное средство - Автомобиль - Автомобили разных марок.
        • Помещение - Жилая комната - Виды комнат (гостиная, спальня, детская и т. д.).
        • Свой вариант.
        • Лабораторная работа 4. Взаимодействие с неуправляемым
          кодом

          Цель работы: научиться реализовывать в коде .NET взаимодействие с неуправляемым кодом; ознакомиться с понятием конвенций вызова.

          Постановка задачи. Необходимо выполнить два задания.

          1)     Написать программу на языке С#, использующую возможности стандартных неуправляемых библиотек Windows. Желательно при этом не писать неуправляемый код самому.

          Варианты:

          • Простое рисование на рабочем столе с помощью GDI
          • Аналог утилизы WinSight (просмотр информации об окнах)
          • Утилита для просмотра информации о компьютере (CPU, RAM, ...)
          • Проигрывание музыкальных файлов с помощью MCI
          • Утилита для записи всех нажатий клавиш (Key logger)
          • Просмотр информации о процессах (упрощенный аналог менеджера задач)
          • Свой вариант

          2)     Написать динамическую библиотеку на неуправляемом коде и программу на С#, использующую ее. Библиотека должна предоставлять функции с различными конвенциями вызова.

        • Лабораторная работа 5. Наследование, полиморфизм,
          структуры, перечисления

          Цель работы: изучить на практике средства реализации наследования и полиморфизма, предоставляемые языком С#, а также общепринятые практики проектирования классов-наследников. Освоить принципы работы с типами-значениями платформы .NET.

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

        • Лабораторная работа 6. Интерфейсы и универсальные
          шаблоны

          Цель работы: изучить принципы обобщенного программирования в .NET; ознакомиться со стандартными шаблонными интерфейсами для преобразования и сравнения объектов.

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

        • Лабораторная работа 7. Преобразование и сравнение объектов,
          перегрузка операций

          Цель работы ознакомиться со стандартными средствами платформы .NET для сравнения объектов на равенство и порядок, а также с общепринятыми практиками реализации таких средств.

          Постановка задачи. Необходимо разработать и протестировать класс для представления рационального числа, т.е. числа вида п/т, где п - целое, т — натуральное число. Реализовать в этом классе перекрытие математических операций и операций сравнения. Реализовать метод для представления объекта класса в виде строки в различных форматах. Реализовать метод для получения объекта класса по строковому представлению из разных форматов (по желанию использовать для этого ретулярные выражения). Реализовать в классе стандартные интерфейсы для проверки двух объектов на равенство и порядкового сравнения. Перекрыть явные или неявные операторы преобразования к типам целых и действительных чисел. Рекомендуется обратить внимание на правильные шаблоны реализации этих методов и операций.

        • Лабораторная работа 8. Делегаты, события, исключительные
          ситуации

          Цель работы: освоить на практике работ}' с более сложными элементами языка С#: делегатами, анонимными методами и лямбда-выражениями, событиями, исключительными ситуациями.

          Постановка задачи. Необходимо дополнить классы, созданные в ходе лабораторных работ 3, 5 и 6, событиями. Тестирование событий выполнить при помощи назначения обработчиков, записанных в форме анонимных методов и лямбда-выражений. Реализовать в методах классов генерацию исключительных ситуаций (в тех случаях, когда что-либо мешает нормальному выполнению операции) и предусмотреть обработку этих исключений в коде, использующем эти классы. По возможности, заменить некоторые из ранее разработанных методов методами, принимающими в качестве параметра делегат.

  • Лабораторная, Программирование C#, программирование

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

     

                                                                    

    Тема: Классы и объекты.

    Цель работы: Рассмотрение классов и работа с экземплярами классов. Рассмотрение основных членов класса. Изучение назначения свойств и конструкторов.

    Задание:

    1)    Создать класс с именем Address.

    В теле класса требуется создать поля: index, country, city, street, house, apartment. Для каждого поля, создать свойство с двумя методами доступа. Создать экземпляр класса Address. В поля экземпляра записать информацию о почтовом адресе. Выведите на экран значения полей, описывающих адрес.

    2)      Создать класс с именем Rectangle.

    В теле класса создать два поля, описывающие длины сторон double side1, side2. Создать пользовательский конструктор Rectangle (double side1, double side2), в теле которого поля side1 и side2 инициализируются значениями аргументов. Создать два метода, вычисляющие площадь прямоугольника -  double AreaCalculator() и периметр прямоугольника -  double PerimeterCalculator() .

    Создать два свойства double Area и double Perimeter с одним методом доступа get. Написать программу, которая принимает от пользователя длины двух сторон прямоугольника и выводит на экран периметр и площадь.

    3)    Создать класс Book.

    Создать классы Title, Author и Content, каждый из которых должен содержать одно строковое поле и метод string Show().

    Реализуйте возможность добавления в книгу названия книги, имени автора и содержания. Выведите на экран при помощи метода Show() название книги, имя автора и содержание.

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

                                                            Структуры.

     

    Тема: Структуры

    Цель работы: Выполнение задание с использованием методов

    Задание:

    1)     Реализовать программу в соответствии с заданием

                                       Лабораторная работа № 2.

     

    ТЕМА: Разработка простейших классов.

     

    ЦЕЛЬ РАБОТЫ: Освоить все необходимые приёмы для разработки простейших классов в среде Microsoft Visual Studio 2008.

     

    ОБЩАЯ ЧАСТЬ ЗАДАНИЯ: Разработать класс в соответствии с вариантом задания.Каждый разрабатываемый класс должен содержать следующие элементы: скрытые поля, конструкторы с параметрами и без параметров, методы, свойства. Методы и свойства должны обеспечивать  непротиворечивый, полный, минимальный и удобный интерфейс класса. При возникновении ошибок должны выбрасываться исключения. В программе должна выполняться проверка всех разработанных элементов класса.

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

    Лабораторная работа № 3.

     

    ТЕМА: Разработка классов и операций.

     

    ЦЕЛЬ РАБОТЫ: Освоить все необходимые приёмы для разработки классов и операций в среде Microsoft Visual Studio 2008.

     

    ОБЩАЯ ЧАСТЬ ЗАДАНИЯ: Каждый разрабатываемый класс должен, как правило, содержать следующие элементы: скрытые поля, конструкторы с параметрами и без параметров, методы; свойства, индексаторы; перегруженные операции. Функциональные элементы класса должны обеспечивать непротиворечивый, полный, минимальный и удобный  нтерфейс класса. При возникновении ошибок должны выбрасываться исключения. В программе должна выполняться проверка всех разработанных элементов класса.

     

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

     

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

                                                                    "Наследование"

     

    Тема: Наследование.

    Цель работы: Знакомство с механизмом наследования в языке C#

    Задание:

    2)     Выполнить пример, приведенный в разделе Выполнение работы.

    3)     Выполнить задание в соответствие с вариантом заданий, приведенный в разделе Варианты.

     

    Создать абстрактный класс Currency для работы с денежными суммами. Определить в нем методы перевода в рубли и вывода на экран. На его основе реализовать классы Dollar, Euro и Pound (фунт стерлингов) с возможностью пересчета в центы и пенсы соответственно.

    Создать класс Purse (кошелек), содержащий массив/параметризованную коллекцию объектов этих классов в динамической памяти. Предусмотреть возможность вывода  общей суммы, переведенной в рубли, и суммы по каждой из валют. Написать демонстрационную программу, в которой будут использоваться все методы классов.

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

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

    Тема: Механизм наследования. Использование защищенного доступа.

    Цель работы: Научиться создавать абстрактные типы данных на языке С#.

    Задание: Написать программу на языке С# для решения поставленной задачи (см. варианты заданий).

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

                               "Множественное наследование и интерфейсы"

     

    Тема: Множественное наследование и интерфейсы

    Цель работы: Знакомство с понятием «интерфейс» в языке C#

    Задание:

    4)     Модифицировать программу, созданную во время выполнения лабораторной работы № 3 в соответствии с заданием, изложенным в пункте «Выполнение задачи».

     

     

     

  • Лабораторная, Программирование и алгоритмизация С#

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

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

    1. Работа с одномерными массивами:

    а). - вывод элементов массива;

    -        найти Max, Min элементы (вывести номер и значение элемента);

    -        выполнить прямую и обратную сортировку;

    -        заполнить новый массив четными элементами из исходного.

    б), использовать свойств и методов класса System.Array

    -        вывод элементов массива;

    -        найти Max, Min элементы;

    -        выполнить прямую и обратную сортировку;

    -        заполнить новый массив четными элементами из исходного.

    1. Работа с двухмерными массивами:

    -        вывод элементов массива;

    -        найти Max, Min элементы (вывести номер и значение)

    -        выполнить произведение, сумму, разность 2-х массивов.

    1. Работа со “ступенчатыми” массивами:

    -        вывод элементов массива;

    -        изменить элементы массива; найти Max, Min элементы.

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

    Предусмотреть вводданных массивов:

    1). с клавиатуры, 2). из файла. (Приложение: Console)

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

    Написать программу для работы с БД “Студенты”:

    Структура БД:

    -     № (номер записи - элемента)

    -     ФИО студента

    -     Дата рождения (день, месяц, год)

    -     Институт

    -     Группа

    -Курс

    -     Средний балл.

    Работа БД:

    □       добавление, изменение, удаление записи (элемента) БД

    □       прямая и обратная сортировка по полям: ФИО, Дата рождения

    □       поиск элемента по полям: ФИО, Дата рождения

    □     нахождение Max, Min, среднего значения и суммы по полю: Средний балл.

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

    Данные БД хранятся в файле. (Приложение: Console)


  • Общие требования:

    1)  Код приложения должен быть отформатирован в едином стиле и соответствовать соглашению об именовании Microsoft.

    Задания

    Максимальное количество баллов за всё домашнее задание – 5:

    • 4.5 в сумме за выполнение всех заданий
    • 0.5 за стиль кода и соответствие правилам именования Microsoft.

     

    Задание 1:

    1 балл

    В кругу стоят N человек, пронумерованных от 1 до N. При ведении счета по кругу вычеркивается каждый второй человек, пока не останется один.

    Составить программу, моделирующую данный процесс двумя способами:

    1. используя класс List<T>
    2. используя класс LinkedList<T>

    При использовании LinkedList<T> запрещается обращаться к элементам напрямую по индексу. Для List<T> и LinkedList<T> реализовать общий метод, удаляющий ненужные элементы, который может работать с объектами обоих типов.

    Задание 2:

    2 балла

    На базе обычного массива (коллекции .NET не использовать) реализовать свой собственный класс DynamicArray, представляющий собой динамический массив. Элементами данного массива могут быть только объекты, имеющие конструктор без параметров. Память под содержимое массива должна выделяться по мере необходимости (описано ниже).

    • Ёмкость массива – количество элементов, под которые уже выделена память
    • Длина массива – количество элеметов, фактически содержащихся в массиве.

    Класс должен содержать:

    1. Конструктор без параметров (создается массив емкостью 8 элементов)
    2. Конструктор с 1 целочисленным параметром (создается массив заданной емкости)
    3. Конструктор, который в качестве параметра принимает массив (его содержимое копируется)
    4. Метод Add, добавляющий в конец массива один элемент. При нехватке места для добавления элемента емкость массива должна увеличиваться в 2 раза
    5. Метод AddRange, добавляющий в конец массива содержимое переданного массива. Обратите внимание на то, что метод должен изменять емкость текущего массива только один раз, вне зависимости от числа элементов добавляемой коллекции
    6. Метод Remove, удаляющий из коллекции указанный элемент. Метод должен возвращать true, если удаление прошло успешно и false в противном случае. При удалении элементов емкость массива не должна уменьшаться
    7. Метод Insert, позволяющий добавить элемент в произвольную позицию массива (обратите внимание, может потребоваться расширить массив). При выходе за границу массива должно генерироваться исключение ArgumentOutOfRangeException
    8. Свойство Length – получение длины массива
    9. Свойство Capacity – получение ёмкости массива
    10. Индексатор, позволяющий работать с элементом с указанным номером. При выходе за границу массива должно генерироваться исключение ArgumentOutOfRangeException
    11. Метод Sort, который принимает делегат описывающий условие сравнения элементов

    Задание 3:

    1 балл

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

    Пример

    Разделить 6 игроков по парам для игры в настольный теннис:

    Имя

    Мастерство (макс. 10)

    Игрок 1

    8

    Игрок 2

    6

    Игрок 3

    5

    Игрок 4

    4

    Игрок 5

    9

    Игрок 6

    7

    Ожидаемые пары: 5 (9) + 4 (4), 1 (8) + 3 (5), 2 (6) + 6 (7)

     

    Для хранения игроков нужно использовать класс DynamicArray из предыдущего задания. Добавьте в него метод Split, который будет в качестве параметра принимать делегат с критерием, по которому нужно делить игроков. Если игроков нельзя поделить на равные по количеству команды, программа должна сообщить об этом.

    Задание 4:

    0.5 балла

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

  • Общие требования:

    1)  Код приложения должен быть отформатирован в едином стиле и соответствовать соглашению об именовании Microsoft.

    Задания

    Максимальное количество баллов за всё домашнее задание – 5:

    • 4.5 в сумме за выполнение всех заданий
    • 0.5 за стиль кода и соответствие правилам именования Microsoft.

     

    Задание 1:

    0.5 балла

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

     

    Задание 2:

    1.5 балла

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

    Должны поддерживаться следующие функции:

    1. Реализовать поиск по директории. Вывести пути до файлов, с введенным именем
      1. Пример 1:

    Для данной иерархии:

                 

    ввели “file.doc”, получим “D:/Documents/file.doc, D:/file.doc

    Дополнительно добавить поддержку поиска пути по маске, где символ ‘*’ означает любое количество любых символов, кроме символов пустой строки.

    1. Пример 2: ввели “*doc*”, получим “D:/Documents/, D:/Documents/file.doc, D:/Docs/, D:/file.doc
    2. Пример 3: ввели “*doc”, получим только “D:/file.doc
    3. Top-5 файлов с самым большим размером
    4. Средний размер файла в указанной директории или любой ее поддиректории
    5. Количество файлов и папок разбитое по первым буквам алфавита (например на букву A – начинается 100 000 файлов и 200 папок)

    Задание 3:

    1.5 балла

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

    Принцип работы программы:

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

    Возможностью изменения файлов в момент, когда программа не находится в режиме отслеживания изменений пренебречь.

    Задание 4:

    1 балл

    Добавьте для иерархии объектов из задания к теме 2 возможность сериализации/десериализации в json и xml. Все численные поля классов не должны подвергаться этой процедуре. Предоставьте тестовый код, в котором вы создаете несколько экземпляров различных классов этой иерархии и успешно выполняете операции сериализации и десереализации.

  • Решение задач, Информатика С#

    Задача 14. По каждому цеху предприятия имеются плановые и фактические показатели выпуска товарной продукции. Количество цехов не превышает 16. Для отдельных цехов и по предприятию в целом подсчитать средний процент выполнения плана, а также определить количество цехов, выполнивших план менее чем на 100%, 120%, 140%, 200%. Результат распечатать в виде двух таблиц:

    Таблица 1.

    Сведения о цехах, выполнивших план не более чем на .... процентов

     

    Выпуск товарной продукции (тыс. руб.)

    Процент выполнения

    цеха

    план

    факт

     плана

    ?

    ццц.ц

    цццц.ц

    ?

    итого:

    ?

    ?

    ?

     

    Таблица 2.

    Число цехов, выполнивших план менее чем на:

    100%

    120%

    140%

    200% и более

     

     

     

     

     

    Указания: Заполнить исходную таблицу и отсортировать ее по возрастанию процента выполнения плана. Заполнить таблицу 2. После этого в цикле, пока не откажется пользователь

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

    Задание 1. Дана целочисленная последовательность, длиной 15 элементов, содержащая как положительные, так и отрицательные числа. Вывести: Максимальный элемент среди отрицательных элементов

    Задание 2. Дана последовательность строк, состоящая из 10 элементов. Вывести: Вывести строки длиной более 5-ти символов или сообщение, что таких строк нет

    Задание 3. Дана строковая последовательность, состоящая из 10 элементов вывести: Вывести минимальную длину строки

    Задание 4. Дана целочисленная последовательность, длиной 15 элементов, содержащая как положительные, так и отрицательные числа.

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

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

    Сортировка

    Сортировка по возрастанию выполняется по умолчанию, сортировка по убыванию descending 

    Задание 6. Дана последовательность строк отсортировать последовательность по убыванию длины строки.

    Задание 7. Дана последовательность строк вывести количество строк, в которых 3-я буква «м».

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

    Задание 9. Дана последовательность целых чисел, вывести

    Четные числа увеличенные в два раза

    Задание 10. Аналогично примеру выше (последовательности по 15 элементов) вывести

    Четные элементы строковой последовательности

     

     

     

     

     

     

  • Лабораторная, программирование на С# 1

    Задачи на лабораторную работу №1

    Линейные алгоритмы

    Написать программу, которая генерирует в указанных пользователем границах

    • · случайное целое число,
    • · случайное вещественное число,

     · случайный символ. Для каждого из трех случаев пользователь задает свои границы диапазона. Например, если надо получить случайный символ от 'a' до 'f', то вводятся эти символы. Программа должна вывести на экран любой символ алфавита от 'a' до 'f' включительно.

     Ветвление

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

    Вложенные циклы

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

    Массивы и матрицы

     Найти максимальный элемент среди минимальных элементов столбцов матрицы.

    Работа со строками

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

    Работа с классами

     1) Напишите класс, реализующий работу стека LIFO, соответственно над экземплярами данного класса должно быть, возможно, произведение операций – помещения в стек и извлечение из стека, а также возможность вывода данного стека для отображения его содержимого. 2) Напишите класс, который позволяет создавать аккаунты с разным уровнем привилегий (3 уровня) · реализуйте в классе подсчет созданных аккаунтов с разными уровнями привилегий · реализуйте перегрузку позволяющую объединять аккаунты, в качестве назначаемого значения поля или свойства выбирается большее

  • Контрольная, Визуальное программирование, программирование

    Кодирование информации методом хаффмана на c#

  • Написать программы и отчет 1

    Тема 1. Двоичные деревья
    Задание. Построение и обработка двоичных деревьев поиска. Реализовать программу, выполняющую следующий набор операций с деревьями поиска:
    поиск вершины с заданным значением ключа с выводом счетчика числа появлений данного ключа
    добавление новой вершины в соответствии со значением ее ключа или увеличение счетчика числа появлений
    построчный вывод дерева в наглядном виде на основе процедур обхода:
    - в прямом порядке;
    - с помощью обратно-симметричного обхода.
    Тема 2. Организация поиска в массиве данных при помощи специальных методов поиска.
    Задание. Реализовать программно метод хеш-поиска с разрешением конфликтов методом цепочек.
    Тема 3. Сортировка данных
    Задание 1. Реализовать программу, реализующую простейший метод сортировки массивов:
    сортировку вставками
    сортировку обменом (метод пузырька)
    Задание 2. Оформить программу, реализующую метод быстрой сортировки массивов.
    Метод реализуется в виде подпрограммы. Исходный массив должен обрабатываться подпрограммой сортировки с подсчетом и выводом фактического числа выполненных сравнений и пересылок. Выполнить сортировку нескольких массивов с разным числом элементов (10, 100, 1000, 10000).

  • Лабораторная, Технология разработки программного обеспечения, программирование, си-шарп

     

    Лабораторная работа 2

    Задача

    По известному радиусу вычислить объем и площадь поверхности шара.

    Лабораторная работа 3

    Задача

    Вычислить периметр и площадь прямоугольного треугольника по заданным длинам двух катетов a и b.

    Лабораторная работа 4

     Задача 1

    Про табулируйте функцию, результаты вывести в TextBox.

    Функция

    Границы

    Задача 2

    Задача 3

     

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

    Задача 1

    Дан массив целых чисел из n элементов, заполненный случайным образом числами из промежутка [-20,50]. Удалить из него все элементы, в записи которых есть цифра 5.

    2. Заменить элементы массива между минимальным и максимальным на те же элементы в обратном порядке

    3. Из элементов массива P сформировать массив M той же размерности по правилу: первый и последний элементы равны нулю, а все остальные по формуле Mi=-Pi*(i+1).

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

    Задача

    Дан текст в файле. Преобразовать его, удалив каждый символ «*».

  • Создать калькулятор, аналогичный калькулятору Windows (вид: а)
    обычный; б) инженерный)

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

  • Контрольная, Программирование 14 заданий

    Задание 1. Вычисления

     

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

    Даны два неотрицательных числа a и b. Найти их среднее геометрическое, то есть квадратный корень из их произведения: a⋅b.

     

    Математический метод решения

    s=

    Алгоритм решения

    1) Объявление переменных a,b,s;

    2) Ввод значений переменных a, b;

    3) Вычисление s;

    4) Вывод значение переменной s.

    Задание 2. Целые числа

     

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

    Дано двузначное число. Вывести вначале его левую цифру (десятки), а затем — его правую цифру (единицы). Для нахождения десятков использовать операцию деления нацело, для нахождения единиц — операцию взятия остатка от деления

    Задание 3. Логические выражения

     

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

    Даны два целых числа: A, B. Проверить истинность высказывания: «Числа A и B имеют одинаковую четность».

    Задание 4. Оператор if

     

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

    Даны два числа. Вывести большее из них.

     

    Задание 5. Оператор цикла for

     

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

    Дано целое число N (> 0). Найти сумму 1 + 1/2 + 1/3 + … + 1/N (вещественное число).

    Задание 6. Оператор цикла for

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

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

    Задание 7. Функции

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

    Описать процедуру DigitCountSum(K, C, S), находящую количество C цифр целого положительного числа K, а также их сумму S (K — входной, C и S — выходные параметры целого типа). С помощью этой процедуры найти количество и сумму цифр для каждого из пяти данных целых чисел.

    Задание 8. Минимумы и максимумы

     

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

    Дано целое число N и набор из N целых чисел. Найти номера первого минимального и последнего максимального элемента из данного набора и вывести их в указанном порядке.

    Задание 9. Одномерные массивы

     

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

    Даны целые числа N (> 2), A и B. Сформировать и вывести целочисленный массив размера N, первый элемент которого равен A, второй равен B, а каждый последующий элемент равен сумме всех предыдущих. Дан массив размера N. Вывести его элементы в обратном порядке.

     

    Задание 10. Одномерные массивы. Исследование элементов

     

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

    Дан массив размера N и целые числа K и L (1 < K ≤ L ≤ N). Найти среднее арифметическое всех элементов массива, кроме элементов с номерами от K до L включительно.

    Задание 12. Массивы

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

    Дан массив размера N (N — четное число). Поменять местами первую и вторую половины массива

    Алгоритм решения

    1) Объявление переменных  s=0, n;

    2) Ввод значения переменной n;

                   3) Заполняем массив случайными числами и выводим его.

    4) Выполняем обмен a[i] c a[n/2+i] начиная с 1 по по n/2

    5) Выводим измененный массив

    Задание 13

     

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

    Даны целые положительные числа M, N, число Q и набор из N чисел. Сформировать матрицу размера M * N, у которой первая строка совпадает с исходным набором чисел, а элементы каждой следующей строки равны соответствующему элементу предыдущей строки, умноженному на Q (в результате каждый столбец матрицы будет содержать элементы геометрической прогрессии).

    Задание 14. Символы и строки

     

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

    Дан символ C, изображающий цифру или букву (латинскую или русскую). Если C изображает цифру, то вывести строку «digit», если латинскую букву — вывести строку «lat», если русскую — вывести строку «rus»

    Задание 15

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

    Описать рекурсивную функцию Combin1(N, K) целого типа, находящую C(N, K) — число сочетаний из N элементов по K — с помощью рекуррентного соотношения: C(N, 0) = C(N, N) = 1, C(N, K) = C(N – 1, K) + C(N – 1, K – 1) при 0 < K < N. Параметры функции — целые числа; N > 0, 0 ≤ K ≤ N. Дано число N и пять различных значений K. Вывести числа C(N, K) вместе с количеством рекурсивных вызовов функции Combin1, потребовавшихся для их нахождения

     

  • Курсовая по предмету «Алгоритмизация»

    Курсовая по предмету «Алгоритмизация»