Labolatornaya_rabota_3_po_OP
.pdfМинистерство науки и высшего образования Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования
«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)
Факультет безопасности (ФБ)
Кафедра безопасности информационных систем (БИС)
ЦИКЛИЧЕСКИЕ ПРОГРАММЫ Отчет по лабораторной работе №3
по дисциплине «Основы программирования»
Студент гр. 731-2
__________ А.С.Батаев
__________
Принял Инженер КИБЭВС
__________ __________ Д.Р. Уразаев
__________
Томск 2022
2
Оглавление
1 |
Введение................................................................................................................. |
3 |
2 |
Ход работы............................................................................................................. |
4 |
3 |
Заключение .......................................................................................................... |
11 |
4 |
Список используемой литературы .................................................................... |
12 |
3
1 Введение
Цель работы: Овладеть навыками использования функций в программировании и рекурсивным подходом решения задач, понять отличия рекурсивного и итеративного подхода решения задачи.
Задание: составить консольное приложение для решения нижеприведенных задач согласно варианту, согласованному с преподавателем,
вводя данные в ходе выполнения программы. Для выполнения предварительно ознакомьтесь с соответствующими разделами данного пособия.
4
2 Ход работы
2.1 Теоретические сведения
Массив – это структура данных, которая содержит ряд переменных одного типа, доступ к которым осуществляется по индексу. Массивы в С#
могут быть одномерными, многомерными, пустыми, также в С# массивы могут быть зубчатыми (массивы массивов)
Язык программирования C# позволяет представлять два вида массивов:
одномерные массивы;
многомерные массивы.
Вмногомерных массивах различаются двумерные и многомерные прямоугольные массивы. Кроме того, язык программирования C# имеет средства для организации работы с так называемыми ступенчатыми массивами.
2.2 Первое задание
Поставленная задача для варианта 3, выглядит так:
Оформить функцию stepen(x, n) от вещественного х и целого n,
вычисляющую (через последовательное умножение) xn и проверить ее.
Для решения подобной задачи нужно определиться с типом переменных.
Для данной задачи подходит тип int – целочисленный тип данных. Также для этой задачи подходит тип double - тип данных с плавающей запятой двойной точности.
Представим выше сказанное на языке алгоритма:
А1. Начало;
А2. Ввод x, n ;
А3. Вывод функции stepen с аргументами x,n
5
А4.Конец
Б1. Stepen(x,n) ;
Б2. res=1;
Б3. Для I от 0 до Math.Abs(n) с шагом 1 выполнять Б4, иначе Б5
Б4. Res*=x;
Б5. Если n меньше 0 то Б6, иначе Б7
Б6. Res=1/res
Б7. Если n равно 0 то Б8, иначе Б9
Б8. Res=1/res
Б9. Вывод res
Для решения составим блок-схему. Она представлена на рисунке 2.1.
6
Рисунок 2.1 – Блок-схема решения задачи
После создания блок-схемы создаѐтся код, выполняющий данный алгоритм действий. Он изображен на рисунке 2.2-2.3.
7
Рисунок 2.2 – Код программы
Проверка корректности написания при запуске и вводе переменных представлена на рисунке 2.3.
Рисунок 2.3 – Проверка корректности кода
8
2.3 Вторая задача
Поставленная задача для варианта 3, Найти сумму цифр НАТУРАЛЬНОГО числа.
Для решения подобной задачи нужно определиться с типом переменных.
Для данной задачи подходит тип int – целочисленный тип данных. Также мне понадобилось ввести 3 переменных. Представим алгоритм:
А1. Начало;
А2. Ввод natNum ;
А3. Вывод функции NaturNumber с аргументами natNum A4. Конец
Б1. NaturNumber(natNum) ;
Б2. res=0;
Б3. Если natNum.Length не равно 0 то Б4, иначе Б7
Б4. res += Convert.ToInt32(Convert.ToString(natNum[0]));
Б5. natNum = natNum.Substring(1);
Б6. Вызов функции NaturNumber с аргументами natNum
Б7. Вывод res
Для решения составим блок-схему. Она представлена на рисунке 2.4.
9
Рисунок 2.4 – Блок-схема решения задачи
После создания блок-схемы создаѐтся код, выполняющий данный алгоритм действий. Он изображен на рисунке 2.5.
10
Рисунок 2.5 – Код программы
Проверка корректности написания при запуске представлена на рисунке
2.6.
Рисунок 2.6 – Результат работы кода