Оператор ветвления.


В C# поддерживаются многие операторы условий и циклов, применяемых в C++, поэтому рассмотрим только отличия.

Оператор условия if-else внешне выглядит, как в C++:

if ( условие )

{

...

}

else if ( условие )

{

...

}

...

else

{

...

}

Однако, в C# выражение в скобках должны иметь тип bool. Это означает, что выражения типа if(a) /* a не имеет тип bool) */ и if(a = 5) будут вызывать ошибку компиляции. Таким образом C# позволяет избежать известной ошибки, связанной с потерей одного знака = внутри оператора условия.

 

Тринарный условный оператор:

условие ? выражение 1 /*условие истинно*/ : выражение 2 /*условие ложно*/

 

 

Пример 2. Пусть необходимо вычислить значение функции y:

Некорректные ситуации при вычислении возможны, если: , , .

Фрагмент кода C#, который реализует вычисление функции, представлен ниже.

int a, b, x;

double y;

a = 7;

b = 10;

x = -10;

y = Math.Pow(x, 2); // Вычисление y = x^2

if ((x == 0) || (b <= 0) || (b == y))

{

Console.WriteLine("Вычисление невозможно!");

}

Else

{

y = (a * y - b) / Math.Log10(b / y);

Console.WriteLine("Значение y: {0}", y);

}

Console.ReadKey();

 

В этой программе вначале объявляются переменные a, b, x типа int, а также переменная y типа double. При объявлении переменных для них резервируется место в оперативной памяти, а идентификаторы (имена) переменных представляют собой ссылки на соответствующие места в памяти. Так, например, идентификатор b является ссылкой на область памяти размером 2 байта (для типа данных int), а идентификатор y является ссылкой на область памяти размером 4 байта (для типа данных double).

Далее следует 4 операции присваивания на основе оператора присваивания (=). Первые три операции присваивания обеспечивают инициализацию переменных a, b, x. Фактически при этом в области памяти, связанные с этими переменными заносятся указанные справа от оператора присваивания “=” константы (в примере числа 7 ,10, –10). Четвертая операция присваивания отличается от первых трех тем, что в правой части записано выражение, значение которого вычисляется и присваивается указанной слева переменной y. Можно сказать также, что переменная y инициализируется значением выражения. В этом выражении Math — наименование класса пространства имен System, который содержит методы для вычисления математических функций, таких как Pow (возведение в степень) или Log10 (вычисление десятичного логарифма), и др.

Структурный оператор ветвления if … else предназначен здесь для проверки возможности вычисления ,чтобы исключить ошибки выполнения (например, деление на ноль). Этот оператор рассматривается подробно в теоретических положениях к лабораторной работе №2.

 

Перечень математических функций, которые могут быть использованы при вычислении значений заданных функций:

Функция Назначение
Abs(Double) Возвращает абсолютное значение аргумента
Exp(Double) Вычисляет значение экспоненты в степени аргумента
Log(Double) Вычисляет логарифм натуральный от аргумента
Log10(Double) Вычисляет логарифм десятичный от аргумента
Log(Double, Double) Вычисляет логарифм от аргумента 1 по основанию аргумента 2
Pow(Double, Double) Вычисляет значение аргумента 1 возведенного в степень аргумента 2
Sqrt(Double) Вычисляет значение квадратного корня из значения аргумента

 

Некоторые приемы упрощенного решения вычислительных задач:

Выражение Вариант вычисления
x2 x * x
x3 x * x * x
Math.Sqrt(Math.Sqrt(x))
p=1/n; Math.Pow(x, p)
p=m/n; Math.Pow(x, p)
p double pi = Math.PI

 

 



Дата добавления: 2021-12-14; просмотров: 323;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.008 сек.