- •1. Цели и задачи дисциплины «Программирование».
- •2. Особенности решения задач с использованием эвм.
- •3. Алгоритм и его свойства. Способы описания алгоритмов.
- •4. Схемы алгоритмов. Правила оформления схем алгоритмов.
- •Visual Studio
- •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. Примеры использования.
- •31. Операторы. Выражения, блоки и пустые операторы. Примеры использования.
- •32. Составной оператор. Операторные скобки. Примеры использования.
- •33. Условные оператор if. Примеры использования. Алгоритмы разветвленной структуры
- •34. Оператор выбора switch. Примеры использования.
- •35. Понятие цикла. Цикл с предусловием while. Примеры использования.
- •36. Понятие цикла. Цикл с постусловием do. Примеры использования.
- •37. Понятие цикла. Цикл с параметром for. Примеры использования.
- •38. Понятие цикла. Цикл перебора foreach. Примеры использования.
- •39. Оператор break. Оператор continue. Оператор return. Примеры использования.
- •40.Обработка исключительных ситуаций. Оператор try. Примеры использования.
- •41. Оператор throw. Класс Exception. Примеры использования.
- •42. Классы: основные понятия. Члены классов. Спецификаторы доступа. Примеры использования.
- •43. Создание объектов. Конструкторы. Примеры использования.
- •44. Свойства. Ключевое слово this. Примеры использования.
- •45.Методы. Понятие методов. Описание методов. Примеры использования.
- •46. Передача параметров методу. Параметры-значения. Параметры-ссылки. Примеры использования.
- •47.Понятие параметров метода. Выходные параметры. Примеры использования.
- •48. Массивы. Одномерные массивы. Примеры использования.
- •51. Класс System.Array. Основные элементы класса Array. Примеры использования.
- •52. Организация вывода массивов. Вывод одномерных массивов. Примеры использования.
- •Объявления и инициализация
- •Ступенчатые массивы
- •Объявления и инициализация
- •54. Символы. Массивы символов. Примеры использования.
- •55. Строки типа String. Основные элементы класса System.String. Примеры использования.
- •56. Форматирование строк. Примеры использования.
- •57. Класс StringBuilder. Основные элементы класс StringBuilder. Примеры использования.
- •58. Класс Random. Основные элементы класс Random. Примеры использования.
Ступенчатые массивы
В языке С# можно создавать двумерный массив специального типа, который называется ступенчатым массивом.
Ступенчатый или невыровненный массив – это массив одномерных массивов, каждый из которых представляет собой строку. Количество элементов в разных строках может различаться. В памяти ступенчатый массив также хранится иначе, чем прямоугольный: в виде нескольких внутренних массивов, каждый из которых имеет свой размер. Для хранения ссылок на каждый из внутренних массивов выделяется отдельная область памяти.
Объявления и инициализация
При объявлении ступенчатого массива каждая его размерность обозначается парой квадратных скобок:
тип[ ] [ ] имя;
Общая форма записи объявления ступенчатого массива с выделением памяти под ссылки на три строки, содержащих значения целого типа:
int[][] b = new int [3][];
Не смотря на то, что такое объявление указывает количество строк в массиве, память для строк массива еще не выделена. Строки ступенчатого массива в памяти размещаются индивидуально, поэтому под каждый из одномерных массивов, составляющих ступенчатый массив, память требуется выделять явным образом, например:
Выделение памяти под 0-ю строку (5 элементов):
b[0]=new int [5];
Выделение памяти под 1-ю строку (3 элемента):
b[1] =new int [3];
Выделение памяти под 2-ю строку (4 элемента):
b[2] = new int [4];
Здесь b[0], b[1] и b[2] – это отдельные массивы, к которым можно обращаться по имени, ниже приведен пример работы со ступенчатым массивом с использованием выделения памяти под каждую строку (лист. 3).
Другой способ выделения памяти:
int[] [] b = {new int[5], new int[3], new int[4]};
K элементу ступенчатого массива обращаются, указывая каждую размерность в своих квадратных скобках, например:b[1][2] b[i][j] b[j][i]
В остальном использование ступенчатых массивов не отличается от использования прямоугольных.
54. Символы. Массивы символов. Примеры использования.
В Си массивы можно грубо разделить на 2 типа: массив чисел и массив символов. Разумеется, такое деление абсолютно условное ведь символы — это также целые числа. Массивы символов также имеют несколько иной синтаксис. Ниже приведены примеры объявления массивов: int arr[100];
int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
char ch[] = {'R','u','b','y','D','e','v','.','r','u'};
char ch2[] = "RubyDev.ru";
В первом случае мы объявляем массив целых чисел (4 байта на число) размером в 100 элементов. Точнее мы резервируем память для хранения 100 элементов типа int.
Во втором случае мы определяем массив из 10 целочисленных элементов и сразу же присваиваем элементам массива значения.
В третьем случае мы определяем массив символов. В Си нету строк, но есть массивы символов, которые заменяют строки.
В последнем случае мы также объявляем массив символов с помощью специального — более лаконичного синтаксиса. Массивы ch и ch2 практически идентичны, но есть одно отличие. Когда для создания массива мы используем синтаксис со строковой константой, то в конец массива символов автоматически добавляется символ \0, при использовании стандартного синтаксиса обявления массива мы должны самостоятельно добавлять \0 в качестве последнего элемента массива символов. Символ \0 (null) используется для идентификации конца строки. О страках мы поговорим более подробно в отдельной статье.