FUNDAMENTALS OF PROGRAMMING LANGUAGE (I-I Semester)
COURSE OBJECTIVES:
● To develop foundational skills in logic and reasoning required for problem-solving
and programming.
● To introduce essential mathematical concepts like set theory, functions, algebra, and
discrete mathematics applicable in computing.
● To build the ability to design, write, and analyze basic algorithms using logical
thinking.
● To explore algorithmic techniques and structures that form the backbone of
programming logic.
● To familiarize students with the core components and constructs of programming
languages.
COURSE OUTCOMES
● Apply logical reasoning to solve structured programming problems.
● Use propositional and predicate logic in computational logic design.
● Demonstrate proof techniques to validate algorithmic solutions.
● Model data using set theory, relations, and functions.
● Solve problems using counting principles, recurrence, and graph theory.
● Design efficient algorithms with performance analysis.
● Implement basic algorithm techniques in real-time applications.
● Use programming language fundamentals to build structured code.
PART B: Logical Route and Algorithm Fundamentals in Programming Languages
CO 5: Logical Thinking and Logical Route Design
- Introduction to Logical Thinking and its Types – Deductive, Inductive, Abductive
- Logical Route Design and Flow Development
- Need and Importance
- Benefits of Logical Route Design
- Case Study: ATM Transaction Process
Real-Time Application: ATM Transaction Systems - applying logical flow and
conditional decision-making in user interactions and transaction handling.
CO 6: Algorithms and Their Importance
- What is an Algorithm?
- Role of Algorithms in Programming Development
- Applications in Various Domains
- Steps to Write an Algorithm
- Properties of a Good Algorithm
- Algorithm Analysis: Time and Space Performance
Real-Time Application: Google Search - optimized algorithm usage for indexing and
searching web pages quickly and efficiently.
CO 7: Basic Algorithm Techniques
- Importance of Algorithm Techniques
- Brute Force Technique
- Divide and Conquer Technique
- Greedy Method
- Backtracking Method
- Real Time Examples for Each Technique
Real-Time Application: Navigation Systems (e.g., Google Maps) - uses greedy and
divide & conquer algorithms for route optimization.
CO 8: Overview and Building blocks of Programming
- Introduction and Overview of Programming
-Types of Programming
- Building Blocks of Programming Languages: - Data Types - Operators - Control Structures
Real-Time Application: Web and Mobile App Development- knowledge of
programming languages and their structures is essential in app development across
platforms.
LECTURE NOTES
CO 5: Logical Thinking and Logical Route Design
- Introduction to Logical Thinking and its Types – Deductive, Inductive, Abductive
- Logical Route Design and Flow Development
- Need and Importance
- Benefits of Logical Route Design
- Case Study: ATM Transaction Process
Real-Time Application: ATM Transaction Systems - applying logical flow and
conditional decision-making in user interactions and transaction handling.
Introduction to Logical Thinking
Logical thinking is the process of using reasoning skills to arrive at a conclusion. It involves
analysing information, identifying patterns, and constructing a coherent argument based on
facts or evidence.
Goal: To move from a set of premises (statements assumed to be true) to a conclusion
that logically follows.
Importance: It's essential for problem-solving, decision-making, programming,
scientific research, and forming well-supported opinions.
The three primary methods, or types, of logical reasoning are:
1. Deductive Reasoning
2. Inductive Reasoning
3. Abductive Reasoning
1. Deductive Reasoning
Deductive reasoning moves from general principles or premises to a specific and certain
conclusion. If the premises are true, the conclusion must be true. It's often called "top-down"
logic.
Key Characteristics:
Certainty: The conclusion is guaranteed if the premises are true (it is valid).
Scope: It doesn't generate new knowledge; it clarifies and confirms what is already
known within the premises.
Structure: It often takes the form of a syllogism (two premises and a conclusion).
Real-Time Example: Medical Diagnosis
Component Statement
Premise 1 (General Rule) All patients with influenza have a fever.
Premise 2 (Specific Case) John is a patient with influenza.
Conclusion (Specific Result) Therefore, John has a fever.
Analysis: The conclusion is certain. If the two premises are accepted as facts, the conclusion
must follow logically.
Real-Time Example: Programming/Debugging
Component Statement
Premise 1 (General If a user enters an incorrect password, the system displays an
Rule) "Access Denied" error.
Premise 2 (Specific
A user has just entered an incorrect password.
Case)
Conclusion (Specific
Therefore, the system will display an "Access Denied" error.
Result)
2. Inductive Reasoning
Inductive reasoning moves from specific observations to a broad generalization or probable
conclusion. It's often called "bottom-up" logic.
Key Characteristics:
Probability: The conclusion is probable, not certain. It provides new information but
can be proven false by future evidence.
Scope: It's the primary tool for generating new theories, hypotheses, and knowledge
in science.
Structure: It involves observing a trend in a sample and applying it to a broader
population.
Real-Time Example: Market Research/Statistics
Component Statement
Observation 1 (Specific) The first 50 customers surveyed preferred Product A.
The next 50 customers surveyed also preferred Product
Observation 2 (Specific)
A.
Conclusion Therefore, the majority of the entire market prefers
(Generalization) Product A.
Analysis: This conclusion is probable. It's a strong generalization based on the sample, but it
is not guaranteed. Future surveys or data could reveal that the broader market prefers Product
B.
Real-Time Example: Scientific Theory Formation
Component Statement
Observation 1 (Specific) When I drop a pen, it falls to the floor.
Observation 2 (Specific) When I drop an apple, it falls to the floor.
Conclusion Therefore, all objects, when dropped, fall to the ground
(Generalization) (Gravity).
3. Abductive Reasoning
Abductive reasoning starts with an incomplete set of observations and moves to the best
possible explanation for those observations. It seeks to find a plausible cause for an observed
effect.
Key Characteristics:
Inference: It is an inference to the best explanation. The conclusion is a hypothesis
that needs further testing.
Scope: It is widely used in forming initial hypotheses, detective work, and everyday
troubleshooting.
Structure: Focuses on creating an explanation for observed data, even if the data is
insufficient for certainty.
Real-Time Example: IT Troubleshooting
Component Statement
Observation (Effect) The printer is not printing the documents.
The printer is out of paper. The printer is turned off. The
Possible Explanations
printer has a connection error.
Conclusion (Best The printer is flashing an "Out of Paper" light. Therefore,
Explanation) the printer is out of paper.
Analysis: The conclusion is the most likely explanation that accounts for the evidence (the
"Out of Paper" light), but it is not certain until paper is added and printing resumes.
Real-Time Example: Historical Inquiry/CSI
Component Statement
The suspect's car was found near the scene, and their gloves
Observation (Effect)
were found inside the building.
Conclusion (Best The most plausible explanation is that the suspect was
Explanation) involved in the break-in.
Analysis: This is a working hypothesis that combines all available evidence to create a
coherent story. Further evidence (like security footage) would be needed for a deductive
conclusion.
Comparative Summary of Logical Thinking Types
Inductive
Feature Deductive Reasoning Abductive Reasoning
Reasoning
Specific to
General to Specific Observations to Best
Direction General (Bottom-
(Top-Down) Explanation
Up)
Certain (Guaranteed Probable (Likely
Conclusion Plausible (Hypothesis)
True) True)
Create new
Test existing theories; Form a hypothesis;
Purpose theories; make
confirm known facts. troubleshoot.
predictions.
Doctors, detectives,
Mathematicians, Scientists,
mechanics,
Used By logicians, lawyers (for statisticians,
programmers
existing law). economists.
(debugging).
Logical Route Design and Flow Development
I. Logical Route Design: Principles
Logical Route Design is the process of defining the exact sequence of steps, decisions, and
operations a system or algorithm must execute to move from a defined input to a desired
output, while following specified constraints.
1. Algorithm: A finite set of well-defined, ordered steps or instructions for
accomplishing a specific task. The logical route is the realization of the algorithm.
2. Input/Output (I/O): Clearly defining what the process starts with (Input) and what the
process must produce (Output).
3. Process: Any action that transforms data, calculates a result, or moves the flow
forward.
II. Flow Development: Flowcharts
A Flowchart is a diagrammatic representation of an algorithm or process. It uses
standardized symbols to illustrate the sequence of operations, making the logical route clear
and easy to follow.
EXAMPLE:
C Program: Printing Even Numbers from 1 to 100
PROGRAM
#include <stdio.h> flowchart :
int main(){
int i;
for (i = 1; i <= 100; i++) {
if (i % 2 == 0) {
printf("%d\n", i);
}
return 0;
Need for and Importance of Logical Route Design
1. The Need: Transforming Ambiguity into Execution
The primary need for logical route design is to bridge the gap between a high-level goal (e.g.,
"process an order") and the low-level, unambiguous instructions a computer or person
needs to execute.
Clarity: A human requirement is often vague ("make the process fast"). A logical
route forces this into concrete, testable steps ("If response time > 5 seconds, send
notification").
Feasibility: It ensures the problem is solvable with the available resources and
constraints. If a clear route cannot be designed, the goal must be redefined.
Predictability: It guarantees that the same input will always produce the same,
expected output (a necessary condition for a reliable system).
2. The Importance: Foundational Structure
Logical route design is the blueprint for any technical solution. Its importance lies in serving
as the foundation for development and maintenance.
Structure for Programmers: It provides a detailed guide for coders, translating
abstract logic into concrete syntax (like C, Python, or Java). It is far easier to code
from a clear flowchart than from a written specification.
Debugging and Testing: A well-defined route makes it possible to isolate errors. If
an issue occurs, developers can trace the exact flowline (the Arrow symbol) on the
flowchart to pinpoint the faulty step (Rectangle or Diamond).
Communication: Flowcharts (like the ones we discussed) serve as a universal
language that bridges the gap between technical developers, business analysts, and
clients.
Benefits of Logical Route Design
Implementing a robust logical route design yields several key benefits:
1. Efficiency and Optimization
Reduced Redundancy: The design process forces you to look for opportunities to
reuse steps or simplify complex branches, ensuring you aren't performing the same
task multiple times.
Optimal Path Finding: In systems involving resource allocation (like logistics or
networking), logical design helps identify the shortest, fastest, or most cost-effective
path to completion.
Resource Allocation: By clearly identifying the Inputs/Outputs (Parallelogram)
and Processes (Rectangle), you can accurately estimate the computing power, time,
and personnel needed for each step.
2. Reliability and Quality
Error Prevention: Mapping out every Decision (Diamond) helps catch potential
pitfalls, exceptions, or impossible scenarios before coding even begins.
Consistency: It standardizes the solution. Everyone working on the project follows
the same, approved logical path, leading to uniform results regardless of who writes
the code.
Maintenance: When a change is required, the flowchart allows developers to modify
a specific section without risking unintended consequences in unrelated parts of the
flow.
3. Documentation and Training
Clear Documentation: The completed flow diagram serves as excellent, easily
digestible documentation. This is especially useful for handover between teams or
generations of developers.
Training Tool: New team members can quickly grasp the entire system's
functionality and logic by simply following the flow lines, significantly reducing the
learning curve.
Case Study: ATM Transaction Process
Goal: Allow a user to withdraw cash from their account.
Key Actors: User, ATM System, Bank Server
Process Description:
1. Start: The user approaches the ATM.
2. Insert Card: User inserts their bank card.
3. Read Card Data: ATM reads the card information.
4. Validate Card: The system checks if the card is valid (not expired, not blocked,
correct format).
o IF Invalid: Eject card, display error, and end.
5. Enter PIN: User is prompted to enter their Personal Identification Number.
6. Verify PIN: ATM sends card data and PIN to the Bank Server for verification.
o IF Incorrect PIN: Display error, ask to re-enter. (Typically 3 tries before card
is retained).
If max tries exceeded: Retain card, display error, and end.
o IF Correct PIN: Proceed.
7. Display Main Menu: Show options like "Withdrawal," "Balance Inquiry," "Deposit,"
etc.
8. Select Transaction: User selects "Withdrawal."
9. Enter Amount: User enters the desired withdrawal amount.
10. Validate Amount:
o IF Amount > Daily Limit: Display error, ask to re-enter or cancel.
o IF Amount > Available Balance: Display error, ask to re-enter or cancel.
o IF Valid Amount: Proceed.
11. Dispense Cash: ATM dispenses the requested cash.
12. Debit Account: ATM sends a request to the Bank Server to debit the user's account.
13. Print Receipt: Offer to print a receipt.
o IF Yes: Print receipt.
14. Eject Card: Return the card to the user.
15. End: Transaction complete.
CO 6: Algorithms and Their Importance
- What is an Algorithm?
- Role of Algorithms in Programming Development
- Applications in Various Domains
- Steps to Write an Algorithm
- Properties of a Good Algorithm
- Algorithm Analysis: Time and Space Performance
Real-Time Application: Google Search - optimized algorithm usage for indexing and
searching web pages quickly and efficiently.
1. What is an Algorithm?
Definition
An algorithm is a finite set of step-by-step instructions to solve a given problem or
perform a computation.
It must be:
Clear (unambiguous)
Finite (must end)
Accurate
Effective (solves a problem)
Example Algorithm
Problem: Add two numbers.
Step 1: Start
Step 2: Read A and B
Step 3: Compute C = A + B
Step 4: Display C
Step 5: Stop
Algorithm vs Program
Algorithm Program
Logical steps Implementation of steps
Language independent Written in a programming language
Conceptual Executable
2. Role of Algorithms in Programming Development
Algorithms play a crucial role in creating efficient, reliable software.
Importance
1. Helps break down complex problems
2. Improves logic and reasoning
3. Guides implementation in programming languages
4. Ensures efficiency (fast execution)
5. Reduces program complexity
6. Helps avoid errors
3. Applications in Various Domains
Algorithms are used everywhere in modern technology.
1. Computer Science
Searching (Binary Search)
Sorting (Quick Sort, Merge Sort)
Machine Learning algorithms
Cryptography (AES, RSA)
2. Internet & Web Technologies
Google Search Algorithm
PageRank
Recommendation systems (YouTube, Netflix)
3. Banking
Fraud detection
Loan approval algorithms
ATM cash optimization
4. Healthcare
Medical image processing
Diagnosis prediction
DNA sequencing algorithms
5. Robotics
Pathfinding algorithms (A*)
Motion planning
6. Real-Time Systems
Traffic signals
Embedded system algorithms
Autonomous cars
Steps to Write an Algorithm
Writing an algorithm requires systematic planning.
Step-by-Step Approach
Step 1 — Understand the Problem
Identify:
Inputs
Outputs
Constraints
Step 2 — Define Inputs
Example: For average of 2 numbers, inputs are A, B.
Step 3 — Define Output
Example: Average value.
Step 4 — List the Steps Clearly
Simple, ordered, logical steps.
Step 5 — Validate the Algorithm
Check:
Completeness
Correctness
Efficiency
Step 6 — Optimize
Remove redundant steps.
Example Algorithm (Find Largest of Two Numbers)
Step 1: Start
Step 2: Read A and B
Step 3: If A > B, Print A is largest
Step 4: Else Print B is largest
Step 5: Stop
5. Properties of a Good Algorithm
A good algorithm must have the following properties:
1. Input
Should accept zero or more inputs.
2. Output
Must produce at least one meaningful output.
3. Definiteness
Each step should be clear and unambiguous.
4. Finiteness
Must terminate after a finite number of steps.
5. Effectiveness
Operations must be basic and doable.
6. Correctness
Must always give correct results.
7. Efficiency
Should use minimum:
Time (execution time)
Space (memory)
8. Universality
Should solve a general class of problems — not specific to one input.
Example (Good Algorithm Characteristics)
Step 1: Start
Step 2: Read N
Step 3: If N % 2 == 0 print "Even"
Step 4: Else print "Odd"
Step 5: Stop
✔ Clear
✔ Finite
✔ Correct
✔ Efficient
Algorithm Analysis: Time and Space Performance
Algorithm analysis measures how “good” an algorithm is.
Time Complexity (Execution Time)
Measures the time taken by an algorithm as input size increases.
Represented using Big O Notation:
Example
Binary Search → O(log n)
This is faster than Linear Search → O(n)
Space Complexity (Memory Used)
Total memory required:
Input space
Temporary variables
Data structures
Summary Table
Topic Key Points
Algorithm Step-based problem solving
Role in Programming Guides coding; improves efficiency
Applications CS, healthcare, banking, robotics
Writing Steps Define input → logical steps → validate
Good Algorithm Clear, finite, correct, efficient
Analysis Time & space complexity
Real-Time Example Google Search algorithms
CO 7: Basic Algorithm Techniques
- Importance of Algorithm Techniques
- Brute Force Technique
- Divide and Conquer Technique
- Greedy Method
- Backtracking Method
- Real Time Examples for Each Technique
Real-Time Application: Navigation Systems (e.g., Google Maps) - uses greedy and
divide & conquer algorithms for route optimization.
1. Brute Force Technique
Definition
Brute Force is the simplest algorithmic technique where every possible option or solution is
tried until the correct one is found.
It does not use intelligence or shortcuts; it just checks all possibilities.
Characteristics
Easy to understand and implement
Inefficient for large inputs
Guaranteed to find solution (if it exists)
Time complexity often high (O(n²), O(n!), etc.)
Common Examples
Linear Search
String Matching (Naive Method)
Checking all permutations
2. Divide and Conquer Technique
Definition
Divide and Conquer works by:
1. Divide → Split problem into smaller subproblems
2. Conquer → Solve each subproblem (recursively)
3. Combine → Merge their solutions
Characteristics
Recursive approach
Efficient compared to brute force
Reduces time complexity drastically
Suitable for large datasets
Popular Algorithms
Merge Sort
Quick Sort
Binary Search
Strassen Matrix Multiplication
3. Greedy Method
Definition
Greedy technique builds the solution step by step, choosing the best (local optimum) choice
at every stage hoping to reach global optimum.
Characteristics
Simple and fast
No backtracking required
Works only for problems with optimal substructure & greedy choice property
Often used in optimization problems
Problem
Goal: Select maximum number of non-overlapping activities.
Greedy Rule:
Always pick the activity that finishes earliest.
Steps
1. Sort activities by finish time
2. Select the first activity
3. For each next activity → pick if its start ≥ last selected end time
4. Backtracking Method
Definition
Backtracking is a refined brute force technique.
It builds solution incrementally and abandons a path (backtracks) as soon as it determines
the path cannot lead to a valid solution.
Characteristics
Recursive trial and error
Used for constraint satisfaction problems
Builds state-space tree
Reduces unnecessary searches
ASSIGNMENT
Topic: Real-Time Examples for Brute Force, Divide & Conquer, Greedy, and Backtracking
Techniques
+ Real-Time Application: Navigation Systems (Google Maps)
1. Brute Force Technique – Real-Time Examples
Definition
Brute Force is the simplest method of problem solving where all possible solutions are
generated and tested one by one until the correct one is found.
Real-Time Examples
1. Password Cracking
All possible combinations of characters are tried.
Used by security testing tools.
2. Searching a Contact in Mobile
Phone checks every contact sequentially.
Time-consuming but guaranteed to find the match.
3. Checking All Possible Routes in a Small Map
For a small city map, brute force can evaluate every possible path and pick the shortest.
4. Spell Check in Word Processors
Each word is compared with every dictionary word until a match is found.
2. Divide and Conquer Technique – Real-Time Examples
Definition
Divide and Conquer splits a big problem into smaller sub-problems, solves each part, and
combines the results.
Real-Time Examples
1. Google Maps Region-Based Route Calculation
The map is divided into grid sections.
Shortest paths in each grid are solved separately and combined.
2. Searching a Name in a Sorted Phonebook (Binary Search)
Break into halves repeatedly until the name is found.
3. Image Compression
Images are divided into blocks → compressed individually → recombined.
4. Sorting Large Datasets (Merge Sort / Quick Sort)
Used in databases, file systems, and search engines.
3. Greedy Technique – Real-Time Examples
Definition
Greedy Method builds a solution step by step, choosing the best immediate (local) option.
Real-Time Examples
1. Google Maps Shortest Next Road Selection
Chooses the “next best” shortest segment to reduce travel time.
2. Task Scheduling in Operating Systems
OS assigns CPU to the process with shortest remaining time (SRTF), a greedy strategy.
3. Coin Change in Vending Machines
Machine returns change by selecting the highest possible coin first.
4. Minimum Spanning Tree in Networks
Algorithms like Prim’s and Kruskal's used for:
o Cable TV networks
o Internet routing
o Electrical grid design
4. Backtracking Technique – Real-Time Examples
Definition
Backtracking builds a solution step-by-step and undoes (backtracks) when the partial solution
fails.
Real-Time Examples
1. Solving Sudoku Puzzles
Fills empty cells → if conflict arises → undo → try next value.
2. Navigating a Maze
If path is blocked → backtrack to previous intersection → choose another path.
3. File Directory Search
OS searches folders recursively and backtracks when a path ends.
4. N-Queens and Puzzle Games
Used in chess, crosswords, and AI decision-making.
5. Real-Time Application: Navigation Systems (Google Maps)
Why Maps Need Algorithms?
To find the shortest path
To avoid traffic congestion
To give fast route suggestions
Google Maps uses multiple algorithms simultaneously.
5.1 Greedy Method in Google Maps
How it works?
Selects the next road segment with the least travel time based on live traffic.
Used in initial estimation when speed is important.
Example
If two paths are available:
Road A: 5 minutes
Road B: 7 minutes
Greedy picks Road A immediately.
5.2 Divide & Conquer in Google Maps
How it works?
The map is divided into grids or regions.
Shortest path inside each region is calculated.
Solutions from all regions are combined.
Why Needed?
Global maps are too big to process at once.
Divide & Conquer makes route calculation faster and scalable.
5.3 Algorithms Used Internally
1. Dijkstra’s Algorithm
Calculates shortest distance from source to all nodes.
Widely used for road networks.
2. A* Algorithm (A-Star)
Uses heuristics to find shortest path faster.
Core algorithm for Google Maps.
3. Greedy Best-First Search
Chooses the next promising road segment.
4. Backtracking (Re-routing)
When user misses a turn, Maps backtracks the decision and computes a new route.
6. Conclusion
Each algorithmic technique has a strong role in real-time systems:
Technique Real-Time Use Example
Brute Force Try all options Password cracking
Divide & Conquer Split problem into parts Google Maps grid routing
Greedy Choose best immediate option Shortest next road
Backtracking Undo & reattempt Puzzle solving, re-routing
Google Maps is a perfect real-world system combining Greedy + Divide & Conquer + Graph
Algorithms to provide accurate, fast route optimization.
CO 8: Overview and Building blocks of Programming
- Introduction and Overview of Programming
-Types of Programming
- Building Blocks of Programming Languages: - Data Types - Operators - Control Structures
Real-Time Application: Web and Mobile App Development- knowledge of
programming languages and their structures is essential in app development across
platforms.
Introduction and Overview of Programming
What is Programming?
Programming is the process of designing and writing a set of instructions (called a program)
that a computer can execute to perform a specific task or solve a problem.
These instructions are written using programming languages such as C, Java, Python,
JavaScript, etc.
Why Programming is Important?
Automates repetitive tasks
Solves real-world problems logically
Forms the backbone of software, web, and mobile applications
Enables communication between humans and machines
Example
ATM transaction processing
Online shopping applications
Mobile apps like WhatsApp, Paytm
Web applications like Google, Amazon
Types of Programming
Programming can be classified based on approach, usage, and level.
1. Procedural Programming
Program is divided into procedures or functions
Focuses on step-by-step execution
Languages: C, Pascal
Example (C):
int add(int a, int b) {
return a + b;
2. Object-Oriented Programming (OOP)
Based on objects and classes
Supports encapsulation, inheritance, polymorphism
Languages: Java, C++, Python
Example (Java):
class Student {
int id;
String name;
3. Functional Programming
Uses mathematical functions
Avoids changing data and state
Languages: Haskell, Scala
4. Scripting Programming
Used for automation and web development
Languages: JavaScript, Python, PHP
5. Event-Driven Programming
Program execution depends on events like clicks, inputs
Used in: Web & Mobile Apps
Building Blocks of Programming Languages
Every programming language is built using three fundamental building blocks:
3.1 Data Types
What is a Data Type?
A data type specifies the type of data a variable can store and the operations that can be
performed on it.
Types of Data Types
Data Type Example
Integer int x = 10;
Float float y = 3.14;
Character char c = 'A';
String String name = "Vijay";
Boolean boolean flag = true;
Importance
Defines memory allocation
Improves program efficiency
Prevents data errors
3.2 Operators
What is an Operator?
An operator is a symbol used to perform operations on variables and values.
Types of Operators
Operator Type Example
Arithmetic +-*/%
Relational > < >= <= == !=
Logical `&&
Assignment = += -=
Example:
int a = 10, b = 5;
int sum = a + b;
3.3 Control Structures
What are Control Structures?
Control structures determine the flow of execution of a program.
Types of Control Structures
1. Conditional Statements
o if, if-else, switch
2. Looping Statements
o for, while, do-while
3. Jump Statements
o break, continue, return
Control Structures Flowcharts
Example (if-else):
age = 18
if age >= 18:
print ("Eligible to vote")
else:
print ("Not eligible")
Real-Time Application: Web and Mobile App Development
Role of Programming in App Development
In web and mobile applications, programming is used to:
Design user interfaces
Process user inputs
Connect databases
Handle business logic
Example: Login Feature in Mobile App
Data Types: username (String), password (String)
Operators: comparison of credentials
Control Structures: if-else for validation
Sample Logic:
if(username. Equals("admin") && password. Equals("1234")) {
[Link]("Login Successful");
} else {
[Link]("Invalid Credentials");
Platforms Using Programming
Web: HTML, CSS, JavaScript
Mobile: Java/Kotlin (Android), Swift (iOS)
Backend: Java, Python, [Link]