Урок 2. Условия и множественный выбор

Лабораторные работы си шарп и задания по теме «Язык программирования c sharp: условные операторы if, if else, множественные условия switch»

Урок № 2. C# Теория

Простые типы данных си шарп и переводы

Целочисленные:

  • byte
  • short
  • int
  • long

Вещественные:

  • float
  • double
  • decimal
Переводы
  
1. Неявное приведение типов;
2. Явное приведение типов;
3. Между несовместимыми типами.

    1.

    int myInt = 2147483647;
    long myLong= myInt;

    2.

    double myDouble = 1234.6;
    int myInt = (int)myDouble;

    3.

    double myDouble = 1234.6;
    int myInt = Convert.ToInt32(myDouble);

C# условные операторы

IF

IF Statements

    string answer = "Yes";
    if (answer == "Yes")
    {
        // операторы, расположенные здесь, будут извлечены если переменная answer равна
        // yes.
    }

      
    Else

    string answer;
    if (answer == "yes")
    {
        // Блок кода будет извлечен, если answer равна "yes".
    }
    else
    {
        // Блок кода будет извлечен, если answerне равна "yes".
    }

    Else if

    string answer;
    if (answer == "yes")
    {
        // Блок кода будет извлечен, если answer равна "yes".
    }
    else if (answer == "I_don't_know")
    {
        // Блок кода будет извлечен, если answer равна "I_don't_know".
    }
    else
    {
        // Блок кода будет извлечен, если ни одно из условий выше не выполнено.
    }

Множественный выбор Switch

Switch statement

string answer;
switch (answer)
{
   case "yes":
      // Блок кода будет извлечен, если answer равна "yes".
      break;
   case "I_don't_know":
      // Блок кода будет извлечен, если answer равна "I_don't_know".
      break;
   case "no":
      // Блок кода будет извлечен, если answer равна "no".
      break;
   default:
      // Блок кода будет извлечен, если ни одно из условий не выполнено".
      break;
}

Задания и лабораторные си шарп

Лабораторная работа 1. Проверка числа на четность

Выполнить: Запросить целое число. Проверить, является ли оно четным. Вывести результат.

[Название проекта: Lesson_2Lab1, название файла L2Lab1.cs]

Пример выполнения:

Введите целое число
5
Результат: Введенное число нечетное
Введите целое число
6
Результат: Введенное число четное

✍ Алгоритм:

  • Запустите Visual Studio.
  • Создайте консольное приложение, назовите проект Lesson_2Lab1.
  • В окне Solution Explorer (Обозреватель решений) найдите файл Program.cs и переименуйте его в L2Lab1.cs.
  • Установите курсор непосредственно после открытой скобки функции Main, щелкните enter, чтобы перейти на новую строку.
  • Попросите пользователя ввести число, используйте метод ReadLine() :
  • static void Main(string[] args)
      {
         Console.WriteLine("Введите число");
      }
    
  • Присвойте введенное значение переменной numb. Переведите переменную numb в целое значение:
  • ...
     int numb = Int32.Parse(Console.ReadLine());
    ...
    
  • Проверьте введенное число на четность. Если оно четное выведите фразу «Введенное число четное»:
  • ...
    if(numb % 2 == 0)
      {
         Console.WriteLine("Введенное число четное");
      }
    ...
    
    Проверка на четность

  • Необходимо проверить остаток при делении числа на 2.
  • Оператор (%) используется для проверки остатка при целочисленном делении числа.
  • Если остаток равен 0, это означает, что число четное.
  • Добавьте блок else чтобы вывести результат при нечетном значении переменной numb. В таком случае выведите фразу «Введенное число нечетное»:
  • ...
    if(numb % 2 == 0)
      {
         Console.WriteLine("Введенное число четное");
      }
    else  
      {
         Console.WriteLine("Введенное число нечетное");
      }
    
  • Щелкните CTRL+F5, чтобы запустить приложение без отладки.
  • Поэкспериментируйте, вводя различные значения.
Задание 1:

Выполнить: Попросите пользователя ввести число. Проверьте, является ли введенное число положительным или оно является отрицательным. Выведите результат.
 
Указание: Можно использовать следующие способы перевода введенного значения в числовое:

1) int numb = Convert.ToInt32(Console.ReadLine());
2) int numb = Int32.Parse(Console.ReadLine());

  
[Название проекта: Lesson_2Task1, название файла L2Task1.cs]

Пример выполнения:

Введите число
50
Результат: введенное число положительное
Введите число
-7
Результат: введенное число отрицательное

Задание 2:

Выполнить: Дано двухзначное число. Вывести отдельно его десятичный разряд и разряд единиц (операторы %, /).
  состоит из цифр 5 и6, но не -5 и -6. Чтобы вывести модуль числа:

...
using static System.Math;
...
Math.Abs(number);

  
Указание: Не забудьте выполнить перевод введенного значения в тип integer (Int32.Parse(...)).
 
[Название проекта: Lesson_2Task2, название файла L2Task2.cs]

Пример выполнения:

Введите число:
50
Результат: единицы 0, десятки 5
Введите число:
-76
Результат: единицы 6, десятки 7

Задание 3:

Выполнить: Дано трехзначное число. Измените его десятичный разряд в 0.
  
