- •1. Цели и задачи дисциплины «Программирование».
- •2. Особенности решения задач с использованием эвм.
- •3. Алгоритм и его свойства. Способы описания алгоритмов.
- •4. Схемы алгоритмов. Правила оформления схем алгоритмов.
- •12. Встроенный отладчик. Пошаговое выполнение программы. Использование точек останова. Просмотр значений.
- •15. Характеристики качества программного обеспечения. Жизненный цикл программы.
- •16. Свойства языков программирования, определяющие качество программ: простота, надежность, быстрота трансляции, эффективность, удобочитаемость, блочность.
- •17. Состав языка программирования c#. Алфавит и лексемы. Идентификаторы.
- •18. Состав языка программирования c#. Алфавит и лексемы. Идентификаторы.
- •19. Разделители в c#. Литералы в c#.
- •20. Типы данных в языке c#. Классификация типов. Встроенные типы.
- •21. Типы-значения и ссылочные типы.
- •22. Преобразования встроенных арифметических типов-значений. Примеры использования.
- •23. Переменные. Именованные константы. Операции и выражения. Примеры использования.
- •24. Основные операции c#. Инкремент и декремент. Операция new. Примеры использования.
- •25. Явное преобразование типа. Примеры использования.
- •26. Умножение, деление и остаток от деления. Сложение и вычитание. Примеры использования.
- •27. Условная операция. Операции присваивания. Примеры использования.
- •28. Операции отношения и проверки на равенство. Операция отрицания. Примеры использования.
- •29. Простейший ввод-вывод. Примеры использования.
- •30. Математические функции – класс Math. Примеры использования.
- •33. Условные оператор if. Примеры использования. Алгоритмы разветвленной структуры
- •34. Оператор выбора switch. Примеры использования.
- •35. Понятие цикла. Цикл с предусловием while. Примеры использования.
- •36. Понятие цикла. Цикл с постусловием do. Примеры использования.
- •37. Понятие цикла. Цикл с параметром for. Примеры использования.
- •38. Понятие цикла. Цикл перебора foreach. Примеры использования.
- •39. Оператор break. Оператор continue. Оператор return. Примеры использования.
- •40.Обработка исключительных ситуаций. Оператор try. Примеры использования.
- •41. Оператор throw. Класс Exception. Примеры использования.
- •48. Массивы. Одномерные массивы. Примеры использования.
- •51. Класс System.Array. Основные элементы класса Array. Примеры использования.
- •52. Организация вывода массивов. Вывод одномерных массивов. Примеры использования.
- •Объявления и инициализация
- •Ступенчатые массивы
- •Объявления и инициализация
- •54. Символы. Массивы символов. Примеры использования.
- •55. Строки типа String. Основные элементы класса System.String. Примеры использования.
- •56. Форматирование строк. Примеры использования.
- •57. Класс StringBuilder. Основные элементы класс StringBuilder. Примеры использования.
- •58. Класс Random. Основные элементы класс Random. Примеры использования.
51. Класс System.Array. Основные элементы класса Array. Примеры использования.
Для облегчения программирования задач обработки массивов данных в С# все массивы имеют общий базовый класс Аrrау, определенный в пространстве имен System.
Основные элементы класса Аrrау
Элемент |
Вид |
Описание |
Length |
Свойство |
Количество элементов массива (по всем размерностям) |
Rank |
Свойство |
Количество размерностей массива |
BinarySearch |
Статический метод |
Двоичный поиск в отсортированном массиве |
Сlear |
Статический метод |
Присваивание элементам массива значений по умолчанию |
Сору |
Статический метод |
Копирование заданного диапазона элементов одного массива в другой массив |
СоруТо |
Метод |
Копирование всех элементов текущего одномерного массива в другой одномерный массив |
GetValue |
Метод |
Получение значения элемента массива |
IndexOf |
Статический метод |
Поиск первого вхождения элемента в одномерный массив |
LastIndexOf |
Статический метод |
Поиск последнего вхождения элемента в одномерный массив |
Reverse |
Статический метод |
Изменение порядка следования элементов на обратный |
SetValue |
Метод |
Установка значения элемента массива |
Sort |
Статический метод |
Упорядочивание элементов одномерного массива |
Свойство Length позволяет реализовывать алгоритмы, которые будут работать с массивами различной длины. Использование этого свойства вместо явного задания размерности исключает возможность выхода индекса за границы массива.
52. Организация вывода массивов. Вывод одномерных массивов. Примеры использования.
(49,50)53. Вывод прямоугольных массивов. Вывод ступенчатых массивов. Примеры использования.
Прямоугольный массив имеет более одного измерения. Многомерным называется такой массив, который характеризуется двумя или более измерениями, а доступ к отдельному элементу осуществляется посредством двух или более индексов.
Двумерные массивы являются наиболее простыми из многомерных массивов. К тому же и решение очень многих задач может быть часто сведено к обработке двумерных массивов, поэтому технологии использования двумерных массивов в программах языка С# посвящается целая глава.
Объявления и инициализация
В двумерном массиве позиция любого его элемента определяется двумя индексами. Если представить двумерный массив в виде таблицы данных, то один индекс означает строку, а второй – столбец. Чтобы объявить двумерный массив целочисленных значений размером n * m, достаточно записать следующее:
int[,] имя_массива = new int[n,m];
Следует обратить внимание на то, что синтаксически конструкция вида [,] указывает на создание ссылочной переменной двумерного массива.
Чтобы получить доступ к элементу двумерного массива, используется конструкция переменная с индексами, где необходимо указать оба индекса, разделив их запятой. Например, для присвоения элементу двумерного массива, позиция которого определяется координатами i и j, значение а можно использовать следующую инструкцию:
имя_массива[i,j] = a;
Многомерный массив можно инициализировать, заключив список инициализаторов каждой размерности в собственный набор фигурных скобок. Формат инициализации двумерного массива:
тип[,] имя_массива = {
{val00, val01, val02, …, val0m}
{val10, val11 val12, …, val1m}
…
{valn0, valn1, valn2, …, valnm}};
Здесь элемент valij – значение инициализации для конкретного элемента массива. Каждый внутренний блок означает строку. В каждой строке первое значение будет сохранено в первой позиции массива, второе значение – во второй и т.д.