- •Вопрос 2: «Жизненный цикл программного продукта. Спецификация программного продукта»
- •Вопрос 3: «Алгоритмы. Способы описания алгоритмов. Базовые схемы алгоритмов»
- •Вопрос 4: «Поиск. Оптимальность поиска. Статические и динамические методы поиска. Ключ. Метод дихотомии. Оценки алгоритмов поиска»
- •Вопрос 5: «Сортировка. Методы сортировка в простейших задачах»
- •Вопрос 6: «Динамические структуры данных. Стек. Очередь. Дек. Списки»
- •Вопрос 7: «Методы разработки при модульном проектировании. Сверху вниз. Снизу вверх. Конструктивный подход»
- •Вопрос 8: «Рекурсия, итерация. Косвенная и прямая рекурсия. Где используется конструкция:
- •Вопрос 9: «Символы. Примеры. Строки. Примеры. Строки типа StringBuilder. Примеры»
- •Вопрос 10: «Конструкторы. Синтаксис. Примеры»
- •Вопрос 11: «Объектно-ориентированное программирование (ооп). Объект. Инкапсуляция. Наследование. Полиморфизм»
- •Вопрос 12: «Свойства. Синтаксис. Примеры. Найдите пример программы из предложенных преподавателем»
- •Вопрос 13: «Перегрузка методов. Примеры»
- •Вопрос 15: «Массивы. Примеры записей, задающих массивы»
- •Вопрос 16: «Методы класса. Метод Main»
- •Вопрос 17: «Классы в ооп. Что содержит класс? Описание класса. Спецификаторы. Поля. Методы. Константы»
- •Вопрос 18: «Класс System.Array. Оператор foreach. Массив объектов. Примеры»
Вопрос 8: «Рекурсия, итерация. Косвенная и прямая рекурсия. Где используется конструкция:
do {…} while (выражение)»
Метод рекурсивный – это функция которая вызывает сама себя. Это прямая рекурсия.
Косвенная рекурсия возникает, когда 2 или более функций вызывают друг друга.
При вызове функции себя в стеке создается копия значений ее параметров, как при вызове ее параметров, затем управление передается по первому исполняемому оператору функций.
Итерационные алгоритмы – это алгоритмы, в которых одни и те же операции повторяются многократно, пока не будет выполнено некоторое условие. Примеры: алгоритмы численных методов решений уравнений до определенной точности. При реализации таких алгоритмов необходимо задать подсчет итераций для предотвращения зацикливания. В программировании итерация – один проход цикла. Для программирования итерационных процессов хорошо подходит конструкция с постусловием: do {…} while (выражение). Цикл завершается, когда выражение = false. Внутри цикла должен быть оператор, влияющий на значение выражения.
Вопрос 9: «Символы. Примеры. Строки. Примеры. Строки типа StringBuilder. Примеры»
Символьный тип char предназначен для хранения символов в формате Unicode. Символьная константа представляет собой любой символ в кодировке Unicode. Символьные константы записываются в одной из четырех форм:
Обычный символ, имеющий графическое представление (кроме апострофа и символа перевода строки) – А , ю , *
Управляющая последовательность - \0 , \n
Символ в виде шестнадцатеричного кода - \xF , \x74
Символ в виде escspe-последовательности Unicode - \uA81B
Тип string, предназначенный для работы со строками символов в кодировке Unicode, является встроенным типом C#. Ему соответствует базовый класс System.String библиотеки .NET.
Примеры создания строк:
string s; // инициализация отложена
string t = “qqq”; // инициализация строковым литералом
string u = new string(‘ ‘, 20); // конструктор создает строку из 20 пробелов
char[] a = {‘0’, ‘0’, ‘0’}; // массив для инициализации строки
string v = new string (a); // создание из массива символов
Строки типа StringBuilder. Класс StringBuilder определен в пространстве имен System и позволяет изменять значения своих экземпляров.
Пример создания экземпляра:
StringBuilder a= new StringBuilder(); // создается пустая строка, размера 16 байт
StringBuilder b= new StringBuilder (“qwerty”);
StringBuilder c= new StringBuilder(100);
StringBuilder d= new StringBuilder(“qwerty”, 100);
StringBuilder e=new StringBuilder(“qwerty”, 1,3, 100); // объект инициализируется подстрокой длиной 3 символа, начиная с 1
Вопрос 10: «Конструкторы. Синтаксис. Примеры»
Конструктор предназначен для инициализации объекта. Он вызывается автоматически при создании объекта класса с помощью операции new. Имя конструктора совпадает с именем класса. Свойства конструкторов:
Конструктор не возвращает значение, даже типа void
Класс может иметь несколько конструкторов с разными параметрами для разных видов инициализации.
Если программист не указал ни одного конструктора или какие-то поля не были инициализированы, полям значимых типов присваивается нуль, полям ссылочных типов – значение null.
Конструктор, вызываемый без параметров, называется конструктором по умолчанию.
В
следующем примере класс Taxi
определяется
с помощью простого конструктора. После
этого с помощью оператора new создается
экземпляр класса.Конструктор Taxi
вызывается
оператором new сразу
после выделения памяти для нового
объекта.
public class Taxi
{
public bool isInitialized;
public Taxi()
{
isInitialized = true;
}
}
class TestTaxi
{
static void Main()
{
Taxi t = new Taxi();
Console.WriteLine(t.isInitialized);
}
}