Файл: Отчет о выполнении лабораторной работы 16 по дисциплине Основы алгоритмизации и программирования Выполнила студентка.docx

ВУЗ: Не указан

Категория: Отчет по практике

Дисциплина: Не указана

Добавлен: 02.12.2023

Просмотров: 25

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

МИНИСТЕРСТВО ОБРАЗОВАНИЯ КИРОВСКОЙ ОБЛАСТИ

Кировское областное государственное профессиональное

образовательное бюджетное учреждение

«Вятско-Полянский механический техникум»

ОТЧЕТ О ВЫПОЛНЕНИИ

ЛАБОРАТОРНОЙ РАБОТЫ № 16

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

Выполнила студентка

группы 2ИС

В.В. Калинина


Проверил преподаватель

Е.В. Галимова
г. Вятские Поляны

2022 г.


Лабораторная работа №16

Создание и заполнение одномерных массивов.

Цель работы: изучить правила создания одномерных массивов и использование их при решении задач

Задание

Вариант 9

Условие задачи: Дан целочисленный массив размера N. Вывести все содержащиеся в данном массиве нечетные числа в порядке убывания их индексов
Листинг (текст программы):

using System;
namespace _16LR_TAE

{

class Program

{

static void Array(ref int[] A)

{

Random R = new Random();//Элеметами будут рандомные значения

for (int i = 0; i < A.Length; i++) // Будет выполняться, пока не достигнет ограничения

{

A[i] = R.Next(0, 100); //Ограничение для значений элементов массива (Числа до 100)

}

printArray(A);//для вывода массива, обращение к методу printArray

}

static void printArray(int[] A) //метод для вывода элементов массива

{

Console.Write("\nМассив - "); // Вывод всех эдементов массивов на экран поочередно

foreach (int i in A) // Перебор элементов массива

{

Console.Write(i + " ");// выводмассив+пробел

}

Console.WriteLine();

}

static void Nechetn(ref int[] A) // Функция

{

Console.WriteLine("\n\nНечётные числа:\n");// сообщение о выводе нечетных чисел

for (int i = A.Length - 1; i > 0; i--)

{

if (A[i] % 2 != 0)//если элемент массива не делится на 2 без остатка (т.е нечетный если), то..

{

Console.WriteLine($"[{i}] {A[i]}");//..выводим индекс элемента и сам элемент массива

}

}
}

static void Main(string[] args)

{

Console.Write("Введите размерность массива (N): "); // Просьба ввести количество элементов, которые будут содержаться в массивах

int N = Convert.ToInt32(Console.ReadLine()); //Задаем размерность нашему массиву

int[] A = new int[N]; // Создание массива

Array(ref A);

Nechetn(ref A);

Console.ReadKey();

}

}

}








Рисунок 1 – Работа программы
Ответы на контрольные вопросы

1 Одномерный массив – это фиксированное количество элементов одного и того же типа, объединенных общим именем, где каждый элемент имеет свой номер.

2 Индекс – это определитель элемента в массиве

3 «Какими способами описывают массив в C#?»

ТипДанных[] имя = new ТипДанных[Размер];

4 Ввод элементов в массив осуществляется с помощью индекса. Индекс определяет порядковый номер яйчейки массива в который записываются данные

5 Вывод элементов массива на экран осуществляется с помощью индекса. Индекс определяет порядковый номер яйчейки массива из которой берутся данные для вывода
6 Массив в С# относится к ссылочным типам данных, то есть располагается в динамической области памяти, поэтому создание массива начинается с выделения памяти под его элементы. Массивы имеют тип данных своих элементов. Например массив целочисленных значений имеет тип int




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

8 Цикл foreach отличается от остальных циклов тем, что тело цикла выполняется для каждого элемента контейнера

9 Класс Array — это класс, который наследует свойства от Object, ICollection, IEnumerable, ICloneable, IList, является базовым классом для реализаций языков, поддерживающих массивы

10 Статические методы класса Array:

- Copy – позволяет копировать весь массив или его часть в другой массив.

- IndexOf, LastIndexOf определяют индексы первого и последнего вхождения образца в массив, возвращая – значение -1, если такового вхождения не обнаружено.

- Reverse – выполняет обращение массива, переставляя элементы в обратном порядке. Sort – осуществляет сортировку массива.

- BinarySearch – определяет индекс первого вхождения образца в отсортированный массив, используя алгоритм двоичного поиска