Мы начнем описание языка Си-бемоль(C $$\flat$$ ) с общего описания конструкций, допустимых в этом языке (детали синтаксиса можно найти в прилагаемой грамматике, см. следующую страницу):
using.static. Атрибуты видимости и прочие модификаторы не могут быть указаны явно (подразумевается public ).Наследование допускается только от классов (не от интерфейсов).
ref, out использоваться не могут. Также отсутствуют методы c переменным число параметров.Тело метода может содержать операторы-выражения (например, вызов метода), if, while, for и return, а также операторы блока и описания переменных.
+, -, *, /, %, , |, ^, вызова метода и индексации массива. Кроме того, реализованы операции сравнения выражений типов int, char, float на больше/меньше и (не)равенство и сравнение строк на равенство/неравенство.Также реализован оператор new, как для массивов, так и для простых объектов. Хотя описание собственных конструкторов с параметрами невозможно, вызов конструкторов стандартных классов с передачей им списка параметров допустим.
Следует отметить, что оператор присваивания, в отличие от C#, возвращает значение типа void, то есть фактически может быть использован только как оператор-выражение.
Особым образом следует сказать про вызов перегруженных методов в C $$\flat$$ : при вызове методов из стандартных классов используется стандартный алгоритм разрешения. При вызове методов из определенных в программе классов используется упрощенный алгоритм: выбор подходящего метода осуществляется только по числу параметров.
void, int, char, string, float, object. Также возможнен доступ к любым классам из библиотеки mscorlib (доступ к другим библиотекам не реализован) и массивы из этих типов.Язык C $$\flat$$ является подмножеством языка С#. Ниже приведена грамматика С-бемоль.
program ::= { class | method }
member ::= class | method | fields
scope ::= ["static"]
class ::= "class" ident "{" member { ";" member } "}"
fields ::= scope type ident {"," ident } ";"
method ::= scope type ident "(" [arg {"," arg}] ")" block
arg ::= type ident
stmt ::= ";" | decl | expr ";" | while | for | if | return | block
| break | continue
block ::= "{" {stmt} "}"
decl ::= type ident [ = expr] {"," ident [ = expr]} ";"
while ::= "while" "(" expr ")" stmt
for ::= "for" "(" [expr] ";" [expr] ";" [expr] ")" stmt
if ::= "if" "(" expr ")" stmt ["else" stmt]
return ::= "return" expr ";"
break ::= "break" ";"
continue ::= "continue" ";"
primary ::= ident | int-const | float-const | char-const | string-const
| "(" expr ")" | new-expr
args ::= "(" [expr {"," expr } ] ")"
new-expr ::= "new" type ("[" expr "]" | args)
postfix ::= primary { "[" expr "]" | "." ident | args }
mul-expr ::= [ mul-expr ("*" | "/" | "%") ] primary
add-expr ::= [add-expr ("+" | "-") ] mul-expr
rel-expr ::= add-expr [ ("<" | ">" | "<=" | ">=" | "==" | "!=") add-expr ]
bool-expr ::= [ bool-expr ("" | "" | "|" | "^") ] bool-expr
assign-expr ::= bool-expr [ "=" bool-expr]
expr ::= bool-expr
type ::= ident { "." ident } | type "[]" | "void" | "string" | "char" | "bool"
| "int" | "float"
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.