
- •Типы данных
- •Переменные
- •Операции c#.
- •Линейная программа
- •Циклы с предусловием
- •Цикл с постусловием.
- •Исключения.
- •Двумерные массивы.
- •Символы и строки.
- •Деструктор.
- •Свойства
- •Конструктор класса – инициализирует поля. Индексатор.
- •Операции класса
- •Поля методы и свойства класса.
- •Виртуальные методы
- •Перегрузка методов.
- •Рекурсивные методы.
- •Interface (Интерфейсы)
- •Стандартные интерфейсы .Net
- •Клонирование объектов.
- •Абстрактный класс.
- •Бесплодные классы.
- •Класс Object.
- •Структуры
- •Структурное программирование.
- •Потоки файлов.
- •Потоки байтов
- •Потоки символов
- •Отладка программы.
- •Классификация ошибок
- •Методы отладки
- •Методика отладки по
- •Исправление ошибки.
- •Стадия разработки программ и программной документации.
- •Двоичные потоки
- •Тестирование программных продуктов.
- •Сериализация (сохранение объектов)
- •Структурный подход при проектировании программного обеспечения.
- •Объектно-ориентированное проектирование
- •Диаграммы вариантов использования
- •Составление программной документации
- •Руководство пользователя
- •Типы пользовательских интерфейсов и этапы их разработки
- •Этапы разработки пользовательского интерфейса
- •Модульное программирование
- •Сцепление модулей
- •Связность модулей
Жизненный цикл программ.
Постановка задачи
Анализ требований и разработка спецификаций
Проектирование
Реализация
Основные понятия языка С#.
Алфавит C# включает:
буквы (латинские и национальных алфавитов) и символ подчеркивания.
Цифры
Специальные символы (+,},{,&.
Пробельные символы: , ,(символы табуляции).
Символы перевода каретки.
Из символов составляются лексемы, директивы предпроцессора и комментарии.
*Лексема – это минимальная единица языка имеющая самостоятельный смысл. Существуют следующие виды лексемы: Имена, ключевые слова, знаки операций, разделители, литералы (константы).
*Предпроцессор, это предварительная стадия компиляции, на которой формируется окончательный вид исходного текста программы.
С помощью директив можно включить или выключить из процесса компиляции фрагменты кода.
Ключевые слова это зарезервированные идентификаторы, которые имеют специальные значения для компилятора.
Знаки операций это один или более символов определяющих действия над операндами. Внутри знака операции пробел не допускается.
Символы, составляющие знак операции могут быть как специальными, так и буквенными.
Операции делятся на: Унарные, бинарные и тернарные. По количеству участвующих в них операндах.
Литералами называют не изменяемые величины, в С# есть логические, целые, вещественные, символьные, строковые константы, а также константа null. Целые литералы могут быть представлены либо в десятичной, либо в шестнадцатеричной системе счисления. Вещественные литералы могут быть представлены только в десятичной системе, но в двух формах, с фиксированной точкой и порядком, вещественная константа с порядком представляется в виде мантиссы и порядка. Значение константы определяется как произведение мантиссы и возведенную в указанную степень числа 10.
Когда компилятор распознает константу, он отводит ей место в памяти в соответствии с ее видом и значением. Если по каким то причинам требуется явным образом задать, сколько памяти требуется отвести под константу, то используются суффиксы.
Суффикс |
Значение |
L, l |
Длинное целое. long |
U, u |
Беззнаковое целое. Либо Unsigned. |
F, f |
Вещественное с одинарной точностью. Flow |
D, d |
Вещественное с двойной точностью. Double |
M, m |
Финансовое десятичного типа Decimal. |
Управляющей последовательностью.
Или простой escape-последовательностью называется определенный символ с символом \ впереди. Это одиночный символ он используется, для представления кодов не имеющих графического изображения или это может быть символ имеющий специальное значение в строковых и символьных литералах, например ‘ .
Вид |
Назначения |
\a |
Звуковой символ |
\b |
Шаг назад |
\f |
Перевод формата |
\n |
Перевод строки |
\r |
Перевод каретки |
\t |
Горизонтальная табуляция |
\v |
Вертикальная табуляция |
\\ |
Обратная косая черта |
\’ |
Апостроф |
\” |
Кавычки |
\0 |
Null строка |
Символ, представленный в виде шестнадцатеричного кода начинается с префикса \0x за которым следует код символа. Числовое значение должно находиться в диапазоне от 0 до 216-1 иначе возникнет ошибка компиляции. Escape последовательности Unicode, служат для представление символа в кодировке Unicode, с помощью его кода в шестнадцатеричном виде с префиксом \u либо \U.
Управляющие последовательности обоих видов могут использоваться в строковых литералах, например если требуется вывести несколько строк можно объединить их в один литерал отделив одну строку от другой символами \n.
Типы данных
Однозначно определяет:
Внутреннее представление данных и множества их возможных значений.
Допустимое действие над данными (операции и функции).
Память, в которой хранятся данные делятся на 2 области стек и динамическая область (Heap(хип)). Стек используется для хранения величин память, под которые выделяет компилятор, а в динамической области память резервируется и освобождается, во время выполнения программы с помощью специальных команд.
Типы данных можно классифицировать по разным признакам:
По строению элемента (простые и структурированные)
По своему создателю (встроенные и определяемые программистом)
По способу хранения данных (статические и динамические)
Встроенные типы C# соответствуют стандартным классам библиотеки DotNet которые определены в пространстве имен System.
Переменные
Переменная это именованная область, предназначенная для хранения данных определённого типа. Все переменные, используемые в программе должны быть описаны явным образом. При объявление переменной можно инициализировать ее значение.
Область действия переменной, т.е. область программы где можно ее использовать начинается, в точке ее описания и длится до конца блока внутри которого она описана. Блок это код заключенный в фигурные скобки.
Имя переменной внутри блока должно быть уникальным. Именованные константы задаются, словом Const. Выражение это правило вычисления значения. В выражение участвуют операнды, объединенные знаками операций.
Операции c#.
Операции в выражение выполняются в определенном порядке в соответствии с приоритетами.
В таблице операции расположены по убыванию приоритетов. Уровни приоритетов разделены горизонтальными линиями. Если в одном выражение соседствуют несколько операций одинакового приоритета, то операция присваивания и условная операция выполняются с права на лево, остальные слева на право. Для изменения порядка операций используются круглые скобки.
Операции инкремента ++ и операции декремента имеют две формы записи: Префиксную и постфиксную.
Линейная программа
Линейная программа это программа все операции которых выполняются последовательно в том порядке в котором они записаны. Для ввода-вывода данных применяются стандартные объекты. Для работы с консолью используется класс Console. Методы этого класса Write и WriteLine. В классе Console определены ввод строки и отдельного символа, но нет метода, который позволяет непосредственно считывать с клавиатуры числа. Ввод числовых данных выполняется в два этапа. Символы представляющие собой число вводятся с клавиатуры в строковую переменную. Выполняется преобразование из строки в переменную соответствующего типа, с помощью Convert или метода Parse.
String Buf=Console.ReadLine();
Double y=Convert.ToDouble(Buf);
Double y=Convert.ToDouble(Console.ReadLine());
Int x=Int.Parse(Console.Readline());
Math.Exp(5);
Max,Min,Log10,Pow,Round,Sqrt…
В разветвляющихся программах используется оператор If. Для полного ветвления: If (выражение) оператор1; else оператор2;
Для неполного ветвления If (выражение) оператор;
При выполнении оператора вычисляется логическое выражение если оно истинно, то выполняется первый оператор иначе второй оператор. Ветка Else может отсутствовать. Если в какой-либо ветви требуется выполнить несколько операторов, то их обязательно нужно заключить в блок. Блок может содержать любые операторы, в том числе и другие условные операторы. Если требуется проверить несколько условий, то их объединяют знаками логических условных операций. и &&
или ||
== (=)
!= (<>)
If (x==a) x++, else a--;
If (x>2 && y<3) x+=2;
Вместо условного оператора IF можно использовать условную операцию для сокращения текста программы.
Условная операция является тернарной и содержит три операнда.
?:
Операнд1? Операнд2: Операнд3
Первый операнд это выражение, для которого существует неявное преобразование к логическому типу. Если результат вычисления первого операнда равен True, то результатом условной операции будет значение второго операнда иначе третьего операнда. Тип операндов может различаться тип результата операции зависит от типа второго и третьего операндов:
Если операнды одного типа этот тип становится, типом результата операции.
Если операнды разного типа и существует не явное преобразование типа от операнда 2 к операнду 3, то типом результата операции становится тип операнда 3.
Если операнда разного типа и существует неявное преобразование от операнда3 к операнда2, то типом результатом операции становится тип операнада2.
Условная операция является право-ассоциативной и будет выполняться справа на лево.
I=(i<n)? i++:i--;
Оператор множественного выбора.
Оператор Switch, предназначен для разветвления процесса вычислений, на несколько направлений. Структурная схема имеет вид:
Switch(выражение)
{case конст1: [группа опер]
Case конст2: [группа опер]
Case конст [группа опер]
Вычисление оператора начинается с вычисления выражения. Тип выражения м.б. целочисленным, строковым, или символьным. Затем управление передается первому оператору из списка константное выражение которого совпало с вычисленным выражением. Все константные выражения должны быть не явно приводимыми к типу выражений в скобках. Если совпадение не произошло, выполняется операторы, расположенные после слова default, при его отсутствие оператора default управление передается следующему за switch оператору. Каждая ветвь должна заканчиваться оператором break. Например:
Switch (x)
{Case 2: y+=2; break;
Case 4: y+=3; break;
Default y=4;
}