OOPS & Python Programming (4351108) - Summer 2024 Solution - Gujarati

OOPS & Python Programming (4351108) Summer 2024 પરીક્ષા માટે ઉકેલ માર્ગદર્શિકા

પ્રશ્ન 1(અ) [3 ગુણ]

Python માં for loop નું કાર્ય સમજાવો.

જવાબ:

For loop એ list, tuple અથવા string જેવા sequence ના દરેક item માટે code block ને repeat કરે છે.

સિન્ટેક્સ ટેબલ:

ઘટકSyntaxઉદાહરણ
મૂળભૂતfor variable in sequence:for i in [1,2,3]:
Rangefor i in range(n):for i in range(5):
Stringfor char in string:for c in "hello":

આકૃતિ:

goat
  • પુનરાવર્તન: Loop variable ને sequence માંથી દરેક value એક પછી એક મળે છે
  • આપમેળે: Python આપમેળે next item પર જવાનું handle કરે છે
  • લવચીક: Lists, strings, tuples, ranges સાથે કામ કરે છે

યાદી કૌશલ્ય: "દરેક Item માટે, Block Execute કરો"


પ્રશ્ન 1(બ) [4 ગુણ]

Python માં if-elif-else નું કાર્ય સમજાવો.

જવાબ:

બહુ-માર્ગીય નિર્ણય માળખું જે sequence માં અનેક conditions ને ચકાસે છે.

માળખાકીય ટેબલ:

StatementહેતુSyntax
ifપ્રથમ શરતif condition1:
elifવૈકલ્પિક શરતોelif condition2:
elseમૂળભૂત કેસelse:

પ્રવાહ આકૃતિ:

goat
  • ક્રમબદ્ધ: ઉપરથી નીચે conditions ને ચકાસે છે
  • વિશિષ્ટ: માત્ર એક જ block execute થાય છે
  • વૈકલ્પિક: elif અને else વૈકલ્પિક છે

યાદી કૌશલ્ય: "જો આ, અથવા જો તે, અથવા Default"


પ્રશ્ન 1(ક) [7 ગુણ]

Python પ્રોગ્રામનું માળખું સમજાવો.

જવાબ:

Python પ્રોગ્રામમાં તાર્કિક ક્રમમાં વિશિષ્ટ ઘટકો સાથે વ્યવસ્થિત માળખું હોય છે.

પ્રોગ્રામ માળખું ટેબલ:

ઘટકહેતુઉદાહરણ
Commentsદસ્તાવેજીકરણ# This is comment
Importબાહ્ય modulesimport math
Constantsનિશ્ચિત વેલ્યુઝPI = 3.14
Functionsપુનઃઉપયોગી કોડdef function_name():
ClassesObjects નો blueprintclass ClassName:
Main codeપ્રોગ્રામ executionif __name__ == "__main__":

પ્રોગ્રામ આર્કિટેક્ચર:

goat
  • મોડ્યુલર: દરેક વિભાગનો વિશિષ્ટ હેતુ હોય છે
  • વાંચવા યોગ્ય: સ્પષ્ટ સંગઠન સમજવામાં મદદ કરે છે
  • જાળવણી યોગ્ય: ફેરફાર અને debug કરવું સરળ
  • માનક: Python conventions ને અનુસરે છે

સરળ ઉદાહરણ:

Python

યાદી કૌશલ્ય: "Comment, Import, Constant, Function, Class, Main"


પ્રશ્ન 1(ક OR) [7 ગુણ]

Python પ્રોગ્રામિંગ લેંગવેજની વિશેષતાઓ સમજાવો.

જવાબ:

Python ની અનન્ય લાક્ષણિકતાઓ છે જે તેને beginners અને professionals માટે લોકપ્રિય બનાવે છે.

Python વિશેષતાઓ ટેબલ:

વિશેષતાવર્ણનલાભ
સરળસરળ syntaxઝડપી શીખવા
Interpretedકોઈ compilation નહીંઝડપી development
Object-OrientedClasses અને objectsકોડની પુનઃઉપયોગીતા
Open Sourceઉપયોગ માટે મફતકોઈ licensing ખર્ચ નહીં
Cross-Platformદરેક જગ્યાએ run થાય છેઉચ્ચ portability

વિશેષતા કેટેગરીઝ:

goat
  • શિખાઉ-મિત્ર: અંગ્રેજી ભાષા જેવું સરળ syntax
  • બહુમુખી: web, AI, data science, automation માટે ઉપયોગ
  • સમૃદ્ધ લાયબ્રેરીઝ: પ્રી-બિલ્ટ modules નો વિશાળ સંગ્રહ
  • ડાયનેમિક ટાઇપિંગ: variable types declare કરવાની જરૂર નથી
  • ઇન્ટરેક્ટિવ: interpreter માં લાઇન બાય લાઇન કોડ ટેસ્ટ કરી શકાય
  • હાઇ-લેવલ: memory management આપમેળે handle કરે છે

