Procedures are reusable blocks of code that perform actions but don't return a value. They're perfect for tasks like printing reports, updating displays, or performing operations that don't need to give back a result.
Functions | Procedures |
---|---|
Return a value | Don't return a value |
Use Return |
No Return needed |
Calculate and give back results | Perform actions (print, update, etc.) |
Example: CalculateArea() | Example: PrintReport() |
Procedure ProcedureName(parameters)
# Procedure code
# No return statement
Endprocedure
ProcedureName(arguments)
Algorithm ProcedureDemo
# Define the procedure
Procedure SayHello()
Print "Hello, World!"
Print "Welcome to iPseudo!"
Endprocedure
# Call the procedure
SayHello()
SayHello()
Endalgorithm
Algorithm ParameterProcedure
Procedure GreetUser(name)
Print "Hello,", name, "!"
Print "Nice to meet you!"
Endprocedure
Procedure GreetWithTime(name, timeOfDay)
Print "Good", timeOfDay, ",", name, "!"
Endprocedure
# Call the procedures
GreetUser("Alice")
Print ""
GreetUser("Bob")
Print ""
GreetWithTime("Charlie", "morning")
Endalgorithm
Algorithm MenuSystem
Procedure ShowMainMenu()
Print ""
Print "================================"
Print " MAIN MENU"
Print "================================"
Print "1. Start Game"
Print "2. View High Scores"
Print "3. Settings"
Print "4. Exit"
Print "================================"
Endprocedure
Procedure ShowGameStarted()
Print ""
Print "🎮 Game Starting..."
Print "Good luck!"
Endprocedure
Procedure ShowGoodbye()
Print ""
Print "Thanks for playing!"
Print "👋 Goodbye!"
Endprocedure
# Main program
ShowMainMenu()
var choice = Input "Enter choice:"
If choice == 1 Then
ShowGameStarted()
Else If choice == 4 Then
ShowGoodbye()
Endif
Endalgorithm
Algorithm ReportGenerator
Procedure PrintHeader()
Print "================================"
Print " SALES REPORT"
Print " October 2025"
Print "================================"
Print ""
Endprocedure
Procedure PrintSalesLine(product, quantity, price)
var total = quantity * price
Print product, ":"
Print " Quantity:", quantity
Print " Price: $", price
Print " Total: $", total
Print ""
Endprocedure
Procedure PrintFooter(grandTotal)
Print "--------------------------------"
Print "GRAND TOTAL: $", grandTotal
Print "================================"
Endprocedure
# Generate report
PrintHeader()
PrintSalesLine("Laptop", 5, 999.99)
PrintSalesLine("Mouse", 20, 29.99)
PrintSalesLine("Keyboard", 15, 79.99)
var total = (5 * 999.99) + (20 * 29.99) + (15 * 79.99)
PrintFooter(total)
Endalgorithm
Algorithm PatternDrawer
Procedure DrawLine(length, character)
For i = 1 To length
Print character
Endfor
Print ""
Endprocedure
Procedure DrawBox(width, height, character)
For row = 1 To height
DrawLine(width, character)
Endfor
Endprocedure
Procedure DrawSeparator()
Print ""
DrawLine(40, "-")
Print ""
Endprocedure
# Draw patterns
Print "Pattern 1:"
DrawBox(5, 3, "* ")
DrawSeparator()
Print "Pattern 2:"
DrawBox(8, 2, "# ")
Endalgorithm
You can use functions and procedures together in your programs:
Algorithm CalculatorApp
# Function to calculate (returns value)
Function Add(a, b)
Return a + b
Endfunction
Function Multiply(a, b)
Return a * b
Endfunction
# Procedure to display (no return)
Procedure DisplayResult(operation, num1, num2, result)
Print ""
Print "=== CALCULATION ==="
Print num1, operation, num2, "=", result
Print "==================="
Endprocedure
# Main program
var x = 10
var y = 5
# Calculate using functions
var sum = Add(x, y)
var product = Multiply(x, y)
# Display using procedures
DisplayResult("+", x, y, sum)
DisplayResult("*", x, y, product)
Endalgorithm
Algorithm StudentGradeSystem
# ===== DISPLAY PROCEDURES =====
Procedure ShowWelcome()
Print "================================"
Print " STUDENT GRADE SYSTEM"
Print "================================"
Print ""
Endprocedure
Procedure ShowStudentInfo(name, id, grade)
Print "Student Name:", name
Print "Student ID:", id
Print "Final Grade:", grade
Endprocedure
Procedure ShowPassFail(grade)
If grade >= 60 Then
Print "Status: ✅ PASSED"
Else
Print "Status: ❌ FAILED"
Endif
Endprocedure
# ===== CALCULATION FUNCTIONS =====
Function CalculateGrade(test1, test2, test3)
Return (test1 + test2 + test3) / 3
Endfunction
# ===== MAIN PROGRAM =====
ShowWelcome()
var name = Input "Enter student name:"
var id = Input "Enter student ID:"
var t1 = Input "Test 1 score:"
var t2 = Input "Test 2 score:"
var t3 = Input "Test 3 score:"
var finalGrade = CalculateGrade(t1, t2, t3)
Print ""
Print "=== STUDENT REPORT ==="
ShowStudentInfo(name, id, finalGrade)
ShowPassFail(finalGrade)
Print "======================="
Endalgorithm
Procedure
, close with Endprocedure
Return
statement needed