Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы ОП.odt
Скачиваний:
0
Добавлен:
23.02.2026
Размер:
3.15 Mб
Скачать

Министерство науки и высшего образования Российской Федерации Федеральное государственное автономное образовательное учреждение высшего образования

«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)

Кафедра комплексной информационной безопасности электронно-вычислительных систем (КИБЭВС)

Отчет по лабораторным работам по дисциплине “Основы программирования”

Студент гр.

________

__.__.2025

Принял

Преподаватель

кафедры КИБЭВС

________ Д.Р. Уразаев

__.__.2025

Оглавление

Введение 3

1 РАЗРАБОТКА И РЕАЛИЗАЦИЯ АЛГОРИТМОВ НА ЯЗЫКЕ С# 4

1.1 Лабораторная работа №1. Циклические программы 4

Код имеет линейную сложность O(N), так как количество итераций циклаК пропорционально введенному числу N. 9

1.2 Лабораторная работа №2. Массивы 9

1.3 Лабораторная работа №3. Функции 16

1.4 Лабораторная работа №4. Обработка текста 23

1.5 Лабораторная работа №5. Структуры 29

1.6 Лабораторная работа №6. Коллекции 34

1.7 Лабораторная работа №7. Основы ООП 39

Заключение 51

Введение

Целью лабораторных работ является получение навыков разработки алгоритмов решения практических задач, их реализация на языке программирования C#, с использованием редактора исходного кода Visual Studio 2022.

Для достижения поставленной цели необходимо выполнить следующие задачи:

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

  • написать программы на языке программирования C#.

1 Разработка и реализация алгоритмов на языке с#

Далее представлен графический способ записи алгоритмов в виде блок-схем к задачам из вариантов, а также их реализация на языке программирования С#.

1.1 Лабораторная работа №1. Циклические программы

Задание 1.1: написать программу, которая выводит квадраты первых десяти целых положительных чисел.

Графический способ задания данного алгоритма в виде блок-схемы представлен на рисунке 1.1.

Рисунок 1.1 — Блок-схема алгоритма задания 1.1

На рисунке 1.2 представлен исходный код данной программы на языке программирования C#.

Р исунок 1.2 — Код программы задания 1.1

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

Рисунок 1.3 — Результат работы программы задания 1.1

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

Задание 1.2: дано целое положительное число N. Найти наименьшее целое положительное число K, которое удовлетворяет условию N: 𝐾4 > 𝑁4 + 𝑁2.

Графический способ задания данного алгоритма в виде блок-схемы представлен на рисунке 1.4.

Рисунок 1.4 — Блок-схема алгоритма задания 1.2

На рисунке 1.5 представлен исходный код данной программы на языке программирования C#.

Р исунок 1.5 — Код программы задания 1.2

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

Рисунок 1.6 — Результат работы программы задания 1.2

Результат работы программы при неправильном значении представлено на рисунке 1.7.

Р исунок 1.7 — Результат работы программы задания 1.2

Код имеет линейную сложность o(n), так как количество итераций циклаК пропорционально введенному числу n.

1.2 Лабораторная работа №2. Массивы

Задание 2.1: дан массив из N элементов (целые числа). Вычислить: 1) сумму элементов массива с четными номерами; 2) произведение элементов массива, расположенных между первым и последним нулевыми элементами. Преобразовать массив так, чтобы сначала располагались все положительные элементы, а потом – все отрицательные (элементы, равные 0, считать положительными).

Графический способ задания данного алгоритма в виде блок-схемы представлен на рисунке 1.8.

Рисунок 1.8 — Блок-схема алгоритма задания 2.1

На рисунке 1.9 представлен исходный код данной программы на языке программирования C#.

Р исунок 1.9 — Код программы задания 2.1

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

Р исунок 1.10 — Результат работы программы задания 2.1

Результат работы программы при неправильном значении представлено на рисунке 1.11.

Р исунок 1.11 — Результат работы программы задания 2.1

Код имеет временную сложность O(N log N) из-за использования сортировки в части преобразования массива. Остальные операции выполняются за линейное время O(N).

Задание 2.2: Составить программу формирования двумерного массива из предложенного одномерного, разделив его на два столбца.

Графический способ задания данного алгоритма в виде блок-схемы представлен на рисунке 1.12.

Рисунок 1.12 — Блок-схема алгоритма задания 2.2

На рисунке 1.13 представлен исходный код данной программы на языке программирования C#.

Р исунок 1.13 — Код программы задания 2.2

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

Рисунок 1.14 — Результат работы программы задания 2.2

Результат работы программы при неправильном значении представлено на рисунке 1.15.

Р исунок 1.15 — Результат работы программы задания 2.2

Код имеет линейную временную сложность O(N), так как все основные операции зависят от размера массива N и выполняются за линейное время.