Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ОП_отчет.odt_1

.pdf
Скачиваний:
0
Добавлен:
27.06.2025
Размер:
986.72 Кб
Скачать

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

высшего образования «ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ

УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР) Кафедра безопасности информационных систем (БИС)

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

Студент группы 733-1

________ Сметанников Д.Е __.__.2024

Принял Доцент каф. БИС, канд. техн. н.

__________ _______ С. С. Харченко __.__.2024

Томск 2024

 

Оглавление

Введение ...............................................................................................................

3

1 ХОД РАБОТЫ...................................................................................................

4

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

4

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

9

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

16

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

24

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

30

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

32

1.7 Лабораторная работа №7 .............................................................................

45

Заключение .........................................................................................................

50

2

Введение

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

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

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

3

1 ХОД РАБОТЫ

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

Задание 1.1: Для заданного натурального числа n и вещественного x рассчитать сумму: tan^1(x) + tan^2(x) + ... + tan^n(x).

Словесное описание: А0)Начало

А1)Вывод "Введите натуральное число n:" А2)Ввод натурального числа

А3)Пока не преобразование строки в число или n <=0, выполнить А5, иначе А4.

А4)Вывод "Ошибка! Введите корректное натуральное число n:". Возвращение А3.

А5)Вывод "Введите вещественное число x:" А6)Ввод вещественного числа

А7)Пока не преобразование строки в число, выполнить А9, иначе А8. А8)Вывод "Ошибка! Введите корректное вещественное число x:".

Возвращение А6. А9)sum = 0.

А10)Для i от 1 до n с шагом 1, выполнить А11, иначе А12. А11)Счет суммы тангенсов. Возвращение А10. А12)Вывод суммы тангенсов.

А13)Конец.

Согласно условию задачи, графический способ записи алгоритма можно наблюдать на Рисунке 1.1

4

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

5

Ниже представлен исходный код данной программы на языке программирования С sharp.

Console.WriteLine("Введите натуральное число n:"); int n;

while (!int.TryParse(Console.ReadLine(), out n) && n <= 0)

{

Console.WriteLine("Ошибка! Введите корректное натуральное число

n:");

}

Console.WriteLine("Введите вещественное число x:"); double x;

while (!double.TryParse(Console.ReadLine(), out x))

{

Console.WriteLine("Ошибка! Введите корректное вещественное число

x:");

}

double sum = 0;

for (int i = 1; i <= n; i++)

{

sum += Math.Pow(Math.Tan(x), i);

}

Console.WriteLine($"Сумма выражения tan^1(x) + tan^2(x) + ... + tan^{n}

(x) равна: {sum}");

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

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

6

Задание 1.2: Разработать программу вычисляющие произведение чисел = 1 3 5 7 . .., до тех пор, пока сумма не превышает 35725914.

Словесное описание: А0)Начало

А1)multiply = 1; sum = 0; number = 1;

А2)Пока sum <= 35725914, выполнить А3, иначе А4.

А3)multiply *= number; sum += number; number += 2; Возвращаем А2. А4)Вывод произведения.

А5)Вывод суммы. А6)Конец.

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

7

Рисунок 1.3 – Блок-схема алгоритма 1.2 Ниже представлен исходный код данной программы на языке

программирования С sharp: int multiply = 1;

int sum = 0; int number = 1;

while (sum <= 35725914)

{

multiply *= number;

8

sum += number; number += 2;

}

Console.WriteLine($"Произведение: {multiply}"); Console.WriteLine($"Сумма: {sum}");

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

Рисунок 1.4 – Результат работы программы 1.2

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

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

Словесное описание: А0)Начало А1)Создаем массив 5 на 5.

А2)maxElement = array[0] А3)maxIndex = 0

А4)Для i от 1 до array.Length с шагом 1, выполнить А5. Далее А7. А5)Если array[i] > maxElement, то выполнить А6, иначе возвращение

А4.

А6)maxElement = array[i]; maxIndex = i; Возвращение А4. А7)Вывод максимального элемента массива А8)Конец

Б1)firstIndex = -1; secondIndex = -1;

Б2)Для i от 0 до array.Length с шагом 1, выполнить Б3.

9

Б3)Если array[i] == 0, то Б4, иначе возвращение Б2. Б4)Если firstIndex == -1, то Б5, иначе Б6. Б5)firstIndex = i;

Б6)secondIndex = i; break; Б7)double product = 1;

Б8)Если firstIndex не равно -1 или secondIndex не равно -1, то Б9, иначе

Б11.

Б9)Для i от firstIndex + 1 до secondIndex с шагом 1, выполнить Б10, далее Б10.

Б10)product *= array[i];

Б11)Вывод произведения элементов между первым и вторым нулевыми элементами массива.

Б12)Конец

В0)Начало

В1)rearrangedArray = new double[array.Length]; В2)oddIndex = 0; evenIndex = 1;

В3)Для каждого элемента массива, выполнить В4, далее В7. В4)Если oddIndex < array.Length, то В5, иначе В6. В5)rearrangedArray[oddIndex] = element; oddIndex += 2; В6)rearrangedArray[evenIndex] = element; evenIndex += 2; В7)Вывод "Преобразованный массив:".

В8)Для каждого элемента пересобранного массива, выполнить В9. В9)Вывод элемента массива.

В10)Конец Графический способ задания данного алгоритма в виде блок-схемы

представлен на рисунке 1.5.

10

Соседние файлы в предмете Основы программирования