Указание 1: Сначала необходимо получить отдельно все три разряда числа. Затем присвоить разряду десяток 0. После чего получить число из разрядов. Пример получения числа:

если дано 1, 2, 3
1*100 + 2*10 + 3 = 123

  
Указание 2: Не забудьте выполнить перевод введенного значения в числовой тип (Int32.Parse(...)).
 
[Название проекта: Lesson_2Task3, название файла L2Task3.cs]

Пример выполнения:

Введите трехзначное число:
523
Цифры числа: 5,2,3; результат: 503

Задание 4:

Выполнить: Даны три целых числа. Выведите true если, по крайней мере, два из них не равны, и выведите false в обратном случае.
  
Указание: Логический оператор не равно — это !=, логическое И — это оператор &&, логическое ИЛИ — оператор ||:

if (a!=b) {...}

[Название проекта: Lesson_2task4, название файла L2Task4.cs]
Пример выполнения:

Введите три целых числа:
13, -4, 6 
Результат: true
Введите три целых числа:
6, -4, 6
Результат: true
Введите три целых числа:
13, 13, 13 
Результат: false

Задание 5:

Выполнить: Даны целые числа a, b, c. Вывести значение True, если существует треугольник с соответствующими длинами сторон, и False в противном случае. Если треугольник существует, вывести его площадь.
  
Указание: Вспомните «неравенство треугольника». Для вычисления площади воспользуйтесь формулой Герона (p означает полупериметр):

[Название проекта: Lesson_2task5, название файла L2Task5.cs]
Пример выполнения:

Введите три целых числа:
4, 8, 6
Результат: существует, его площадь 11.61895003
Задание 6:

Выполнить: Для данного целого x найти значение следующей функции f, принимающей значения целого типа:

[Название проекта: Lesson_2task6, название файла L2Task6.cs]
Пример выполнения:

Введите число: 
>>> 4
Результат 8
Задание 7:

Выполнить: Для данного вещественного x найти значение следующей функции f, принимающей значения целого типа:

[Название проекта: Lesson_2task7, название файла L2Task7.cs]

Пример выполнения:

Введите число: 
>>> 
Результат 
Лабораторная работа 2. Множественный выбор Switch

Выполнить: Вводится число — размер порции кофе (1=small 2=medium 3=large). В ответ вывести цену (1 — 25 руб, 2 — 50 руб, 3 — 75 руб). Использовать оператор switch.

[Название проекта: Lesson_2Lab2, название файла L2Lab2.cs]

Пример выполнения:

Возможные порции: 1=small 2=medium 3=large
Укажите ваш выбор: 
2
Результат: 25 руб
Возможные порции: 1=small 2=medium 3=large
Укажите ваш выбор: 
5
Результат: Неверный выбор. Введите 1, 2 или 3.

✍ Алгоритм:

  • Open Visual Studio.
  • Создайте консольное приложение с именем Lesson_2Lab2: File (Файл) -> New (Новый) -> Project/Solution (Проект) -> Консольное приложение.
  • В окне Solution Explorer (Обозреватель решений)найдите файл Program.cs и переименуйте его в L2Lab2.cs.
  • Установите курсор сразу после открытой скобки функции Main и щелкните enter, чтобы перейти на новую строку.
  • Используйте метод WriteLine, чтобы запросить размер порции кофе у пользователя:
  • ...
    Console.WriteLine("Coffee sizes: 1=small 2=medium 3=large");
    Console.Write("Please enter your selection: ");
    ...
    
  • Присвойте введенное число переменной str строкового типа:
  • ...
    string str = Console.ReadLine();
    ...
    
  • Инициализируйте переменную priceзначением 0:
  • ...
    int price = 0;
    ...
    
  • Создайте оператор switch, чтобы проверить переменную str: если выбрано 1, то цена должна быть 25. Если 250, если 375.
  • ...
    switch (str)
      {
        case "1":
          price += 25;
          break;
        case "2":
          price += 50;
          break;
        case "3":
          price += 75;
          break;
       ...
      }
    ...
    
  • Добавьте блок default, чтобы вывести сообщение, если введенное число было неверным:
  • ...
    switch (str)
      {
        case "1":
          price += 25;
          break;
        case "2":
          price += 50;
          break;
        case "3":
          price += 75;
          break;
        default:
          Console.WriteLine("Неверный выбор. Введите 1, 2 или 3.");
          break;
      }
    ...
    
  • Проверьте переменную price и выведите цену, используя рекомендованный c# синтаксис:
  • ...
    if (price != 0)
                {
                    Console.WriteLine($"{price} руб.");
                }
    ... 
    
  • Щелкните CTRL+F5.
  • Поэкспериментируйте с различными значениями.
  • Сохраните проект.
Задание 8:

Выполнить: Попросите пользователя ввести номер дня недели (1, 2, 3, …, 7). Проверьте введенный номер и выведите в ответ название дня недели (Понедельник — 1, Вторник — 2, и т.д.).

[Название проекта: Lesson_2Task8, название файла L2Task8.cs]

  
Пример выполнения:

Введите число от 1 до 7: 
2
Результат: 2-й день недели - это вторник
Введите число от 1 до 7:   
9
Результат: такого дня недели нету, введите число от 1 до 7