Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
инфа теория передел.docx
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
447.59 Кб
Скачать

17. Таблица приоритетов операций, соответствующая Common Language Specification (cls)

Приоритет

Категория

Операции

Порядок

0

Первичные

(expr); x.y; f(x); a[x]; x++;

x new; sizeof(t);

typeof(t); checked(expr);

unchecked(expr)

Слева направо

1

Унарные

+ - ! ~ ++x --x (T)x

См. выше

2

Мультипликативные (Умножение)

- * / %

См. выше

3

Аддитивные (Сложение)

+ -

См. выше

4

Сдвиг

<< >>

См. выше

5

Отношения, проверка типов

< > <= >= is as

См. выше

6

Эквивалентность

==        !=

См. выше

7

Логическое И

&

См. выше

8

Логическое исключающее ИЛИ (XOR)

^

См. выше

9

Логическое ИЛИ (OR)

|

См. выше

10

Условное И

&&

См. выше

11

Условное ИЛИ

||

См. выше

12

Условное выражение

?  :

Справа налево

13

Присваивание

= *= /= %= += -= <<= >>= &= ^= |=

См. выше

18. Отладка приложений в C#.

Для этого нужно поставить точку прерывания в нужном нам месте. Точка прерывания - это точка в коде программы, при достижении которой выполнение программы будет прервано и управление будет передано среде разработки. Вы можете создавать точки останова в любом месте программы, но только там, где есть код и программа может прервать выполнение. Для создания точки перейдите на нужную строку и:

- нажмите F9 - выберите меню Debug | Toggle Breakpoint - дважды щелкните на полоске серого цвета, слева от строки текста в окне редактора кода

Напротив строки на полоске серого цвета слева от текста появиться красный кружок, символизирующий, что здесь стоит точка останова. Если еще раз попытаться поставить точку останова на этой же строке, то точка останова будет снята.

Если точку на текущей строке установить нельзя, то в строке состояния среды разработки появиться соответствующее сообщение.

После этого следует запустить программу. Кстати, запустить программу можно было и раньше, потому что точку останова можно ставить в любой момент, даже во время выполнения программы.

Если в этот момент фокус находится на окне консольного приложения или формы, щелкните окно Visual Studio для возвращения фокуса в Visual Studio.

  • Continue (F5) - продолжить выполнение программы.

  • Stop debugging (Shift+F5) - остановить отладку. При этом остановится и выполнение программы. Даже больше - ваполнение программы прервется на той точке, на которой сейчас и находиться, т.е. оно не будет завершено корректно и ничего не сохранится, если вы в программе что-то делали;

  • Restart (Ctrl+Shift+F5) - перезапустить программу. Выполнение программы будет прервано и запустится заново;

  • Show Next Statement (Alt + Num *) - показать следующий оператор, т.е переместить курсор редактора кода в курсор пошагового выполнения. Курсор переместиться в начала оператора, который должен быть выполнен следующим. В редакторе кода он выделен желтым цветом;

  • Step Into (F11) - выполнить очередной оператор. Если это метод, то перейти в начало этого метода, чтобы начать отладку. Например, если вы находитесь на строке: x = Double(x) то, курсор пошагового выполнения перейдет на начало метода Double и вы сможете отладить этот метод;

  • Step Over (F10) - выполнить очередной оператор. Если это метод, то он будет полностью выполнен, т.е. курсор выполнения не будет входить внутрь метода;

  • Step out (Shift + F11) - выйти из метода. Если вы отлаживаете метод и нажмете эту кнопку, то метод выполнится до конца и курсор пошагового выполнения выйдет из метода и остановится на следующей строке после вызова данного метода.

19. Язык UML представляет собой общецелевой язык визуального моделирования, который разработан для спецификации, визуализации, проектирования и документирования компонентов программного обеспечения, бизнес-процессов и других систем. Язык UML одновременно является простым и мощным средством моделирования, который может быть эффективно использован для построения концептуальных, логических и графических моделей сложных систем самого различного целевого назначения. Диаграмма классов (class diagram) служит для представления статической структуры модели системы в терминологии классов объектно-ориентированного программирования.

Класс (class) в языке UML служит для обозначения множества объектов, которые обладают одинаковой структурой, поведением и отношениями с объектами из других классов. Графически класс изображается в виде прямоугольника, который дополнительно может быть разделен горизонтальными линиями на разделы или секции. В этих разделах могут указываться имя класса, атрибуты (переменные) и операции (методы).

Обязательным элементов обозначения класса является его имя. На начальных этапах разработки диаграммы отдельные классы могут обозначаться простым прямоугольником с указанием только имени соответствующего класса.

Классы и структуры являются программно-определяемыми типами, которые позволяют определять (создавать) новые типы, специально приспособленные для решения конкретных задач. В рамках объявления класса и структуры описывается множество переменных различных типов (набор данных-членов класса), правила порождения объектов-представителей структур и классов, их основные свойства и методы, применение которых обеспечивает решение задачи.

В программе класс объявляется с помощью специальной синтаксической конструкции, которая называется объявлением класса.

Еще одним пользовательским типом являются интерфейсы – пользовательский тип, который описывает ссылочный тип, который не может иметь какой-либо реализации, для которого нельзя создавать экземпляры, и все методы которого являются открытыми. То, что интерфейс не может иметь реализации, означает, что все его методы и свойства являются абстрактными. Интерфейсы описывают формальный открытый контракт между провайдером сервиса (классами, которые реализуют интерфейс) и потребителями сервиса (другими классами, которые используют объекты класса, реализующего интерфейс).

Агрегирование — это процесс немного более сложный, чем вложенность (описываемая в следующем разделе).Агрегирование обычно используется, чтобы позволить внешнему объекту предоставлять доступ к реализации интерфейса другим объектом без изменения. Все управляемые объекты автоматически поддерживают агрегирование в COM-стиле, при которой управляемый объект используется в качестве внутреннего объекта. В языке C# допускает наследование одного класса от другого, таким образом потомок наследуется свойства и методы родителя. При этом родитель может быть только один, то есть множественное наследование не допускается. Наследование позволяет создавать новые классы на осно-ве существующих, при этом новые классы обладают всей функциональ-ностью старых и при необходимости могут модифицировать их.

  • Наследование (Генерализация) — объекты дочернего класса наследуют все свойства родительского класса.

  • Ассоциация — объекты классов вступают во взаимодействие между собой.

  • Агрегация — объекты одного класса входят в объекты другого.

  • Композиция — объекты одного класса входят в объекты другого и зависят друг от друга по времени жизни.

20. Console Applacation.

using System;

namespace HelloWorld

{

class Hello

{

static void Main()

{

Console.WriteLine("Hello World!");

Console.WriteLine("Press any key to exit.");

Console.ReadKey();

}

}

}

Эта программа отображает список всех файлов в каталоге.

static void Main(string[] args)

{

Console.WriteLine("This program lists all the files in the directory:");

System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(@"C:\");

foreach (System.IO.FileInfo file in dir.GetFiles("*.*"))

{

Console.WriteLine("{0}, {1}", file.Name, file.Length);

}

Console.ReadLine();

}

Нахождение площади круга.

using System;

namespace ConsoleApp

{

class Program

{

static void Main(){

Console.Write("Введите радиус круга:");

string s = Console.ReadLine();

double r = Convert.ToDouble(s);

double p = Math.PI * r * r;

Console.WriteLine("Площадь круга = {0}", p); 26

Console.ReadLine();

return;

}

}

}