કોડ ઉદાહરણ:

Python

યાદી કૌશલ્ય: "સરળ, Interpreted, Object-Oriented, Open, Cross-platform"


પ્રશ્ન 2(અ) [3 ગુણ]

સ્ટ્રિંગ પર થતાં કોઈ 3 ઓપરેશન સમજાવો.

જવાબ:

String operations વિવિધ રીતે text data ને manipulate અને process કરે છે.

સ્ટ્રિંગ ઓપરેશન્સ ટેબલ:

ઓપરેશનMethodઉદાહરણપરિણામ
જોડવું+"Hello" + "World""HelloWorld"
લંબાઈlen()len("Python")6
મોટા અક્ષર.upper()"hello".upper()"HELLO"

ઓપરેશન ઉદાહરણો:

Python
  • જોડવું: બે અથવા વધુ strings ને સાથે જોડે છે
  • લંબાઈ: string માં કુલ characters ગણે છે
  • કેસ કન્વર્ઝન: અક્ષરોના કેસ બદલે છે (upper/lower)

યાદી કૌશલ્ય: "જોડો, ગણો, કન્વર્ટ કરો"


પ્રશ્ન 2(બ) [4 ગુણ]

તાપમાનને ફેરનહાઇટથી સેલ્સિયસ એકમમાં (C=(F-32)/1.8 સમીકરણથી) પરિવર્તિત કરવા માટેનો Python પ્રોગ્રામ વિકસાવો.

જવાબ:

પ્રોગ્રામ user input સાથે ગાણિતિક formula વાપરીને temperature convert કરે છે.

એલ્ગોરિધમ ટેબલ:

પગલુંક્રિયાકોડ
1Input લોfahrenheit = float(input())
2Formula લાગુ કરોcelsius = (fahrenheit - 32) / 1.8
3પરિણામ દર્શાવોprint(f"Celsius: {celsius}")

સંપૂર્ણ પ્રોગ્રામ:

Python

ટેસ્ટ કેસેસ:

  • Input: 32°F → Output: 0.00°C

  • Input: 100°F → Output: 37.78°C

  • યુઝર ઇનપુટ: યુઝર પાસેથી Fahrenheit temperature લે છે

  • ફોર્મ્યુલા એપ્લિકેશન: આપેલ conversion equation વાપરે છે

  • ફોર્મેટેડ આઉટપુટ: decimal places સાથે પરિણામ બતાવે છે

યાદી કૌશલ્ય: "Input, Calculate, Output"


પ્રશ્ન 2(ક) [7 ગુણ]

Python માં list ડેટા ટાઇપ વિસ્તૃત રીતે સમજાવો.

જવાબ:

List એ ordered, mutable collection છે જે single variable માં multiple items store કરે છે.

લિસ્ટ લાક્ષણિકતાઓ ટેબલ:

પ્રોપર્ટીવર્ણનઉદાહરણ
ક્રમબદ્ધItems નો position હોય છે[1, 2, 3]
પરિવર્તનશીલબદલાઈ શકાય છેlist[0] = 10
ઇન્ડેક્સ્ડPosition દ્વારા accesslist[0]
મિશ્ર પ્રકારોવિવિધ data types[1, "hello", 3.14]

લિસ્ટ ઓપરેશન્સ આકૃતિ:

goat

સામાન્ય લિસ્ટ મેથડ્સ:

Methodહેતુઉદાહરણ
append()અંતે item ઉમેરોlist.append(5)
insert()position પર ઉમેરોlist.insert(1, 15)
remove()item ડિલીટ કરોlist.remove(20)
pop()છેલ્લું item દૂર કરોlist.pop()
len()લંબાઈ મેળવોlen(list)

ઉદાહરણ કોડ:

Python
  • ડાયનેમિક સાઇઝ: execution દરમ્યાન વધી અથવા ઘટી શકે છે
  • ઝીરો ઇન્ડેક્સિંગ: પ્રથમ element index 0 પર
  • સ્લાઇસિંગ: [start:end] વાપરીને ભાગો extract કરી શકાય
  • નેસ્ટેડ લિસ્ટ્સ: અન્ય lists સમાવી શકે છે

યાદી કૌશલ્ય: "ક્રમબદ્ધ, પરિવર્તનશીલ, ઇન્ડેક્સ્ડ, મિશ્ર"


પ્રશ્ન 2(અ OR) [3 ગુણ]

Python માં સ્ટ્રિંગ ફોર્મેટિંગ સમજાવો.

જવાબ:

String formatting એ templates માં values insert કરીને formatted strings બનાવે છે.

ફોર્મેટિંગ મેથડ્સ ટેબલ:

