Bird
Raised Fist0
PLC Programmingscripting~5 mins

Assignment and arithmetic in PLC Programming - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Assignment and arithmetic
O(n)
Understanding Time Complexity

We want to see how the time it takes to run simple math and assignment commands changes as we do more of them.

How does the number of these operations affect the total time?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


    VAR
      i : INT;
      result : INT := 0;
    END_VAR

    FOR i := 1 TO 100 DO
      result := result + i;
    END_FOR
    

This code adds numbers from 1 to 100 and stores the sum in result.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Addition and assignment inside the loop.
  • How many times: 100 times, once for each number from 1 to 100.
How Execution Grows With Input

Each time we increase the count of numbers to add, the total operations grow the same amount.

Input Size (n)Approx. Operations
1010 additions and assignments
100100 additions and assignments
10001000 additions and assignments

Pattern observation: The work grows directly with the number of items we add.

Final Time Complexity

Time Complexity: O(n)

This means the time to finish grows in a straight line as we add more numbers.

Common Mistake

[X] Wrong: "Adding numbers inside a loop is instant no matter how many numbers there are."

[OK] Correct: Each addition takes a small amount of time, so more numbers mean more time overall.

Interview Connect

Understanding how simple repeated math grows helps you explain how programs handle bigger tasks step by step.

Self-Check

"What if we replaced the loop with two nested loops doing additions? How would the time complexity change?"

Practice

(1/5)
1. In PLC programming, which symbol is used to assign a value to a variable?
speed := 100;
easy
A. The ':=' symbol
B. The '=' symbol
C. The '==' symbol
D. The '->' symbol

Solution

  1. Step 1: Understand assignment syntax in PLC

    PLC uses ':=' to assign values to variables, not '=' or '=='.
  2. Step 2: Identify correct assignment operator

    The ':=' operator updates the variable with the new value.
  3. Final Answer:

    The ':=' symbol -> Option A
  4. Quick Check:

    Assignment operator = ':=' [OK]
Hint: Remember ':=' means assign value in PLC [OK]
Common Mistakes:
  • Using '=' instead of ':='
  • Confusing comparison '==' with assignment
  • Using arrow '->' mistakenly
  • Forgetting semicolon after assignment
2. Which of the following is the correct syntax to add 5 to a variable count in PLC?
easy
A. count := count + 5;
B. count = count + 5;
C. count += 5;
D. count :=+ 5;

Solution

  1. Step 1: Check assignment operator usage

    PLC uses ':=' for assignment, so '=' and '+=' are incorrect here.
  2. Step 2: Verify arithmetic addition syntax

    'count := count + 5;' correctly adds 5 to count and assigns it back.
  3. Final Answer:

    count := count + 5; -> Option A
  4. Quick Check:

    Use ':=' for assignment and '+' for addition [OK]
Hint: Use ':=' for assignment, '+' for addition [OK]
Common Mistakes:
  • Using '=' instead of ':='
  • Trying '+=' which is not valid in PLC
  • Writing ':=+' which is invalid
  • Missing semicolon
3. What is the value of result after executing the following PLC code?
temp := 10;
result := temp * 3 + 2;
medium
A. 12
B. 36
C. 30
D. 32

Solution

  1. Step 1: Calculate multiplication first

    temp * 3 = 10 * 3 = 30
  2. Step 2: Add 2 to the multiplication result

    30 + 2 = 32
  3. Final Answer:

    32 -> Option D
  4. Quick Check:

    10 * 3 + 2 = 32 [OK]
Hint: Multiply before adding, follow order of operations [OK]
Common Mistakes:
  • Adding before multiplying
  • Using wrong variable value
  • Ignoring operator precedence
  • Confusing temp and result variables
4. Identify the error in this PLC code snippet:
speed := 50
speed := speed + 10;
medium
A. Cannot add numbers in PLC
B. Using '=' instead of ':='
C. Missing semicolon after first assignment
D. Variable 'speed' not declared

Solution

  1. Step 1: Check statement endings

    PLC statements must end with a semicolon ';'. The first line misses it.
  2. Step 2: Confirm other syntax is correct

    Second line uses correct ':=' and addition syntax.
  3. Final Answer:

    Missing semicolon after first assignment -> Option C
  4. Quick Check:

    Each statement ends with ';' [OK]
Hint: Always end PLC statements with semicolon ';' [OK]
Common Mistakes:
  • Forgetting semicolon
  • Confusing '=' with ':='
  • Assuming addition not allowed
  • Ignoring variable declaration rules
5. You want to calculate the average speed from three sensor readings s1, s2, and s3 in PLC. Which code correctly assigns the average to avg_speed?
s1 := 40;
s2 := 50;
s3 := 60;
avg_speed := (s1 + s2 + s3) / 3;
hard
A. avg_speed = (s1 + s2 + s3) / 3;
B. avg_speed := (s1 + s2 + s3) / 3;
C. avg_speed := s1 + s2 + s3 / 3;
D. avg_speed := (s1 + s2 + s3) * 3;

Solution

  1. Step 1: Check correct assignment operator

    Use ':=' to assign the calculated value to avg_speed.
  2. Step 2: Verify arithmetic expression correctness

    Sum all three readings and divide by 3 inside parentheses for average.
  3. Final Answer:

    avg_speed := (s1 + s2 + s3) / 3; -> Option B
  4. Quick Check:

    Use ':=' and parentheses for correct average [OK]
Hint: Use parentheses to sum before dividing [OK]
Common Mistakes:
  • Using '=' instead of ':='
  • Missing parentheses causing wrong division
  • Multiplying instead of dividing
  • Forgetting semicolon
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard