Überprüfen auf Ungerade oder Gerade

CCBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Das Labor zielt darauf ab, den Schülern zu helfen, ein Programm zu verstehen, das mit bitweisen Operatoren implementiert wird, um zu bestimmen, ob eine Zahl ungerade oder gerade ist. Darüber hinaus bietet es auch eine Methode, um zu überprüfen, ob eine Zahl ungerade oder gerade ist, ohne den Modulo-Operator zu verwenden.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/BasicsGroup(["Basics"]) c(("C")) -.-> c/ControlFlowGroup(["Control Flow"]) c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) 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{{"Überprüfen auf Ungerade oder Gerade"}} c/operators -.-> lab-123219{{"Überprüfen auf Ungerade oder Gerade"}} c/if_else -.-> lab-123219{{"Überprüfen auf Ungerade oder Gerade"}} c/for_loop -.-> lab-123219{{"Überprüfen auf Ungerade oder Gerade"}} c/user_input -.-> lab-123219{{"Überprüfen auf Ungerade oder Gerade"}} c/output -.-> lab-123219{{"Überprüfen auf Ungerade oder Gerade"}} end

Bitweise Operator

  1. Beginne damit, den Schülern zu erklären, was ein bitweiser Operator ist.
  2. Erkläre, wie das Programm mit bitweisen Operatoren auf ungerade und gerade Zahlen überprüft.
    • Wenn eine Zahl ungerade ist, hat sie eine 1 in der wenigsten signifikanten Bitposition (LSB).
    • Wenn eine Zahl gerade ist, hat sie eine 0 in der wenigsten signifikanten Bitposition (LSB).
  3. Gib den Codeimplementierung den Schülern und fordere sie auf, den Code in ihre main.c-Datei im Verzeichnis ~/project/ zu kopieren.
  4. Die Codeimplementierung sollte wie folgt aussehen:
#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) // wenn die Zahl ungerade ist
            printf("\t\t\t%d ist ungerade\n",x);
        else if(!(x&1)) //! wird innerhalb von if verwendet, um den booleschen Wert umzukehren
            printf("\t\t\t%d ist gerade\n",x);
    }

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

Finden von Ungerade oder Gerade ohne Verwendung des Modulo-Operators

  1. Erkläre den Schülern, dass es möglich ist, zu bestimmen, ob eine Zahl ungerade oder gerade ist, ohne den Modulo-Operator zu verwenden.
  2. Beschreibe ihnen kurz, wie dies erreicht wird.
    • Wenn eine Zahl gerade ist, sollte das Teilen durch 2 und das erneute Multiplizieren mit 2 die ursprüngliche Zahl ergeben.
    • Wenn eine Zahl ungerade ist, sollte das Teilen durch 2 und das erneute Multiplizieren mit 2 nicht die ursprüngliche Zahl ergeben.
  3. Gib den Schülern die Codeimplementierung und fordere sie auf, sie in ihre main.c-Datei im Verzeichnis ~/project/ zu kopieren.
  4. Die Codeimplementierung sollte wie folgt aussehen:
#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 ist Even\n", n);
    else
        printf("\n\n\t\t %d ist Odd\n", n);

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

Test

  1. Fordere die Schülern auf, beide Codeimplementierungen zu testen.
  2. Führe den Code aus und überprüfe, ob die Ausgabe wie erwartet ist.

Zusammenfassung

Die Schüler sind jetzt mit zwei Methoden vertraut, um zu überprüfen, ob eine Zahl ungerade oder gerade ist. Sie können diese Techniken in jedem C-Programm implementieren, um die gewünschte Funktionalität zu erreichen.