GCS 106
INTRODUCTION TO COMPUTER PROGRAMING AND ICT SKILLS
ALGORITHM
• AN ALGORITHM IS SIMPLY A SET OF STEPS OR INSTRUCTIONS THAT TELL YOU
HOW TO SOLVE A PROBLEM OR DO SOMETHING
• IT IS A SET OF STEPS USED TO COMPLETE A SPECIFIC TASK.
• COUNTING ALGORITHM (1-10):
• START WITH A NUMBER.
• ADD 1 TO THE NUMBER.
• KEEP ADDING 1 UNTIL YOU REACH A SPECIFIC NUMBER, WHICH IS 10.
• THEN STOP.
• FINDING THE LARGEST NUMBER ALGORITHM:
• START WITH THE FIRST NUMBER.
• COMPARE IT WITH THE NEXT NUMBER.
• IF THE NEXT NUMBER IS LARGER, REMEMBER IT.
• KEEP COMPARING WITH THE REST OF THE NUMBERS.
• THE REMEMBERED NUMBER IS THE LARGEST.
Write a simple algorithm to find the product of two numbers:
• START
• INPUT THE FIRST NUMBER (NUM1)
• INPUT THE SECOND NUMBER (NUM2)
• MULTIPLY NUM1 AND NUM2 AND STORE THE RESULT IN A VARIABLE (PRODUCT)
• DISPLAY THE PRODUCT
• STOP
• WRITE A SIMPLE ALGORITHM TO FIND THE AREA OF A CIRCLE:
• START
• INPUT THE RADIUS OF THE CIRCLE (DENOTED AS RADIUS).
• CALCULATE THE AREA OF THE CIRCLE USING THE FORMULA: AREA = Π * RADIUS^2,
WHERE Π (PI) IS A CONSTANT VALUE APPROXIMATELY EQUAL TO 3.14159.
• DISPLAY THE CALCULATED AREA.
• END
A SHORT ALGORITHM FOR USING A THERMOMETER:
1. PREPARE THERMOMETER: ENSURE THE THERMOMETER IS CLEAN AND READY FOR USE.
2. POSITION PATIENT: HAVE THE PATIENT SIT OR LIE DOWN COMFORTABLY.
3. SELECT MEASUREMENT SITE: CHOOSE AN APPROPRIATE SITE FOR MEASUREMENT (E.G., ORAL, RECTAL, AXILLARY).
4. PREPARE SITE: IF NECESSARY, CLEAN THE MEASUREMENT SITE WITH SOAP AND WATER.
5. INSERT THERMOMETER: FOLLOW INSTRUCTIONS FOR INSERTION (E.G., UNDER TONGUE, IN RECTUM, UNDER
ARMPIT).
6. WAIT FOR READING: KEEP THE THERMOMETER IN PLACE UNTIL IT BEEPS OR DISPLAYS A READING.
7. READ TEMPERATURE: NOTE THE TEMPERATURE READING DISPLAYED ON THE THERMOMETER.
8. DOCUMENT RESULTS: RECORD THE TEMPERATURE ALONG WITH THE MEASUREMENT SITE AND TIME.
9. CLEAN THERMOMETER: CLEAN THE THERMOMETER ACCORDING TO THE MANUFACTURER'S INSTRUCTIONS.
10. PROVIDE FEEDBACK: INTERPRET THE TEMPERATURE READING AND PROVIDE APPROPRIATE RECOMMENDATIONS
OR TREATMENT IF NEEDED.
A SIMPLE ALGORITHM FOR CHECKING THE HBP OF A PATIENT
1. PREPARE EQUIPMENT: ASSEMBLE CLEAN CUFF AND STETHOSCOPE.
2. POSITION PATIENT: SIT COMFORTABLY WITH ARM SUPPORTED AT HEART LEVEL.
3. APPLY CUFF: SECURELY AROUND UPPER ARM.
4. INFLATE CUFF: UNTIL PRESSURE EXCEEDS EXPECTED SYSTOLIC PRESSURE.
5. LISTEN: PLACE STETHOSCOPE OVER ARTERY, LISTEN FOR SOUNDS.
6. RECORD MEASUREMENTS: NOTE SYSTOLIC AND DIASTOLIC PRESSURES.
7. REPEAT IF NECESSARY: REST, THEN RE-MEASURE IF NEEDED.
8. DOCUMENT AND INTERPRET RESULTS: RECORD MEASUREMENTS, INTERPRET, AND DISCUSS WITH PATIENT.
9. PROVIDE FEEDBACK: EXPLAIN RESULTS, GIVE RECOMMENDATIONS.
10. FOLLOW-UP: SCHEDULE FUTURE APPOINTMENTS AS NEEDED.
PSEUDOCODE
• Pseudocode is a method of representing algorithms in a simplified, high-level
description that uses natural language mixed with some programming language-
like syntax.
• It's not meant to be executed on a computer but rather serves as a blueprint for
writing actual code.
• Pseudocode helps programmers plan and visualize the logic of an algorithm
before implementing it in a specific programming language.
• WRITE A PSEUDOCODE TO FIND THE PRODUCT OF TWO NUMBERS.
• 1. INPUT TWO NUMBERS, NUM1 AND NUM2
• 2. SET PRODUCT = NUM1 * NUM2
• 3. DISPLAY PRODUCT
• CHECKING IF A NUMBER IS EVEN OR ODD:
• 1. INPUT A NUMBER, NUM
• 2. IF NUM % 2 == 0 THEN
• 3. OUTPUT "EVEN"
• 4. ELSE
• 5. OUTPUT "ODD"
Difference between Algorithm And Pseudocode
Aspect Algorithm Pseudocode
Step-by-step procedure for problem-solving or
Definition task execution High-level, informal description of an algorithm
Formality Formal and structured Informal and flexible
Can be implemented in various programming Not meant for execution; serves as a planning
Implementation languages tool
Mix of plain language and programming-like
Syntax Programming language-specific syntax
Not executable; used for planning and
Execution Can be executed on a computer visualization
Purpose Provides precise instructions for solving a problem Helps plan and outline the logic of an algorithm
Often requires programming knowledge to Intended to be human-readable and easy to
Readability understand understand
Used for planning and designing algorithms
Usage Directly applicable for implementation in code before coding
FLOWCHART
• A FLOWCHART IS A GRAPHICAL REPRESENTATION OF A PROCESS OR ALGORITHM, USING
VARIOUS SYMBOLS CONNECTED BY ARROWS TO ILLUSTRATE THE SEQUENCE OF STEPS. IT
VISUALLY DEPICTS THE STEPS, DECISIONS, AND ACTIONS INVOLVED IN COMPLETING A TASK
OR SOLVING A PROBLEM.
Flowchart Symbols
There are 6 basic symbols commonly used in flowcharting of assembly language Programs: Terminal,
Process, input/output, Decision, Connector and Predefined Process.
• GENERAL RULES FOR FLOWCHARTING
• ALL BOXES OF THE FLOWCHART ARE CONNECTED WITH ARROWS. (NOT LINES)
• FLOWCHART SYMBOLS HAVE AN ENTRY POINT ON THE TOP OF THE SYMBOL WITH NO OTHER ENTRY POINTS.
THE EXIT POINT FOR ALL FLOWCHART SYMBOLS IS ON THE BOTTOM EXCEPT FOR THE DECISION SYMBOL.
• THE DECISION SYMBOL HAS TWO EXIT POINTS; THESE CAN BE ON THE SIDES OR THE BOTTOM AND ONE SIDE.
• GENERALLY A FLOWCHART WILL FLOW FROM TOP TO BOTTOM. HOWEVER, AN UPWARD FLOW CAN BE
SHOWN AS LONG AS IT DOES NOT EXCEED 3 SYMBOLS.
• CONNECTORS ARE USED TO CONNECT BREAKS IN THE FLOWCHART. EXAMPLES ARE:
• FROM ONE PAGE TO ANOTHER PAGE.
• FROM THE BOTTOM OF THE PAGE TO THE TOP OF THE SAME PAGE.
• AN UPWARD FLOW OF MORE THEN 3 SYMBOLS
• SUBROUTINES AND INTERRUPT PROGRAMS HAVE THEIR OWN AND INDEPENDENT FLOWCHARTS.
• ALL FLOW CHARTS START WITH A TERMINAL OR PREDEFINED PROCESS (FOR INTERRUPT PROGRAMS OR
SUBROUTINES) SYMBOL.
• ALL FLOWCHARTS END WITH A TERMINAL OR A CONTENTIOUS LOOP.
SOME EXAMPLES OF FLOWCHARTS
• PROBLEM1: FIND THE AREA OF A CIRCLE OF RADIUS
PROBLEM 2: CONVERT TEMPERATURE FAHRENHEIT TO CELSIUS.
PROBLEM 3: ALGORITHM FOR FIND THE GREATER NUMBER BETWEEN TWO NUMBERS.
Start
Read A,B
True False
If A>B
Print A Print B
END
PROBLEM 3: ALGORITHM FOR THE CALCULATION OF PROFIT AND LOSS
ADVANTAGES OF USING FLOWCHARTS
THESE ADVANTAGES ARE AS FOLLOWS:
• VISUAL REPRESENTATION: FLOWCHARTS PROVIDE A VISUAL REPRESENTATION OF PROCESSES,
MAKING THEM EASIER TO UNDERSTAND AND FOLLOW, ESPECIALLY FOR COMPLEX PROCEDURES.
• CLARITY AND SIMPLICITY: THEY OFFER A SIMPLE AND CLEAR WAY TO COMMUNICATE COMPLEX
IDEAS OR PROCEDURES, FACILITATING UNDERSTANDING AMONG STAKEHOLDERS.
• STANDARDIZATION: FLOWCHARTS FOLLOW STANDARD SYMBOLS AND CONVENTIONS,
ALLOWING FOR CONSISTENCY IN DOCUMENTATION ACROSS DIFFERENT PROJECTS OR
ORGANIZATIONS.
• IDENTIFICATION OF ERRORS: FLOWCHARTS CAN HELP IDENTIFY ERRORS, BOTTLENECKS, OR
INEFFICIENCIES IN PROCESSES, ENABLING IMPROVEMENTS AND OPTIMIZATIONS.
• DECISION-MAKING AID: FLOWCHARTS CAN ASSIST IN DECISION-MAKING BY VISUALLY MAPPING
OUT DIFFERENT OPTIONS, CONDITIONS, AND OUTCOMES.
• DOCUMENTATION: THEY SERVE AS VALUABLE DOCUMENTATION FOR PROCESSES, PROCEDURES,
AND ALGORITHMS, AIDING IN TRAINING, TROUBLESHOOTING, AND KNOWLEDGE TRANSFER.
DISADVANTAGES OF USING FLOWCHARTS:
• COMPLEXITY: FLOWCHARTS CAN BECOME OVERLY COMPLEX, ESPECIALLY FOR LARGE OR
INTRICATE PROCESSES, MAKING THEM DIFFICULT TO UNDERSTAND OR FOLLOW.
• SUBJECTIVITY: INTERPRETATION OF FLOWCHARTS MAY VARY AMONG INDIVIDUALS, LEADING TO
POTENTIAL MISUNDERSTANDINGS OR MISINTERPRETATIONS.
• TIME-CONSUMING: CREATING DETAILED FLOWCHARTS CAN BE TIME-CONSUMING, ESPECIALLY FOR
COMPLEX PROCESSES, REQUIRING SIGNIFICANT EFFORT AND RESOURCES.
• LACK OF FLEXIBILITY: FLOWCHARTS MAY LACK FLEXIBILITY, MAKING IT CHALLENGING TO
ACCOMMODATE CHANGES OR MODIFICATIONS IN PROCESSES WITHOUT SIGNIFICANT REVISIONS
TO THE CHART.
• LIMITED DETAIL: FLOWCHARTS MAY PROVIDE A HIGH-LEVEL OVERVIEW OF PROCESSES, BUT THEY
MAY LACK THE DETAIL NECESSARY FOR COMPREHENSIVE UNDERSTANDING OR ANALYSIS.
• DEPENDENCE ON SKILL: DESIGNING AND INTERPRETING FLOWCHARTS REQUIRE A CERTAIN LEVEL
OF SKILL AND EXPERTISE, LIMITING ACCESSIBILITY TO INDIVIDUALS WITH RELEVANT TRAINING OR
EXPERIENCE.