Лабораторная работа №2
Тема: Программирование алгоритмов с ветвлением, вычисление математических выражений, обработка исключений
Цель: изучение основных арифметических и логических операций C#, методов класса Math, а также структурных операторов ветвления и обработки исключительных ситуаций
Теоретические положения
C# - это язык, который основывается на семействе "C"-подобных языков (С, C++, Java) поэтому многие его механизмы работают по схожему принципу, например, операторы. В С# существуют четыре основных класса операторов: арифметические, логические, операторы сравнения, побитовые, а также несколько дополнительных, которые используются для ряда специальных ситуаций.
Арифметические операторы
| Оператор | Значение |
| + | Сложение |
| - | Вычитание |
| * | Умножение |
| / | Деление |
| % | Остаток от деления |
| ++ | Инкремент |
| -- | Декремент |
Все перечисленные выше операторы, кроме % работают точно так же как в C/C++. В C# оператор деления по модулю может применяться как к целочисленным данным, так и к значениям с плавающей точкой. В С/С++ этого делать нельзя было.
using System;class Sample{ public static void Main() { try{ int a=5,b=2; double c = 19.67, d=3; Console.WriteLine("Результат {0}%{1}={2}",a,b,a%b); Console.WriteLine("Результат {0}%{1}={2}",c,d,c%d); } catch(Exception ex){ Console.WriteLine(ex.Message); } Console.Read(); }}Операторы сравнения
| Оператор | Значение |
| == | Равно |
| != | Не равно |
| > | Больше чем |
| < | Меньше чем |
| >= | Больше или равно |
| <= | Меньше или равно |
Логические операторы
| Оператор | Значение |
| & | И |
| | | Или |
| ^ | Исключающее или |
| && | И (сокращенная схема) |
| || | Или (сокращенная схема) |
| ! | Не |
Результатом выполнения операторов сравнения и логических операторов являются значения типа bool(true/false).Например:
using System;class Sample{ public static void Main() { try{ int a=2,b=3; if((a==2)&&(b==3)){ Console.WriteLine("Это видно на экране 1 !!!"); } if(a>31){ Console.WriteLine("Это не видно на экране 2 !!!"); } bool b1=false,b2=false; if(b1^b2){ Console.WriteLine("Это не видно на экране 3 !!!"); } b1=true; b2=false; if(b1^b2){ Console.WriteLine("Это видно на экране 4 !!!"); } } catch(Exception ex){ Console.WriteLine(ex.Message); } Console.Read(); }}Пример показанный ниже это ошибка на этапе компиляции, так как в С# невозможно неявное преобразование от int к bool.
int a = 7; if(a){ // Так нельзя в C#, а в С++ можно Console.WriteLine("Ошибка !!!"); }И Даже любимая логическая ошибка программистов на C++ для С# превратится в ошибку на этапе компиляции, по причине, указанной выше.
int a = 7; if(a=8){ // В этой строке ошибка на этапе компиляции Console.WriteLine("Ошибка !!!"); }Дата добавления: 2021-12-14; просмотров: 549;