MethodSyntaxઉદાહરણ
f-stringsf"text {variable}"f"Hello {name}"
format()"text {}".format(value)"Age: {}".format(25)
% operator"text %s" % value"Name: %s" % "John"

ઉપયોગ ઉદાહરણ:

Python
  • પ્લેસહોલ્ડર: માર્ક કરે છે કે values ક્યાં જાય છે
  • ડાયનેમિક: Runtime પર values insert થાય છે
  • વાંચવા યોગ્ય: Concatenation કરતાં કોડ સાફ બનાવે છે

યાદી કૌશલ્ય: "Format, Insert, Display"


પ્રશ્ન 2(બ OR) [4 ગુણ]

સ્કેન કરેલ નંબર એકી સંખ્યા છે કે બેકી સંખ્યા છે તે ઓળખી અને યોગ્ય મેસેજ પ્રિન્ટ કરતો Python પ્રોગ્રામ વિકસાવો.

જવાબ:

પ્રોગ્રામ number 2 થી divisible છે કે નહીં તે ચકાસીને even અથવા odd નક્કી કરે છે.

લૉજિક ટેબલ:

શરતપરિણામમેસેજ
number % 2 == 0Even"Number is even"
number % 2 != 0Odd"Number is odd"

સંપૂર્ણ પ્રોગ્રામ:

Python

ટેસ્ટ કેસેસ:

  • Input: 4 → Output: "4 is even"

  • Input: 7 → Output: "7 is odd"

  • મોડ્યુલો ઓપરેટર: % division પછીનો remainder આપે છે

  • કંડિશનલ લૉજિક: if-else પરિણામ નક્કી કરે છે

  • યુઝર ફીડબેક: પરિણામ વિશે સ્પષ્ટ મેસેજ

યાદી કૌશલ્ય: "Input, Check Remainder, Display Result"


પ્રશ્ન 2(ક OR) [7 ગુણ]

Python માં Set ડેટા ટાઇપ વિસ્તૃત રીતે સમજાવો.

જવાબ:

Set એ unordered collection છે જેમાં unique items હોય છે અને duplicate values નહીં.

સેટ લાક્ષણિકતાઓ ટેબલ:

પ્રોપર્ટીવર્ણનઉદાહરણ
અક્રમકોઈ નિશ્ચિત position નથી{1, 3, 2}
અનન્યકોઈ duplicates નથી{1, 2, 3}
પરિવર્તનશીલફેરફાર કરી શકાયset.add(4)
પુનરાવર્તન યોગ્યLoop કરી શકાયfor item in set:

સેટ ઓપરેશન્સ આકૃતિ:

goat

સેટ મેથડ્સ ટેબલ:

Methodહેતુઉદાહરણ
add()single item ઉમેરોset.add(6)
update()multiple items ઉમેરોset.update([7, 8])
remove()item ડિલીટ કરોset.remove(3)
union()sets જોડોset1.union(set2)
intersection()સામાન્ય itemsset1.intersection(set2)

ઉદાહરણ કોડ:

Python
  • આપમેળે ડુપ્લિકેશન હટાવવું: Duplicate values આપમેળે દૂર કરે છે
  • ઝડપી મેમ્બરશિપ: Item exists છે કે નહીં ઝડપથી ચકાસી શકાય
  • ગાણિતિક ઓપરેશન્સ: Union, intersection, difference
  • કોઈ ઇન્ડેક્સિંગ નહીં: Position દ્વારા items access કરી શકાતાં નથી

યાદી કૌશલ્ય: "અનન્ય, અક્રમ, પરિવર્તનશીલ, ગાણિતિક"


પ્રશ્ન 3(અ) [3 ગુણ]

math મૉડ્યુલની કોઈ પણ 3 મેથડ સમજાવો.

જવાબ:

Math module જટિલ ગણતરીઓ માટે ગાણિતિક functions પ્રદાન કરે છે.

મેથ મેથડ્સ ટેબલ:

Methodહેતુઉદાહરણપરિણામ
math.sqrt()વર્ગમૂળmath.sqrt(16)4.0
math.pow()પાવર ગણતરીmath.pow(2, 3)8.0
math.ceil()ઉપર રાઉન્ડmath.ceil(4.3)5

ઉપયોગ ઉદાહરણ:

Python
  • ચોકસાઈ: Basic operators કરતાં વધુ accurate
  • ઇમ્પોર્ટ જરૂરી: પહેલા math module import કરવું પડે
  • રિટર્ન વેલ્યુઝ: સામાન્ય રીતે float numbers return કરે છે

યાદી કૌશલ્ય: "વર્ગમૂળ, પાવર, સીલિંગ"


પ્રશ્ન 3(બ) [4 ગુણ]

for loop નો ઉપયોગ કરીને લિસ્ટમાં આવેલ તમામ ઘટકોનો સરવાળો શોધવા માટેનો Python પ્રોગ્રામ વિકસાવો.

જવાબ:

