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

laba2

.pdf
Скачиваний:
4
Добавлен:
29.10.2021
Размер:
767.02 Кб
Скачать

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

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

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

Тема работы: Массивы

Студент гр. 730-2

_______Подойницын К.В.

30.05.2021

Принял Инженер научно-технического отдела ЦСП

_______ Уразаев Д.Р. 30.05.2021

2021

Содержание

Введение……………………………………………………………3

Теоретические сведения по теме лабораторной работы………..4-5

Ход работы…………………………………………………………6-11

Заключение…………………………………………………………12

Список использованных источников……………………………..13

1 Введение

Цель работы: овладеть навыками работы с простыми структурами данных на примере массивов.

Задание: составить консольное приложение для решения нижеприведенных задач согласно варианту, согласованному с преподавателем, вводя данные в ходе выполнения программы.

2 Теоретические сведения по теме лабораторной работы

Массив – это упорядоченный набор величин, принадлежащих одному типу данных, обозначаемых одним именем. Данные, являющиеся элементами массива, располагаются в памяти компьютера в определенном порядке,

который задается индексами (порядковыми номерами элементов массива).

Размерность массива —это количество индексов, необходимое для однозначной адресации элемента в рамках массива. Форма или структура массива — сведения о количестве размерностей и размере массива для каждой из размерностей. Нуль-мерный массив называется скаляром,

одномерный – вектором, двумерный – матрицей. В C# массив, как и любая переменная, должен быть объявлен. Делается это с помощью служебного слова, указывающего тип c квадратными скобками, затем указывается имя массива, ставится знак равенства и ключевые слова new, далее снова указывается тип и в квадратных скобках размерность массива.

3 Ход работы

Задание 1

Дан массив из N элементов (вещественные числа). Вычислить: 1)

максимальный по модулю элемент массива; 2) сумму элементов массива, расположенных между первым и вторым положительными элементами. Преобразовать массив так, чтобы элементы, равные нулю,

располагались после всех остальных.

Описание алгоритма:

А1 Начало А2 Ввод n

А3 Массив из n элементов А4 Для int i = 0; i < n; i++

А5 Ввод i+1 элементов массива А6 float max = float.MinValue

А7 float S = 0

А8 int i = 0; i < n; i++

А9 Если Array[i] > max, то А10

А10 max = Array[i]

А11 Для int i = 0; i < n; i++

А12 Если Array[i] > 0, то А13

А13 Для int x = i; x < n; x++

А14 Если Array[x] <= 0, то А15

А15 S += Array[x]

А16 Для int i = 0; i < n; i++

А17 Если Array[i] == 0, то А18

А18 Для int j = i; j < n - 1; j++

А19 Array[j] = Array[j + 1]

А20 Array[n - 1] = 0

А21 Для int j = 0; j < Array.Length; j++

А22 Вывод Array[j]

А23 Вывод S

А24 Вывод max

Представление алгоритма в виде блок-схемы:

Рисунок 1 – блок-схема

Листинг исходного кода программы:

using System;

using System.Collections.Generic; using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace laba2._1

{

class Program

{

static void Main(string[] args)

{

int n;

Console.WriteLine("Введите размерность массива n = "); n = int.Parse(Console.ReadLine());

float[] Array = new float[n]; for (int i = 0; i < n; i++)

{

Console.Write($"Введите {i + 1} элемент массива: "); Array[i] = float.Parse(Console.ReadLine());

}

float max = float.MinValue; float S = 0;

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

{

if (Array[i] > max)

{

max = Array[i];

}

}

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

{

if (Array[i] > 0)

{

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

{

if (Array[x] <= 0)

{

S += Array[x];

}

}

}

}

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

{

if (Array[i] == 0)

{

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

{

Array[j] = Array[j + 1];

}

Array[n - 1] = 0;

}

}

for (int j = 0; j < Array.Length; j++)

{

Console.Write(Array[j]);

}

Console.WriteLine("\nСумма: {0}", S); Console.WriteLine("Максимальный элемент: {0} ", max);

}

}

}

Рисунок 2 – скриншот работы программы

Программа работает корректно.

Задание 2

Дана матрица 5Х5. Вывести ее в нижнем треугольном виде.

Описание алгоритма:

B1 Начало

B2 Ввод массива a

B3 Ввод матрицы 5x5 aa

B4 n=0

B5 i = 0; i < 5; i++

B6 j = 0; j < 5; j++

B7 Если j <= I, то B8. Иначе B9.

B8 aa[i, j] = a[n++]

B9 aa[i, j] = 0

B10 Вывод aa[i, j]

B11 Остановка

Представление алгоритма в виде блок-схемы:

Рисунок 3 – блок-схема Листинг исходного кода программы:

using System;

using System.Collections.Generic; using System.Linq;

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