🗊Презентация Массивы в C#. Лекция 6

Нажмите для полного просмотра!
Массивы в C#. Лекция 6, слайд №1Массивы в C#. Лекция 6, слайд №2Массивы в C#. Лекция 6, слайд №3Массивы в C#. Лекция 6, слайд №4Массивы в C#. Лекция 6, слайд №5Массивы в C#. Лекция 6, слайд №6Массивы в C#. Лекция 6, слайд №7Массивы в C#. Лекция 6, слайд №8Массивы в C#. Лекция 6, слайд №9Массивы в C#. Лекция 6, слайд №10Массивы в C#. Лекция 6, слайд №11Массивы в C#. Лекция 6, слайд №12Массивы в C#. Лекция 6, слайд №13Массивы в C#. Лекция 6, слайд №14Массивы в C#. Лекция 6, слайд №15Массивы в C#. Лекция 6, слайд №16Массивы в C#. Лекция 6, слайд №17Массивы в C#. Лекция 6, слайд №18Массивы в C#. Лекция 6, слайд №19Массивы в C#. Лекция 6, слайд №20Массивы в C#. Лекция 6, слайд №21Массивы в C#. Лекция 6, слайд №22Массивы в C#. Лекция 6, слайд №23Массивы в C#. Лекция 6, слайд №24Массивы в C#. Лекция 6, слайд №25Массивы в C#. Лекция 6, слайд №26Массивы в C#. Лекция 6, слайд №27Массивы в C#. Лекция 6, слайд №28

Содержание

Вы можете ознакомиться и скачать презентацию на тему Массивы в C#. Лекция 6. Доклад-сообщение содержит 28 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Массивы в C#
Описание слайда:
Массивы в C#

Слайд 2





Различные классификации типов данных
Описание слайда:
Различные классификации типов данных

Слайд 3


Массивы в C#. Лекция 6, слайд №3
Описание слайда:

Слайд 4






Массивы

 Массив — ограниченная совокупность однотипных величин
 Элементы массива имеют одно и то же имя, а различаются по порядковому номеру (индексу)
Описание слайда:
Массивы Массив — ограниченная совокупность однотипных величин Элементы массива имеют одно и то же имя, а различаются по порядковому номеру (индексу)

Слайд 5





Массивы в C#
В языке C# каждый индекс массива изменяется в диапазоне от 0 до некоторого конечного значения. Массивы в языке C# являются настоящими динамическими массивами. Как следствие этого, массивы относятся к ссылочным типам, память им отводится динамически в "куче". Массивы могут быть одномерными и многомерными.
Описание слайда:
Массивы в C# В языке C# каждый индекс массива изменяется в диапазоне от 0 до некоторого конечного значения. Массивы в языке C# являются настоящими динамическими массивами. Как следствие этого, массивы относятся к ссылочным типам, память им отводится динамически в "куче". Массивы могут быть одномерными и многомерными.

Слайд 6





Объявление одномерного массива 
<тип>[] <объявители>;
каждый объявитель может быть именем или именем с инициализацией.
Объявление массива:
с инициализацией
с отложенной инициализацией
Описание слайда:
Объявление одномерного массива <тип>[] <объявители>; каждый объявитель может быть именем или именем с инициализацией. Объявление массива: с инициализацией с отложенной инициализацией

Слайд 7





Объявление одномерного массива
Объявление массива с инициализацией:
Явная инициализация константным массивом
Создание массива с помощью операции new
Пример явной инициализации:
double[] x = {5.5, 6.6, 7.7};
в динамической памяти создаётся константный массив с заданными значениями, с которым и связывается ссылка. 
Пример сознания с помощью операции new:
int[] d = new int[5];
массив создаётся в динамической памяти, его элементы получают начальные нулевые значения, и ссылка связывается с этим массивом.
Описание слайда:
Объявление одномерного массива Объявление массива с инициализацией: Явная инициализация константным массивом Создание массива с помощью операции new Пример явной инициализации: double[] x = {5.5, 6.6, 7.7}; в динамической памяти создаётся константный массив с заданными значениями, с которым и связывается ссылка. Пример сознания с помощью операции new: int[] d = new int[5]; массив создаётся в динамической памяти, его элементы получают начальные нулевые значения, и ссылка связывается с этим массивом.

Слайд 8





Объявление одномерного массива
Объявление с отложенной инициализацией выполняется в 2 этапа:
Объявление массива
Инициализация массива
Описание слайда:
Объявление одномерного массива Объявление с отложенной инициализацией выполняется в 2 этапа: Объявление массива Инициализация массива

