
- •Общие сведения о программирование. Этапы решения задач.
- •Жизненный цикл программы.
- •Критерии качества программы.
- •Понятие алгоритма и его свойства.
- •Способы записи алгоритма.
- •Классификация языков программирования. Языки программирования высокого уровня.
- •Лексические основы языка c#. Общая структура программы.
- •Стандартные типы данных языка c#.
- •Лексические основы языка c#.Знаки операций.
- •Лексические основы языка c#.Идентификаторы, константы и переменные.
- •Консольный ввод – вывод в языке c#.
- •Разветвляющиеся алгоритмы. Условный оператор в языке c#. Оператор if
- •Разветвляющиеся алгоритмы. Оператор переключатель. Оператор switch
- •Оператор goto
- •Оператор break
- •Оператор continue
Оператор goto
Имеющийся в С# оператор goto представляет собой оператор безусловного перехода. Когда в программе встречается оператор goto, ее выполнение переходит непосредственно к тому месту, на которое указывает этот оператор. Он уже давно "вышел из употребления" в программировании, поскольку способствует созданию "макаронного" кода. Хотя в некоторых случаях он оказывается удобным и дает определенные преимущества, если используется благоразумно. Главный недостаток оператора goto с точки зрения программирования заключается в том, что он вносит в программу беспорядок и делает ее практически неудобочитаемой. Но иногда применение оператора goto может, скорее, прояснить, чем запутать ход выполнения программы.
Для выполнения оператора goto требуется метка — действительный в С# идентификатор с двоеточием. Метка должна находиться в том же методе, где и оператор goto, а также в пределах той же самой области действия.
Оператор break
С помощью оператора break можно специально организовать немедленный выход из цикла в обход любого кода, оставшегося в теле цикла, а также минуя проверку условия цикла. Когда в теле цикла встречается оператор break, цикл завершается, а выполнение программы возобновляется с оператора, следующего после этого цикла. Оператор break можно применять в любом цикле, предусмотренном в С#
Оператор continue
С помощью оператора continue можно организовать преждевременное завершение шага итерации цикла в обход обычной структуры управления циклом. Оператор continue осуществляет принудительный переход к следующему шагу цикла, пропуская любой код, оставшийся невыполненным. Таким образом, оператор continue служит своего рода дополнением оператора break.
В циклах while и do-while оператор continue вызывает передачу управления непосредственно условному выражению, после чего продолжается процесс выполнения цикла. А в цикле for сначала вычисляется итерационное выражение, затем условное выражение, после чего цикл продолжается.
Структурированные типы данных: массивы. Способы объявления одномерных массивов и матриц.
Индексация и доступ к элементам массива.
Основные алгоритмы обработки массивов. Алгоритмы с накаливанием.
Основные алгоритмы обработки массивов. Нахождение максимума и минимума.
Массивы строк переменной длинны – «рваные» массивы.
Сортировка элементов массива. Алгоритм «пузырька».
Сортировка элементов массива. Алгоритм «пузырька». Сортировка методом простого обмена может быть применена для любого массива. Этот метод заключается в последовательных просмотрах массива слева направо ( от начала к концу ) и обмене местами соседних элементов, расположенных "неправильно”, то есть таких, что i a[j]. Опишем этот метод подробнее.
Начнем просмотр с первой пары элементов ( a[1] и a[2] ), если первый элемент этой пары больше второго, то меняем их местами, иначе оставляем без изменения. Затем берем вторую пару элементов ( a[2] и a[3] ), если a[2] > a[3], то меняем их местами и так далее. На первом шаге будут просмотрены все пары элементов массива a[i] и a[i+1] для i от 1 до n-1. В результате максимальный элемент массива переместится в конец массива.
Поскольку самый большой элемент находится на своем месте, рассмотрим часть массива без него, то есть с первого до (n-1) - го элемента. Повторим предыдущие действия для этой части массива, в результате чего второй по величине элемент массива переместится на последнее место рассматриваемой части массива, то есть на ( n-1 ) - е место во всем массиве. Эти действия продолжают до тех пор, пока количество элементов в текущей части массива не уменьшится до двух. В этом случае необходимо выполнить последнее сравнение и упорядочить последние два элемента. При сортировке выполняется n-1 просмотр массива.
Поиск элементов массива по ключу.
Array – встроенный тип C# для работы с массивом. Средства Array для поиска, сортировки, копирования массивов.
Понятие и описание функции. Способы вызова функции.
Формальные и фактические параметры функции.
Передача параметров в функции по значению и по ссылке.
Функции с переменным количеством параметров.
Рекурсивные функции.
Перегрузка функций.
Отладка и тестирование программ. Корректность и надежность программы.
Отладка и тестирование программ. Типы ошибок.
Обработка исключительных ситуаций с C# блок try-catch.
Обработка исключительных ситуаций с C# блок finally.
Обработка исключительных ситуаций с C# использование оператора throw.
Способы конструирования программ.
Модульные программы. Преимущества разработки и конструирования.
Модульное программирование - это организация программы как совокупности небольших независимых блоков (модулей), структура и поведение которых подчиняется определенным заранее правилам. Модулем (в модульном программировании) называется множество взаимосвязанных подпрограмм (процедур) вместе с данными, которые эти подпрограммы обрабатывают. Модульное программирование предназначено для разработки больших программ. Разработкой больших программ занимается коллектив программистов. Каждому программисту поручается разработка некоторой самостоятельной части программы. И он в таком случае отвечает за конструирование всех необходимых процедур и данных для этих процедур. Сокрытие данных (запрет доступа к данным из-за пределов модуля) предотвращает их случайное изменение и соответственно нарушение работы программы. Для взаимодействия отдельных частей (модулей) программы коллективу программистов необходимо продумать только интерфейс (взаимодействие) сконструированных модулей в основной программе.