Expressions

Comprehensive study notes, diagrams, and exam preparation for Expressions.

Expressions

Definition

In computer science and mathematics, an expression is a combination of values, variables, operators, and functions that are interpreted by a computer or a mathematical system to produce a single resulting value. Unlike statements, which perform an action, expressions represent a calculation.


Main Content

1. Arithmetic Expressions

  • These involve numerical values and mathematical operators like addition (+), subtraction (-), multiplication (*), and division (/).
  • Example: The expression 5 + (3 * 2) evaluates to 11.

2. Relational Expressions

  • These expressions compare two values and result in a boolean value, either "True" or "False."
  • Example: The expression 10 > 5 evaluates to True, while 2 == 3 evaluates to False.

3. Logical Expressions

  • These use logical operators like AND, OR, and NOT to combine boolean values.
  • Example: If A is True and B is False, the expression A AND B evaluates to False.

Working / Process

1. Lexical Analysis

  • The system scans the input string to identify individual components called "tokens" (numbers, variables, operators).
  • Example: In the expression x + 5, tokens are x, +, and 5.

2. Syntax Analysis (Parsing)

  • The system organizes these tokens into a tree structure, often called an Abstract Syntax Tree (AST), to determine the order of operations based on precedence rules.
  • The diagram below shows how 3 + 4 * 2 is structured:
      +
     / \
    3   *
       / \
      4   2

3. Evaluation

  • The system traverses the tree and executes the operations starting from the deepest level of the tree (highest precedence).
  • Example: First, 4 * 2 is solved to get 8, then 3 + 8 is solved to get 11.

Advantages / Applications

  • Efficiency: Expressions allow complex calculations to be written in a single, readable line of code.
  • Data Transformation: They are essential for modifying data states in software applications, such as calculating totals in a spreadsheet.
  • Control Flow: Relational and logical expressions act as the "brain" for decision-making in programming, allowing programs to branch based on conditions.

Summary

An expression is a functional unit of code that evaluates to a single value through the combination of operators and operands. It serves as the foundation for mathematical computation, conditional logic, and data processing. Important terms to remember include Operands (the data being processed), Operators (the symbols defining the action), and Precedence (the hierarchy determining which operation occurs first).