Слайд 9





Объявление одномерного массива
Объявление массива
Пример:
int[ ] a;
При объявлении с отложенной инициализацией сам массив не формируется, а создаётся только ссылка на массив, имеющая неопределённое значение Null. Поэтому пока массив не будет реально создан и его элементы инициализированы, использовать его в вычислениях нельзя!!!
Описание слайда:
Объявление одномерного массива Объявление массива Пример: int[ ] a; При объявлении с отложенной инициализацией сам массив не формируется, а создаётся только ссылка на массив, имеющая неопределённое значение Null. Поэтому пока массив не будет реально создан и его элементы инициализированы, использовать его в вычислениях нельзя!!!

Слайд 10





Одномерные массивы 
Варианты описания массива:
тип[] имя;
тип[] имя = new тип [ размерность ];
тип[] имя = { список_инициализаторов };
тип[] имя = new тип [] { список_инициализаторов };
тип[] имя = new тип [ размерность ] { список_инициализаторов };
Примеры описаний (один пример на каждый вариант описания, соответственно):
int[] a;                                                            //  элементов нет
int[] b = new int[4];                                  //  элементы равны 0
int[] c = { 61, 2, 5, -9 };                       //  new подразумевается
int[] d = new int[] { 61, 2, 5, -9 };   // размерность вычисляется
int[] e = new int[4] { 61, 2, 5, -9 };       // избыточное описание
Описание слайда:
Одномерные массивы Варианты описания массива: тип[] имя; тип[] имя = new тип [ размерность ]; тип[] имя = { список_инициализаторов }; тип[] имя = new тип [] { список_инициализаторов }; тип[] имя = new тип [ размерность ] { список_инициализаторов }; Примеры описаний (один пример на каждый вариант описания, соответственно): int[] a; // элементов нет int[] b = new int[4]; // элементы равны 0 int[] c = { 61, 2, 5, -9 }; // new подразумевается int[] d = new int[] { 61, 2, 5, -9 }; // размерность вычисляется int[] e = new int[4] { 61, 2, 5, -9 }; // избыточное описание

Слайд 11





Размерность массива
Количество элементов в массиве (размерность) задается при выделении памяти и не может быть изменена впоследствии. Она может задаваться выражением: 
short n = ...;
string[] z = new string[2*n + 1]; 
Размерность не является частью типа массива. 
Элементы массива нумеруются с нуля.
Для обращения к элементу массива после имени массива указывается номер элемента в квадратных скобках, например:
w[4]        z[i]
С элементом массива можно делать все, что допустимо для переменных того же типа. 
При работе с массивом автоматически выполняется контроль выхода за его границы: если значение индекса выходит за границы массива, генерируется исключение IndexOutOfRangeException.
Описание слайда:
Размерность массива Количество элементов в массиве (размерность) задается при выделении памяти и не может быть изменена впоследствии. Она может задаваться выражением: short n = ...; string[] z = new string[2*n + 1]; Размерность не является частью типа массива. Элементы массива нумеруются с нуля. Для обращения к элементу массива после имени массива указывается номер элемента в квадратных скобках, например: w[4] z[i] С элементом массива можно делать все, что допустимо для переменных того же типа. При работе с массивом автоматически выполняется контроль выхода за его границы: если значение индекса выходит за границы массива, генерируется исключение IndexOutOfRangeException.

Слайд 12





Объявление одномерного массива
Инициализация массива:
Пример:
a = new int[10];
Выражение, задающее границу изменения индексов, в динамическом случае может содержать переменные. Единственное требование – значения переменных должны быть определены в момент объявления! 
Пример:
n=Convert.ToInt32(Textbox1.Text);
a = new int[n];
Описание слайда:
Объявление одномерного массива Инициализация массива: Пример: a = new int[10]; Выражение, задающее границу изменения индексов, в динамическом случае может содержать переменные. Единственное требование – значения переменных должны быть определены в момент объявления! Пример: n=Convert.ToInt32(Textbox1.Text); a = new int[n];

Слайд 13





Пример 1. С клавиатуры ввести элементы массива из 20-ти значений. Вывести элементы массива с указанием для каждого его индекса (порядкового номера в массиве)
Описание слайда:
Пример 1. С клавиатуры ввести элементы массива из 20-ти значений. Вывести элементы массива с указанием для каждого его индекса (порядкового номера в массиве)

Слайд 14





Ввод одномерного массива в Windows Forms
Описание слайда:
Ввод одномерного массива в Windows Forms

Слайд 15