પ્રોગ્રામ list દ્વારા iterate કરે છે અને બધા elements નો sum accumulate કરે છે.

એલ્ગોરિધમ ટેબલ:

પગલુંક્રિયાકોડ
1Sum initialize કરોtotal = 0
2List માં loop કરોfor element in list:
3Sum માં ઉમેરોtotal += element
4પરિણામ દર્શાવોprint(total)

સંપૂર્ણ પ્રોગ્રામ:

Python

ટેસ્ટ કેસ:

  • Input: [1, 2, 3, 4, 5] → Output: 15

  • એક્યુમ્યુલેટર: Variable running total store કરે છે

  • પુનરાવર્તન: Loop દરેક element ની એકવાર મુલાકાત લે છે

  • ઉમેરો: દરેક element ને running sum માં ઉમેરે છે

યાદી કૌશલ્ય: "Initialize, Loop, Add, Display"


પ્રશ્ન 3(ક) [7 ગુણ]

બે list ની લંબાઈ સમાન છે કે નહીં તે ચકાસવા, અને જો હોય તો તેમને ભેગા કરીને તેમાંથી એક dictionary બનાવવાનો Python પ્રોગ્રામ વિકસાવો.

જવાબ:

પ્રોગ્રામ list lengths ની સરખામણી કરે છે અને જો તે match કરે તો dictionary બનાવે છે.

લૉજિક ફ્લો ટેબલ:

પગલુંશરતક્રિયા
1લંબાઈ ચકાસોlen(list1) == len(list2)
2જો સમાનMerge અને dictionary બનાવો
3જો અસમાનError message દર્શાવો

પ્રક્રિયા આકૃતિ:

goat

સંપૂર્ણ પ્રોગ્રામ:

Python

અપેક્ષિત આઉટપુટ:

Dictionary created: {'name': 'John', 'age': 25, 'city': 'Mumbai'}
  • લંબાઈ સરખામણી: લિસ્ટ્સ યોગ્ય રીતે pair કરી શકાય છે તેની ખાતરી કરે છે
  • zip() ફંક્શન: બંને lists ના elements ને pair કરે છે
  • dict() કન્સ્ટ્રક્ટર: Paired elements માંથી dictionary બનાવે છે
  • એરર હેન્ડલિંગ: ખોટા pairing ને અટકાવે છે

વૈકલ્પિક મેથડ:

Python

યાદી કૌશલ્ય: "લંબાઈ ચકાસો, Zip કરો, Dictionary બનાવો"


પ્રશ્ન 3(અ OR) [3 ગુણ]

statistics મૉડ્યુલની કોઈ પણ 3 મેથડ સમજાવો.

જવાબ:

Statistics module numeric data પર statistical calculations માટે functions પ્રદાન કરે છે.

સ્ટેટિસ્ટિક્સ મેથડ્સ ટેબલ:

Methodહેતુઉદાહરણપરિણામ
statistics.mean()સરેરાશ valuemean([1,2,3,4,5])3.0
statistics.median()મધ્ય valuemedian([1,2,3,4,5])3
statistics.mode()સૌથી વધુ વારંવારmode([1,1,2,3])1

ઉપયોગ ઉદાહરણ:

Python
  • ડેટા એનાલિસિસ: ડેટા patterns સમજવામાં મદદ કરે છે
  • બિલ્ટ-ઇન ફંક્શન્સ: જટિલ formulas લખવાની જરૂર નથી
  • ચોક્કસ પરિણામો: Edge cases ને યોગ્ય રીતે handle કરે છે

યાદી કૌશલ્ય: "Mean, Median, Mode"


પ્રશ્ન 3(ક OR) [7 ગુણ]

આપેલ સ્ટ્રિંગમાં કોઈ અક્ષર કેટલી વાર આવે છે તે ગણવા માટેની dictionary બનાવવાનો Python પ્રોગ્રામ વિકસાવો.

જવાબ:

પ્રોગ્રામ dictionary બનાવે છે જ્યાં keys અક્ષરો છે અને values તેમની counts છે.

અક્ષર ગણતરી એલ્ગોરિધમ:

પગલુંક્રિયાકોડ
1Dictionary initialize કરોchar_count = {}
2String માં loop કરોfor char in string:
3Occurrences ગણોchar_count[char] = char_count.get(char, 0) + 1
4પરિણામો દર્શાવોprint(char_count)

ગણતરી પ્રક્રિયા:

goat

સંપૂર્ણ પ્રોગ્રામ:

Python

વૈકલ્પિક મેથડ (વધુ Pythonic):

Python

ઉદાહરણ આઉટપુટ:

