Практика 3.1. Простые условия


Сравнение чисел, чётность и выбор действий

В этих задачах вы потренируетесь использовать if, else и else if. Сначала запишите условие своими словами, затем составьте выражение C# и проверьте несколько входных значений.

3.1.1. Проверка палиндрома

Получите положительное трёхзначное целое число и определите, одинаково ли оно читается слева направо и справа налево. Сравните первую и последнюю цифры.

Проверьте 363, 563 и 101. Решение и таблицы трассировки находятся в главе 3.

3.1.2. Проверка чётности

Получите целое число n. Выведите «Чётное», если оно чётное, иначе — «Нечётное».

Решение
1
2
3
4
5
6
7
8
9
10
Console.Write("Введите целое число: ");
int n = int.Parse(Console.ReadLine());
if (n % 2 == 0)
{
    Console.WriteLine("Чётное");
}
else
{
    Console.WriteLine("Нечётное");
}

Например, при вводе 8 выводится «Чётное». Проверьте также 7, 0 и -3: чётность определяется отсутствием остатка при делении на 2.

3.1.3. Сравнение двух чисел

Получите два целых числа a и b. Выведите ровно одно сообщение:

  • a > b, если первое число больше;
  • a == b, если числа равны;
  • a < b в оставшемся случае.

3.1.4. Поиск максимума

Получите два целых числа a и b. Объявите int max = a;. Если b > a, присвойте max = b. В конце выведите max.

Решите задачу с помощью условия, чтобы проследить изменение переменной, а не с помощью Math.Max. Проверьте также равные числа.

3.1.5. Знак числа

Получите число x и выведите:

  • «Положительное», если x > 0;
  • «Ноль», если x == 0;
  • «Отрицательное» в противном случае.

3.1.6. Сколько дней в феврале?

В юлианском календаре год, который делится на 4 без остатка, имеет 29 дней в феврале; в остальных годах — 28. Получите положительный номер года и выведите число дней в феврале, используя условие.

Здесь используется юлианский календарь. Более точное для современного григорианского календаря правило вы примените в задаче 3.2.1. Вариант текущей задачи без условий есть в практике 2.1.

Решение
Console.Write("Введите год: ");
int year = int.Parse(Console.ReadLine());
if (year % 4 == 0)
    Console.WriteLine("29 дней");
else
    Console.WriteLine("28 дней");

3.1.7. Упорядочивание двух чисел

Получите два целых числа n1 и n2. После обработки меньшее число должно храниться в n1, а большее — в n2.

Используйте if, не применяя Math.Max. Например:

  • до обработки: n1 = 8, n2 = 3;
  • после обработки: n1 = 3, n2 = 8.
Решение
static void Main()
{
    Console.Write("Введите первое число: ");
    int n1 = int.Parse(Console.ReadLine());

    Console.Write("Введите второе число: ");
    int n2 = int.Parse(Console.ReadLine());

    if (n1 > n2)
    {
        int tmp = n1; // Сохраняем первое значение перед обменом
        n1 = n2;
        n2 = tmp;
    }

    Console.WriteLine($"После упорядочивания: n1={n1}, n2={n2}");
}

Переменная tmp сохраняет исходное значение n1. Без неё инструкция n1 = n2 затёрла бы значение, которое нужно записать в n2.

Проверьте ввод 8, 3, 3, 8 и 5, 5. При уже правильном порядке или равенстве обмен не нужен.

Следующие шаги

Практика 3.2: составные условия и остаток от деления →

Следующая глава: цикл for · Содержание курса