Содержание:
Теория
Задания и лабораторные работы
Выполнить: Создайте класс
MyFuncs
и универсальный метод PrintArr
для вывода массива элементов любого типа и любого размера. Для прохода по массиву используйте цикл foreach
. Вызовите метод дважды: первый раз — для целочисленного массива, второй — для массива вещественного типа.
Пример выполнения:
Целочисленный массив: 1 6 2 7 5 Массив вещественных элементов: 1.2 6.4 2.1 7.5
[Название проекта: Lesson_9Lab1
, название файла L9Lab1.cs
]
✍ Алгоритм:
- Создайте консольное приложение с именем
Lesson_9Lab1
. - В окне Обозреватель решений найдите файл
Program.cs
и переименуйте его вL9Lab1.cs
. - Для того, чтобы при вводе и выводе информации в консоль не было бы необходимости постоянно писать название класса
Console
, необходимо включить данный класс в самом начале кода: - Далее, необходимо добавить новый класс. После закрывающейся фигурной скобки класса
L9Lab1
объявите класс с именемMyFuncs
. Для того чтобы сделать его доступным во всех классах и пространствах имен проекта необходимо использовать ключевое словоpublic
:
... using static System.Console; ... |
public static class MyFuncs
{
}
MyFuncs
создайте метод PrintArr
для вывода элементов массива. Сделайте метод доступным, добавив ключевое слово public
:public static PrintArr<T>(this T[] arr) { }
T
используется для вывода массивов любого типа. Ключевое слово this
означает, что мы расширяем этот тип данным методом.PrintArr
добавьте код для вывода элементов массива. Используйте цикл foreach
:foreach (var x in arr) { Console.Write($"{x} "); }
foreach
используется для вывода массива любого размера. Переменная x
принимает значения элементов массива, которые выводятся в консоль. Main()
и объявите одномерный целочисленный массив с именем arr1
и инициализируйте его элементами:static Main(string[] args) { Console.WriteLine("Целочисленный массив:"); [] arr1 = new [] { 1, 6, 2, 7, 5 }; ...
Static
.new
. После чего мы получаем доступ к членам объекта (полям и методам), используя точечную нотацию.PrintArr
метод, используя точечную нотацию: ... arr1.PrintArr(); ...
arr1
— это экземпляр объекта класса массивов.arr2
и присвойте значения элементам массива. Вызовите метод:... Console.WriteLine("Массив вещественных элементов:"); double[] arr2 = { 1.2, 6.4, 2.1, 7.5 }; arr2.PrintArr(); ...
CTRL+F5
).Выполнить: Запустите приложение предыдущей лабораторной работы. Добавьте функцию, которая выводит элементы массива любого типа с четными индексами.
Указание: Создайте функцию PrintEvenIndexes
для вывода элементов массива с четными индексами. Помните, что индексы начинаются с 0. Функцию можно разместить в классе MyFuncs
, она должна быть универсальной (<T>
вспомните теоретический материал об универсальных методах). Не забудьте о служебном слове this
.
Пример выполнения:
Целочисленный массив: 1 6 2 7 5 Элементы с четными индексами: 1 2 5 Массив вещественный: 1,2 6,4 2,1 7,5 8,1 Элементы с четными индексами: 1,2 2,1 8,1
[Название проекта: Lesson_9Task1
, название файла L9Task1.cs
]
Выполнить: Создайте класс с именем
Calculator
и функцию с именем Add
, которая принимает различное количество параметров и выводит их сумму. Используйте цикл foreach
для перебора элементов массива. Вызовите метод трижды: первый раз — с двумя параметрами, второй — с тремя параметрами, третий — с массивом элементов.
Пример выполнения:
результат с двумя параметрами (1, 2): 3 результат с тремя параметрами (1, 2, 3): 6 результат с массивом (1, 2, 3, 4, 5): 15
[Название проекта: Lesson_9Lab2
, название файлов L9Lab2.cs
и Calculator.cs
]
✍ Алгоритм:
- Создайте консольное приложение с именем
Lesson_9Lab2
. Переименуйте файлprogram.cs
вL9Lab2.cs
. - Создадим класс
Calculator
. Добавьте файл класса в проект. Назовите файлCalculator
. - Чтобы сделать класс доступным во всех проектах и пространствах имен, добавьте ключевое
public
.
public class Calculator
{
}
Add
, которое может принимать различное количество аргументов. Также используйте ключевое слово public
:int Add(params [] numbers) { }
Add
с уровнем доступа public возвращает значение типа int
(integer). В качестве параметра метода указано ключевое слово params
(для того, чтобы добавить возможность принимать различное количество аргументов), другим параметром является массив с именем numbers
.sum
и инициализируйте ее значением 0:0;sum =
foreach
для перебора элементов массива и добавления их к переменной sum
:foreach (var number in numbers) { sum += number; }
sum
:
return sum;
L9Lab2.cs
file) в окне Обозреватель решений и в функции Main
создайте экземпляр класса с именем Calculator
:static void Main(string[] args) { calculator = new Calculator(); }
new
. После чего можно использовать точечную нотацию для доступа к методам и свойствам объекта.Add
с двумя параметрами — числами и выведите результат в консоль:Console.WriteLine($"результат с двумя параметрами (1, 2): {calculator.Add(1, 2)}");
CTRL+F5
).Console.WriteLine($"результат с тремя параметрами (1, 2, 3): {calculator.Add(1, 2, 3)}");
Console.WriteLine($"результат с массивом (1, 2, 3, 4, 5): {calculator.Add(new int[]{1,2,3,4,5})}");
Выполнить: Создайте метод (функцию) для нахождения минимума среди целочисленной последовательности и для изменения значения найденного минимального элемента в 0. Вызовите метод дважды: с тремя целыми числами и с целочисленным массивом в качестве параметров. Нельзя использовать стандартную функцию min
.
Указание 1: Create a class named Mimimum
and a function named FindMin
within the class. The function returns an array, that’s why you must use the signature with return type int[]
:
public int[] FindMin(params int[] numbers) |
Указание2: В коде метода необходимо использовать циклы foreach
и for
:
1. Цикл foreach
необходимо использовать для поиска минимума (как найти минимальный элемент: здесь (lab 3), ино используйте цикл foreach
).
2. Цикл for
необходим для поиска значений, которые равны минимальному, и присваиванию им значения 0.
Указание3: Функция возвращает массив, поэтому при вызове функции возвращаемое значение должно быть сохранено в переменную-массив:
int[] result1 = minimum.FindMin(5, 3, 6); foreach (var i in result1) { ... } |
Пример выполнения:
результат с тремя параметрами (5, 3, 6): 5 0 6 результат с целочисленным массивом ( 5, 3, 3, 6, 5 ) : 5 0 0 6 5
[Название проекта: Lesson_9Task2
, название файлов L9Task2.cs
и Minimum.cs
]