Input: "hello"
Output: {'h': 1, 'e': 1, 'l': 2, 'o': 1}
  • ડિક્શનરી કીઝ: દરેક અનન્ય અક્ષર key બને છે
  • ડિક્શનરી વેલ્યુઝ: અક્ષરની occurrences ની count
  • get() મેથડ: Key exist નથી તો 0 return કરે છે, errors ટાળે છે
  • પુનરાવર્તન: String ના દરેક અક્ષરને એકવાર process કરે છે

યાદી કૌશલ્ય: "Loop, Check, Count, Store"


પ્રશ્ન 4(અ) [3 ગુણ]

Python ક્લાસ અને ઓબ્જેક્ટ્સનું કાર્ય ઉદાહરણ સાથે સમજાવો.

જવાબ:

Class એ objects બનાવવા માટેનો blueprint છે. Objects એ classes ના instances છે.

ક્લાસ-ઓબ્જેક્ટ સંબંધ:

કન્સેપ્ટહેતુઉદાહરણ
ClassTemplate/Blueprintclass Car:
ObjectClass નો instancemy_car = Car()
AttributesClass માં ડેટાself.color = "red"
MethodsClass માં functionsdef start(self):

ક્લાસ માળખું:

goat

ઉદાહરણ કોડ:

Python
  • એન્કેપ્સુલેશન: સંબંધિત data અને functions ને સાથે group કરે છે
  • પુનઃઉપયોગીતા: એક class અનેક objects બનાવી શકે છે
  • સંગઠન: બહેતર code structure અને maintenance

યાદી કૌશલ્ય: "ક્લાસ Blueprint, ઓબ્જેક્ટ Instance"


પ્રશ્ન 4(બ) [4 ગુણ]

લિસ્ટમાં આવેલી તમામ એકી સંખ્યાઓ પ્રિન્ટ કરવા માટેનો Python પ્રોગ્રામ વિકસાવો.

જવાબ:

પ્રોગ્રામ list elements ને filter કરે છે અને માત્ર odd numbers દર્શાવે છે.

એકી સંખ્યા ચકાસણી ટેબલ:

સંખ્યાnumber % 2પરિણામ
11એકી
20બેકી
31એકી
40બેકી

સંપૂર્ણ પ્રોગ્રામ:

Python

વૈકલ્પિક મેથડ્સ:

Python

અપેક્ષિત આઉટપુટ:

Odd numbers in the list:
1 3 5 7 9
  • મોડ્યુલો ઓપરેશન: % operator remainder શોધે છે
  • કંડિશન ચેક: જો remainder 0 નથી તો number odd છે
  • લૂપ પુનરાવર્તન: List ની દરેક number ચકાસે છે

યાદી કૌશલ્ય: "Loop, Check Remainder, Print Odd"


પ્રશ્ન 4(ક) [7 ગુણ]

Python માં યુઝર ડિફાઇન્ડ ફંક્શન્સનું કાર્ય સમજાવો.

જવાબ:

User-defined functions એ programmers દ્વારા બનાવેલા custom functions છે જે વિશિષ્ટ કાર્યો કરે છે.

ફંક્શન ઘટકો ટેબલ:

ઘટકહેતુSyntax
def કીવર્ડFunction declarationdef function_name():
ParametersInput valuesdef func(param1, param2):
BodyFunction codeIndented statements
returnOutput valuereturn value

ફંક્શન માળખું:

goat

ફંક્શન પ્રકારો:

પ્રકારવર્ણનઉદાહરણ
કોઈ parameters નહીંકોઈ input લેતું નથીdef greet():
Parameters સાથેInput લે છેdef add(a, b):
Return valueOutput આપે છેreturn a + b
કોઈ return નહીંAction કરે છેprint("Hello")

ઉદાહરણ ફંક્શન્સ:

Python

ફંક્શન લાભો:

  • પુનઃઉપયોગીતા: એકવાર લખો, અનેકવાર વાપરો
  • મોડ્યુલરિટી: જટિલ સમસ્યાઓને નાના ભાગોમાં તોડો
  • જાળવણીયોગ્યતા: Update અને debug કરવું સરળ
  • વાંચવાયોગ્યતા: કોડને વધુ organized અને સમજવાયોગ્ય બનાવે છે
  • ટેસ્ટિંગ: અલગ અલગ functions ને અલગથી test કરી શકાય

વેરિયેબલ સ્કોપ:

  • લોકલ વેરિયેબલ્સ: માત્ર function અંદર exist કરે છે
  • ગ્લોબલ વેરિયેબલ્સ: આખા program માં accessible
  • પેરામીટર્સ: Local variables તરીકે કામ કરે છે

યાદી કૌશલ્ય: "Define, Parameters, Body, Return"


પ્રશ્ન 4(અ OR) [3 ગુણ]

Python માં કન્સ્ટ્રક્ટરનું કાર્ય સમજાવો.

જવાબ:

Constructor એ special method છે જે objects બનાવવામાં આવે ત્યારે તેમને initialize કરે છે.

કન્સ્ટ્રક્ટર વિગતો ટેબલ:

