Условни оператори

Download Report

Transcript Условни оператори

Условни оператори
Как да Имплементираме Логика в C#
Съдържание
1. Оператори за сравнение и логически изрази
2. If конструкция
3. If-else конструкция
4. Вложени if конструкции
2
Оператори за сравнение и
логически изрази
Оператори за сравнение
Оператор
Равно
Различно
По-голямо
По-малко
По-голямо, или равно
По-малко, или равно
Запис в C#
==
!=
>
<
>=
<=
bool isGreater = 5 > 12;
Console.WriteLine(isGreater);
bool isEqual = 10 == 10;
Console.WriteLine(isEqual);
4
Логически оператори
Оператор
Логическо НЕ
Логическо И
Логическо ИЛИ
Запис в C#
!
&&
||
int a = 5;
int b = 10;
int c = 20;
bool areDifferent = !(a==b);
//false
bool isBMin = (b > a) || (b > c);
//false
5
If и If-else конструкции
Условната if конструкция
 Позволява проверка на условие
 Изпълнява различен код в зависимост от
резултата
 Най-простата if конструкция
if (условие)
{
тяло на условната конструкция;
}
7
Условие и тяло
 Условието може да е:
 Булева променлива
 Булев логически израз
•
Пресмята се до булева стойност (true-false)
 Тялото на условната конструкция :
 Се състои от една или няколко операции
 При повече от една операция тялото се огражда
с къдреви скоби { }
 Винаги ограждайте тялово с къдреви
скоби
8
Как работи?
 Условието се пресмята до
булева стойност
 Ако резултатът е true,
тялото се изпълнява
False
Условие
 Ако резултатът е false,
тялото се пропуска
True
Тяло
9
Условната if конструкция - пример
static void Main()
{
Console.WriteLine("Enter two numbers.");
Console.Write("Enter first number: ");
int firstNumber = int.Parse(Console.ReadLine());
Console.Write("Enter second number: ");
int secondNumber = int.Parse(Console.ReadLine());
int biggerNumber = firstNumber;
if (secondNumber > firstNumber)
{
biggerNumber = secondNumber;
}
Console.WriteLine("The bigger number is: {0}",
biggerNumber);
}
10
If условна конструкция
Демонстрация
If-else условна конструкция
If-else условна конструкция
 По сложна и полезна условна конструкция
 Изпълнява различни парчета код за true и
false
 Схема на if-else конструкция
if (условие)
{
тяло 1;
}
else
{
тяло 2;
}
13
Как работи
 Условието се пресмята
до булева стойност
 Ако резултатът е true,
тяло 1 се изпълнява
 Ако резултатът е false,
тяло 2 се изпълнява
Else
Условие
True
Тяло 2
Тяло 1
14
If-else
Демонстрация
Вложени if конструкции
Създаване на по-сложна логика
Вложени конструкции
 if и if-else конструкциите могат да са
вложени, пр. използвани в друга if или ifelse конструкции
 Всеки else се отнася за най-близкият
предходен if
if (условие)
{
if (условие)
{
тяло;
}
else
{
тяло;
}
}
17
if – добри практики
 Винаги използвайте { и } скобите, за да
ограждате тялото за изпълнение на код
 Не влагайте много if конструкции една в
друга
 Подреждайте кода си!
18
Вложени if конструкции - пример
if (first == second)
{
Console.WriteLine("These two numbers are equal.");
}
else
{
if (first > second)
{
Console.WriteLine("The first number is bigger.");
}
else
{
Console.WriteLine("The second is bigger.");
}
}
19
Въпроси?
Упражнения
1. Да се напише програма, която чете две цели
числа от конзолата. Да се принтира поголямото от тях.
2. Да се напише програма, която чете три цели
числа от конзолата и намира най-голямото.
3. Да се напише програма, която чете две цели
числа от конзолата. Да се разменят
стойностите на двете променливи, ако
първото число е по-голямо от второто.
21
Упражнения
4. Да се напише програма, която прочита 3
цели числа от конзолата и след това ги
подрежда във възходящ ред.
 Пр: 21,7,9 -> 7,9,21; 9,-15,4 -> -15,4,9
5. Да се напише програма, която прочита 1
цифра (0-9) от конзолата и извежда името
на цифрата на български език.
6. Да се напише програма, която показва
знакът на произведението на две цели
числа без да го пресмята.
 Пр: 1, 2 -> плюс; -1, 2 -> минус; 0, 5 -> плюс
22
Упражнения
7. Да се напише програма, която прилага
бонус точки към дадени точки в
интервала [1..9] чрез прилагане на следните
правила:
 Ако точките са между 1 и 3, програмата ги
умножава по 10.
 Ако точките са между 4 и 6, ги умножава по
100.
 Ако точките са между 7 и 9, ги умножава по
1000.
 Ако точките са 0 или повече от 9, се отпечатва
съобщение за грешка
23
Упражнения
8. **Напишете програма, която преобразува
дадено число в интервала [0..999] в текст,
съответстващ на английското произношение
на числото. Задача за шампиони.







0 -> zero
9 -> nine
19 -> nineteen
29 -> twenty nine
100 -> one hundred
105 -> one hundred and five
125 -> one hundred and twenty five
24