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

Labolatornaya_rabota_2_po_OP

.pdf
Скачиваний:
5
Добавлен:
27.11.2022
Размер:
923.49 Кб
Скачать

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

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

Факультет безопасности (ФБ)

Кафедра безопасности информационных систем (БИС)

ЦИКЛИЧЕСКИЕ ПРОГРАММЫ Отчет по лабораторной работе №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.

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