પાસુંવર્ણનSyntax
Method nameહંમેશા __init__def __init__(self):
હેતુObject initialize કરવુંInitial values set કરવા
આપમેળે કૉલObject creation દરમ્યાન કૉલ થાયobj = Class()
ParametersArguments લઈ શકે છેdef __init__(self, param):

કન્સ્ટ્રક્ટર ઉદાહરણ:

Python
  • આપમેળે એક્ઝિક્યુશન: Object બનાવાતી વખતે તરત જ run થાય છે
  • ઇનિશિયલાઇઝેશન: Object ની શરૂઆતી state set કરે છે
  • self પેરામીટર: હાલનો object જે બનાવાઈ રહ્યો છે તેનો reference

યાદી કૌશલ્ય: "Initialize, Automatic, Self"


પ્રશ્ન 4(બ OR) [4 ગુણ]

min ફંક્શનનો ઉપયોગ કર્યા વિના લિસ્ટમાંથી સૌથી નાનો નંબર શોધવા માટેનો Python પ્રોગ્રામ વિકસાવો.

જવાબ:

પ્રોગ્રામ manually બધા elements ની સરખામણી કરીને સૌથી નાની value શોધે છે.

મિનિમમ શોધવાનો એલ્ગોરિધમ:

પગલુંક્રિયાકોડ
1પહેલું smallest માનોsmallest = list[0]
2બીજાઓ સાથે સરખાવોfor num in list[1:]:
3નાનું મળે તો અપડેટ કરોif num < smallest:
4પરિણામ દર્શાવોprint(smallest)

સંપૂર્ણ પ્રોગ્રામ:

Python

વૈકલ્પિક મેથડ:

Python

અપેક્ષિત આઉટપુટ:

Smallest number: 5
  • કમ્પેરિઝન લૉજિક: દરેક element ને current smallest સાથે compare કરો
  • અપડેટ સ્ટ્રેટેજી: નાનો number મળે ત્યારે smallest replace કરો
  • લિનિયર સર્ચ: બધા elements ને એકવાર ચકાસો

યાદી કૌશલ્ય: "માનો, સરખાવો, અપડેટ કરો, દર્શાવો"


પ્રશ્ન 4(ક OR) [7 ગુણ]

Python માં યુઝર ડિફાઇન્ડ મોડ્યુલ્સનું કાર્ય સમજાવો.

જવાબ:

User-defined modules એ custom Python files છે જેમાં functions, classes અને variables હોય છે જે અન્ય programs માં import અને use કરી શકાય છે.

મોડ્યુલ ઘટકો ટેબલ:

ઘટકહેતુઉદાહરણ
Functionsપુનઃઉપયોગી કોડ blocksdef calculate_area():
ClassesObject blueprintsclass Shape:
Variablesસ્પેર્ડ ડેટાPI = 3.14159
Constantsનિશ્ચિત વેલ્યુઝMAX_SIZE = 100

મોડ્યુલ બનાવવાની પ્રક્રિયા:

goat

ઉદાહરણ મોડ્યુલ બનાવવું:

ફાઇલ: math_operations.py

Python

મોડ્યુલ વાપરવું:

ઇમ્પોર્ટ મેથડ્સ ટેબલ:

મેથડSyntaxઉપયોગ
સંપૂર્ણ module importimport math_operationsmath_operations.calculate_circle_area(5)
વિશિષ્ટ function importfrom math_operations import calculate_circle_areacalculate_circle_area(5)
Alias સાથે importimport math_operations as math_opsmath_ops.PI
બધું importfrom math_operations import *calculate_circle_area(5)

મુખ્ય પ્રોગ્રામ:

Python

મોડ્યુલ લાભો:

  • કોડ પુનઃઉપયોગીતા: એકવાર લખો, અનેક programs માં વાપરો
  • સંગઠન: સંબંધિત functions એકસાથે રાખો
  • નેમસ્પેસ: Naming conflicts ટાળો
  • જાળવણીયોગ્યતા: Update અને debug કરવું સરળ
  • સહયોગ: અન્ય developers સાથે modules share કરો

મોડ્યુલ સર્ચ પાથ:

  1. વર્તમાન directory
  2. PYTHONPATH environment variable
  3. Standard library directories
  4. Site-packages directory

બેસ્ટ પ્રેક્ટિસિસ:

  • વર્ણનાત્મક module names વાપરો
  • Documentation માટે docstrings include કરો
  • સંબંધિત functionality એકસાથે રાખો
  • Circular imports ટાળો

યાદી કૌશલ્ય: "ફાઇલ બનાવો, ફંક્શન્સ ડિફાઇન કરો, ઇમ્પોર્ટ કરો, વાપરો"


પ્રશ્ન 5(અ) [3 ગુણ]

ઉદાહરણ સાથે Python માં સિંગલ ઇન્હેરિટન્સ સમજાવો.

