Conditional statements are fundamental in programming as they allow the execution of code based on certain conditions. In ALGOL, conditional statements help control the flow of the program by making decisions. This section will cover the basic syntax and usage of conditional statements in ALGOL.

Key Concepts

  1. If Statement: Executes a block of code if a specified condition is true.
  2. If-Else Statement: Executes one block of code if a condition is true and another block if the condition is false.
  3. Nested If Statements: An if or if-else statement inside another if or if-else statement.
  4. Else If Ladder: A series of if-else statements to check multiple conditions.

If Statement

The if statement in ALGOL is used to execute a block of code only if a specified condition is true.

Syntax

if condition then
    statement;

Example

begin
    integer x;
    x := 10;
    if x > 5 then
        print("x is greater than 5");
end

Explanation

  • x := 10; assigns the value 10 to the variable x.
  • The if statement checks if x is greater than 5.
  • If the condition is true, it executes the print statement.

If-Else Statement

The if-else statement allows you to execute one block of code if the condition is true and another block if the condition is false.

Syntax

if condition then
    statement1
else
    statement2;

Example

begin
    integer x;
    x := 3;
    if x > 5 then
        print("x is greater than 5")
    else
        print("x is not greater than 5");
end

Explanation

  • The if statement checks if x is greater than 5.
  • If the condition is true, it executes the first print statement.
  • If the condition is false, it executes the else block.

Nested If Statements

You can place an if or if-else statement inside another if or if-else statement to create complex decision-making structures.

Syntax

if condition1 then
    if condition2 then
        statement1
    else
        statement2
else
    statement3;

Example

begin
    integer x, y;
    x := 10;
    y := 20;
    if x > 5 then
        if y > 15 then
            print("x is greater than 5 and y is greater than 15")
        else
            print("x is greater than 5 but y is not greater than 15")
    else
        print("x is not greater than 5");
end

Explanation

  • The outer if statement checks if x is greater than 5.
  • If true, the inner if statement checks if y is greater than 15.
  • Depending on the conditions, the appropriate print statement is executed.

Else If Ladder

The else if ladder is used to check multiple conditions sequentially.

Syntax

if condition1 then
    statement1
else if condition2 then
    statement2
else if condition3 then
    statement3
else
    statement4;

Example

begin
    integer x;
    x := 7;
    if x > 10 then
        print("x is greater than 10")
    else if x > 5 then
        print("x is greater than 5 but less than or equal to 10")
    else if x > 0 then
        print("x is greater than 0 but less than or equal to 5")
    else
        print("x is less than or equal to 0");
end

Explanation

  • The if statement checks if x is greater than 10.
  • If false, the first else if checks if x is greater than 5.
  • If false, the second else if checks if x is greater than 0.
  • If all conditions are false, the else block is executed.

Practical Exercises

Exercise 1

Write an ALGOL program that checks if a number is positive, negative, or zero and prints the result.

Solution

begin
    integer num;
    num := -5;
    if num > 0 then
        print("The number is positive")
    else if num < 0 then
        print("The number is negative")
    else
        print("The number is zero");
end

Exercise 2

Write an ALGOL program that assigns a grade based on a score. The grading criteria are:

  • Score >= 90: Grade A
  • Score >= 80: Grade B
  • Score >= 70: Grade C
  • Score >= 60: Grade D
  • Score < 60: Grade F

Solution

begin
    integer score;
    score := 85;
    if score >= 90 then
        print("Grade A")
    else if score >= 80 then
        print("Grade B")
    else if score >= 70 then
        print("Grade C")
    else if score >= 60 then
        print("Grade D")
    else
        print("Grade F");
end

Common Mistakes and Tips

  • Missing Semicolons: Ensure each statement ends with a semicolon.
  • Indentation: Proper indentation improves readability but is not syntactically required in ALGOL.
  • Logical Errors: Double-check conditions to avoid logical errors in decision-making.

Conclusion

In this section, we covered the basics of conditional statements in ALGOL, including if, if-else, nested if, and else if ladders. Understanding these concepts is crucial for controlling the flow of your programs. Practice the exercises to reinforce your understanding and prepare for more advanced topics in the next module.

© Copyright 2024. All rights reserved