Проверка на нечетность или четность

CCBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

Цель лабораторной работы - помочь студентам понять программу, реализованную с использованием битовых операторов для определения, является ли число нечетным или четным. Кроме того, она также предоставляет метод для проверки, является ли число нечетным или четным, не используя оператор модуля.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c(("C")) -.-> c/BasicsGroup(["Basics"]) c(("C")) -.-> c/ControlFlowGroup(["Control Flow"]) c/BasicsGroup -.-> c/variables("Variables") c/BasicsGroup -.-> c/operators("Operators") c/ControlFlowGroup -.-> c/if_else("If...Else") c/ControlFlowGroup -.-> c/for_loop("For Loop") c/UserInteractionGroup -.-> c/user_input("User Input") c/UserInteractionGroup -.-> c/output("Output") subgraph Lab Skills c/variables -.-> lab-123219{{"Проверка на нечетность или четность"}} c/operators -.-> lab-123219{{"Проверка на нечетность или четность"}} c/if_else -.-> lab-123219{{"Проверка на нечетность или четность"}} c/for_loop -.-> lab-123219{{"Проверка на нечетность или четность"}} c/user_input -.-> lab-123219{{"Проверка на нечетность или четность"}} c/output -.-> lab-123219{{"Проверка на нечетность или четность"}} end

Bitwise Operator

  1. Начните с объяснения студентам, что такое битовый оператор.
  2. Объясните, как программа проверяет нечетные и четные числа с использованием битовых операторов.
    • Если число нечетное, то в младшем разряде (LSB) оно имеет 1.
    • Если число четное, то в младшем разряде (LSB) оно имеет 0.
  3. Предоставьте студентам реализацию кода и попросите их скопировать код в свой файл main.c в директории ~/project/.
  4. Реализация кода должна быть следующей:
#include<stdio.h>

int main()
{
    printf("\n\n\t\tLabEx - Best place to learn\n\n\n");
    int x;
    for(x = 0; x <= 10; x++)
    {
        if(x&1) // if number is odd
            printf("\t\t\t%d is odd\n",x);
        else if(!(x&1)) //! is used inside if to reverse the boolean value
            printf("\t\t\t%d is even\n",x);
    }

    printf("\n\n\n\n\t\t\tCoding is Fun!\n\n\n");
    return 0;
}

Finding Odd or Even without using Modulus Operator

  1. Объясните студентам, что можно определить, является ли число нечетным или четным, не используя оператор модуля.
  2. Кратко опишите, как это достигается.
    • Если число четное, то деление его на 2 и умножение на 2 снова должны дать исходное число.
    • Если число нечетное, то деление его на 2 и умножение на 2 снова не должны дать исходное число.
  3. Предоставьте студентам реализацию кода и попросите их скопировать ее в свой файл main.c в директории ~/project/.
  4. Реализация кода должна быть следующей:
#include<stdio.h>

int main()
{
    printf("\n\n\t\tLabEx - Best place to learn\n\n\n");
    int n;
    printf("Enter a number:  ");
    scanf("%d",&n);

    if((n/2)*2 == n)
        printf("\n\n\t\t %d is Even\n", n);
    else
        printf("\n\n\t\t %d is Odd\n", n);

    printf("\n\n\n\n\t\t\tCoding is Fun!\n\n\n");
    return 0;
}

Тест

  1. попросите студентов протестировать обе реализации кода.
  2. Запустите код и проверьте, соответствует ли вывод ожидаемым результатам.

Резюме

Студенты теперь знакомы с двумя методами проверки того, является ли число нечетным или четным. Они могут реализовать эти методы в любом C-программе, чтобы достичь желаемой функциональности.