જવાબ:

Single inheritance એ જ્યારે એક class બરાબર એક parent class પાસેથી properties અને methods inherit કરે છે.

ઇન્હેરિટન્સ માળખું ટેબલ:

ઘટકભૂમિકાઉદાહરણ
Parent ClassBase/Super classclass Animal:
Child ClassDerived/Sub classclass Dog(Animal):
Inheritanceclass Child(Parent):class Dog(Animal):

ઇન્હેરિટન્સ આકૃતિ:

goat

ઉદાહરણ કોડ:

Python
  • કોડ પુનઃઉપયોગ: Child class ને parent ની functionality આપમેળે મળે છે
  • વિસ્તરણ: Child નવા methods અને attributes ઉમેરી શકે છે
  • Is-a સંબંધ: Dog is-a Animal

યાદી કૌશલ્ય: "એક Parent, એક Child"


પ્રશ્ન 5(બ) [4 ગુણ]

Python માં એબ્સ્ટ્રેક્શનની વિભાવના અને તેના લાભો સમજાવો.

જવાબ:

Abstraction જટિલ implementation details છુપાવે છે અને user ને માત્ર આવશ્યક features બતાવે છે.

એબ્સ્ટ્રેક્શન કન્સેપ્ટ્સ ટેબલ:

કન્સેપ્ટવર્ણનઉદાહરણ
Abstract ClassInstantiate કરી શકાતું નથીclass Shape(ABC):
Abstract MethodImplement કરવું જ પડે@abstractmethod
InterfaceMethod structure define કરેdef area(self):

એબ્સ્ટ્રેક્શન Implementation:

Python

લાભો ટેબલ:

લાભવર્ણનફાયદો
સરળતાજટિલ details છુપાવેવાપરવામાં સરળ
સુરક્ષાઆંતરિક implementation છુપાવેડેટા સુરક્ષા
જાળવણીયોગ્યતાImplementation બદલી શકાયલવચીક અપડેટ્સ
કોડ સંગઠનસ્પષ્ટ માળખુંબહેતર ડિઝાઇન
  • જટિલતા છુપાવવી: Users ને આંતરિક workings જાણવાની જરૂર નથી
  • સુસંગત Interface: બધા child classes એક જ structure અનુસરે છે
  • Implementation ફરજિયાત: Abstract methods child classes માં define કરવા જ પડે

યાદી કૌશલ્ય: "વિગતો છુપાવો, Interface બતાવો"


પ્રશ્ન 5(ક) [7 ગુણ]

મલ્ટિપલ અને મલ્ટિ-લેવલ ઇન્હેરિટન્સનું કાર્ય દર્શાવતો Python પ્રોગ્રામ વિકસાવો.

જવાબ:

પ્રોગ્રામ બંને inheritance types દર્શાવે છે: multiple (અનેક parents) અને multi-level (inheritance ની chain).

ઇન્હેરિટન્સ પ્રકારો સરખામણી:

પ્રકારમાળખુંઉદાહરણ
MultipleChild અનેક parents પાસેથી inherit કરેclass C(A, B):
Multi-levelGrandparent → Parent → Childclass C(B): જ્યાં class B(A):

ઇન્હેરિટન્સ પદાનુક્રમ:

goat

સંપૂર્ણ પ્રોગ્રામ:

Python

અપેક્ષિત આઉટપુટ:

=== Multi-level Inheritance ===
Buddy can eat
Buddy breathes air
Buddy can bark

=== Multiple Inheritance ===
Method from Father class
Method from Mother class
Method from Child class

Child inherits from Father: True
Child inherits from Mother: True

મુખ્ય તફાવતો:

પાસુંMultipleMulti-level
Parents2 અથવા વધુ direct parentsSingle parent chain
Syntaxclass C(A, B):class C(B): જ્યાં B(A):
Inheritanceઆડીઊભી
જટિલતાવધુ (diamond problem)ઓછી

મેથડ રિઝોલ્યુશન ઓર્ડર (MRO):

  • Multiple: Python ડાબેથી-જમણે order અનુસરે છે
  • Multi-level: Inheritance chain ઉપર જાય છે

યાદી કૌશલ્ય: "અનેક Parents, મલ્ટિ-લેવલ Chain"


પ્રશ્ન 5(અ OR) [3 ગુણ]

Python માં આવતી 3 પ્રકારની મેથડ્સનું કાર્ય સમજાવો.

જવાબ:

Python classes માં ત્રણ પ્રકારની methods છે જે class data ને કેવી રીતે access કરે છે તેના આધારે.

મેથડ પ્રકારો ટેબલ:

મેથડ પ્રકારડેકોરેટરપ્રથમ Parameterહેતુ
Instance Methodકોઈ નહીંselfInstance data access
Class Method@classmethodclsClass data access
Static Method@staticmethodકોઈ નહીંUtility functions

