Skip to content

IglFox/programming-university

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Programming prcatics and labs


Программирование 1семестр (C)

2024


Программирование 2семестр (C)

2024-2025


😋Объектно ориентированное программирование 3семестр (C++)

2025

Лабораторная работа 1 КЛАССЫ

  • Номер 16 -> Задания номер 4 и 16
  1. Необходимо предусмотреть выполнение следующих операций над строками разрабатываемого класса:
  • int Length() – определение длины строки,
  • void Copy(const String str) – скопировать строку str,
  • int Find(char ch, int start) – начиная с индекса start, найти положение символа ch в строке, для которой вызывается метод Find(),
  • int FindLast(char ch) – найти последнее вхождение символа ch,
  • String Substr(int index, int count) – выделение подстроки, начиная с индекса index; count – длина, выделяемой подстроки,
  • void Remove(int index, int count) – удаление подстроки, начиная с индекса index; count – длина удаляемой подстроки.
  • void Insert(char* s, int index) - вставка строки в стиле языка C в строку, для которой вызывается метод Insert; index – позиция, перед которой выполняется вставка.
  • void print() – метод для вывода строки на экран дисплея.

Требования к реализации. Строка должна располагаться в динамической памяти. Поле для хранения информации в классе отсутствует.

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

Ссылка на отчёт - Отчёт | Ссылка на док - Документ) | Папка - Папка


Лабораторная работа 2 ОТНОШЕНИЕ ВКЛЮЧЕНИЯ

  • Номер 16 -> Номер 44

Разработать определения двух класса COne и CTwo, которые связаны отношением включения. Для всех классов требуется написать три вида конструкторов(умолчания, с параметрами и конструктор копирования), деструктор, перегруженный оператор присваивания, методы доступа и метод print(), распечатывающий значения полей объекта. Написать тестовую программу для проверки работоспособности разработанных классов.

Поля разрабатываемых классов считаются заданными:

  • Поля класса COne:
    long l;
    string s;
  • Поля класса CTwo:
    string s;
    COne* p;

Указания по выполнению лабораторной работы.

  1. Возможны следующие варианты организации классов: а) организуется модули отдельно для класса COne и СTwo; б) организуется общий модуль для указанных классов.
  2. При использовании в объявлении полей указателей следует предполагать, что экземпляр класса владеет тем объектом, на который установлен указатель. Например, поле класса COne может быть объявлено следующим образом: char* ps. Это означает, указатель ps должен быть установлен на строку в стиле языка Си. При этом конструктор класса COne должен обеспечить выделение памяти для этой строки и в нее и копирование в эту память внешней строки. Аналогичными соображениями следует руководствоваться в отношении объявления полей вида COne* p.
  3. Тип string реализован с помощью класса стандартной библиотеки языка C++.

Ссылка на отчёт - Отчёт | Ссылка на док - Документ | Папка - Папка


Лабораторная работа 3 ОТНОШЕНИЕ НАСЛЕДОВАНИЯ

Дополнить систему, состоящую из двух классов COne и CTwo, которые были разработаны в лабораторной работе 2, новым классом CThree. Новый класс должен быть связан public наследованием с классом CTwo. Класс CThree должен имеет одно поля, которое выбирается студентом самостоятельно. Для разрабатываемого класса написать конструкторы умолчания, с параметрами и конструктор копирования, деструктор, методы доступа и метод print(). Написать тестовую программу для проверки работоспособности разработанных классов.

Ссылка на отчёт - Отчёт | Ссылка на док - Документ | Папка - Папка


Лабораторная работа 4 ВИРТУАЛЬНЫЕ ФУНКЦИИ

Дополнить систему, состоящую из трех классов COne, CTwo и CThree, которые были разработаны в лабораторной работе 3, новым классом CFour. Новый класс должен быть связан public наследованием с классом CThree. Класс CFour должен иметь одно поля, которое выбирается студентом самостоятельно. Для разрабатываемого класса написать конструкторы умолчания, с параметрами и конструктор копирования, деструктор, методы доступа и метод print(). Метод print() в классах CTwo, CThree и CFour должен быть виртуальным. Написать тестовую программу для проверки работоспособности разработанных классов. Разработать глобальную функцию printAll(), имеющую два параметра: массив указателей типа CTwo* и количество элементов в этом массиве int n.

В тестовой программе массив указателей должен быть инициализирован адресами объектов типа CTwo, CThree и CFour.

Ссылка на отчёт - Отчёт | Ссылка на док - Документ | Папка - Папка


Лабораторная работа 5 ШАБЛОНЫ КЛАССОВ

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

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

добавить варианты 2 залачи

ф

Ссылка на отчёт - Отчёт | Ссылка на док - Документ | Папка - Папка


Лабораторная работа 6 СОЗДАНИЕ ПРОЕКТА С GUI С ИСПОЛЬЗОВАНИЕМ QT

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

  • В приложении должно быть предусмотрено меню и панель инструментов. Ниже сформулирован ряд задач. Предлагаемые задачи достаточно просты, что позволяет сосредоточить внимание на вопросах организации интерфейса.

В настоящей лабораторной работе предлагаются две группы задач.

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

добавить задачт

a

Ссылка на отчёт - Отчёт | Ссылка на док - Документ | Папка - Папка


🥸Машинно зависимые языки программирования (Assembley + C)

Лабораторная работа 1 ВЫЧИСЛЕНИЕ ЦЕЛОЧИСЛЕННЫХ АРИФМЕТИЧЕСКИХ ВЫРАЖЕНИЙ

Вычислить заданное целочисленное выражение для исходных данных в знаковых и беззнаковых форматах длиной 8 и 16 бит: signed char, unsigned short int, используя арифметические операции ADD, ADC, INC, SUB, SBB, DEC, NEG, MUL, IMUL, DIV, IDIV, CBW, CWD.

  1. Программа создается в двух вариантах – для 8 и 16 бит входных данных.
  2. Программа выполняется в виде двух модулей:
    • модуль на языке Си – содержит главную функцию, обработку ввода данных, выполнение вычислений и вывода результата. Выполнение вычислений из двух частей: вычисление на языке Си, и вызов асемблерной функции;
    • модуль на языке Асемблера – вычисление арифметического выражения.
  3. При выполнении вычисления отдельно вычисляются и выводятся на экран три значения: числитель, знаменатель и результат.
  4. Вычисления на Си выполняются для сравнения результата с Ассемблерным кодом для самоконтроля.
  5. Исходные значения переменных вводятся пользователем с клавиатуры. Они должны быть максимально приближены к максимально-возможным для тех типов данных, с которыми решается задача.
  6. Размер и тип числителя, знаменателя и результата зависит от заданного выражения.
  7. Обмен данными между Си и ASM - модулем должен осуществляться через глобальные переменные, определенные в модуле Си.

Порядок работы:

  1. Для каждого из перечисленных 2 типов данных написать ASM - модули вычисления арифметического выражения;
  2. Вызовы этих модулей должны осуществляться из модулей, написанных на языке Си, в которых должен осуществляться ввод исходных данных и вывод результатов.
  3. Модули на языке Си должны обеспечивать вычисление данного выражения на языке Си для проверки результатов и вызов ASM - модуля для вычисления заданного выражения.
  4. Программа на языке Си должна вывести на экран числитель, знаменатель и результат вычисления на языке Си, а также числитель, знаменатель и результат вычисления на языке ASM.

TROUBLES

Фикс русского языка

  • Добавить в начале:
setlocale(LC_ALL, "ru_RU.UTF-8");

About

Practicss and Labs from univeristy

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published