- •Оглавление
- •Введение
- •1 Разработка и реализация алгоритмов на языке с#
- •1.1 Лабораторная работа №1. Циклические программы
- •Код имеет линейную сложность o(n), так как количество итераций циклаК пропорционально введенному числу n.
- •1.2 Лабораторная работа №2. Массивы
- •1.3 Лабораторная работа №3. Функции
- •1.4 Лабораторная работа №4. Обработка текста
- •1.5 Лабораторная работа №5. Структуры
- •1.6 Лабораторная работа №6. Коллекции
- •1.7 Лабораторная работа №7. Основы ооп
- •Заключение
Министерство науки и высшего образования Российской Федерации Федеральное государственное автономное образовательное учреждение высшего образования
«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)
Кафедра комплексной информационной безопасности электронно-вычислительных систем (КИБЭВС)
Отчет по лабораторным работам по дисциплине “Основы программирования”
Студент гр.
________
__.__.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 и выполняются за линейное время.