Ввод одномерного массива в Windows Forms
Описание слайда:
Ввод одномерного массива в Windows Forms

Слайд 16





Ввод одномерного массива в Windows Forms
 private void button1_Click(object sender, EventArgs e)
        {
            a[i] = Convert.ToInt32(textBox1.Text);
            i++;
            if (i < 10)
            {   label1.Text = "Элемент " + Convert.ToString(i + 1);
                textBox1.Focus();
            }
            else
            {   button1.Enabled = false;
                label1.Text = "Конец";
            }
 textBox1.Text = "";
        }
Описание слайда:
Ввод одномерного массива в Windows Forms private void button1_Click(object sender, EventArgs e) { a[i] = Convert.ToInt32(textBox1.Text); i++; if (i < 10) { label1.Text = "Элемент " + Convert.ToString(i + 1); textBox1.Focus(); } else { button1.Enabled = false; label1.Text = "Конец"; } textBox1.Text = ""; }

Слайд 17





Вывод одномерного массива
Описание слайда:
Вывод одномерного массива

Слайд 18





Вывод одномерного массива
Первый вариант:
private void button2_Click(object sender, EventArgs e)
        {  listBox1.Items.Clear();
           for(int k=0; k<10; k++)
               listBox1.Items.Add(Convert.ToString(a[k]));
}
Описание слайда:
Вывод одномерного массива Первый вариант: private void button2_Click(object sender, EventArgs e) { listBox1.Items.Clear(); for(int k=0; k<10; k++) listBox1.Items.Add(Convert.ToString(a[k])); }

Слайд 19





Вывод одномерного массива
Новый оператор цикла:
foreach(тип идентификатор in массив) оператор
Цикл работает в полном соответствии со своим названием – тело цикла выполняется для каждого элемента в контейнере. Тип идентификатора должен быть согласован с типом элементов, хранящихся в массиве данных. На каждом шаге цикла идентификатор, задающий текущий элемент массива, получает значение очередного элемента в соответствии с порядком, установленным на элементах массива. С этим текущим элементом и выполняется тело цикла - выполняется столько раз, сколько элементов находится в массиве. Цикл заканчивается, когда полностью перебраны все элементы массива.
Описание слайда:
Вывод одномерного массива Новый оператор цикла: foreach(тип идентификатор in массив) оператор Цикл работает в полном соответствии со своим названием – тело цикла выполняется для каждого элемента в контейнере. Тип идентификатора должен быть согласован с типом элементов, хранящихся в массиве данных. На каждом шаге цикла идентификатор, задающий текущий элемент массива, получает значение очередного элемента в соответствии с порядком, установленным на элементах массива. С этим текущим элементом и выполняется тело цикла - выполняется столько раз, сколько элементов находится в массиве. Цикл заканчивается, когда полностью перебраны все элементы массива.

Слайд 20





Вывод одномерного массива
Второй вариант:
 private void button2_Click(object sender, EventArgs e)
        {    listBox1.Items.Clear();
        foreach (int item in a)
            listBox1.Items.Add(Convert.ToString(item));
        }
Описание слайда:
Вывод одномерного массива Второй вариант: private void button2_Click(object sender, EventArgs e) { listBox1.Items.Clear(); foreach (int item in a) listBox1.Items.Add(Convert.ToString(item)); }

Слайд 21





Действия с массивами
Массивы одного типа можно присваивать друг другу. При этом происходит присваивание ссылок, а не элементов:
int[] a = new int[10];
int[] b = a;        // b и a указывают на один и тот же массив
Для удобства работы с массивами в C# существует базовый класс Array, в котором собраны основные методы обработки массивов.
В лабораторной работе 1 методы класса Array не используются. Цель работы – написание собственных методов для выполнения требуемых функций.
Описание слайда:
Действия с массивами Массивы одного типа можно присваивать друг другу. При этом происходит присваивание ссылок, а не элементов: int[] a = new int[10]; int[] b = a; // b и a указывают на один и тот же массив Для удобства работы с массивами в C# существует базовый класс Array, в котором собраны основные методы обработки массивов. В лабораторной работе 1 методы класса Array не используются. Цель работы – написание собственных методов для выполнения требуемых функций.

Слайд 22





Пример (не лучший способ)
Для массива, состоящего из 6 целочисленных элементов, программа определяет:
сумму и количество отрицательных элементов;
максимальный элемент.
Описание слайда:
Пример (не лучший способ) Для массива, состоящего из 6 целочисленных элементов, программа определяет: сумму и количество отрицательных элементов; максимальный элемент.

