Labolatornaya_rabota_2_po_OP
.pdfМинистерство науки и высшего образования Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования
«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)
Факультет безопасности (ФБ)
Кафедра безопасности информационных систем (БИС)
ЦИКЛИЧЕСКИЕ ПРОГРАММЫ Отчет по лабораторной работе №1
по дисциплине «Основы программирования»
Студент гр. 731-2
__________ А.С.Батаев
__________
Принял Инженер КИБЭВС
__________ __________ Д.Р. Уразаев
__________
Томск 2021
2
Оглавление
1 |
Введение................................................................................................................. |
3 |
2 |
Ход работы............................................................................................................. |
4 |
3 |
Заключение .......................................................................................................... |
13 |
4 |
Список используемой литературы .................................................................... |
14 |
3
1 Введение
Цель работы: овладеть навыками работы с простыми структурами данных на примере массивов.
Задание: составить консольное приложение для решения нижеприведенных задач согласно варианту, согласованному с преподавателем,
вводя данные в ходе выполнения программы. Для выполнения предварительно ознакомьтесь с соответствующими разделами данного пособия.
4
2 Ход работы
2.1 Теоретические сведения
Массив – это структура данных, которая содержит ряд переменных одного типа, доступ к которым осуществляется по индексу. Массивы в С#
могут быть одномерными, многомерными, пустыми, также в С# массивы могут быть зубчатыми (массивы массивов)
Язык программирования C# позволяет представлять два вида массивов:
одномерные массивы;
многомерные массивы.
Вмногомерных массивах различаются двумерные и многомерные прямоугольные массивы. Кроме того, язык программирования C# имеет средства для организации работы с так называемыми ступенчатыми массивами.
2.2 Первое задание
Поставленная задача для варианта 3, выглядит так:
Дан массив из N элементов (целые числа). Вычислить: 1) произведение элементов массива с четными номерами; 2) сумму элементов массива,
расположенных между первым и последним нулевыми элементами.
Преобразовать массив так, чтобы сначала располагались все положительные элементы, а потом – все отрицательные (элементы, равные 0, считать положительными)
Для решения подобной задачи нужно определиться с типом переменных.
Для данной задачи подходит тип int – целочисленный тип данных. Также для этой задачи подходит тип double - тип данных с плавающей запятой двойной точности.
5
Представим выше сказанное на языке алгоритма:
А1. Начало;
А2. Ввод n ;
А3. Nol1=0;
А4. No2=0;
А5. temp=0;
А6. Формируем массив Array[n];
А7. Заполняем массив Array[n];
А8. Для I от 1 до n с шагом 1 выполнять А9, иначе А6
А9. Если I делится на 2 без остатка то А10, иначе А11
А10. Sum+=array[i]; Переход к А8
А11. Для I от 1 до n с шагом 1 выполнять А12, иначе А6
А12. Если array[i] равен нулю то А13, иначе А11
А13. Nol1=I;
А14. I=n;
А15. Для I от n до 0 с шагом -1 выполнять А12, иначе А6
А16. Если array[i] равен нулю то А17, иначе А15
А17. Nol2=I;
А18. I=0;
А19. Для I от nol1 до nol2 с шагом 1 выполнять А20, иначе А21
А20. Ans+=array[i];
А21. Для I от 1 до n с шагом 1 выполнять А22, иначе А27
А22. Для j от i+1 до n с шагом 1 выполнять А23, иначе А27
А23. Если array[i] меньше array[j] то А24, иначе А21
А24. Temp=array[j];
А25. Array[i] = array[j]
А26. Array[j] = temp; Переход к А21
А27. Вывод массива
6
Для решения составим блок-схему. Она представлена на рисунке 2.1.
Рисунок 2.1 – Блок-схема решения задачи
После создания блок-схемы создаѐтся код, выполняющий данный алгоритм действий. Он изображен на рисунке 2.2-2.3.
7
Рисунок 2.2 – Код программы
8
Рисунок 2.3 – Код программы
Проверка корректности написания при запуске и вводе переменных представлена на рисунке 2.3.
Рисунок 2.3 – Проверка корректности кода при случайных значениях
9
2.3 Вторая задача
Поставленная задача для варианта 3, выглядит так: Дана матрица 5Х5.
Построить одномерный массив В (5), состоящий из произведений элементов столбцов.
Для решения подобной задачи нужно определиться с типом переменных.
Для данной задачи подходит тип int – целочисленный тип данных. Также мне понадобилось ввести 3 переменных. Представим алгоритм:
А1. Начало;
А2. Формируем массив dMass[5,5];
А3. Заполняем массив dMass[5,5] случайными числами;
А4. Выводим массив dMass[5,5]
А5. Формируем массив oMass[5];
А6. Заполняем массив oMass[5] единицами;
А7. Для z от 1 до 5 с шагом 1 выполнять А8, иначе А12
А8. Для i от 1 до 5 с шагом 1 выполнять А9, иначе А12 A9. Для j от 1 до 5 с шагом 1 выполнять А10, иначе А12
А10. Если j равно z то А11, иначе А7
А11. oMass[j]*=dMass[I,z]; Переход к А7
А12. Выводим массив оMass[5,5]
Для решения составим блок-схему. Она представлена на рисунке 2.4.
10
Рисунок 2.4 – Блок-схема решения задачи
После создания блок-схемы создаѐтся код, выполняющий данный алгоритм действий. Он изображен на рисунке 2.5.