इस chapter में हम Algorithms और Flowcharts के माध्यम से सीखेंगे कि किसी समस्या को कैसे step-by-step हल किया जाता है। यहाँ आप जानेंगे – Sequential, Decision-based और Iterative Processing के बारे में तथा common examples जैसे swapping, factorial, Fibonacci, prime check, binary conversion आदि के practical flowcharts और Python codes।
किसी भी प्रोग्रामिंग प्रक्रिया की शुरुआत Algorithm और Flowchart से होती है। ये दोनों concepts किसी भी प्रोग्राम के पीछे की logical planning को समझाने के लिए उपयोग किए जाते हैं। Algorithm एक step-by-step तरीका बताता है जिससे समस्या को हल किया जाता है, जबकि Flowchart उसी algorithm को एक diagram के रूप में प्रस्तुत करता है।
Algorithm वह logical sequence होता है जो किसी समस्या के समाधान के steps को दर्शाता है। हर step clear, finite और executable होना चाहिए।
a = int(input("Enter first number: "))
b = int(input("Enter second number: "))
sum = a + b
print("Sum =", sum)
इस algorithm में 5 steps हैं जो sequentially execute होते हैं।
जब हम algorithm को graphical रूप में symbols और arrows की मदद से दिखाते हैं, तो उसे Flowchart कहा जाता है। Flowchart का उपयोग program logic को visually समझाने और analyze करने में किया जाता है।
| Symbol | Name | Purpose |
|---|---|---|
| 🔹 Oval | Start / Stop | प्रोग्राम की शुरुआत या अंत दिखाने के लिए। |
| ⬜ Rectangle | Process | Calculation या operation दर्शाने के लिए। |
| 🟦 Parallelogram | Input / Output | Data पढ़ने या print करने के लिए। |
| 🔺 Diamond | Decision | Condition या branching check करने के लिए। |
| ➡️ Arrow | Flow Lines | Program के flow direction बताने के लिए। |
# Flowchart-based program
a = int(input("Enter first number: "))
b = int(input("Enter second number: "))
sum = a + b
print("The Sum is:", sum)
यह flowchart sequential execution का उदाहरण है —
सभी steps क्रम से चलते हैं और result print होता है।
n = int(input("Enter a number: "))
if n % 2 == 0:
print("Even Number")
else:
print("Odd Number")
यहाँ Diamond symbol (Decision) को Python में if-else statement से दर्शाया गया है।
Flowchart किसी algorithm या program का graphical representation होता है। यह दिखाता है कि program के steps किस क्रम में execute होंगे। Flowchart में अलग-अलग symbols का प्रयोग किया जाता है — जैसे Start/Stop, Input/Output, Process, Decision आदि, जो program के अलग-अलग भागों को दर्शाते हैं।
Flowchart में प्रयुक्त प्रत्येक symbol का एक विशिष्ट उद्देश्य होता है। नीचे दी गई तालिका में commonly used symbols और उनके अर्थ बताए गए हैं:
| Symbol | Name | Description / Use |
|---|---|---|
| 🔶 Oval | Start / End | Program की शुरुआत और समाप्ति दिखाने के लिए। इसे Terminal Symbol भी कहा जाता है। |
| ⬜ Rectangle | Process | Computation या calculation को दर्शाने के लिए (जैसे A = B + C)। |
| 🟦 Parallelogram | Input / Output | Data को पढ़ने या परिणाम को दिखाने के लिए प्रयोग किया जाता है। |
| 🔺 Diamond | Decision | किसी condition की जाँच के लिए (Yes/No या True/False branching)। |
| ➡️ Arrow | Flow Line | Program के flow (direction) को दर्शाने के लिए। |
| 🔘 Circle | Connector | Flowchart के दो भागों को जोड़ने के लिए। |
| 🧾 Document | Print / Report | Output को किसी file या document में print करने के लिए। |
नीचे एक छोटा flowchart logic दिया गया है जो दो संख्याएँ पढ़ता है, उन्हें जोड़ता है और परिणाम दिखाता है।
# Flowchart for addition of two numbers
a = int(input("Enter first number: "))
b = int(input("Enter second number: "))
sum = a + b
print("Sum =", sum)
यह example Input → Process → Output structure को दर्शाता है।
Decision symbol (🔺 Diamond) का उपयोग तब किया जाता है जब हमें किसी condition पर decision लेना होता है, जैसे कि संख्या even है या odd।
n = int(input("Enter a number: "))
if n % 2 == 0:
print("Even Number")
else:
print("Odd Number")
यहाँ diamond (decision symbol) → if-else logic को दर्शाता है।
जब कोई प्रक्रिया बार-बार दोहराई जाती है, तब हम loop (iteration) symbols का प्रयोग करते हैं। जैसे, किसी संख्या का factorial निकालना।
n = int(input("Enter number: "))
fact = 1
i = 1
while i <= n:
fact = fact * i
i += 1
print("Factorial =", fact)
यहाँ looping arrow symbol iterative execution को दर्शाता है।
जब किसी प्रोग्राम में statements एक के बाद एक क्रम से execute होते हैं — बिना किसी branching या repetition के — तो उसे Sequential Processing कहते हैं। यह सबसे सरल control structure होती है, जिसमें steps का execution ऊपर से नीचे की ओर होता है।
Sequential flowchart में सभी steps एक single path में connect रहते हैं। नीचे एक example दिया गया है।
# Sequential Example 1: Area of Rectangle
length = float(input("Enter length: "))
breadth = float(input("Enter breadth: "))
area = length * breadth
print("Area of Rectangle =", area)
यह example दिखाता है कि sequential steps कैसे financial computation में उपयोग होते हैं।
# Sequential Example 2: Simple Interest
P = float(input("Enter Principal: "))
R = float(input("Enter Rate of Interest: "))
T = float(input("Enter Time (in years): "))
SI = (P * R * T) / 100
print("Simple Interest =", SI)
यहाँ हम Celsius को Fahrenheit में convert करेंगे — बिना किसी decision या loop के।
# Sequential Example 3: Temperature Conversion
C = float(input("Enter temperature in Celsius: "))
F = (C * 9/5) + 32
print("Temperature in Fahrenheit =", F)
तीन संख्याओं का औसत निकालना sequential structure का classic example है।
# Sequential Example 4: Average of three numbers
A = float(input("Enter first number: "))
B = float(input("Enter second number: "))
C = float(input("Enter third number: "))
avg = (A + B + C) / 3
print("Average =", avg)
यहाँ sequentially two calculations perform होते हैं — पहले circumference, फिर area।
# Sequential Example 5: Circle Area and Perimeter
R = float(input("Enter radius of circle: "))
area = 3.14 * R * R
circumference = 2 * 3.14 * R
print("Area =", area)
print("Circumference =", circumference)
प्रोग्राम में कई बार ऐसे मौके आते हैं जब हमें किसी शर्त (condition) के आधार पर अलग-अलग actions लेने होते हैं। जैसे — अगर temperature ज्यादा है तो "Hot" दिखाओ, नहीं तो "Cool"। इस प्रकार के logic को Decision Making या Selection Structure कहा जाता है।
Decision making को flowchart में Diamond symbol (🔺) द्वारा दर्शाया जाता है, जहाँ दो रास्ते होते हैं — Yes (True) और No (False)।
यह केवल तब execute होता है जब condition True होती है। अगर condition False है, तो program simply next line पर चला जाता है।
if condition:
statement
Example:
marks = int(input("Enter marks: "))
if marks >= 50:
print("You Passed!")
print("Exam Over.")
Flowchart Logic:अगर condition True है तो एक block execute होता है, अन्यथा दूसरा block।
if condition:
statement1
else:
statement2
Example – Even or Odd:
num = int(input("Enter a number: "))
if num % 2 == 0:
print("Even Number")
else:
print("Odd Number")
Flowchart:
जब एक if-statement के अंदर दूसरा if होता है, तो उसे Nested if कहते हैं। इसका प्रयोग तब होता है जब multiple levels की checking करनी हो।
marks = int(input("Enter marks: "))
if marks >= 40:
if marks >= 75:
print("Distinction")
else:
print("Pass")
else:
print("Fail")
Flowchart Steps:
जब multiple conditions हों और हर एक condition के लिए अलग result देना हो, तो if-elif-else ladder का प्रयोग किया जाता है।
marks = int(input("Enter marks: "))
if marks >= 90:
print("Grade A+")
elif marks >= 75:
print("Grade A")
elif marks >= 60:
print("Grade B")
elif marks >= 40:
print("Grade C")
else:
print("Fail")
Flowchart Concept:
Diamond → Multiple branching
(First True condition executes, rest skipped)
नीचे दिया गया example practical decision-making logic को दर्शाता है।
units = int(input("Enter electricity units used: "))
if units <= 100:
bill = units * 5
elif units <= 200:
bill = units * 7
else:
bill = units * 10
print("Total Bill = ₹", bill)
if handles single condition; if-else handles two-way choice.elif is used for multiple conditional checks.if can be used for multi-level logical hierarchy.Programming में कई बार हमें किसी process को बार-बार (repeatedly) चलाने की आवश्यकता होती है — जब तक कोई शर्त (condition) पूरी न हो जाए। इस repetitive execution को Looping या Iteration कहा जाता है।
Looping flowchart में Decision (🔺 Diamond) symbol के साथ Backward Arrow का प्रयोग होता है, जो iteration को दर्शाता है।
while loop तब तक execute होता है जब तक condition True रहती है। जैसे ही condition False होती है, loop समाप्त हो जाता है।
while condition:
statement(s)
Example – Print Numbers 1 to 5:
i = 1
while i <= 5:
print(i)
i += 1
print("Loop Finished")
Flowchart Steps:
for loop का प्रयोग तब किया जाता है जब हमें पता हो कि कितनी बार repetition करनी है। Python में यह किसी sequence (list, tuple, string, range) पर iterate करता है।
for variable in sequence:
statement(s)
Example – Print Numbers 1 to 5:
for i in range(1, 6):
print(i)
print("Loop Complete")
Flowchart Logic:
Initialization → Condition → Body → Increment → Repeat → Exit
Loop का सबसे common application – summation।
n = int(input("Enter N: "))
sum = 0
i = 1
while i <= n:
sum += i
i += 1
print("Sum =", sum)
यह example दिखाता है कि loop repetitive calculation कैसे करता है।
num = int(input("Enter a number: "))
for i in range(1, 11):
print(num, "x", i, "=", num * i)
जब एक loop के अंदर दूसरा loop हो, तो उसे nested loop कहा जाता है। यह pattern printing और matrices में useful है।
for i in range(1, 4): # Outer loop
for j in range(1, 4): # Inner loop
print(i, j)
Output:कभी-कभी हमें loop के normal flow को बदलने की आवश्यकता होती है। इसके लिए Python में कुछ special statements हैं:
for i in range(1, 10):
if i == 6:
break
print(i)
Output: 1 2 3 4 5
for i in range(1, 6):
if i == 3:
continue
print(i)
Output: 1 2 4 5
| Feature | while Loop | for Loop |
|---|---|---|
| Use Case | Unknown number of repetitions | Known number of repetitions |
| Condition | Explicitly checked each time | Automatically handled by range() |
| Initialization | Manually required | Done within range() |
| Common Example | Reading input till stop | Counting, iterating sequences |
while – condition-based loop।for – range या sequence-based loop।break और continue loop control के लिए।Algorithm और Flowchart दोनों programming के foundation हैं। इस chapter में हम कुछ common real-life algorithms और उनके flowchart logic को देखेंगे, साथ ही उनके Python implementations भी। हर example में — Algorithm ➜ Flowchart Steps ➜ Python Code तीनों दिए गए हैं।
# Example 1: Sum of Two Numbers
A = int(input("Enter first number: "))
B = int(input("Enter second number: "))
Sum = A + B
print("Sum =", Sum)
# Example 2: Find maximum of two numbers
A = int(input("Enter first number: "))
B = int(input("Enter second number: "))
if A > B:
print("A is greater")
else:
print("B is greater")
# Example 3: Factorial of a number
N = int(input("Enter a number: "))
Fact = 1
i = 1
while i <= N:
Fact = Fact * i
i += 1
print("Factorial =", Fact)
# Example 4: Check even or odd
N = int(input("Enter number: "))
if N % 2 == 0:
print("Even Number")
else:
print("Odd Number")
# Example 5: Reverse of a number
N = int(input("Enter a number: "))
Rev = 0
while N > 0:
R = N % 10
Rev = Rev * 10 + R
N = N // 10
print("Reversed Number =", Rev)
# Example 6: Check palindrome number
N = int(input("Enter a number: "))
copy = N
rev = 0
while N > 0:
r = N % 10
rev = rev * 10 + r
N = N // 10
if copy == rev:
print("Palindrome Number")
else:
print("Not Palindrome")
# Example 7: Student grade evaluation
marks = int(input("Enter marks: "))
if marks >= 90:
grade = "A+"
elif marks >= 75:
grade = "A"
elif marks >= 60:
grade = "B"
elif marks >= 40:
grade = "C"
else:
grade = "Fail"
print("Grade:", grade)
# Example 8: Smallest of three numbers
A = int(input("Enter first number: "))
B = int(input("Enter second number: "))
C = int(input("Enter third number: "))
if A < B and A < C:
smallest = A
elif B < C:
smallest = B
else:
smallest = C
print("Smallest number =", smallest)
इस section में हमने NIELIT O-Level syllabus से संबंधित Algorithms और Flowcharts पर आधारित कुछ Frequently Asked Questions (FAQs) को एक जगह संकलित किया है। ये प्रश्न exam preparation और interview दोनों के लिए उपयोगी हैं।
| Algorithm | Flowchart |
|---|---|
| Textual (written in steps) | Graphical (uses symbols) |
| Focus on logic | Focus on visualization |
| Easy to write | Easy to understand |
| Language-independent | Universal representation |
| Algorithm | Program |
|---|---|
| Step-by-step logical plan | Implementation of that plan |
| Language independent | Written in specific language (e.g., Python) |
| No syntax rules | Has syntax and structure |
| Used for planning | Used for execution |