Слайд 23





Программа
const int n = 6;
int[] a = new int[n] { 3, 12, 5, -9, 8, -4 };
Console.WriteLine( "Исходный массив:" );
for ( int i = 0; i < n; ++i ) Console.Write( "\t" + a[i] );
Console.WriteLine();
long sum = 0;              // cумма отрицательных элементов
int  num = 0;              // количество отрицательных элементов
for ( int i = 0; i < n; ++i )
       if ( a[i] < 0 ) { 
		sum += a[i];  ++num;
       }
 Console.WriteLine( "Сумма  отрицательных = " + sum );
 Console.WriteLine( "Кол-во отрицательных = " + num );
 int max = a[0];             // максимальный элемент
 for ( int i = 0; i < n; ++i )
           if ( a[i] > max ) max = a[i];
 Console.WriteLine( "Максимальный элемент = " + max );
Описание слайда:
Программа const int n = 6; int[] a = new int[n] { 3, 12, 5, -9, 8, -4 }; Console.WriteLine( "Исходный массив:" ); for ( int i = 0; i < n; ++i ) Console.Write( "\t" + a[i] ); Console.WriteLine(); long sum = 0; // cумма отрицательных элементов int num = 0; // количество отрицательных элементов for ( int i = 0; i < n; ++i ) if ( a[i] < 0 ) { sum += a[i]; ++num; } Console.WriteLine( "Сумма отрицательных = " + sum ); Console.WriteLine( "Кол-во отрицательных = " + num ); int max = a[0]; // максимальный элемент for ( int i = 0; i < n; ++i ) if ( a[i] > max ) max = a[i]; Console.WriteLine( "Максимальный элемент = " + max );

Слайд 24





Оператор foreach (упрощенно)
Применяется для перебора элементов массива. Синтаксис:
foreach ( тип имя in имя_массива ) тело_цикла
Имя задает локальную по отношению к циклу переменную, которая будет по очереди принимать все значения из массива, например:

int[] massiv =  { 24, 50, 18, 3, 16, -7, 9, -1 };
foreach ( int x in massiv ) Console.WriteLine( x );
Описание слайда:
Оператор foreach (упрощенно) Применяется для перебора элементов массива. Синтаксис: foreach ( тип имя in имя_массива ) тело_цикла Имя задает локальную по отношению к циклу переменную, которая будет по очереди принимать все значения из массива, например: int[] massiv = { 24, 50, 18, 3, 16, -7, 9, -1 }; foreach ( int x in massiv ) Console.WriteLine( x );

Слайд 25





Программа с использованием foreach
int[] a = { 3, 12, 5, -9, 8, -4 };
Console.WriteLine( "Исходный массив:" );
foreach ( int elem in a )
      Console.Write( "\t" + elem );
Console.WriteLine();
long sum = 0;       // cумма отрицательных элементов
int  num = 0;         // количество отрицательных элементов
foreach ( int elem in a )
        if ( elem < 0 ) {
              sum += elem;  ++num;
        }
Console.WriteLine( "sum = " + sum );
Console.WriteLine( "num = " + num );
int max = a[0];            // максимальный элемент
foreach ( int elem in a )
       if ( elem > max ) max = elem;
Console.WriteLine( "max = " + max );
Описание слайда:
Программа с использованием foreach int[] a = { 3, 12, 5, -9, 8, -4 }; Console.WriteLine( "Исходный массив:" ); foreach ( int elem in a ) Console.Write( "\t" + elem ); Console.WriteLine(); long sum = 0; // cумма отрицательных элементов int num = 0; // количество отрицательных элементов foreach ( int elem in a ) if ( elem < 0 ) { sum += elem; ++num; } Console.WriteLine( "sum = " + sum ); Console.WriteLine( "num = " + num ); int max = a[0]; // максимальный элемент foreach ( int elem in a ) if ( elem > max ) max = elem; Console.WriteLine( "max = " + max );

Слайд 26





Работа с массивом, размерность которого вводится в процессе работы программы
 Пример 5.  Даны два n -мерных вектора. Найти сумму этих векторов.
Описание слайда:
Работа с массивом, размерность которого вводится в процессе работы программы  Пример 5. Даны два n -мерных вектора. Найти сумму этих векторов.

Слайд 27





Формирование значений элементов массива случайным образом
Описание слайда:
Формирование значений элементов массива случайным образом

Слайд 28





Обмен значений двух переменных
Описание слайда:
Обмен значений двух переменных



Похожие презентации
Mypresentation.ru
Загрузить презентацию