1. Алгоритм. Основные свойства алгоритма. Линейные и ветвящиеся алгоритмы. Итерационные алгоритмы


Download 27.19 Kb.
bet9/11
Sana08.04.2023
Hajmi27.19 Kb.
#1341397
1   2   3   4   5   6   7   8   9   10   11
Bog'liq
oroliq1

Операция преобразования
С помощью специальной операции преобразования мы можем явным образом привести данные к нужному типу. Например:
int a = 10;
int b = 4;
int c = a / b; // 2
double d = a / b; // 2.00000
double e = (double)a / (double)b; // 2.50000
printf("c = %d \n", c);
printf("d = %f \n", d);
printf("e = %f \n", e);
В выражении int c = a / b; результат деления будет целочисленный - 2, при котором дробная часть будет отброшена, так как оба операнда операции представляют целые числа. В выражении double d = a / b; результат деления будет представлять вещественное число - 2.00000, но так как оба операнда являются целыми числами, то опять же результат операции будет представлять целое число 2, и только поле выполнения деления произойдет присвоение результата переменной d с приведением значения 2 от типа int к типу double. В выражении double e = (double)a / (double)b применяется явное преобразование данных к типу double, поэтому и результат деления будет представлять вещественное число - 2.50000. Для выполнения операции приведении в скобках указывается тот тип, к которому надо привести значение:
int number = 70;
char symbol = (char) number;
printf("symbol = %c \n", symbol); // F
printf("symbol (int code) = %d \n", symbol); // 70
В ряде случаев преобразования сопровождаются потерей информации. Без потери информации проходят следующие цепочки преобразований:
char -> short -> int -> long
unsigned char -> unsigned short -> unsigned int -> unsigned long
float -> double -> long double
При всех остальных преобразованиях, которые не входят в эти цепочки, мы можем столкнуться с потерей точности данных. Так, в примере выше преобразование от int к char не является безопасным, поэтому к таким преобразованиям следует относиться с осторожностью.
6. Операторы условий.if, if-else,?:,оператор switch.
Условные конструкции - один из базовых компонентов многих языков программирования, которые направляют работу программы по одному из путей в зависимости от определенных условий. Одной из таких конструкций в языке программирования C# является конструкция if..else Конструкция if/else проверяет истинность некоторого условия и в зависимости от результатов проверки выполняет определенный код. Ее простейшая форма состоит из блока if:
if(условие)
{
выполняемые инструкции
}
После ключевого слова if ставится условие. Условие должно представлять значение типа bool. Это может быть непосредственно значение типа bool или результат условного выражения или другого выражения, которое возвращает значение тиа bool. И если это условие истинно (равно true), то срабатывает код, который помещен далее после условия внутри фигурных скобок. Например
int num1 = 8;
int num2 = 6;
if(num1 > num2)
{
Console.WriteLine($"Число {num1} больше числа {num2}");
}
В данном случае у нас первое число больше второго, поэтому выражение num1 > num2 истинно и возвращает true, следовательно, управление переходит к строке Console.WriteLine("Число {num1} больше числа {num2}"); Если блок if содержит одну инструкцию, то мы можем его сократить, убрав фигурные скобки. Выражение else Но что, если мы захотим, чтобы при несоблюдении условия также выполнялись какие-либо действия? В этом случае мы можем добавить блок else:
int num1 = 8;
int num2 = 6;
if(num1 > num2)
{
Console.WriteLine($"Число {num1} больше числа {num2}");
}
else
{
Console.WriteLine($"Число {num1} меньше числа {num2}");
}
Блок else выполняется, если условие после if ложно, то есть равно false. Если блок else содержит толко одну инструкцию, то оять же мы можем его сократить, убрав фигурные скобки:
int num1 = 8;
int num2 = 6;
if(num1 > num2)
Console.WriteLine($"Число {num1} больше числа {num2}");
else
Console.WriteLine($"Число {num1} меньше числа {num2}");
else if
Но в примере выше при сравнении чисел мы можем насчитать три состояния: первое число больше второго, первое число меньше второго и числа равны. Используя конструкцию else if, мы можем обрабатывать дополнительные условия:
int num1 = 8;
int num2 = 6;
if(num1 > num2)
{
Console.WriteLine($"Число {num1} больше числа {num2}");
}
else if (num1 < num2)
{
Console.WriteLine($"Число {num1} меньше числа {num2}");
}
else
{
Console.WriteLine("Число num1 равно числу num2");
}
При необходимости можно добавить несколько выражений else if:
string name = "Alex";
if (name == "Tom")
Console.WriteLine("Вас зовут Tomas");
else if (name == "Bob")
Console.WriteLine("Вас зовут Robert");
else if (name == "Mike")
Console.WriteLine("Вас зовут Michael");
else
Console.WriteLine("Неизвестное имя");

Download 27.19 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   11




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling