- •5. Обзор встроенных типов данных в с#. Применение встроенной функциональности типов данных.
- •6. Пространство имён System. Класс System.Math
- •7.Операции ввода-вывода. Формат вывода.
- •8. Арифметические операции. Операции отношений и логические операции. Операторы и выражения в c# .
- •Операторы
- •9.Массивы в с#. Одномерные массивы.
- •10.Класс System.Random, применение его методов для создания массива случайных чисел. Класс System.Array, использование его методов и свойства Length.
- •11. Двумерныемассивы в c#. Виды двумерных массивов и способы их определения. Способы создания двумерных массивов. Вывод матриц на экран по строкам.
- •12. Структуры в c#. Создание структур. Массивы структур.
- •13.Объект и его свойства. Характеристики ооп.
- •14.Определение классов в c#. Члены класса. Форма определения класса.
- •15.Конструкторы. Параметризованные конструкторы. Создание экземпляра класса. Использование оператора new.
- •16. Типы значений и ссылочные типы. Динамическое использование памяти: стеки и кучи. Упаковка и распаковка.
- •18. Определение методов класса. Модификаторы доступа к методам класса. Параметры методов класса, передача аргументов.
- •19. Модификаторы ref, out, params параметров методов.
- •20.Возвращение методами объектов класса. Возвращение методами массивов Возвращение методами объектов класса
- •Возвращение методами массивов
- •21. Общие (статические) члены класса. Доступ к общим членам. Ограничения на static-методы.
- •22.Цикл «Жизни». Область видимости и время существования переменных.
- •23. Преобразование и приведение типов данных.
11. Двумерныемассивы в c#. Виды двумерных массивов и способы их определения. Способы создания двумерных массивов. Вывод матриц на экран по строкам.
Двумерные массивы. Двумерный массив - это одномерный массив, элементами которого являются одномерные массивы. Другими словами, это набор однотипных данных, имеющий общее имя, доступ к элементам которого осуществляется по двум индексам. Наглядно двумерный массив удобно представлять в виде таблицы, в которой n строк и m столбцов, а под ячейкой таблицы, стоящей в i-й строке и j-м столбце понимают некоторый элемент массива a[i,j].
Рассмотрим простейший многомерный массив – двумерный или прямоугольный. При его объявлении в [ ] через запятую указывается размер массива для каждого измерения. Объявим, например, матрицу 1020 целых чисел:
int [,] Matrix = new int[10,20]; // Создаётся ссылочная переменная двумерного массива
Виды двумерных массивов: прямоугольные и квадратные.
Двумерный квадратный массив - это массив в каждой строке которых одинаковое число столбцов. Он инициализируется так: string [,] (двумерный массив строк). Второй вид - прямоугольные массивы. Каждый ряд этого массива может содержать различное число столбцов. При создании нервных массивов на самом деле формируется массив массивов
Способы создания элементов двумерного массива:
Способ №1. Инициализация элементов массива константами в момент его создания. Список инициализаторов каждой строки нужно заключать в свои фигурные скобки:
int [,] Matr = {
{10, 20, 30, 40},
{-10, -20, -30, -40},
{50, 60, 70, 80}
};
Способ №2. Ввод элементов массива с клавиатуры. (Привести пример самостоятельно.)
Способ №3. Генерация элементов массива случайным образом. (Привести пример самостоятельно.)
Способ №4. Алгоритмическое задание элементов.
Пример: заполним матрицу 34 числами от 1 до 12
using System;
Class Dwumas
{
public static void Main()
{
int i, j;
int [,] Matr1 = new int [3,4];
for (i = 0; i < 3; i + +)
{
for (j = 0; j < 4; j + 4)
{
Matr1 [i,j] = (i*4) + j + 1;
Console. Write(Matr1 [i,j] + “”);
}
Console. WriteLine();
}
}
Вывод матриц на экран по строкам. Реализовать построчный вывод на экран можно с помощью такого вида программного кода:
for (kk = 0; kk < n; kk++) { for (mm = 0; mm < n; mm++) Console.WriteLine(mas[kk, mm] + " "); }
12. Структуры в c#. Создание структур. Массивы структур.
Структуры, как и классы, используются как контейнерные типы данных, т.е. содержат данные разных типов. В отличии от Pascal в структурах есть не только поля(переменные разного типа), а и конструктуры, константы, свойства, методы… т. е. структуры поддерживают основные возможности классов. Структуры во многом схожи с классами.
Но классы - ссылочные типы данных и поэтому только ссылаются на данные, которые в них хранятся.
Структуры хранят действительные значения, поэтому не рекамендуется создавать объемные структуры, с множеством полей. В таком случаи нужно разрабатывать классы.
Объявление структуры: с помощью слова struct Имя { //тело структуры }
Рассмотрим пример использования структуры для хранения информации о книге.
// До Main()
struct Book
{
public string author;
public string title;
public int pages;
public string izdat;
// Создание структуры:
//В Main()
Book book3;
book3. author= "Э. Троелсен";
book3. title= "Язык программирования С# 2005 и платформа .NET";
book3. izdat="Санкт-Питербург - Москва – Киев изд. дом «Вильямс»";
book3. pages=116;
// Метод, который выводит содержимое структуры на экран:
public void Show()
{
Console.WriteLine(“Автор ” + author + “, заголовок “ + title + “, издательство “ + izdat + “, количество страниц ” + pages);
}
// В Main()
Book3. Show();
//Создание массив структур:
int i,n;
Console. WriteLine(“Введите количество книг”) ;
n = Int32. Parse(Console.ReadLine());
Book [ ] mas = new Book [n];
for (i = 0; i < mas. Length; i + +)
{
Console. WriteLine(“Введи информацию об ” + i + “ книге!”);
mas [i]. author = Console.ReadLine();
mas [i]. title = Console.ReadLine();
mas [i]. izdat = Console.ReadLine();
mas [i] . pages = Console.ReadLine();
}
//Содержимое массив структур:
Console. WriteLine(“Содержимое массива:”);
for (i = 0; i < n; i + +)
mas[i]. Show();
Одну структуру можно присваивать другой: book2= book3; При этом создается копия объекта-структуры.
Структуры не могут наследовать другие структуры или классы. Структуры не могут использоваться в качестве базовых для других структур или классов. Однако, подобно другим С#-типам, структуры наследуют класс Оbject . Структура может реализовать один или несколько интерфейсов.