Линейная программа

Операции C#.

Переменные

Типы данных

Однозначно определяет:

1) Внутреннее представление данных и множества их возможных значений.

2) Допустимое действие над данными (операции и функции).

3) Память, в которой хранятся данные делятся на 2 области стек и динамическая область (Heap(хип)). Стек используется для хранения величин память, под которые выделяет компилятор, а в динамической области память резервируется и освобождается, во время выполнения программы с помощью специальных команд.

Типы данных можно классифицировать по разным признакам:

1) По строению элемента (простые и структурированные)

2) По своему создателю (встроенные и определяемые программистом)

3) По способу хранения данных (статические и динамические)

Встроенные типы C# соответствуют стандартным классам библиотеки DotNet которые определены в пространстве имен System.

Переменная это именованная область, предназначенная для хранения данных определённого типа. Все переменные, используемые в программе должны быть описаны явным образом. При объявление переменной можно инициализировать ее значение.

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

Имя переменной внутри блока должно быть уникальным. Именованные константы задаются, словом Const. Выражение это правило вычисления значения. В выражение участвуют операнды, объединенные знаками операций.

Операции в выражение выполняются в определенном порядке в соответствии с приоритетами.

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

Операции инкремента ++ и операции декремента имеют две формы записи: Префиксную и постфиксную.

Линейная программа это программа все операции которых выполняются последовательно в том порядке в котором они записаны. Для ввода-вывода данных применяются стандартные объекты. Для работы с консолью используется класс 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, то результатом условной операции будет значение второго операнда иначе третьего операнда. Тип операндов может различаться тип результата операции зависит от типа второго и третьего операндов:

1) Если операнды одного типа этот тип становится, типом результата операции.

2) Если операнды разного типа и существует не явное преобразование типа от операнда 2 к операнду 3, то типом результата операции становится тип операнда 3.

3) Если операнда разного типа и существует неявное преобразование от операнда3 к операнда2, то типом результатом операции становится тип операнада2.

Условная операция является право-ассоциативной и будет выполняться справа на лево.

I=(i<n)? i++:i--;

Оператор множественного выбора.

Оператор Switch, предназначен для разветвления процесса вычислений, на несколько направлений. Структурная схема имеет вид:

3 bnJldi54bWxMj8FOwzAMhu9IvEPkSdxYMtAqWppOiIkLl8GYOHuN11RrnKrJ1sLTE8SBHW1/+v39 5WpynTjTEFrPGhZzBYK49qblRsPu4+X2AUSIyAY7z6ThiwKsquurEgvjR36n8zY2IoVwKFCDjbEv pAy1JYdh7nvidDv4wWFM49BIM+CYwl0n75TKpMOW0weLPT1bqo/bk9OQhzcbg/2k9WGzyDbf2Kxf d6PWN7Pp6RFEpCn+w/Crn9ShSk57f2ITRKchy/I8oRqW90sQCfhb7BOplAJZlfKyQvUDAAD//wMA UEsBAi0AFAAGAAgAAAAhALaDOJL+AAAA4QEAABMAAAAAAAAAAAAAAAAAAAAAAFtDb250ZW50X1R5 cGVzXS54bWxQSwECLQAUAAYACAAAACEAOP0h/9YAAACUAQAACwAAAAAAAAAAAAAAAAAvAQAAX3Jl bHMvLnJlbHNQSwECLQAUAAYACAAAACEAz3cxr/UBAAAGBAAADgAAAAAAAAAAAAAAAAAuAgAAZHJz L2Uyb0RvYy54bWxQSwECLQAUAAYACAAAACEAUUQe/9wAAAAKAQAADwAAAAAAAAAAAAAAAABPBAAA ZHJzL2Rvd25yZXYueG1sUEsFBgAAAAAEAAQA8wAAAFgFAAAAAA== " strokecolor="#4579b8 [3044]">

 

 


 

 

 

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;

}