ઉદાહરણ કોડ:

Python
  • ઇન્સ્ટન્સ મેથડ્સ: self વાપરીને object-specific data સાથે કામ કરે છે
  • ક્લાસ મેથડ્સ: cls વાપરીને class-wide data સાથે કામ કરે છે
  • સ્ટેટિક મેથડ્સ: સ્વતંત્ર utility functions

યાદી કૌશલ્ય: "Instance Self, Class Cls, Static કોઈ નહીં"


પ્રશ્ન 5(બ OR) [4 ગુણ]

Python માં ઇન્હેરિટન્સ દ્વારા પોલીમોર્ફિઝમ સમજાવો.

જવાબ:

Polymorphism વિવિધ classes ના objects ને સામાન્ય base class ના objects તરીકે treat કરવાની મંજૂરી આપે છે, દરેક પોતાની રીતે methods implement કરે છે.

પોલીમોર્ફિઝમ કન્સેપ્ટ ટેબલ:

પાસુંવર્ણનઉદાહરણ
સમાન Interfaceસામાન્ય method namesarea() method
અલગ Implementationદરેક class નું પોતાનું versionRectangle vs Circle area
Runtime DecisionExecution દરમ્યાન method પસંદDynamic binding

પોલીમોર્ફિઝમ ઉદાહરણ:

Python

લાભો:

  • લવચીકતા: સમાન કોડ વિવિધ object types સાથે કામ કરે છે
  • વિસ્તરણશીલતા: વર્તમાન કોડ બદલ્યા વિના નવા classes ઉમેરવા સરળ
  • જાળવણીયોગ્યતા: એક class માં ફેરફાર અન્યને અસર કરતો નથી

યાદી કૌશલ્ય: "સમાન નામ, અલગ વર્તન"


પ્રશ્ન 5(ક OR) [7 ગુણ]

હાઇબ્રિડ ઇન્હેરિટન્સનું કાર્ય દર્શાવતો Python પ્રોગ્રામ વિકસાવો.

જવાબ:

Hybrid inheritance એ single program structure માં multiple અને multi-level inheritance ને combine કરે છે.

હાઇબ્રિડ ઇન્હેરિટન્સ માળખું:

goat

હાઇબ્રિડ માં ઇન્હેરિટન્સ પ્રકારો:

લેવલપ્રકારClasses
1SingleAnimal → Mammal
2MultipleMammal → Dog, Cat
3MultipleDog, Cat → Pet

સંપૂર્ણ પ્રોગ્રામ:

Python

અપેક્ષિત આઉટપુટ:

=== Hybrid Inheritance Demo ===

--- Creating Hybrid Pet ---

--- Methods from Animal (Great-grandparent) ---
Buddy can eat
Buddy can sleep

--- Methods from Mammal (Grandparent) ---
Buddy breathes air
Buddy gives birth to babies

--- Methods from Dog (Parent 1) ---
Buddy barks: Woof!
Buddy is loyal to owner

--- Methods from Cat (Parent 2) ---
Buddy meows: Meow!
Buddy is independent

--- Own Methods ---
Buddy loves to play
Name: Buddy, Breed: Labrador-Persian Mix

--- Inheritance Chain ---
MRO (Method Resolution Order): (<class '__main__.HybridPet'>, <class '__main__.Dog'>, <class '__main__.Cat'>, <class '__main__.Mammal'>, <class '__main__.Animal'>, <class 'object'>)

Is HybridPet subclass of Animal? True
Is HybridPet subclass of Dog? True
Is HybridPet subclass of Cat? True

હાઇબ્રિડ ઇન્હેરિટન્સની મુખ્ય વિશેષતાઓ:

  • જટિલ માળખું: વિવિધ inheritance types ને combine કરે છે
  • મેથડ રિઝોલ્યુશન ઓર્ડર: Python method lookup માટે વિશિષ્ટ order અનુસરે છે
  • ડાયમંડ પ્રોબ્લેમ: Python ના MRO દ્વારા આપમેળે handle થાય છે
  • લવચીકતા: અનેક parent classes પાસેથી methods ને access

લાભો:

  • સમૃદ્ધ Functionality: અનેક sources પાસેથી inherit કરે છે
  • કોડ પુનઃઉપયોગ: વર્તમાન કોડનો મહત્તમ ઉપયોગ
  • સંબંધ મોડેલિંગ: જટિલ વાસ્તવિક સંબંધો દર્શાવે છે

પડકારો:

  • જટિલતા: સમજવું અને maintain કરવું કઠિન
  • નામ સંઘર્ષ: અનેક parents પાસે સમાન method names હોઈ શકે
  • મેમોરી ઉપયોગ: Objects વધુ overhead carry કરે છે

યાદી કૌશલ્ય: "હાઇબ્રિડ બધા પ્રકારો Combine કરે છે"