๐Ÿงช Lab Practicals โ€” BCA101P & SEC101P

Detailed Notes โ€ข MS Word + MS Excel + saare C programs (working code + output + viva) + lab file format + sample paper + 70 one-liners

2 Credit eachESE 60 + Internal 40Copy-paste + samjho
Lab file ka format (har practical aise likho): Aim (kya karna hai) โ†’ Software/Tools โ†’ Procedure/Algorithm โ†’ Code/Steps โ†’ Output (screenshot ya sample) โ†’ Result/Conclusion. Yahi format university lab file me chahiye hota hai โ€” examiner isi pe marks deta hai โœ…
Practical exam me marks kahan milte hain (ise samajh lo): (1) Procedure ke steps โ€” "maine ye menu khola, wo option chuna" (2) Output โ€” screen ka screenshot ya print (3) Viva โ€” jo kiya wo samajhna (4) File/record โ€” neat handwriting + labels + date. Isliye har practical me step number likho aur output paste/print kar do. Sirf code likh dena = adhe marks. ๐Ÿ˜…

MS WORD PRACTICALS (BCA101P)

Word lab ka goal: Ribbon ke har tab ka use dikhana โ€” Home (font/paragraph), Insert (table/picture/shapes/symbol), Design (page border), Layout (margins/orientation), Mailings (mail merge), Review (spell check), View (zoom/print layout). Har practical me kam se kam 4 alag features use karo โ€” viva me wahi poochha jaata hai. ๐Ÿ‘‡

W1. Creating an Advertisement ๐Ÿซ™

Aim: MS Word me ek attractive advertisement banane ke liye formatting features ka use karna (font, colour, picture, shapes, text box, border โ€” sab ek saath).

Steps:

  1. MS Word kholo โ†’ Ctrl + N se new blank document banao; page setup (Layout โ†’ Orientation โ†’ Portrait) set karo.
  2. Title likho: "GRAND SALE โ€“ 50% OFF!" โ†’ Home tab me font bold, size 36, colour red, alignment center (Ctrl + E). Title ko WordArt (Insert โ†’ WordArt) se fancy bhi bana sakte ho.
  3. Ek catchy line likho: "Har purchase par dhamaka! 10 Oct โ€“ 15 Oct" โ€” size 14, italic, centre me.
  4. Insert โ†’ Pictures se product ki image dalo (ya Insert โ†’ Shapes โ†’ shapes se design banao). Image ke saath Text Wrapping (Square/Tight) lagao taaki text image ke aas-paas bahe.
  5. Insert โ†’ Text Box me offer details likho ("Buy 2 Get 1 Free", "Free Home Delivery") โ†’ box par border + fill colour lagao (Shape Format โ†’ Shape Fill / Shape Outline).
  6. Home โ†’ Bullets (ya Numbering) se product list banao: "Shoes, Bags, Watches, Cosmetics" โ€” line spacing 1.15โ€“1.5 rakho.
  7. Design โ†’ Page Borders se page par border lagao, ya Shapes se box/frame banao. (Design โ†’ Page Color se halka background bhi de sakte ho.)
  8. Neeche contact line dalo: mobile number, address, timing โ€” size 12, bold.
  9. Poora layout ek baar Print Preview (Ctrl + P) me dekho โ€” kuch bahar nahi ja raha? Margins adjust karo.
  10. Save: File โ†’ Save As โ†’ file name "advertisement.docx" โ†’ Save. (Lab file ke liye ek print/screenshot lo.)

Word features jo lab me dikhane hain: font formatting, paragraph alignment, line spacing, bullets/numbering, images + text wrapping, shapes, text boxes, WordArt, borders/shading, colours, page setup. "Advertisement = visual + short lines + offer highlight" โ€” bas inka mel banao.

FeatureKahan milta hai (Ribbon path)Shortcut
Bold / Italic / UnderlineHome โ†’ Font groupCtrl + B / I / U
Center alignmentHome โ†’ Paragraph groupCtrl + E (L = left, R = right, J = justify)
WordArtInsert โ†’ Text group โ†’ WordArtโ€”
PictureInsert โ†’ Illustrations โ†’ Picturesโ€”
Text Box / ShapesInsert โ†’ Text / Illustrationsโ€”
Page BorderDesign โ†’ Page Background โ†’ Page Bordersโ€”
Bullets & NumberingHome โ†’ Paragraph groupโ€”
Save / PrintFile โ†’ Save / PrintCtrl + S / Ctrl + P

Lab file me aise likho: "Result: Advertisement ban gaya jisme font formatting, bullets, image, text box aur page border ka use kiya gaya." โ€” ek line ka conclusion har practical me zaroor likho. โœ…

W2. Curriculum Vitae (CV/Biodata) ๐Ÿ“„

Aim: MS Word me apna CV (resume) banana โ€” table, formatting, bullets aur photo ka use karke (professional 1-page document).

Steps:

  1. New document kholo (Ctrl + N). Page margins set karo: Layout โ†’ Margins โ†’ Normal (1 inch) โ€” CV me clean space zaroori hai.
  2. Naam sabse upar โ€” bold, size 20โ€“22, centre. Neeche ek line me contact info: phone, email, city (size 10โ€“11) โ€” sab centre me.
  3. Headings banao: "Career Objective", "Education", "Skills", "Projects/Achievements", "Hobbies" โ€” har heading bold + underline (ya Home โ†’ Styles me "Heading 1" ka colour badal lo), heading ke neeche ek horizontal line (Insert โ†’ Shapes โ†’ Line) de do.
  4. Career Objective 2 lines me likho: "BCA student with strong interest in programming and web development; seeking opportunities to apply C, MS Office and problem-solving skills." (CV me "hardworking" jaisi generic line se bacho โ€” example ke saath likho.)
  5. Education ke liye table banao: Insert โ†’ Table (3 columns ร— 4 rows) โ†’ header row: Qualification | Board/University | Year/Percentage โ†’ data bharo (10th, 12th, BCA Pursuing). Table me header row bold + shading lagao (Table Design โ†’ Shading).
  6. Skills me bullets use karo: C Programming, MS Word, MS Excel, HTML basics, typing speed, communication โ€” jaise-jaise seekh rahe ho, add karte jao.
  7. Photo: Insert โ†’ Pictures โ†’ apni passport size photo โ†’ Picture Format โ†’ Crop (square) โ†’ size adjust (~3 cm ร— 4 cm) โ†’ top-right ya left me align karo.
  8. Professional look ke liye: Design โ†’ Page Borders (thin line) ya page ke left me ek vertical line (Shapes โ†’ Line) โ€” dhyaan rakho, zyada design CV ko "shabby" banata hai.
  9. Spell check: Review โ†’ Spelling & Grammar (F7) chalao โ€” CV me typo bilkul allowed nahi.
  10. Save: "myCV.docx" (aur saath me PDF banao: File โ†’ Save As โ†’ PDF) โ€” company ko PDF hi bhejni chahiye.
CV ka golden rule (viva me bhi poochh sakte hain): 1 page, clean layout, no typo, honest information, action words ("developed", "designed", "managed"). Photo optional hota hai India me common hai, par international CV me nahi. Save .docx rakho aur export .pdf karo โ€” formatting kahin bigdegi nahi. ๐Ÿ“„โœ…

W3. Scientific Notations (Superscript/Subscript) ๐Ÿ”ฌ

Aim: Scientific notations (xยฒ, Hโ‚‚O, exponents, symbols) aur equations MS Word me banana โ€” superscript/subscript aur Equation editor ka use.

Steps:

  1. Type karo: x2 โ†’ "2" select karo โ†’ Home โ†’ Font group โ†’ Superscript (xยฒ) โ€” shortcut: Ctrl + Shift + +.
  2. Type karo: H2O โ†’ "2" select karo โ†’ Subscript (Hโ‚‚O) โ€” shortcut: Ctrl + =.
  3. Symbols ke liye: Insert โ†’ Symbol โ†’ More Symbols โ†’ ฯ€, ฮฑ, ฮฒ, ยฐ, โ†’, โ‰ฅ, โˆš, ฮฉ, ยตm select karke insert karo.
  4. Equation ke liye: Insert โ†’ Equation (Alt + =) โ†’ type karo "E=mc^2" โ†’ space dabao = E = mcยฒ. Fraction ke liye (a+b)/(c+d) likhke space dabao โ†’ proper fraction ban jaayega.
  5. Practice karo (ye 6 cheezein lab file me likho): "Area = ฯ€rยฒ", "E = mcยฒ", "Cโ‚†Hโ‚โ‚‚Oโ‚†", "10โปยณ", "Hโ‚‚SOโ‚„", "vยฒ = uยฒ + 2as"
  6. Save "scientific_notation.docx" โ†’ screenshot lab file me lagao.

Kyun zaroori hai: Chemistry ke formulas (Hโ‚‚O, COโ‚‚), Maths ke exponents (xยฒ + yยฒ, aโฟ), Physics ke units (m/sยฒ, cmยณ), aur engineering me chemical equations โ€” sab jagah superscript/subscript use hota hai. University practical me ye dikhana 5 minute ka kaam hai aur easy marks โœ…. Viva me poochha jaata hai: "superscript aur subscript me difference?" โ†’ Superscript upar likha jaata hai (power/exponent, xยฒ), subscript neeche (index/chemical count, Hโ‚‚O).

W4. Creating a Timetable ๐Ÿ“…

Aim: MS Word me ek class timetable banana โ€” table banana, cells merge karna, shading aur row height set karna.

Steps:

  1. Insert โ†’ Table โ†’ 6 columns ร— 7 rows (pehli row = header "Day/Period", baaki rows = Mondayโ€“Saturday).
  2. Header row bharo: Time | Day | 9:00โ€“10:00 | 10:00โ€“11:00 | 11:00โ€“12:00 | 12:00โ€“1:00 โ€” aur ek "Lunch Break" column bhi add karo (ek column zyada le lo).
  3. Subjects type karo โ€” har cell me subject ka naam + teacher ka naam (chhota font, size 10โ€“11).
  4. Merge Cells: "Lunch Break" ke rows select karo โ†’ right-click โ†’ Merge Cells โ†’ ek hi cell ban jaayega (ya Table Layout โ†’ Merge Cells). Lunch break ki shading alag colour do.
  5. Table Design โ†’ Shading se header row ko colour do (halka neela/green) aur Bold karo; border style bhi badal sakte ho (Table Design โ†’ Borders).
  6. Row height / column width adjust karo: table pe right-click โ†’ Table Properties โ†’ Row/Column (ya borders ko drag karo) โ€” sab cells barabar dikhein.
  7. Table ke upar title likho: "BCA 1st Semester โ€” Class Timetable (Session 2025-26)" โ€” bold, centre, size 16; neeche "Class Teacher" ke sign ka space chhodo.
  8. Save "timetable.docx" โ†’ print preview me check karo ki ek page me aa raha hai (Layout โ†’ Orientation โ†’ Landscape bhi try kar sakte ho).

Tip: "Insert โ†’ Table" ke bajaye Table Draw karke bhi bana sakte ho; column width adjust ke liye border pe drag karo. Viva me aata hai: "cell merge kaise karte hain?" โ†’ Table Layout/Design โ†’ Merge Cells (ya select + right click). Ye practical table + merge + shading + properties โ€” 4 features ka proof hai โœ…

W5. Conversion (Document Conversion / Units Table) ๐Ÿ”

Syllabus wording note: The official BCA101P list says only โ€œConversionโ€ and does not specify the exact conversion task. This guide demonstrates common document/format and unit-conversion workflows as practice examples; confirm the exact required conversion with your lab instructor rather than treating one interpretation as official.

Aim: Conversion se do cheezein โ€” (a) units ka conversion table Word me banana, (b) document ko ek format se doosre format me convert karna (Word โ†” PDF).

Steps (a) โ€” Units Conversion Table:

  1. Insert โ†’ Table (3 columns ร— 6 rows) โ†’ headers: "Quantity | Unit | Conversion".
  2. Rows bharo: Length โ€” 1 km = 1000 m, 1 m = 100 cm, 1 cm = 10 mm; Weight โ€” 1 kg = 1000 g, 1 quintal = 100 kg, 1 tonne = 1000 kg; Temperature โ€” ยฐC โ†’ ยฐF = (C ร— 9/5) + 32.
  3. Formula wali cells me Insert โ†’ Equation use karo (proper notation ke liye) aur "ยฐC / ยฐF" symbols Insert โ†’ Symbol se dalo.
  4. Table ko bold header + shading + alignment de do; title: "Common Unit Conversions" โ€” aur save "conversion_table.docx".

Steps (b) โ€” File Conversion:

  1. Word โ†’ PDF: File โ†’ Save As (ya Export) โ†’ File type "PDF (*.pdf)" โ†’ Save. (PDF ka fayda: formatting kahin nahi badalti, har device pe same dikhta hai.)
  2. PDF โ†’ Word: Word kholo โ†’ File โ†’ Open โ†’ PDF file select karo โ†’ Word usko convert karke dikhata hai โ†’ "OK" โ†’ phir Save As โ†’ .docx.
  3. Screenshot/doc ko image me badalna: Select karo โ†’ Ctrl + C โ†’ Paint/MS Paint me paste โ†’ Save as .png (lab file me lagane ke liye).
Real use: Assignment/notes Word me banao, PDF me submit karo (teacher ka format same rehta hai); online forms me PDF hi maanga jaata hai. Aur Word โ†” PDF conversion viva ka favourite question hai โ€” "PDF ka poora naam kya hai?" โ†’ Portable Document Format (Adobe, 1993). ๐Ÿ“„โžก๏ธ๐Ÿ“•

W6. Mail Merge and Letter โœ‰๏ธ Important

Aim: Mail Merge ka use karke ek hi letter ka template bana kar kai logon ke liye personalized letters generate karna (naam, city, amount apne-aap bhar jaayein).

Mail Merge kya hai? Ek main document (template) + ek data source (list of recipients) ko jod kar, Word har recipient ke liye alag letter bana deta hai โ€” "ek template + ek data list = 100 letters, 2 minute me!" ๐Ÿ˜Ž

Steps:

  1. Main document banao: Letter ka format likho โ€” letterhead (university/company ka naam + address + date), salutation, body, closing. Jahan naam/address aayega wahan placeholder soch lo: "Dear ยซNameยป, aapko suchit kiya jaata haiโ€ฆ"
  2. Recipient list banao: Mailings tab โ†’ Start Mail Merge โ†’ Letters โ†’ Select Recipients โ†’ Type a New List โ†’ Customize Columns: Name, City, Amount (jo fields chahiye) โ†’ 5โ€“10 logon ka data bharo โ†’ save kar do (Word usko .mdb / merge list ke roop me rakhta hai).
  3. Placeholders lagao: Mailings โ†’ Insert Merge Field โ†’ ยซNameยป, ยซCityยป, ยซAmountยป letter me sahi jagah daalo (fields ยซ ยป brackets me dikhte hain).
  4. Preview Results (Mailings tab) โ†’ Next record arrow se ek-ek letter check karo โ€” ยซNameยป ki jagah Rahul, Priya sab aa rahe hain?
  5. Finish & Merge โ†’ "Print Documents" (seedha print) ya Edit Individual Documents (saare letters ek hi file me alag pages par โ€” isko lab file me output ke roop me lagao).
  6. Letters ki copy save karo ("merged_letters.docx") aur data list bhi ("recipients.docx") โ€” record me dono ka zikr karo.
Sample merged letter (har name ke liye auto-bana):

Surajmal University, Kichha
Date: 10 October 2026

Dear ยซNameยป,
Aapka admission form ยซCityยป campus me receive ho gaya hai.
Pending fee: โ‚นยซAmountยป โ€” kripya 15 October tak jama karayein.

Regards,
Admission Cell

Data list: Name | City | Amount
Rahul | Kichha | 5000
Priya | Haldwani | 8000 ... (har ek ka letter alag ban jayega โœ”)

Viva me poochha jaata hai: (1) Mail merge ke 3 parts? โ†’ Main document, Data source, Merged document (2) Kab use karte ho? โ†’ Bulk letters, fee notices, admit cards, invitation letters, salary slips, certificates (3) ยซยป ka kya matlab? โ†’ Merge field ka placeholder. Ye practical highest-marking Word practical hota hai โ€” steps dhyaan se likho โญ

W7. Drawing a Flowchart ๐Ÿ—บ๏ธ

Aim: MS Word ke Shapes aur Connectors se ek flowchart banana (algorithm ko picture me dikhana).

Steps:

  1. Insert โ†’ Shapes โ†’ Oval (Start/Stop), Parallelogram (Input/Output), Rectangle (Process), Diamond (Decision), arrows/lines (Connectors) chuno.
  2. Pehla shape girao (Oval โ†’ "Start") โ†’ shape ke andar text likho: shape pe right-click โ†’ Add Text (ya seedha type karo).
  3. Aage ke shapes girao: "Read a, b" (Parallelogram) โ†’ "if a > b?" (Diamond) โ†’ "print a" (Parallelogram) โ†’ "print b" โ†’ "Stop" (Oval).
  4. Shapes ko Connectors (Lines/Elbow arrows) se jodo โ€” arrows shape ke edge pe snap hote hain (shape hilao to arrow bhi saath chalega โ€” isi ko "smart" connection kehte hain).
  5. Decision diamond se do arrows nikalo: Yes aur No โ€” arrows ke paas label likho (Insert โ†’ Text Box se chhota text).
  6. Colours/borders se Start-Stop ko green, Process ko blue, Decision ko yellow kar do; font size 11 baaki sab me same rakho.
  7. Poora flowchart select karo (Ctrl + A ya drag) โ†’ Right click โ†’ Group โ†’ Group (ya Ctrl + G) โ€” ab poori figure ek unit ki tarah move hogi.
  8. Save "flowchart.docx" โ†’ screenshot lab file me (aur haath se bana flowchart bhi record me draw karo โ€” dono alag marks hain).
Flowchart symbols โ€” yaad rakho (viva favourite!):

  ( Oval )          โ†’ Start / Stop (terminal)
  [ Rectangle ]     โ†’ Process (kaam/hisaab)
  / Parallelogram / โ†’ Input / Output (read/print)
  <> Diamond <>     โ†’ Decision (condition: yes/no)
  โ†’ Arrow           โ†’ Flow direction (connector)

Example banao: "Largest of two numbers" ka flowchart:
Start โ†’ Read a, b โ†’ a > b ? โ†’ Yes: print a ; No: print b โ†’ Stop

(Aur practice karo: even/odd, sum of 1..n, average of 3 numbers โ€” 
ye Unit 1 me padha tha, ab Word me shapes se draw karo โœ…)

Viva me aata hai: "Flowchart ke 4 main symbols batao" (upar wale), "Algorithm aur flowchart me difference?" โ†’ Algorithm = steps in words, flowchart = same steps ki picture/diagram (symbols me). Ye practical C lab ke "algorithm likhna" wale question se seedha juda hua hai โ€” dono ek hi cheez ke do roop hain ๐Ÿ”

Bonus Word Practical 1 โ€” Certificate / Marksheet banana (table + border + alignment) ๐Ÿ…

Aim: Ek certificate (ya mark-sheet) banana jisme table, page border, alignment aur font formatting ka use ho.

  1. New document โ†’ Layout โ†’ Orientation โ†’ Landscape (certificate ke liye landscape better lagta hai) โ†’ Margins โ†’ Custom (2 inch chaaro taraf).
  2. Heading likho: "SURAJMAL UNIVERSITY, KICHHA" โ€” bold, size 24, centre (Ctrl + E) โ†’ neeche "CERTIFICATE OF MERIT" โ€” bold, size 18, spacing me double line (Home โ†’ Line Spacing).
  3. Body: "This is to certify that [Student Name], a student of BCA 1st Semester, has successfully completed the laboratory work with grade ____." โ€” size 14, justify (Ctrl + J), line spacing 1.5.
  4. Insert โ†’ Table (3 ร— 2) me detail: Roll No | Name | Grade (aur agar subject-wise marksheet hai to 4 ร— 7 table โ€” Subject | Marks | Grade rows).
  5. Table ke border halke rakho ya Table Design se "No Border + header row bottom line" (clean look) โ€” cells me padding ke liye Table Properties โ†’ Cell โ†’ Margins.
  6. Design โ†’ Page Borders โ†’ decorative border chuno (certificate me zyada achha lagta hai) โ†’ OK.
  7. Signature ke liye do jagah chhodo โ€” "Teacher In-charge" aur "Head of Department" โ€” Insert โ†’ Shapes โ†’ Line se signature line banao; date left me.
  8. Ctrl + P se print preview dekho โ†’ "certificate.docx" save karo (aur PDF export bhi).

Viva point: certificate me alignment kyun zyada matter karta hai? โ†’ Kyunki ye official document hai โ€” centre heading, justified body aur balanced signature lines professional look dete hain ("first impression" ka rule). โœ…

Bonus Word Practical 2 โ€” Header/Footer, Page Numbers, Watermark, Find & Replace ๐Ÿ”ง

Aim: Document me professional touches โ€” header/footer, page numbering, watermark aur find-replace ka use.

  1. Header/Footer: Insert โ†’ Header โ†’ Blank (ya "Alphabet"/"Facet") โ†’ college ka naam type karo โ†’ Insert โ†’ Page Number โ†’ Bottom of Page โ†’ "Page 1 of 5" wala format.
  2. Watermark: Design โ†’ Watermark โ†’ "DRAFT" / "CONFIDENTIAL" / Custom Watermark (apna text ya photo watermark) โ€” assignment/notes me "BCA 1st Sem" likhwa sakte ho. (Watermark hatane ke liye: Design โ†’ Watermark โ†’ Remove.)
  3. Find & Replace (Ctrl + H): ek hi shabd baar-baar badalna โ€” jaise "University" ko "Surajmal University" โ†’ Replace All. Format replace bhi hota hai: bold/colour bhi Find & Replace me set kar sakte ho.
  4. Comments & Track Changes: Review tab โ†’ New Comment (dusre se suggest karwana) โ€ข Track Changes (teacher/editor ke liye โ€” har change red mark me dikhta hai).
  5. Table of Contents: Headings ko "Heading 1/2" style do โ†’ References โ†’ Table of Contents โ†’ automatic index ban jaata hai (report/project ke liye best).
  6. Hyperlink: Insert โ†’ Link (Ctrl + K) โ†’ kisi website ya file ka link. Footnote: References โ†’ Insert Footnote (reference ke liye chhota number + neeche note).
  7. Save "formatting.docx" โ€” aur lab file me steps + screenshot lagao (ye practical "advanced Word" ka proof hai).

Viva point: "Header aur Footer me farak?" โ†’ Header page ke upar (repeating title/logo), Footer neeche (page number, date, naam) โ€ข "Find & Replace ka shortcut?" โ†’ Ctrl + H โ€ข "Table of contents automatic kaise?" โ†’ headings ko Heading styles do, phir References โ†’ TOC (page number khud badalte hain) ๐Ÿ”ง

MS EXCEL PRACTICALS (BCA101P)

Excel lab me do practical hain โ€” charts aur formula editor. Iske saath ek marksheet banao (worksheet + formulas + chart + conditional formatting + IF grades) โ€” ye ek hi file me poora Excel syllabus cover kar leti hai, aur viva me dikhane ke liye sabse strong hai. ๐Ÿ“Š

E1. Spreadsheet Charts โ€” Line, XY, Bar & Pie ๐Ÿ“Š

Aim: Given data se alag-alag chart types (Column/Bar, Line, Pie, XY-Scatter) banana aur samajhna ki kaunsa chart kab use hota hai.

Pehle data banao (5 students ke marks):

    A        B     C     D
1   Name     Math  Sci   Eng
2   Ansh     78    85    90
3   Priya    90    88    92
4   Rahul    65    70    72
5   Sara     88    79    95
6   Amit     50    60    55

Chart ka steps (har type ka):
1. Data select karo (A1:D6) โ€” heading row include karo
2. Insert tab โ†’ Charts group โ†’ chart type choose karo:
     โ€ข Column/Bar chart โ†’ subjects ka comparison
     โ€ข Line chart โ†’ trend dikhane ke liye
     โ€ข Pie chart โ†’ ek column ka hissa (jaise language-wise %)
     โ€ข XY (Scatter) chart โ†’ do numbers ke relation ke liye
3. Chart Design tab โ†’ title, axis labels, legend add karo
   (Chart Elements "+" button, ya Add Chart Element)
4. Chart ko move/resize karke alag sheet pe bhejo (Move Chart โ†’ New Sheet)
5. Chart pe right-click โ†’ Select Data se range badal sakte ho
   โ†’ Save karo aur screenshot lab file me lagao
Chart typeKab use karein (Hinglish)Example
Column / BarAlag-alag categories ka comparison (side-by-side)Students ke marks, mahine ki sales, rajya-wise population
LineTrend dikhana โ€” time ke saath change (ups & downs) ๐Ÿ“ˆ6 mahine ki sales ka trend, saal-wise temperature, attendance graph
PieEk cheez ka "hissa" (parts of a whole) โ€” total = 100%Budget ke parts (rent/food/travel), subject-wise favourite, expense % ๐Ÿฅง
XY (Scatter)Do numbers ka relation (ek dusre par depend karte hain)Height vs weight, temperature vs ice-cream sales, hours padhe vs marks
Area / Doughnut / RadarExtra types (advanced) โ€” trend ka area, percentage ring, multiple variables comparisonSQL/attendance ka area graph, KPI dashboard ๐Ÿ’ก
Viva ke paanch sawaal jo yahin se aate hain: (1) Bar aur Column chart me farak? โ†’ Column me bars khade, Bar me lete (horizontal) โ€” categories ke naam lambe hon to Bar better (2) Pie chart kab best hai? โ†’ jab hissa dikhana ho aur values ka total 100% ho (3) Line chart kis liye? โ†’ trend/time-series (4) Data select na karo to? โ†’ Excel galat range choose karega, chart bekaar banega โ€” isliye pehle select (5) Chart ko naya sheet pe kaise bhejein? โ†’ Chart Design โ†’ Move Chart โ†’ New Sheet ๐ŸŽฏ

Lab file me aise likho: "Aim: Chart types banana seekhna. Procedure: data enter kiya โ†’ data select kiya โ†’ Insert โ†’ Charts se Column, Line, Pie aur XY charts banaye โ†’ title, axis labels aur legend add kiye โ†’ screenshot liya. Result: chaar chart types ban gaye aur har type ka use samajh aaya." (4 screenshots = complete-answer checklist) โœ…

E2. Spreadsheet Formula Editor โž—

Aim: Excel ke formula editor aur built-in functions ka use karke calculations karna (SUM, AVERAGE, MAX/MIN, COUNT, IF, percentage, ROUND, CONCAT) โ€” aur ek complete marksheet banane.

Basic formulas (har ek = se shuru hota hai):

=D2+E2               โ†’ simple addition (do cells jodna)
=SUM(B2:D2)          โ†’ range ka sum (Math | Sci | Eng ka total)
=AVERAGE(B2:D2)      โ†’ average nikalo
=MAX(B2:D2)          โ†’ sabse zyada marks
=MIN(B2:D2)          โ†’ sabse kam marks
=COUNT(B2:B10)       โ†’ kitni numbers hain (count โ€” sirf numeric cells)
=COUNTA(A2:A10)      โ†’ kitne cells bhare hain (text bhi ginte hain)
=COUNTBLANK(B2:B10)  โ†’ kitne cells khaali hain
=B2/D2*100           โ†’ percentage (marks/total ร— 100)
=IF(D2>=33,"Pass","Fail")                     โ†’ condition wala result
=IF(B2>=90,"A",IF(B2>=75,"B","C"))            โ†’ nested IF = grade
=ROUND(B2*1.18,2)                             โ†’ GST lagana + 2 decimal
=CONCAT(A2," ",B2)   โ†’ do cells jodna (naam + city)
=COUNTA(table) โ†’ | =TODAY() โ†’ aaj ki date | =NOW() โ†’ date + time

Ready-made practical โ€” Marksheet banao (lab ke liye perfect):

    A        B     C     D      E       F            G      H
1   Name     Math  Sci   Eng    Total   Percentage   Grade  Result
2   Ansh     78    85    90     โ†’?      โ†’?           โ†’?     โ†’?
3   Priya    90    88    92
4   Rahul    65    70    72
5   Sara     88    79    95
6   Amit     50    60    55

E1: "Total"       โ†’ E2 = SUM(B2:D2)
F1: "Percentage"  โ†’ F2 = ROUND(E2/300*100,1)
G1: "Grade"       โ†’ G2 = IF(F2>=90,"A",IF(F2>=75,"B",IF(F2>=60,"C",IF(F2>=33,"D","Fail"))))
H1: "Result"      โ†’ H2 = IF(F2>=33,"Pass","Fail")

Phir:
  โ€ข Fill handle (cell ke corner pe chhota square) se drag karke
    E2:H2 ke formulas neeche sab students tak copy karo
  โ€ข Conditional Formatting (Home โ†’ Conditional Formatting โ†’ Highlight
    Cell Rules โ†’ Less Than โ†’ 33) se Fail wale red ho jaayein ๐ŸŽจ
  โ€ข Insert โ†’ Bar chart se students ka comparison graph banao
  โ€ข Data โ†’ Sort (Total ke hisaab se rank) aur Filter bhi dikha do
Cell reference ke 3 types (viva common concept to practise): Relative (A2) โ€” formula copy karne pe row/column badal jaate hain โ€ข Absolute ($A$2) โ€” copy karne pe bhi fixed (F4 dabao) โ€ข Mixed ($A2 ya A$2) โ€” sirf ek part fix. Jab bhi kisi fixed value (jaise tax rate) ko baar-baar use karna ho to absolute reference lagao โ€” warna #VALUE! ya galat answer aayega. โœ…
ErrorMatlab / kyun aata haiFix
#DIV/0!Zero se divide kiya (ya khaali cell se)IF se check karo: =IF(C2=0,"N/A",B2/C2)
#VALUE!Text ko number ki tarah use kiyaCell me sirf number rakho (space/โ‚น hatao)
#NAME?Function ka naam galat (typo) ya range ka naamSpelling check: SUM, AVERAGE (AVG nahi!)
#REF!Delete ki gayi cell ka referenceFormula edit karke naya range do
#N/AVLOOKUP/LOOKUP ko value nahi miliData check karo ya IFERROR lagao
#####Column chhota hai (error nahi!)Column ki width drag karke badhao

Excel ke exam-friendly features (dikha do = complete-answer checklist): Fill handle (formula copy โ€” dhyaan do: cell reference auto badalta hai, $ lagao to fix), absolute reference ($B$2), Sort & Filter (Data tab), Conditional Formatting, Charts, Pivot Table (Insert โ†’ PivotTable โ€” advanced), Freeze Panes (View tab โ€” heading scroll me bhi dikhe), Data Validation (dropdown list banana), Page Layout โ†’ Print Area + Print Titles (printout ke liye). Viva me "VLOOKUP kya hai?" โ†’ table ki pehli column me value dhoondh kar uske saamne wali column ki value laata hai (marksheet me roll number se naam nikalna). ๐ŸŽฏ

Bonus Practical 1 โ€” Payroll Sheet (salary calculation) ๐Ÿ’ผ

Aim: Employee ki basic salary se HRA, DA, PF aur Net Salary nikalne wali sheet banana (Excel me percentage aur IF ka practical use).

    A        B        C        D        E       F        G       H
1   Emp      Basic    HRA(10%) DA(5%)  PF(12%) Gross    Deduct  Net
2   Ansh     20000    =B2*0.10 =B2*0.05 =B2*0.12 =B2+C2+D2 =E2     =F2-G2
3   Priya    25000    (fill handle se neeche drag karo โ€” formulas copy)

Har column me kya ho raha hai:
  HRA   = 10% of basic      โ†’ =B2*0.10        (ya =B2*10/100)
  DA    = 5% of basic       โ†’ =B2*0.05
  PF    = 12% of basic      โ†’ =B2*0.12        (deduction)
  Gross = Basic + HRA + DA  โ†’ =SUM(B2:D2)
  Net   = Gross โˆ’ PF        โ†’ =F2-G2

Bonus: =IF(H2>30000,"High","Normal") โ€” salary category column
        =ROUND(F2,0) โ€” decimals hata do
        Conditional Formatting โ†’ Data Bars se "Net" column ko
        visual bar de do (dashboard look) ๐Ÿ“Š

Viva point: "Gross aur Net salary me difference?" โ†’ Gross = total kamai (basic + allowances), Net (take-home) = Gross โˆ’ deductions (PF, tax). "SUM(B2:D2) ka matlab?" โ†’ B2 se D2 tak (B2 + C2 + D2) โ€” colon ka matlab "range", comma ka matlab "aur" (=SUM(B2,D2) sirf do cells).

Bonus Practical 2 โ€” Result Analysis with COUNTIF / COUNTIFS ๐Ÿ”

Aim: Marksheet me se "kitne pass hue, kitne fail, kitne A grade" โ€” aise summary counts nikalna (COUNTIF wala real-world use).

=COUNTIF(H2:H60,"Pass")          โ†’ kitne students pass hue
=COUNTIF(H2:H60,"Fail")          โ†’ kitne fail hue
=COUNTIF(G2:G60,"A")             โ†’ kitne A grade wale
=COUNTIFS(C2:C60,">=75",D2:D60,">=75") โ†’ dono subjects me 75+ (2 conditions)
=SUMPRODUCT(B2:B60)/COUNT(B2:B60) โ†’ class ka average (bina cell-by-cell)
=MAX(E2:E60) aur =MIN(E2:E60)     โ†’ highest aur lowest total

Phir: Insert โ†’ Column chart se "Pass/Fail" ka count graph banao,
ya Pie chart se grade-wise % dikhao (best in class summary) โœ…

Viva point: "COUNTIF aur COUNTIFS me farak?" โ†’ COUNTIF me ek condition, COUNTIFS me ek se zyada (aur sab sach honi chahiye). "Criteria me symbol kahan se?" โ†’ text quotes me ("Pass"), numbers comparison >= 75 quotes me (">=75") โ€” ye chhota detail examiner ka favourite sawaal hai. ๐Ÿ”

Excel shortcuts + chart formatting checklist โŒจ๏ธ

KaamShortcut / path
Save / Print / UndoCtrl + S / Ctrl + P / Ctrl + Z
Copy-Paste / CutCtrl + C, Ctrl + V / Ctrl + X
Naya sheet / sheet renameShift + F11 (naya) โ€ข sheet tab par double-click (rename)
Cell edit / formula editF2 (cell ke andar aao) โ€” formula bar me bhi edit hota hai
Absolute referenceF4 (dabate jaao: $B$2 โ†’ B$2 โ†’ $B2 โ†’ B2)
Select karne ke liyeCtrl + A (poora data) โ€ข Shift + Arrow (range) โ€ข Ctrl + Space (column)
Row/column insertRight-click โ†’ Insert (ya Ctrl + "+")
AutoSumAlt + =" (jaldi SUM lagane ka shortcut)
Chart me titleChart click โ†’ "+" (Chart Elements) โ†’ Chart Title
Axis labelsChart Elements โ†’ Axis Titles โ†’ 2 baar click karke type
Data labels (bar par value)Chart Elements โ†’ Data Labels (viva me poochha jaata hai!)
LegendChart Elements โ†’ Legend โ†’ Bottom/Right
Gridlines / trendlineChart Elements โ†’ Gridlines โ€ข โ†’ Trendline (line chart me)
Chart type badalnaChart par right-click โ†’ Change Chart Type
Print with headingPage Layout โ†’ Print Titles โ†’ rows to repeat at top

Chart ka full-marks checklist (ye 5 cheezein dikhao): (1) Chart title jo batata ho kya dikha rahe ho (2) axis titles (X = students, Y = marks) (3) data labels (bar par value) (4) legend โ€” kaunsa colour kya (5) gridlines/formatting halki (zyada gridlines = gandha chart). Aur chart ke neeche ek line ka conclusion likho ("Priya sabse aage hai, Amit ko improvement chahiye") โ€” ye Word/Excel practical ko "report" bana deta hai, aur examiner impress hota hai ๐Ÿ˜„โœ…

BCA101P โ€” C PROGRAMS (Computer Fundamental Lab list)

Ye 11 programs aapke BCA101P (Computer Fundamental & IT lab) ke C list hain โ€” simple se shuru karke step-by-step. Har program ke saath diya hai: Aim โ†’ Algorithm โ†’ Code โ†’ Output โ†’ "Line-by-line samjho" โ†’ Viva point. Lab file me likhne ka yahi sequence hai, aur practical exam me bhi yahi order me likhna best hai. ๐Ÿ’ป

Har program likhne ka universal formula (yaad kar lo): (1) Header โ€” #include <stdio.h> (+ math.h agar sqrt/pow use ho) (2) main() (3) Variables declare โ€” int/float + naam (4) Input โ€” printf message + scanf (5) Calculation/Logic (6) Output โ€” printf with %d / %f / %.2f (7) return 0;. Bas 7 step ka dhaancha โ€” koi bhi program isi frame me baith jaata hai โœ…
Compiler warning ka dar nahi: Lab me error aana normal hai โ€” (a) missing semicolon (b) scanf me & bhool jaana (c) %d ke saath float (d) loop ka bracket band na karna. Error ka line number dekho aur us line ke aas-paas check karo. Compile karne ka shortcut: Turbo C: F9 (compile) โ†’ Ctrl+F9 (run) โ†’ Alt+F5 (output dekho); gcc me: gcc file.c -o file phir ./file ๐Ÿ› ๏ธ

1. Temperature: Celsius โ†’ Fahrenheit ๐ŸŒก๏ธ

Aim: Input me di gayi Celsius temperature ko Fahrenheit me convert karna.

Algorithm: Start โ†’ c (Celsius) read karo โ†’ f = (c ร— 9 / 5) + 32 โ†’ f print karo โ†’ Stop.

#include <stdio.h>
int main() {
    float c, f;
    printf("Enter temperature in Celsius: ");
    scanf("%f", &c);
    f = (c * 9 / 5) + 32;          // formula: F = Cร—9/5 + 32
    printf("%.2f Celsius = %.2f Fahrenheit", c, f);
    return 0;
}
Input: 38  โ†’  Output: 38.00 Celsius = 100.40 Fahrenheit
(Aur idea: 0ยฐC = 32ยฐF, 100ยฐC = 212ยฐF โ€” formula ke andar yahi khayal hai)

Line-by-line samjho: float isliye liya kyunki temperature decimal me hota hai (int me .5 kat jaata) โ€ข printf sirf message dikhata hai, scanf actual value leta hai โ€ข %f float ke liye โ€” scanf me &c (address) dena zaroori hai โ€ข 9/5 ko bracket me rakha โ€” warna integer division 9/5 = 1 ho jaata (0.5 se galat answer!) โ€ข %.2f ka matlab "2 decimal places tak print karo" โ€ข return 0 = program successful khatam.

Viva point: "Agar float ki jagah int lete to?" โ†’ 38.5 โ†’ 38 ban jaata (decimal khatam) aur answer galat aata; isliye input decimal ho to float/double use karo.

2. Simple Interest & Compound Interest ๐Ÿ’ฐ

Aim: Principal, Rate aur Time input lekar Simple Interest (SI) aur Compound Interest (CI) nikalna.

Algorithm: Start โ†’ p, r, t read karo โ†’ si = (p ร— r ร— t) / 100 โ†’ ci = p(1 + r/100)t โˆ’ p โ†’ dono print karo โ†’ Stop.

#include <stdio.h>
#include <math.h>
int main() {
    float p, r, t, si, ci;
    printf("Enter Principal, Rate, Time: ");
    scanf("%f %f %f", &p, &r, &t);

    si = (p * r * t) / 100;                 // SI = Pร—Rร—T/100
    ci = p * pow((1 + r / 100), t) - p;     // CI = P(1+R/100)^T โˆ’ P

    printf("Simple Interest = %.2f\n", si);
    printf("Compound Interest = %.2f\n", ci);
    return 0;
}
Input: 10000 5 2
Simple Interest = 1000.00
Compound Interest = 1025.00
(Kyun CI zyada? Kyunki CI me "interest pe bhi interest" milta hai ๐Ÿ˜„)

Line-by-line samjho: #include <math.h> iss program me isliye lagta hai kyunki pow() function use kiya (power nikalta hai) โ€ข pow((1 + r/100), t) = (1 + R/100)t โ€” pow ka first argument base, second exponent โ€ข CI me sirf interest nikaalne ke liye akhir me โˆ’ p kiya (total amount โˆ’ principal) โ€ข CI hamesha SI se zyada ya barabar hota hai (compound me interest par bhi interest lagta hai) โ€ข Ek hi scanf me teen values: "%f %f %f" โ€” user space ya enter se teeno de sakta hai.

Viva point: "SI aur CI me basic difference?" โ†’ SI sirf principal par lagta hai (har saal same), CI principal + jama hua interest dono par lagta hai (isliye badhta jaata hai). Formula bhi yaad rakho: SI = PRT/100 โ€ข CI = P(1+R/100)แต— โˆ’ P.

Real life: Bank FD par SI, loan/bachat schemes me CI โ€” "5% interest 2 saal" ka matlab depend karta hai compounding par. Isi liye SIP aur compound interest me paisa tez badhta hai โ€” Einstein se juda famous quote: "compound interest duniya ka 8th wonder hai." ๐Ÿ’น

3. Total Salary (HRA 3% + TA 5% + DA 3%) ๐Ÿงพ

Aim: Basic salary input lekar HRA, TA, DA aur Total Salary calculate karna (percentage wale components ke saath).

Algorithm: Start โ†’ basic read karo โ†’ hra = 3% of basic, ta = 5%, da = 3% โ†’ total = basic + hra + ta + da โ†’ sab print karo โ†’ Stop.

#include <stdio.h>
int main() {
    float basic, hra, ta, da, total;
    printf("Enter Basic Salary: ");
    scanf("%f", &basic);

    hra = 0.03 * basic;     // HRA = 3% of basic
    ta  = 0.05 * basic;     // TA  = 5% of basic
    da  = 0.03 * basic;     // DA  = 3% of basic
    total = basic + hra + ta + da;

    printf("HRA = %.2f\nTA = %.2f\nDA = %.2f\n", hra, ta, da);
    printf("Total Salary = %.2f", total);
    return 0;
}
Input: 20000
HRA = 600.00   TA = 1000.00   DA = 600.00
Total Salary = 22200.00

Line-by-line samjho: "3% of basic" = basic ร— 3 / 100 = 0.03 ร— basic (dono tarike sahi, par decimal se code chhota) โ€ข Ek printf me teen values โ€” format string me teen % aur comma ke baad teen variables, order same hona chahiye โ€ข \n line change ke liye โ€ข Total me sab components jod diye (deduction jaise PF/tax nahi diye โ€” question me na ho to add nahi karte).

Viva point: "HRA, TA, DA ke full form?" โ†’ House Rent Allowance, Travel Allowance, Dearness Allowance. "Agar basic = 20000, HRA 3% ka 600 hua โ€” 3% nikaalne ka dusra tarika?" โ†’ (basic ร— 3) / 100 = 600 (dono same). Punch line: percentage wale sawaalon me formula + ek example likhna must hai. ๐Ÿงฎ

4. Swap Two Numbers โ€” with third variable ๐Ÿ”„

Aim: Do numbers ki values ko ek temporary (third) variable ki madad se exchange karna.

Algorithm: Start โ†’ a, b read karo โ†’ temp = a โ†’ a = b โ†’ b = temp โ†’ naye a, b print karo โ†’ Stop.

#include <stdio.h>
int main() {
    int a, b, temp;
    scanf("%d %d", &a, &b);
    printf("Before: a=%d b=%d\n", a, b);

    temp = a;     // a ko temp me rakha
    a = b;        // b ki value a me
    b = temp;     // temp (purana a) b me

    printf("After : a=%d b=%d", a, b);
    return 0;
}
Input: 10 20  โ†’  After: a=20 b=10
(Glass analogy: do glass ka paani exchange karna โ€” ek khaali glass (temp) chahiye!)

Line-by-line samjho: Sequence hi sab kuch hai โ€” agar seedha a = b karte to a ki purani value hamesha ke liye gayab ho jaati! Isliye pehle temp = a (backup), phir a = b, phir b = temp (backup wapas) โ€ข Ye 3-line magic swap ka standard tarika hai โ€” interviews aur viva dono me poochha jaata hai.

Viva point: "Temp variable ke bina swap ho sakta hai?" โ†’ Haan (a = a + b; b = a โˆ’ b; a = a โˆ’ b wala tarika โ€” agla program) โ€” par safe/recommended third variable wala hi hai (bade numbers me addition overflow kar sakta hai).

5. Swap Two Numbers โ€” without third variable โœจ

Aim: Bina kisi extra variable ke, sirf addition-subtraction (ya XOR) se do numbers swap karna.

Algorithm: Start โ†’ a, b read karo โ†’ a = a + b โ†’ b = a โˆ’ b โ†’ a = a โˆ’ b โ†’ print karo โ†’ Stop.

#include <stdio.h>
int main() {
    int a, b;
    scanf("%d %d", &a, &b);
    printf("Before: a=%d b=%d\n", a, b);

    a = a + b;     // a = 10+20 = 30
    b = a - b;     // b = 30-20 = 10 (purana a)
    a = a - b;     // a = 30-10 = 20 (purana b)

    printf("After : a=%d b=%d", a, b);
    return 0;
}
Input: 10 20  โ†’  After: a=20 b=10 โœ”  (bina khaali glass! ๐Ÿ˜„)
Note: XOR method bhi hota hai: a = a^b; b = a^b; a = a^b;

Line-by-line samjho: Pehle step me a me dono ka jod chala gaya (30) โ€” isliye ab b nikaalne ke liye 30 โˆ’ 20 = 10 kiya โ€ข Teesre step me naya a = 30 โˆ’ 10 = 20 โ€ข Logic: "sum me se ek number hata do to doosra mil jaata hai" โ€ข XOR (^) method me bitwise magic hota hai โ€” a^a = 0 aur x^0 = x wali property se swap hota hai (dono methods viva me likh do โ€” bonus ๐Ÿ‘).

Viva point: "Is method ka nuksaan?" โ†’ bahut bade numbers par a + b integer range se bahar (overflow) ja sakta hai โ€” isliye real projects me temp variable ya XOR use hota hai.

6. Area & Circumference of Circle โญ•

Aim: Radius input lekar circle ka area (ฯ€rยฒ) aur circumference (2ฯ€r) nikalna; #define se constant (PI) ka use samajhna.

Algorithm: Start โ†’ r read karo โ†’ area = ฯ€ rยฒ โ€ข circ = 2 ฯ€ r โ†’ dono print karo โ†’ Stop.

#include <stdio.h>
#define PI 3.14159
int main() {
    float r, area, circ;
    scanf("%f", &r);
    area = PI * r * r;       // Area = ฯ€rยฒ
    circ = 2 * PI * r;       // Circumference = 2ฯ€r
    printf("Area = %.2f\nCircumference = %.2f", area, circ);
    return 0;
}
Input: 7  โ†’  Area = 153.94, Circumference = 43.98

Line-by-line samjho: #define PI 3.14159 = "preprocessor directive" โ€” compiler code likhne se pehle poore program me PI ki jagah 3.14159 rakh deta hai (isse symbolic constant kehte hain; value badalni ho to sirf ek jagah badlo) โ€ข ฯ€rยฒ ko C me r*r likhna padta hai (rยฒ ka koi direct symbol nahi) โ€ข Area/circumference decimal me aata hai, isliye float + %.2f.

Viva point: "#define aur const me difference?" โ†’ #define preprocessor level par text replace karta hai (koi memory nahi), const ek variable hai jiski value badal nahi sakte. Aur: "PI ki value 22/7 se kyun nahi likhi?" โ†’ 22/7 = 3.1428โ€ฆ approximate hai; integer division 22/7 = 3 ho jaata (donon int) โ€” isliye decimal value likhna safe hai.

7. Ternary Operator (largest of two) โš–๏ธ

Aim: Conditional (ternary) operator ? : ka use karke do numbers me bada number nikalna โ€” if-else ka one-line version.

Algorithm: Start โ†’ a, b read karo โ†’ big = (a > b) ? a : b โ†’ big print karo โ†’ Stop.

#include <stdio.h>
int main() {
    int a, b, big;
    scanf("%d %d", &a, &b);
    big = (a > b) ? a : b;     // condition ? sach : jhoot
    printf("Largest = %d", big);
    return 0;
}
Input: 15 42  โ†’  Largest = 42

Line-by-line samjho: Ternary operator ka form: condition ? value_if_true : value_if_false โ€ข (a > b) sach hua to a, jhoot hua to b โ€” dono me se ek value big me chali gayi (isliye ise "conditional assignment" bhi kehte hain) โ€ข Ye if-else ka short form hai par sirf ek expression ke liye โ€” bahut sari conditions ho to if-else better hai.

Viva point: "Ternary operator ke kitne operands hote hain?" โ†’ 3 (condition, true-value, false-value) โ€” isliye naam ternary. "Ye kis type ka operator hai?" โ†’ Conditional operator, aur C me ye C ka only ternary operator hai (baaki sab unary/binary hain).

8. Roots of Quadratic Equation (axยฒ + bx + c = 0) ๐Ÿงฎ

Aim: a, b, c input lekar quadratic equation ke roots nikalna โ€” discriminant (d) ke aadhaar par teen cases (real & distinct, real & equal, complex).

Algorithm: Start โ†’ a, b, c read karo โ†’ d = bยฒ โˆ’ 4ac โ†’ agar d > 0: r1, r2 = (โˆ’b ยฑ โˆšd)/2a โ€ข agar d = 0: r = โˆ’b/2a โ€ข warna complex roots print karo โ†’ Stop.

#include <stdio.h>
#include <math.h>
int main() {
    float a, b, c, d, r1, r2;
    printf("Enter a, b, c: ");
    scanf("%f %f %f", &a, &b, &c);

    d = b * b - 4 * a * c;                  // discriminant

    if (d > 0) {
        r1 = (-b + sqrt(d)) / (2 * a);
        r2 = (-b - sqrt(d)) / (2 * a);
        printf("Real & distinct roots: %.2f and %.2f", r1, r2);
    } else if (d == 0) {
        r1 = -b / (2 * a);
        printf("Real & equal roots: %.2f", r1);
    } else {
        printf("Complex roots: %.2f + %.2fi and %.2f - %.2fi",
               -b/(2*a), sqrt(-d)/(2*a), -b/(2*a), sqrt(-d)/(2*a));
    }
    return 0;
}
Input: 1 -5 6  โ†’  Real & distinct roots: 3.00 and 2.00
(d > 0: do roots, d = 0: ek root, d < 0: complex roots โ€” Sridharacharya formula)

Line-by-line samjho: d (discriminant) hi poore program ka "judge" hai โ€” usse pata chalta hai roots ki nature โ€ข sqrt(d) ke liye math.h zaroori โ€ข d < 0 par sqrt(negative) nahi hota (error!) isliye sqrt(-d) liya aur "i" (imaginary unit) print kiya โ€ข if-else if-else ladder โ€” ek hi case chalega โ€ข Har case me %.2f rakha taaki output clean dikhe.

Viva point: "Discriminant kya batata hai?" โ†’ d > 0 = real & distinct (do alag roots) โ€ข d = 0 = real & equal โ€ข d < 0 = complex/imaginary roots (graph x-axis ko touch nahi karta). Formula: x = (โˆ’b ยฑ โˆš(bยฒ โˆ’ 4ac)) / 2a.

9. Armstrong Number ๐Ÿ’ช

Aim: Check karna ki input number Armstrong hai ya nahi (3-digit ke liye: har digit ka cube jodkar wahi number aana chahiye).

Algorithm: Start โ†’ n read karo โ†’ temp = n, sum = 0 โ†’ jab tak temp โ‰  0: digit = temp % 10; sum = sum + digitยณ; temp = temp / 10 โ†’ agar sum = n to Armstrong warna nahi โ†’ Stop.

#include <stdio.h>
int main() {
    int n, temp, r, sum = 0;
    scanf("%d", &n);
    temp = n;
    while (temp != 0) {
        r = temp % 10;        // digit nikala
        sum += r * r * r;     // cube joda
        temp /= 10;
    }
    if (sum == n)
        printf("%d is Armstrong", n);
    else
        printf("%d is not Armstrong", n);
    return 0;
}
153 = 1ยณ+5ยณ+3ยณ = 1+125+27 = 153 โœ” Armstrong
370, 371, 407 bhi Armstrong hain (3-digit). 1634 bhi hota hai (4-digit, 4th power se!)

Line-by-line samjho: temp = n isliye kiya kyunki loop me n toot jaata hai (n ki original value compare ke liye chahiye) โ€ข temp % 10 = aakhri digit โ€ข temp / 10 = aakhri digit hata do (integer division!) โ€ข sum += r*r*r me cube joda โ€ข Ant me sum == n check โ€” original value se compare โ€ข Yehi "digit extraction" trick aage har number program (palindrome, sum of digits, reverse) me kaam aati hai.

Viva point: "Armstrong number ki definition?" โ†’ Jis number ke digits ke number-of-digits wale power ka sum us number ke barabar ho (3 digits โ†’ cube, 4 digits โ†’ 4th power). "4-digit wale program me kya badlega?" โ†’ r*r*r*r (ya r ki power n) โ€” isliye general program me power = digits count karke lagate hain.

10. Factorial & 11. Fibonacci Series ๐Ÿ”ข

Aim: (10) Kisi number ka factorial nikalna (n! = 1ร—2ร—3ร—โ€ฆร—n) aur (11) n terms tak Fibonacci series print karna (0 1 1 2 3 5 8โ€ฆ).

Algorithm (10): Start โ†’ n read โ†’ f = 1 โ†’ i = 1 se n tak: f = f ร— i โ†’ f print โ†’ Stop.
Algorithm (11): Start โ†’ a = 0, b = 1 โ†’ n read โ†’ n baar: a print karo, c = a + b, a = b, b = c โ†’ Stop.

// 10. Factorial
#include <stdio.h>
int main() {
    int n, i;  unsigned long long f = 1;
    scanf("%d", &n);
    for (i = 1; i <= n; i++)
        f = f * i;
    printf("%d! = %llu", n, f);
    return 0;
}
Input: 6  โ†’  6! = 720   (5! = 120, 7! = 5040 โ€” yaad rakho!)

// 11. Fibonacci series (0 1 1 2 3 5 8...)
#include <stdio.h>
int main() {
    int n, i, a = 0, b = 1, c;
    scanf("%d", &n);
    for (i = 1; i <= n; i++) {
        printf("%d ", a);
        c = a + b;
        a = b;
        b = c;
    }
    return 0;
}
Input: 8  โ†’  0 1 1 2 3 5 8 13

Line-by-line samjho: Factorial me f = 1 se shuru (0 se shuru karte to har baar 0 hi aata!) โ€ข unsigned long long isliye ki factorial bahut jaldi bada hota hai (int me 12!โ€“13! ke baad range khatam) โ€ข Fibonacci me a, b, c teen variables: a print karo, c = a + b (next), phir a ko b me aur b ko c me shift karo โ€” "sliding window" technique โ€ข 0-based series: 0, 1, 1, 2, 3, 5, 8, 13โ€ฆ (har agla = pichle do ka jod).

Viva point: "Factorial recursion se kaise?" โ†’ int fact(n){ return (n<=1) ? 1 : n * fact(nโˆ’1); } โ€ข "Fibonacci recursion se?" โ†’ F(n) = F(nโˆ’1) + F(nโˆ’2), base case F(0)=0, F(1)=1. "Fibonacci ka real use?" โ†’ Nature me sunflower ke seeds, shells ka spiral, aur CS me Fibonacci search/Fibonacci heap. ๐ŸŒป

โšก BCA101P โ€” Quick checklist

SEC101P โ€” PROGRAMMING IN C LAB (saare 16 programs)

Ye list aapke syllabus me exactly wahi hai โ€” 16 programs. Neeche har program ka ready code + output hai. These are the syllabus-listed practicals. Practise each one and be ready to explain your choices; the exact practical assessment may vary. โ€” isliye har program ke neeche "Isme kya sikha" line bhi hai ๐Ÿ“Œ
Lab file me har program ka structure (SEC101P ke liye): (1) Aim (2) Algorithm / steps (3) Program (code) (4) Output (sample input ke saath) (5) Result ("Program successfully compiled and executedโ€ฆ"). Viva me bolne ke liye: concept + ek line ka logic + output ka example โ€” yahi 3 cheezein kaafi hain. โœ…

P1. Largest of Two / Three Numbers โ€” if aur conditional operator se โš–๏ธ

Aim: Do aur teen numbers me sabse bada number dhoondhna โ€” pehle nested if-else se, phir conditional (ternary) operator se.

Algorithm: Start โ†’ a, b, c read karo โ†’ agar a โ‰ฅ b aur a โ‰ฅ c to a largest โ€ข warna agar b โ‰ฅ a aur b โ‰ฅ c to b largest โ€ข warna c largest โ†’ print โ†’ Stop.

/* Largest of THREE numbers โ€” nested if-else se */
#include <stdio.h>
int main() {
    int a, b, c;
    scanf("%d %d %d", &a, &b, &c);

    if (a >= b && a >= c)
        printf("%d is largest", a);
    else if (b >= a && b >= c)
        printf("%d is largest", b);
    else
        printf("%d is largest", c);
    return 0;
}
Input: 12 45 30 โ†’ 45 is largest

/* Same with conditional (ternary) operator โ€” ONE LINE me! */
int big = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);
printf("%d is largest", big);

Concept samjho: if-else ladder me pehli condition sach hui to baaki check hi nahi hoti (short-circuit) โ€ข && (AND) ka matlab dono conditions sach honi chahiye โ€” isliye "a โ‰ฅ b AND a โ‰ฅ c" likha โ€ข Ternary ka form: (condition) ? true-value : false-value โ€” isme nested ternary se ek hi line me teeno numbers compare ho gaye โ€ข Largest nikaalne ka sabse simple tarika: pehle do me bada nikaal lo, phir usse teesre se compare karo big = (a > b ? a : b); big = (big > c ? big : c);

Isme kya sikha: nested if-else vs ternary operator ka use, comparison logic (โ‰ฅ vs = ke saath sochna), aur "do me se bada" ka pattern.

Viva point + common mistake: (a) "if-else aur ternary me kya chuno?" โ†’ simple do-choice ke liye ternary, multi-branch logic ke liye if-else (readability better) (b) common mistake: a > b likh dena jab a == b bhi handle karna ho (equal values par "c is largest" print ho jaata hai) โ€” isliye >= use karo. โœ…

P2. Reverse of a Given Number ๐Ÿ”„

Aim: Input number ke digits ko ulta karke print karna (aur bonus me palindrome check karna).

Algorithm: Start โ†’ n read โ†’ rev = 0 โ†’ jab tak n > 0: r = n % 10 (aakhri digit), rev = rev ร— 10 + r, n = n / 10 โ†’ rev print โ†’ Stop.

#include <stdio.h>
int main() {
    int n, rev = 0, r;
    scanf("%d", &n);
    while (n > 0) {
        r = n % 10;            // aakhri digit
        rev = rev * 10 + r;    // reverse me joda
        n = n / 10;            // digit hata di
    }
    printf("Reverse = %d", rev);
    return 0;
}
Input: 1234 โ†’ Reverse = 4321
Bonus: palindrome check: if (rev == original) print "Palindrome" ๐Ÿ˜Ž

Concept samjho: Ye digit manipulation ka universal pattern hai (reverse, palindrome, sum of digits, Armstrong โ€” sab isi par chalte hain):
(1) n % 10 = aakhri digit nikaalo (2) usko naye number me rev ร— 10 + r se daalo (rev ko ek digit aage shift kiya) (3) n / 10 se aakhri digit hatao (4) loop tab tak jab tak n = 0. Trace (n = 1234): r=4 rev=4 โ†’ r=3 rev=43 โ†’ r=2 rev=432 โ†’ r=1 rev=4321 โœ”

Isme kya sikha: loop + % aur / ka digit manipulation โ€” ye "number todna" ka base hai, aage har number program isi se banta hai.

Viva point: "Palindrome check kaise karoge?" โ†’ original number ko save karo (temp = n) โ†’ reverse nikalo โ†’ if (rev == temp) to palindrome (jaise 121, 1331) โ€ข "rev ko long kyun lete hain?" โ†’ bade numbers ka reverse int ki range se bahar ja sakta hai (overflow) ๐Ÿ’ก

P3. Prime Numbers from 2 to n ๐Ÿ”ข

Aim: 2 se n tak saare prime numbers print karna (prime = jo sirf 1 aur khud se divide ho).

Algorithm: Start โ†’ n read โ†’ i = 2 se n tak: flag = 1; j = 2 se i/2 tak: agar i % j == 0 to flag = 0, break โ€ข agar flag == 1 to i print โ†’ Stop.

#include <stdio.h>
int main() {
    int n, i, j, flag;
    scanf("%d", &n);

    printf("Prime numbers from 2 to %d: ", n);
    for (i = 2; i <= n; i++) {
        flag = 1;                       // "ye prime hai" maan lo
        for (j = 2; j <= i / 2; j++) {
            if (i % j == 0) {
                flag = 0;               // kisi ne divide kiya = prime nahi
                break;
            }
        }
        if (flag == 1)
            printf("%d ", i);
    }
    return 0;
}
Input: 30 โ†’ 2 3 5 7 11 13 17 19 23 29

Concept samjho: Nested loop โ€” bahar wala loop har number (i) par, andar wala us number ke divisors (j) check karta hai โ€ข flag variable = "abhi tak prime hai" assumption; jo bhi divisor mila, flag 0 kar diya โ€ข break = ek divisor mil gaya to aage check karne ka koi fayda nahi โ€” loop turant chhodo (efficiency!) โ€ข i/2 tak kyun? Kisi number ka divisor i/2 se bada nahi hota (1 ke alawa) โ€” isliye aadha kaam bach jaata hai. Aur behtar: j*j <= i tak check karo (sqrt tak) โ€” aur bhi fast. ๐Ÿš€

Isme kya sikha: nested loop + flag variable + break โ€” teen cheezein jo har "checking" wale program me kaam aati hain.

Viva point: "1 prime kyun nahi?" โ†’ prime ki definition ke liye exactly do factors chahiye (1 aur khud) โ€” 1 ka sirf ek factor hai โ€ข "2 hi even prime kyun?" โ†’ 2 se bada har even number 2 se divide ho jaata hai โ€ข "Sabse bada prime nikaalne ka tarika?" โ†’ loop ulta chalao ya list me se last value lo. โญ

P4. Roots of Quadratic Equation using SWITCH ๐Ÿ”€

Aim: Quadratic equation ke roots nikalna, par is baar switch-case ka use karke โ€” condition (d > 0 / d = 0 / d < 0) ko code (1 / 0 / โˆ’1) me convert karke.

Algorithm: Start โ†’ a, b, c read โ†’ d = bยฒ โˆ’ 4ac โ†’ agar d > 0 to d = 1 โ€ข agar d = 0 to d = 0 โ€ข warna d = โˆ’1 โ†’ switch(d): case 1 โ†’ do real roots, case 0 โ†’ ek root, case โˆ’1 โ†’ complex roots โ†’ Stop.

#include <stdio.h>
#include <math.h>
int main() {
    float a, b, c, d, r1, r2;
    scanf("%f %f %f", &a, &b, &c);
    d = b * b - 4 * a * c;

    // d ki condition ko "1, 0, -1" me convert karo taaki switch chal sake
    if (d > 0) d = 1;
    else if (d == 0) d = 0;
    else d = -1;

    switch ((int)d) {
        case 1:
            r1 = (-b + sqrt(b*b - 4*a*c)) / (2*a);
            r2 = (-b - sqrt(b*b - 4*a*c)) / (2*a);
            printf("Real & distinct roots: %.2f and %.2f", r1, r2);
            break;
        case 0:
            printf("Real & equal roots: %.2f", -b / (2*a));
            break;
        case -1:
            printf("Complex roots: %.2f ยฑ %.2fi",
                   -b/(2*a), sqrt(-(b*b - 4*a*c))/(2*a));
            break;
    }
    return 0;
}
Input: 1 -5 6 โ†’ Real & distinct roots: 3.00 and 2.00
Note: switch me case "range" nahi ho sakta (d>0/d=0 direct nahi) โ€” isliye pehle 
condition ko 1/0/โˆ’1 me convert kiya. Ye trick examiner ko dikhana! โœ”

Concept samjho: switch sirf equality (==) par chalta hai โ€” "d > 0" jaisi range condition direct case me nahi likh sakte! Isliye pehle if-else se d ko 1, 0, โˆ’1 me convert kiya, phir switch ke teen cases chalaye โ€ข Har case ke ant me break โ€” warna "fall through" hokar neeche wale cases bhi chal jaate (classic bug!) โ€ข case โˆ’1 me sqrt(-(bยฒโˆ’4ac)) kiya kyunki negative number ka sqrt nahi hota โ€” isliye sign ulta karke magnitude nikala aur "i" print kiya โ€ข (int)d isliye ki switch float par nahi chalta โ€” int me cast kiya.

Isme kya sikha: switch ki limitation (sirf equality), aur range conditions ko "code" me convert karke switch me bhejna โ€” ye asli programming thinking hai, ratta nahi.

Viva point: "switch aur if-else me kab kya?" โ†’ fixed values (menu 1/2/3, grade 'A'/'B') ke liye switch clean hota hai; range/complex conditions ke liye if-else โ€ข "switch me default kyun?" โ†’ koi case match na ho to default chalta hai โ€ข "break na lagayein to?" โ†’ fall-through: neeche ke saare cases execute ho jaate hain. โš ๏ธ

P5. Triangle of Stars โญ

Aim: Nested loops se pattern print karna โ€” n lines ka right-triangle of stars (aur bonus patterns: ulta triangle, pyramid, diamond, number triangle).

Algorithm: Start โ†’ n read โ†’ i = 1 se n tak: har line me j = 1 se i tak " * " print karo โ†’ newline โ†’ Stop.

#include <stdio.h>
int main() {
    int n, i, j;
    scanf("%d", &n);
    for (i = 1; i <= n; i++) {        // lines 1..n
        for (j = 1; j <= i; j++) {    // har line me i stars
            printf("* ");
        }
        printf("\n");
    }
    return 0;
}
Input: 4 โ†’
*
* *
* * *
* * * *


/* BONUS โ€” alag-alag patterns (viva me poochhte hain!) */
// Ulta triangle:  for (i = n; i >= 1; i--)
// Pyramid (center): spaces (n-i) phir stars (2i-1)
// Diamond: pyramid + ulta pyramid
// Number triangle: printf("%d ", j);  j ki jagah i

Concept samjho: Pattern ka poora khel do loop ke rishte me hai โ€” bahar wala loop = kitni lines (rows), andar wala = har line me kitne stars โ€ข Yahan andar wala loop i tak chalta hai, isliye pehli line me 1 star, doosri me 2, teesri me 3โ€ฆ (triangle ban gaya) โ€ข Debugging trick: stars ki jagah i aur j ki values print karke dekho โ€” pattern ka formula turant samajh aa jaata hai. ๐Ÿ”

Bonus patterns (viva me poochhte hain โ€” same do-loop logic):

ULTA TRIANGLE:            PYRAMID (centre-star):
for (i = n; i >= 1; i--)   for (i = 1; i <= n; i++)
  for (j = 1; j <= i; j++)   {  spaces (n-i)  ;  stars (2*i - 1)  }

DIAMOND:                  NUMBER TRIANGLE:
pyramid + ulta pyramid    1
(do baar pattern likho)   1 2
                          1 2 3

Ek line me yaad rakho: "outer = lines, inner = per-line content" โœ…

Isme kya sikha: nested loops + pattern thinking โ€” ye "thinking" competitive coding me sabse pehle aati hai, aur exam me 5-mark ke program isi se bante hain.

Viva point: "Pyramid me spaces ka formula?" โ†’ (n โˆ’ i) spaces phir (2i โˆ’ 1) stars โ€ข "printf("* ") aur printf("*") me farak?" โ†’ pehle me har star ke baad space aata hai (spacing wide), doosre me stars chipke hote hain โ€” examiner output dekh kar concept judge karta hai. โญ

P6. Largest & Smallest in a List ๐Ÿ“‹

Aim: User diye gaye n numbers me sabse bada aur sabse chhota number dhoondhna (array/loop ka use karke, bina poora data store kiye).

Algorithm: Start โ†’ n read โ†’ pehla number read karke big = small = pehla maan lo โ†’ baaki nโˆ’1 numbers: agar num > big to big = num; agar num < small to small = num โ†’ dono print โ†’ Stop.

#include <stdio.h>
int main() {
    int n, i, big, small, num;
    scanf("%d", &n);          // kitne numbers
    scanf("%d", &big);
    small = big;              // pehla number hi dono maan lo

    for (i = 2; i <= n; i++) {
        scanf("%d", &num);
        if (num > big)   big = num;
        if (num < small) small = num;
    }
    printf("Largest = %d\nSmallest = %d", big, small);
    return 0;
}
Input: 6 | 45 12 78 3 90 56
Largest = 90, Smallest = 3

Concept samjho: Ise "champion" technique kehte hain โ€” pehle ek number ko champion (big) maan lo, phir har naye number se compare karke chamchampion badalte jao โ€ข Yahan tumne array use hi nahi ki โ€” sirf 3 variables (big, small, num) se kaam ho gaya, kyunki hamesha sirf "ab tak ka best" yaad rakhna hai โ€ข Dhyaan do: comparison me naya number liya (num), naya variable har baar nahi banaya โ€” memory efficient code. ๐Ÿ’ก

Isme kya sikha: "pehle maan lo, phir update karo" wala greedy approach, aur loop ke andar input lena (array ke bina bhi data process ho sakta hai).

Viva point: "Array se kaise karte?" โ†’ for(i=0;i<n;i++) scanf(&a[i]); phir big = a[0] aur loop me compare โ€ข "Second largest kaise nikaloge?" โ†’ do variables (big, secondBig) rakho aur update conditions thodi badal do โ€” ye viva me aksar poochha jaata hai! ๐Ÿฅˆ

P7. Product of Two Matrices โœ–๏ธ

Aim: Do matrices ka multiplication karna โ€” dimension check (c1 = r2), 2D arrays aur 3 nested loops ke saath.

Algorithm: Start โ†’ r1, c1, r2, c2 read โ†’ agar c1 โ‰  r2 to "multiplication not possible" โ†’ matrix A (r1ร—c1) aur B (r2ร—c2) read karo โ†’ har (i, j) ke liye prod[i][j] = ฮฃ (a[i][k] ร— b[k][j]) k = 0 se c1โˆ’1 โ†’ product print โ†’ Stop.

#include <stdio.h>
int main() {
    int a[10][10], b[10][10], prod[10][10];
    int r1, c1, r2, c2, i, j, k;

    printf("Rows & cols of A: ");
    scanf("%d %d", &r1, &c1);
    printf("Rows & cols of B: ");
    scanf("%d %d", &r2, &c2);

    if (c1 != r2) {                       // condition check!
        printf("Multiplication not possible (c1 != r2)");
        return 0;
    }

    printf("Enter matrix A:\n");
    for (i = 0; i < r1; i++)
        for (j = 0; j < c1; j++)
            scanf("%d", &a[i][j]);

    printf("Enter matrix B:\n");
    for (i = 0; i < r2; i++)
        for (j = 0; j < c2; j++)
            scanf("%d", &b[i][j]);

    for (i = 0; i < r1; i++) {
        for (j = 0; j < c2; j++) {
            prod[i][j] = 0;
            for (k = 0; k < c1; k++) {            // dot product
                prod[i][j] += a[i][k] * b[k][j];
            }
        }
    }

    printf("Product:\n");
    for (i = 0; i < r1; i++) {
        for (j = 0; j < c2; j++)
            printf("%d ", prod[i][j]);
        printf("\n");
    }
    return 0;
}
A = [1 2; 3 4], B = [5 6; 7 8]
Product: 19 22
         43 50       (Maths Unit 1 wala hi kaam, ab C me! ๐Ÿ˜„)

Concept samjho: Matrix multiplication ka rule: C[i][j] = A ki i-th row ยท B ki j-th column ka dot product โ€ข Isliye teen loops: i (row), j (column), k (dot product ke liye) โ€ข Aur sabse pehle validation: agar c1 โ‰  r2 to multiply hi nahi hoga โ€” agar check na lagao to galat result aa sakta hai ya program crash โ€ข A = [1 2; 3 4] aur B = [5 6; 7 8] ka product [19 22; 43 50] aata hai โ€” yahi Maths Unit 1 (matrices) me padha tha, ab code me! ๐Ÿ˜„

Isme kya sikha: 2D arrays (double subscript), 3 nested loops, dimension validation โ€” aur Maths ka concept code me convert karna.

Viva point: "c1 = r2 kyun zaroori?" โ†’ pehli matrix ke columns (c1) aur doosri ke rows (r2) barabar nahi hue to dot product hi nahi ban sakta โ€ข "2D array kaise declare karte hain?" โ†’ int a[10][10]; (rows ร— columns) โ€ข "Kya result ka size?" โ†’ r1 ร— c2 โœ”

P8. GCD of Two Numbers โ€” Iteration aur Recursion dono ๐ŸŒ€

Aim: Do numbers ka GCD (Greatest Common Divisor / HCF) nikalna โ€” pehle loop (Euclid's algorithm) se, phir recursion se.

Algorithm: Start โ†’ a, b read โ†’ jab tak b โ‰  0: t = b; b = a % b; a = t โ†’ a print (iterative). Recursive: gcd(a,b) = gcd(b, a % b), base case b = 0 โ†’ a.

/* (a) Iteration se (Euclid's algorithm) */
#include <stdio.h>
int main() {
    int a, b, t;
    scanf("%d %d", &a, &b);
    while (b != 0) {
        t = b;
        b = a % b;      // remainder
        a = t;
    }
    printf("GCD = %d", a);
    return 0;
}
Input: 36 60 โ†’ GCD = 12

/* (b) Recursion se */
int gcd(int a, int b) {
    if (b == 0)
        return a;                  // base case
    return gcd(b, a % b);          // khud ko chhote input se call
}
gcd(36, 60) โ†’ gcd(60, 36) โ†’ gcd(36, 24) โ†’ gcd(24, 12) โ†’ gcd(12, 0) โ†’ 12 โœ”

Concept samjho (Euclid's algorithm): "Do numbers ka GCD = chhote number aur uske shesh (remainder) ka GCD" โ€” bas yahi soch loop me utaar di. Trace (36, 60): gcd(36,60) โ†’ gcd(60, 36) โ†’ gcd(36, 24) โ†’ gcd(24, 12) โ†’ gcd(12, 0) โ†’ 12 โœ” โ€ข Recursion me do cheezein must hain: (1) base case โ€” b == 0 par rukna (2) recursive step โ€” khud ko chhote input (a % b) se call karna. Base case ke bina infinite recursion โ†’ stack overflow ๐Ÿšจ

Isme kya sikha: Euclid's algorithm (duniya ke sabse purane algorithms me se ek), aur ek hi problem ke do solutions โ€” iteration vs recursion ka comparison.

Viva point: "Recursion vs iteration โ€” kaunsa better?" โ†’ iteration fast + memory kam; recursion chhota + elegant (par har call stack me space leti hai) โ€ข "GCD ka real use?" โ†’ fractions simplify karna, LCM nikalna (LCM = aร—b/GCD), cryptography/RSA me modular arithmetic ๐Ÿ”

P9. Storage Classes Illustration ๐Ÿ—„๏ธ

Aim: C ke storage classes (auto, static, register, extern/global) ka behavior dikhana โ€” khaas kar static ka "value yaad rakhna" aur auto ka "reset hona".

Algorithm: Start โ†’ ek function demo() banao jisme auto a, static s, register r ho โ†’ teeno ko ++ karo aur print karo โ†’ main me demo() ko 3 baar call karo โ†’ output compare karo โ†’ Stop.

#include <stdio.h>

int global = 100;              // static/global โ€” poore program me zinda

void demo() {
    auto int a = 10;           // auto: function khatam, gaya; har call pe naya
    static int s = 0;          // static: value YAAD rehti hai calls ke beech
    register int r = 5;        // register: CPU register me (fastest)

    a++;    s++;    r++;       // teeno badhaye
    printf("auto a = %d, static s = %d, register r = %d, global = %d\n",
           a, s, r, global);
}

int main() {
    demo();   // auto a = 11, static s = 1, register r = 6, global = 100
    demo();   // auto a = 11, static s = 2, register r = 6, global = 100
    demo();   // auto a = 11, static s = 3, register r = 6, global = 100
    return 0;
}
OUTPUT:
auto a = 11, static s = 1, register r = 6, global = 100
auto a = 11, static s = 2, register r = 6, global = 100
auto a = 11, static s = 3, register r = 6, global = 100

Dekha? sirf static badhta gaya (1 โ†’ 2 โ†’ 3) โ€” kyunki wo yaad rakhta hai! 
auto/reset har call pe 11 pe hi raha ๐Ÿ˜Ž โ€” YEHI viva ka jawab hai!

Concept samjho: Storage class 4 cheezein batati hai โ€” (1) kahan store hota hai memory (2) lifetime (kab tak zinda) (3) scope (kahan dikhta hai) (4) default value.
โ€ข auto โ†’ stack par, function khatam = gaya, har call pe naya (isi liye a har baar 11) โ€ข static โ†’ program ki poori life, ek hi baar initialize, value retain hoti hai (isi liye s 1 โ†’ 2 โ†’ 3) โ€ข register โ†’ CPU register me rakhta hai (fast, par limit) โ€” address nahi le sakte โ€ข global/extern โ†’ poori file me kahin se bhi accessible (yahan global = 100) โ€ข Default value: auto/register = garbage, static/global = 0.

Isme kya sikha: char storage classes ka difference aur "static" ka jaadu โ€” function calls ke beech value retain karna. Viva me common concept to practise! โญ

Viva point: "static ka real use?" โ†’ function call count karna (jaise "kitni baar call hua"), unique ID generator, aur memory bachana (baar-baar memory allocate nahi karni padti) โ€ข "extern kab?" โ†’ ek file me bani global variable ko doosri file me use karna โ€” large projects me ๐Ÿ’ผ

P10. Call by Value vs Call by Reference ๐Ÿ”„

Aim: Function me argument bhejne ka call by value dikhana aur pointer pass karke caller ke variables par reference-style modification demonstrate karna (syllabus terminology: โ€œcall by referenceโ€). Strictly speaking, C itself passes all arguments by value; a pointer value is copied, then dereferenced to modify the pointed-to object.

Algorithm: Start โ†’ do functions banao: swapValue(x, y) int leta hai, swapRef(*x, *y) pointer leta hai โ†’ main me a = 10, b = 20 le kar dono functions call karo โ†’ har call ke baad main ki values print karke difference dekho โ†’ Stop.

#include <stdio.h>

void swapValue(int x, int y) {         // copies aayi
    int t = x;  x = y;  y = t;
    printf("Andar (value):     x=%d y=%d\n", x, y);
}

void swapRef(int *x, int *y) {         // addresses aaye
    int t = *x;  *x = *y;  *y = t;
    printf("Andar (reference): x=%d y=%d\n", *x, *y);
}

int main() {
    int a = 10, b = 20;

    swapValue(a, b);
    printf("main me (baad value):     a=%d b=%d\n", a, b);   // 10 20 โ€” no change!

    swapRef(&a, &b);
    printf("main me (baad reference): a=%d b=%d\n", a, b);   // 20 10 โ€” changed โœ”
    return 0;
}
OUTPUT:
Andar (value):     x=20 y=10
main me (baad value):     a=10 b=20    โ† original safe!
Andar (reference): x=20 y=10
main me (baad reference): a=20 b=10    โ† original badal gaya โœ”

Concept samjho: Call by value me function ko photocopy milti hai โ€” function andar change kar sakta hai, par original safe rehta hai (main me a = 10, b = 20 waise hi) โ€ข C pointer-based reference-style modification me pointer ki copy function ko milti hai; dereference karke pointed-to original value badal sakte hain (a = 20, b = 10) โ€ข Pointer ke do operators: & = "ka address do" (call ke waqt) aur * = "us address ki value" (function ke andar).

Isme kya sikha: value = photocopy, reference = original ka pata; aur pointer ka practical use โ€” "function se multiple values wapas laana" isi kaam aata hai (jaise min-max ek saath nikalna).

Viva point: "C me default kya hai?" โ†’ C hamesha call by value karta hai; hum pointer bhej kar call by reference ka effect banate hain (C++ me & se true reference hai) โ€ข "Array bhejne par kya hota hai?" โ†’ parameter array notation pointer me adjust hota hai; pointer value by value pass hoti hai, aur pointed elements modify karne se original array badal sakta hai โš ๏ธ

P11. Count Occurrences of Each Alphabet (command line arguments) ๐Ÿ”ค

Aim: Command line se diye gaye text me har alphabet kitni baar aaya โ€” uska count karna (argc/argv ka use).

Algorithm: Start โ†’ command line arguments (argv) lo โ†’ count array (26 zeros) banao โ†’ har argument ke har character ko lowercase karke check: agar 'a'โ€“'z' hai to count[ch โˆ’ 'a']++ โ†’ jo counts > 0 hain unko print karo โ†’ Stop.

#include <stdio.h>
#include <ctype.h>

int main(int argc, char *argv[]) {
    int count[26] = {0};
    int i, j;

    // har argument ke har character ko check karo
    for (i = 1; i < argc; i++) {
        for (j = 0; argv[i][j] != '\0'; j++) {
            char ch = tolower(argv[i][j]);
            if (ch >= 'a' && ch <= 'z')
                count[ch - 'a']++;       // a=0, b=1, c=2... position
        }
    }

    for (i = 0; i < 26; i++)
        if (count[i] > 0)
            printf("%c : %d\n", 'a' + i, count[i]);
    return 0;
}
Command: prog hello bca
Output:
a : 1
b : 1
c : 1
e : 1
h : 1
l : 2
o : 1

Note: Turbo C me "Arguments" alag set karte hain; modern IDE/terminal me
program ke aage likh do: ./a.out hello bca

Concept samjho: argc = arguments ka count (program ka naam bhi ginte hain, isliye loop 1 se shuru), argv = arguments ka array (argv[0] = program ka naam, argv[1], argv[2]โ€ฆ actual words) โ€ข count[26] = {0} se saare counters zero ho gaye โ€ข Sabse badiya trick: count[ch โˆ’ 'a'] โ€” character ko array index me badal diya ('a' โˆ’ 'a' = 0, 'b' โ†’ 1, โ€ฆ 'z' โ†’ 25) โ€” isi ko "hashing ka basic idea" kehte hain! ๐ŸŽฏ โ€ข tolower() se small/capital ka farak khatam kar diya.

Isme kya sikha: argc/argv (command line se input), frequency counting ki technique, aur character โ†’ index wala conversion.

Viva point: "Turbo C me arguments kaise do?" โ†’ Options โ†’ Arguments (ya modern terminal me: ./a.out hello bca) โ€ข "argv ka type kya hai?" โ†’ char *argv[] (strings ka array) โ€ข "Ye counting technique ka real use?" โ†’ word frequency, vote counting, histogram, hashing ๐Ÿ”ค

P12. enum Data Type Illustration ๐Ÿท๏ธ

Aim: enum (enumeration) data type samajhna โ€” named integer constants banana aur unko readable code me use karna.

Algorithm: Start โ†’ enum week {MONโ€ฆSUN} aur enum status {FAIL, PASS = 33, DISTINCTION = 75} banao โ†’ variables me values rakho โ†’ internal integer values print karo โ†’ condition check karo โ†’ Stop.

#include <stdio.h>

enum week { MON, TUE, WED, THU, FRI, SAT, SUN };   // 0,1,2,3,4,5,6
enum status { FAIL, PASS = 33, DISTINCTION = 75 };  // custom values

int main() {
    enum week today = WED;
    enum status result = PASS;

    printf("WED ka internal value = %d\n", today);    // 2
    printf("PASS = %d, DISTINCTION = %d\n", PASS, DISTINCTION);  // 33, 75
    printf("Today is day number %d\n", today + 1);    // 3

    if (result == PASS)
        printf("Student passed โœ”\n");
    return 0;
}
OUTPUT:
WED ka internal value = 2
PASS = 33, DISTINCTION = 75
Today is day number 3
Student passed โœ”

Idea: enum se code readable ban jaata hai โ€” "2" ki jagah "WED" likhna 
samajhna aasan hai ๐Ÿ˜„

Concept samjho: enum = apne naam ke integer constants ki list โ€ข By default values 0 se shuru hote hain (MON = 0, TUE = 1, โ€ฆ SUN = 6) โ€ข Intermediate value de do to uske baad numbering wahin se chalti hai (PASS = 33, DISTINCTION = 75) โ€ข Fayda: code me magic numbers (2, 33, 75) ki jagah naam likhte hain โ€” padhne me aasan, galti kam โ€ข Andar se ye sab int hi hote hain (isliye printf me %d se print hote hain aur arithmetic bhi chalti hai โ€” today + 1 = 3).

Isme kya sikha: enum = named integer constants โ€” code ko readable banata hai (menu, status, days, months ke liye best).

Viva point: "enum aur #define me farak?" โ†’ #define text replace karta hai (type nahi hota), enum ek proper type hai jispar compiler checking karta hai โ€ข "enum se kitna memory?" โ†’ normally int jitna (jaise 4 byte) โ€ข "Real use?" โ†’ status codes (PASS/FAIL), menu options, railway/seat classes, game states ๐Ÿท๏ธ

P13. String Functions (string.h) ๐Ÿ“œ

Aim: string.h library ke main string functions โ€” strlen, strcpy, strcat, strcmp (aur manual reverse) โ€” ka use dikhana.

Algorithm: Start โ†’ do strings lo ("BCA", "Students") โ†’ strlen se length, strcpy se copy, strcat se jod, strcmp se compare โ†’ result print โ†’ ek string ko manual loop se reverse karke print โ†’ Stop.

#include <stdio.h>
#include <string.h>

int main() {
    char a[50] = "BCA";
    char b[50] = "Students";
    char c[50];

    printf("strlen(a)   = %d\n", strlen(a));        // 3

    strcpy(c, a);
    printf("strcpy c    = %s\n", c);                 // BCA

    strcat(a, " ");
    strcat(a, b);
    printf("strcat a    = %s\n", a);                 // BCA Students

    printf("strcmp(BCA,BCA)  = %d\n", strcmp("BCA", "BCA"));    // 0 = equal
    printf("strcmp(BCA,ABC)  = %d\n", strcmp("BCA", "ABC"));    // +ve: BCA bada

    printf("strrev-like reverse: ");
    for (int i = strlen(c) - 1; i >= 0; i--)   // manual reverse
        printf("%c", c[i]);
    printf("\n");

    printf("strupr/lwr: %s | %s\n", strupr(c), strlwr(c));  // Turbo C
    return 0;
}
strlen(a)   = 3
strcpy c    = BCA
strcat a    = BCA Students
strcmp(BCA,BCA)  = 0
strcmp(BCA,ABC)  = 66   (positive โ€” BCA pehle aata hai dictionary me)
strrev-like reverse: ACB

Concept samjho (char-by-char): C me string ek char array hoti hai jiska ant '\0' (null character) par hota hai โ€” string functions isi '\0' ko dhoondh kar kaam karte hain โ€ข strlen(a) = '\0' se pehle ke characters ginta hai ("BCA" โ†’ 3) โ€ข strcpy(dest, src) = src ko dest me copy (dest bada hona chahiye!) โ€ข strcat(a, b) = b ko a ke ant me jodta hai (a me jagah honi chahiye) โ€ข strcmp() ka result number hota hai: 0 = barabar, +ve = pehli string badi, โˆ’ve = chhoti โ€” string nahi! (yahan BCA > ABC aaya to positive 66 mila) โ€ข Reverse ke liye humne \0 ke pehle se peeche loop chalaya.

Isme kya sikha: string.h ke 4 main functions, string ke andar '\0' ka role, aur strcmp ke return value ka concept.

Viva point: "string aur char array me difference?" โ†’ C me alag string type nahi hota; char array + '\0' = string โ€ข "strcmp compare kaise karta hai?" โ†’ character by character ASCII values compare karta hai (isliye capital letters small se chhote maane jaate hain: 'A' = 65, 'a' = 97) โ€ข "gets/puts vs scanf?" โ†’ gets poori line (spaces ke saath) leta hai, scanf %s sirf pehla word โ€” modern code me fgets safest hai โš ๏ธ

P14. Count Characters in a File ๐Ÿ“

Aim: Kisi file ko read karke usme total kitne characters hain โ€” count karna (file handling ka poora cycle).

Algorithm: Start โ†’ filename input lo โ†’ fopen(file, "r") โ†’ agar NULL to error message โ†’ jab tak fgetc(fp) โ‰  EOF: count++ โ†’ fclose โ†’ count print โ†’ Stop.

#include <stdio.h>
#include <stdlib.h>

int main() {
    FILE *fp;
    char filename[50], ch;
    long count = 0;

    printf("Enter file name: ");
    scanf("%s", filename);

    fp = fopen(filename, "r");       // r = read mode
    if (fp == NULL) {
        printf("File open nahi hui! (naam/galat path check karo)");
        return 1;
    }

    while ((ch = fgetc(fp)) != EOF)   // ek-ek character padho
        count++;                      // EOF = End Of File

    fclose(fp);                       // file band karna zaroori!
    printf("Total characters = %ld", count);
    return 0;
}
Enter file name: notes.txt
Total characters = 1240

File handling ke 4 steps yaad rakho: 
fopen โ†’ check (NULL?) โ†’ fgetc/fputc/fprintf in loop โ†’ fclose โœ”

Concept samjho: File handling ke 4 steps hamesha yaad rakho: fopen (open) โ†’ NULL check (file mili ya nahi) โ†’ read/write loop โ†’ fclose (band karna zaroori!) โ€ข FILE *fp ek "handle" hai โ€” file se baat karne ka pointer โ€ข fgetc(fp) file se ek-ek character padhta hai aur aage badhta jaata hai (cursor ki tarah) โ€ข EOF = End Of File โ€” file khatam hone par loop ruk jaata hai โ€ข NULL check ka matlab: file ka naam galat hua to program crash nahi hoga, saaf message dega โœ…

Isme kya sikha: file handling ka poora cycle โ€” fopen/fgetc/fclose, NULL check, EOF concept. Ye C lab ka sabse important "real programming" program hai, aur Project/record me bhi yahi base aata hai.

Viva point: "File ke modes?" โ†’ r (read), w (write โ€” purana data delete!), a (append โ€” ant me jodta hai), r+ (read + write), w+, a+, aur binary ke liye rb/wb โ€ข "fclose na karein to?" โ†’ data buffer se disk par nahi likha jaata (data loss), aur file doosre programs ke liye locked reh sakti hai โš ๏ธ

P15. Structure Student โ€” 10 Students File me ๐Ÿ“

Aim: structure Student (roll_no, name, class, year, total_marks) banakar 10 students ka data input le kar file me save karna (array of structures + fprintf).

Algorithm: Start โ†’ struct Student define karo โ†’ struct Student s[10] โ†’ fopen("students.txt", "w") + NULL check โ†’ loop 10 baar: scanf se data lo, fprintf se file me likho โ†’ fclose โ†’ "save ho gaya" print โ†’ Stop.

#include <stdio.h>

struct Student {                     // apna "data type" banaya
    int roll_no;
    char name[30];
    char class[10];
    int year;
    float total_marks;
};

int main() {
    struct Student s[10];            // 10 students ka array
    FILE *fp;
    int i;

    fp = fopen("students.txt", "w");  // w = write mode
    if (fp == NULL) {
        printf("File nahi khuli!");
        return 1;
    }

    for (i = 0; i < 10; i++) {
        printf("Student %d โ€” Roll, Name, Class, Year, Marks: ", i + 1);
        scanf("%d %s %s %d %f", &s[i].roll_no, s[i].name,
              s[i].class, &s[i].year, &s[i].total_marks);

        fprintf(fp, "%d %s %s %d %.2f\n", s[i].roll_no, s[i].name,
                s[i].class, s[i].year, s[i].total_marks);   // file me likho
    }

    fclose(fp);
    printf("10 students ka data students.txt me save ho gaya โœ”");

    // (Bonus: same file wapas padho โ€” fehif ("students.txt","r") + fscanf)
    return 0;
}
students.txt me aisa dikhega:
1 Ansh BCA 1 445.50
2 Priya BCA 1 462.00
... (10 lines)

Concept samjho: struct = apna custom data type โ€” alag-alag types ke fields (int roll, char name[], float marks) ek saath ek "record" ban jaate hain โ€ข array of structures = records ki table (s[0], s[1], โ€ฆ s[9]) โ€” asli database ki tarah! โ€ข Access ka tarika: dot operator โ€” s[i].roll_no (array ka element + struct ka field) โ€ข fprintf(fp, "...", ...) = file me formatted writing (printf jaisa, bas FILE pointer extra) โ€ข fscanf se file wapas padh sakte hain (record me "read and display" bhi likh do โ€” bonus marks) ๐Ÿ’พ

Isme kya sikha: structure + array of structures + file writing โ€” ye "mini database" ka base hai, aur aage ke C projects (library management, student record) isi pattern par bante hain.

Viva point: "struct aur array me difference?" โ†’ array me same type ke elements, struct me alag-alag types ke fields โ€ข "sizeof(struct)?" โ†’ saare fields ka total (padding ke saath) โ€ข "Name me scanf(\"%s\") ka nuksaan?" โ†’ naam me space nahi aata (jaise "Ansh Kumar" ka sirf "Ansh") โ€” isliye fgets ya gets (par gets unsafe) โ€ข "File already exists to?" โ†’ "w" mode use karte hi file khaali ho jaati hai (dhyaan!) โš ๏ธ

P16. Copy File โ€” Lowercase โ†’ UPPERCASE ๐Ÿ” 

Aim: Ek file ko doosri file me copy karna, saath hi saare small (lowercase) letters ko CAPITAL (uppercase) me badal dena โ€” character-by-character processing.

Algorithm: Start โ†’ src = fopen("input.txt", "r") + NULL check โ†’ dest = fopen("output.txt", "w") โ†’ jab tak fgetc(src) โ‰  EOF: agar 'a'โ€“'z' hai to toupper() โ†’ fputc(ch, dest) โ†’ dono files fclose โ†’ message print โ†’ Stop.

#include <stdio.h>
#include <ctype.h>

int main() {
    FILE *src, *dest;
    char ch;

    src = fopen("input.txt", "r");
    if (src == NULL) {
        printf("Source file nahi mili!");
        return 1;
    }
    dest = fopen("output.txt", "w");

    while ((ch = fgetc(src)) != EOF) {
        if (ch >= 'a' && ch <= 'z')
            ch = toupper(ch);        // small โ†’ CAPITAL
        fputc(ch, dest);             // destination me likho
    }

    fclose(src);
    fclose(dest);
    printf("File copy ho gayi (lowercase โ†’ UPPERCASE) โœ”");
    return 0;
}
input.txt :  "bca first semester" 
output.txt:  "BCA FIRST SEMESTER"

Note: ctype.h ke toupper/tolower hi asli kaam kar rahe hain โ€” 
condition: sirf lowercase letters badlenge, baaki characters (space, ., numbers) same rahenge!

Concept samjho: Ek saath do files โ€” ek read mode me (src), ek write mode me (dest) โ€ข Loop me ek character src se uthao โ†’ transform karo โ†’ dest me likho (bilkul assembly line ki tarah) โ€ข toupper() (ctype.h) sirf lowercase letters ko badalta hai; baaki characters (space, '.', digits) waise hi rahenge โ€” isliye condition lagayi (ch โ‰ฅ 'a' && ch โ‰ค 'z') โ€ข EOF par loop rukta hai aur dono files band ho jaati hain โ€ข Isi logic se "file copy" ka general program banta hai โ€” bas conversion hata do (toupper ki line delete) ๐Ÿ˜„

Isme kya sikha: do files ek saath handle karna (read + write), character-by-character processing, toupper/tolower ka use โ€” "file copy with transformation" ek real utility program hai.

Viva point: "File copy ka command?" โ†’ Linux/mac me cp, Windows me copy โ€” par humne yahan apna program likha (logic clear karne ke liye) โ€ข "Binary file copy me kya badlega?" โ†’ rb/wb modes + fread/fwrite (fgetc/fputc nahi, warna special bytes/garbage handle karna mushkil) โ€ข "tolower/toupper kahan define hain?" โ†’ ctype.h ๐Ÿ”  | "Sirf letters badalne ke liye condition kyun?" โ†’ taki punctuation aur digits na badlein.

VIVA QUESTIONS โ€” dono labs (iskar jawab ready rakho) ๐ŸŽค

Clear explanations and correct terminology are useful in a viva. The questions below are practice prompts for the computer and C labs, followed by record/preparation topics. Answer concisely, but explain further when asked; these notes do not predict the viva questions. โœ…

C Lab (SEC101P) โ€” viva favourite questions

QuestionShort answer (Hinglish)
C kya hai? Kaun banaya?High-level/middle-level structured language, Dennis Ritchie, 1972, Bell Labs
sizeof(int) kitna hai?Turbo C me 2 byte, modern (gcc) me 4 byte โ€” machine dependent
%d aur %f me difference?%d integer ke liye, %f float ke liye (scanf me & zaroori!)
Compiler vs Interpreter?Compiler poora program ek saath (fast execution), interpreter line-by-line (slow but easy debug)
while vs do-while?while = entry controlled (0 baar bhi chal sakta), do-while = exit controlled (kam se kam 1 baar)
break vs continue?break = loop poora chhodo, continue = sirf current round skip karo
Array kya hai? Index kahan se?Same type ka collection, contiguous memory, index 0 se
String me '\0' ka kaam?String ka end batane wala null character (iske bina printf garbage print karega)
strcmp result kya deta hai?0 = barabar, positive/negative = bada/chhota (number, string nahi!)
Call by value vs reference?Value = copy (original safe), reference = address (original badalta hai)
Recursion kya hai? Base case kyun?Function khud ko call kare; base case = rukne ki condition (warna infinite/stack overflow)
Pointer kya hai? * aur &?Address store karne wala variable; & = address of, * = value at that address
static variable ka fayda?Function calls ke beech value retain karta hai (ek hi baar initialize hota hai)
File handling ka sequence?fopen โ†’ NULL check โ†’ read/write โ†’ fclose
Storage classes kaunse hain?auto, static, register, extern (4) โ€” lifetime aur scope alag-alag
auto variable ki default value?Garbage (junk) โ€” isliye use karne se pehle initialize karna chahiye
static variable ki default value?0 (zero) โ€” aur ye ek hi baar initialize hota hai
register variable kya hai?Variable ko CPU register me rakhne ki request โ€” fastest access, par address nahi le sakte
Global variable kahan declare?Saare functions ke bahar (file ke top par) โ€” poori file me accessible
Typecasting kya hai?Ek data type ko doosre me badalna: (float)a / b โ€” warna integer division ho jaata
Integer division ka problem?5/2 = 2 aata hai (decimal kat jaata) โ€” solution: (float)5/2 ya 5.0/2
+\- vs % ka farak?% (modulus) sirf integers par chalta hai aur remainder deta hai โ€” digit nikaalne me use hota hai
Prefix aur postfix ++ me farak?++a = pehle badhao phir use; a++ = pehle use phir badhao
&&, ||, ! kya hain?Logical AND, OR, NOT โ€” multiple conditions jodne ke liye
Ternary operator ka form?condition ? true-value : false-value (C ka ekmatra ternary operator)
switch me range condition kyun nahi?switch sirf equality (==) check karta hai โ€” range ke liye pehle convert karo (jaise 1/0/โˆ’1)
Array parameter ka kya hota hai?Array parameter pointer me adjust hota hai; pointer copy pass hoti hai, pointed elements tak access milta hai
2D array kaise declare?int a[10][10]; โ€” rows ร— columns; element: a[i][j]
Structure kya hai? Dot operator?Alag-alag types ke fields ka group (custom data type); s.roll se field access
Structure aur union me farak?struct ke saare members ki alag memory, union me sab ek hi memory share karte hain (ek time par ek)
File ke modes kaunse?r (read), w (write โ€” data delete), a (append), r+, w+, a+, aur binary rb/wb
EOF kya hai?End Of File โ€” #define EOF (โˆ’1); fgetc jab file khatam ho jaati hai to EOF return karta hai
fprintf aur printf me farak?fprintf file me likhta hai (FILE pointer extra), printf screen par
argc aur argv kya hain?Command line arguments ka count aur array (argv[0] = program ka naam)
enum kya hai?Named integer constants ka set (baahar se int) โ€” readable code ke liye
#define aur const me farak?#define preprocessor text-replace (memory nahi), const ek read-only variable
Header file kya karti hai?Functions ki declaration (prototype) laati hai โ€” jaise stdio.h me printf/scanf, math.h me sqrt/pow
main() ka return type?int โ€” 0 = successful execution (OS ko status batata hai)
Syntax error vs logical error?Syntax = compiler pakad leta hai (semicolon etc.); logical = program chalta hai par answer galat
Debugging kaise karte ho?Print statements (beech me values print karo), dry run (haath se trace), debugger (F7 step) ๐Ÿ”

Computer Lab (BCA101P) โ€” viva favourite questions

QuestionShort answer
Mail merge kya hai?Ek letter template + data list se kai personalized letters ek saath banana
Mail merge ke 3 parts?Main document, data source (recipient list), merged document
Superscript vs subscript?Superscript upar (xยฒ, Ctrl+Shift++), subscript neeche (Hโ‚‚O, Ctrl+=)
Excel me $B$2 ka matlab?Absolute reference โ€” formula copy karne pe bhi cell fix rehta hai
Chart ke types aur use?Bar = comparison, Line = trend, Pie = hissa, XY = relation
Column aur Bar chart me farak?Column = khade bars, Bar = lete (horizontal) bars โ€” lambe labels ke liye Bar better
Hardware vs software? Input/output devices?Chhu sakte ho vs program; keyboard input, printer/monitor output (Unit 2 ke notes!)
Number system conversion?Decimalโ†’Binary = 2 se divide, remainders ulta; Binaryโ†’Octal = 3-3 bits ke group
Flowchart symbols?Oval = start/stop, Parallelogram = I/O, Rectangle = process, Diamond = decision
Algorithm aur flowchart me farak?Algorithm = steps shabdon me; flowchart = wahi steps symbols/diagram me
Word me page border kahan se?Design โ†’ Page Borders (ya Layout โ†’ Page Setup โ†’ Borders)
Table me cell merge kaise?Cells select karo โ†’ right-click โ†’ Merge Cells (Table Layout โ†’ Merge Cells)
PDF ka poora naam?Portable Document Format (Adobe, 1993) โ€” formatting har device par same rehti hai
Word โ†’ PDF kaise?File โ†’ Save As โ†’ file type PDF (ya File โ†’ Export)
Excel me formula kaise shuru hota hai?= (equal sign) se โ€” jaise =SUM(B2:D2)
SUM aur AVERAGE me farak?SUM total deta hai, AVERAGE total/count (average) deta hai
COUNT aur COUNTA me farak?COUNT sirf numbers ginta hai, COUNTA bhare hue saare cells (text bhi)
IF function ka use?Condition ke sach/jhoot ke hisaab se do me se ek value deta hai โ€” =IF(marks>=33,"Pass","Fail")
Nested IF kya hai?IF ke andar IF โ€” jaise 90+ = A, 75+ = B, 60+ = C wala grade formula
Fill handle ka fayda?Formula/value ko drag karke neeche copy karta hai (cell reference auto adjust hota hai)
#DIV/0! error kyun aata hai?Zero se divide karne par โ€” IF se check lagao ya divisor correct karo
#VALUE! error kyun?Text ko number ki tarah use kiya (cell me space/โ‚น/letters hain)
Conditional Formatting kya hai?Condition ke hisaab se cell ka colour/format badalna (Fail wale red) ๐ŸŽจ
Sort aur Filter me farak?Sort = data ko order me lagata hai; Filter = sirf zaroori rows dikhata hai (baaki chhupa)
Pivot table kab use karte ho?Bade data ka summary (group by + total) โ€” jaise class-wise average marks
Freeze panes kyun?Scroll karte waqt heading row/column screen par fixed rakhne ke liye (View โ†’ Freeze Panes)
VLOOKUP kya karta hai?Table ki pehli column me value dhoondh kar uske saamne wali column ki value laata hai

Program-wise viva (jo programs me use hua โ€” seedha jawab)

Program / conceptViva me kya poochha jaata hai
Largest of three (P1)Nested if-else vs && wali condition; ternary ka form; equal numbers par โ‰ฅ kyun zaroori
Reverse / Palindrome (P2)% 10 aur / 10 ka role; rev = rev*10 + r kyun; palindrome ke liye original save kyun
Prime numbers (P3)Flag variable ka kaam; break kyun; i/2 ya j*j <= i tak loop kyun kaafi hai
Quadratic with switch (P4)switch sirf equality par; d ko 1/0/โˆ’1 me convert kyun; break na ho to fall-through
Star patterns (P5)Outer/inner loop ka role; pyramid me spaces (nโˆ’i) aur stars (2iโˆ’1) ka formula
Largest/smallest (P6)"Champion" technique; array chahiye ya nahi; second largest nikaalne ka logic
Matrix product (P7)c1 = r2 validation kyun; teen loops ka kaam; result ka size (r1 ร— c2)
GCD (P8)Euclid's algorithm; recursion me base case; iteration vs recursion ka farak
Storage classes (P9)auto/static/register/extern; static ki value retain kyun hoti hai; default values
Value vs reference (P10)Pointer-by-value vs pointed-object modification; & aur *; array parameter adjustment
Frequency count (P11)argc/argv; count[ch โˆ’ 'a'] ka trick; tolower kyun lagaya
enum (P12)Default values 0 se; custom value (PASS = 33) kya karti hai; enum vs #define
String functions (P13)'\0' ka role; strcmp ka return number; strcpy destination bada kyun hona chahiye
File character count (P14)File handling ke 4 steps; NULL check; EOF; fclose kyun zaroori
Struct + file (P15)struct vs array; array of structures; fprintf vs printf; "w" mode ka khatra
File copy uppercase (P16)Do files ek saath; toupper ka role; condition kyun; binary copy me kya badlega

Practical exam ke rules / lab file wale questions

QuestionJawab
Practical exam me kya-kya hota hai?Usually: (1) ek program likh kar run karna (2) output dikhana (3) viva (4) lab file/record check
Program kaise likhna โ€” pehle algorithm ya code?Pehle algorithm/steps likho (2โ€“4 lines), phir code โ€” examiner isi order par marks deta hai
Output galat aa raha ho to?Ghabrao mat โ€” dry run karo, printf se beech ki values check karo, input format (spaces/enter) verify karo
Record file me kya zaroori hai?Aim, algorithm, code (neat), output (printout/screenshot), result โ€” aur date + index
Copy-paste kar sakte hain?Lab file haath se likhna best hai (yaad rehta hai); exam me sirf apne code par bharosa karo โ€” "samajh" ke likho
Kya dekh kar bata sakte hain ki code chalega?Dry run: chhote input (2โ€“3 value) lekar haath se trace karo โ€” logic ka pata turant chal jaata hai โœ…
Viva tip: Viva me "ghabrana mat, jo aata hai confidently bolo, jo nahi aata โ€” 'Sir, maine ye padha tha par abhi recall nahi ho pa raha' kehna 100% better hai than galat jawab. ๐Ÿ˜„ Aur practical me CHALTE hue program dikhao (compile + run) โ€” half exam wahi hai!

โšก Labs โ€” Final Checklist (exam se pehle)

โž• EXTRA โ€” Lab File (Record) ka Complete Format + Marks Checklist ๐Ÿ—‚๏ธ

Lab file/record kya hoti hai? Ek register/file jisme aap har practical ka poora kaam likhte ho โ€” Aim, algorithm, code, output aur result. A lab record can support internal assessment and viva preparation, but the exact evaluation depends on the university rubric. Keep it neat, complete and aligned with the instructorโ€™s instructions. โœ…
Page ka partKya likhna haiMarks tip
1. IndexPractical number, naam, date โ€” ek tableDate zaroor likho (examiner check karta hai)
2. AimEk line: "To write a C program toโ€ฆ" / "To create a document in MS Word toโ€ฆ"Ek line me, clear verbs ke saath
3. RequirementsSoftware: MS Word / MS Excel / Turbo C / gcc; Hardware: computer, printerAgar poochho to likh do (2-3 line)
4. Algorithm / ProcedureC ke liye: steps (1,2,3โ€ฆ); Word/Excel ke liye: menu-wise steps ("Insert โ†’ Table โ†’ โ€ฆ")Give enough detail for another person to reproduce the procedure; follow the official rubric
5. Program / StepsCode (neat, indented) ya Word/Excel ke steps + screenshotCode me comment (// kya kar raha hai) likho
6. OutputProgram ka output (printout/screenshot) โ€” 2 sample inputs ke saath
Word/Excel me bane document ka print/screenshot
Output ke saath input bhi likho ("Input: 5 โ†’ Output: 120")
7. Result / ConclusionEk line: "Hence, the program successfully calculated the factorial and gave the correct output." / "The advertisement was created successfully using formatting features."Har practical me likho โ€” examinee ne kaam samjha hai, ye isse pata chalta hai
8. SignatureTeacher ka checked sign (practical ke din hi karwao)Bina sign wali file par sawaal uthta hai ๐Ÿ–Š๏ธ
Marks ka asli breakup (practical internal ~40 marks): File/record ~10 โ€ข Program likhna + run karna ~15โ€“20 โ€ข Output ~5 โ€ข Viva ~10. Iska matlab: file aur output ke easy marks kabhi mat chhodo โ€” code me atak jaane se better hai ki file perfect rakho aur program viva me confidently explain karo. ๐Ÿ˜„

Print/submission checklist (submit karne se pehle apne aap se poochho)

โž• EXTRA โ€” Practical Exam: Sample Paper + Attempt Strategy ๐ŸŽฏ

Suggested practical rehearsal (not an official exam pattern): (1) Program/Exercise likho aur run karo โ€” 1โ€“2 tasks (jaise ek C program + ek Word/Excel task ya dono lab ke ek-ek) (2) Output dikhao (3) Viva (4) File check. Use a timer only if it helps your practice; the attached syllabus does not specify practical-exam duration. Sample tasks below are practice material, not an official format. ๐Ÿ–ฅ๏ธ

Sample Set A โ€” SEC101P (C Lab)

TaskKya likhna/karana haiKaise approach karo
Task 1 (mandatory)"Write a C program to print all prime numbers between 2 and n, where n is entered by the user."Algorithm likho (2โ€“3 lines) โ†’ code (P3 wala) โ†’ 2 outputs (n = 20, n = 30) โ†’ result line. Flag + break ka logic viva me bolo โœ…
Task 2 (choose)"Write a program to reverse a number and check whether it is palindrome." ya "Find GCD of two numbers using recursion."P2 ya P8 wala code. Palindrome ke liye baseline: original save karo, rev nikaalo, compare karo.
Task 3 (file/data)"Create a file students.txt with 5 students' data and display it." / "Count characters in a file."P15 / P14 wala code โ€” file handling ke 4 steps likho: fopen โ†’ NULL check โ†’ loop โ†’ fclose.
Viva"Ye program kaise kaam kar raha hai?" "Kaunse header file use kiye?" "Loop kyun lagaya?"2 line me: concept + logic + output. Header files aur variables ka naam bata do.

Sample Set B โ€” BCA101P (Word/Excel Lab)

TaskKya banana haiKaise approach karo
Task 1 (Word)Mail merge letter (5 recipients: Name, City, Amount) โ€” ya CV + advertisementSteps likho: template โ†’ Select Recipients โ†’ Insert Merge Field โ†’ Preview โ†’ Finish & Merge; screenshot chhapo
Task 2 (Word)Timetable (table + merge cells) ya scientific notations (xยฒ, Hโ‚‚O, ฯ€)Table Insert โ†’ Merge Cells โ†’ Shading; superscript Ctrl+Shift++ / subscript Ctrl+= likh do
Task 3 (Excel)Marksheet: Total (SUM), Percentage (ROUND), Grade (nested IF), Result (IF), Bar chart + Conditional FormattingPehle headers + data, phir formulas (ek-ek), phir chart; fill handle se formulas neeche copy karo
Viva"$B$2 kya hai?" "Chart types?" "Mail merge ke parts?" "COUNT vs COUNTA?"Table-seekha hua jawab โ€” 1 line me
Attempt strategy (2 ghante ka plan): (0โ€“10 min) Paper padho, apna strong task chuno โ€ข (10โ€“40 min) Pehla task: algorithm + code likho, compile karo โ€ข (40โ€“60 min) Output verify + 2 sample inputs โ€ข (60โ€“95 min) Doosra task (Word/Excel ya doosra program) โ€ข (95โ€“115 min) Screenshots/output file me lagao + result likho โ€ข (115โ€“120 min) Viva ke liye 2-3 favourite topics dohrao. Golden rule: jo task aata hai wo pehle karo โ€” time bachta hai aur confidence badhta hai ๐Ÿ’ช

โž• EXTRA โ€” 70 Rapid-Fire One-Liners (last-mile revision) โšก

WORD (BCA101P)
1.  Ctrl + N = new document, Ctrl + S = save, Ctrl + P = print
2.  Ctrl + B / I / U = bold / italic / underline
3.  Ctrl + E = centre align (L left, R right, J justify)
4.  Superscript = Ctrl + Shift + + (xยฒ) ; Subscript = Ctrl + = (Hโ‚‚O)
5.  Insert โ†’ Table = table banana; Merge Cells = cells jodna
6.  Table Design โ†’ Shading = header row ka colour
7.  Insert โ†’ Shapes = flowchart ke symbols (oval, rectangle, diamondโ€ฆ)
8.  Ctrl + G = shapes ko group karna (ek unit)
9.  Mailings โ†’ Start Mail Merge โ†’ Letters = mail merge shuru
10. Insert Merge Field = ยซNameยป jaise placeholders daalna
11. Data source = recipient list (Name, City, Amountโ€ฆ)
12. Mail merge ke 3 parts = main document + data source + merged doc
13. File โ†’ Save As โ†’ PDF = document PDF me convert
14. Design โ†’ Page Borders = page ke chaaron taraf border
15. Insert โ†’ Symbol = ฯ€, ฮฑ, ยฐ, โ‰ฅ, โˆš jaise symbols
16. Insert โ†’ Equation (Alt + =) = E = mcยฒ, fraction, root
17. Insert โ†’ Pictures + Text Wrapping = image ke aas-paas text
18. WordArt = title ko fancy banane ke liye
19. Review โ†’ Spelling & Grammar (F7) = spell check
20. Print Preview (Ctrl + P) = print se pehle layout check

EXCEL (BCA101P)
21. Har formula = se shuru hota hai (=SUM(B2:D2))
22. =SUM(range) total, =AVERAGE(range) average
23. =MAX / =MIN = sabse bada / chhota
24. =COUNT sirf numbers ginta hai, =COUNTA bhare cells
25. =IF(condition,"Pass","Fail") = condition wala result
26. Nested IF = grade system (90+ A, 75+ B, 60+ C, 33+ D)
27. Absolute reference = $B$2 (F4 se lagta hai), copy karne par fixed
28. Fill handle = cell ka corner square โ†’ drag = formula copy
29. Percentage = marks/total*100 (aur =ROUND(value,2) se 2 decimal)
30. Conditional Formatting = condition par colour (Fail = red)
31. Insert โ†’ Charts = Column/Bar (comparison), Line (trend),
    Pie (hissa), XY Scatter (relation)
32. Move Chart โ†’ New Sheet = chart alag sheet par
33. Data โ†’ Sort = order laga, Filter = chhupa kar sirf zaroori dikhao
34. Freeze Panes (View) = scroll me heading fixed
35. #DIV/0! = zero se divide; #VALUE! = text ko number samjha
36. #NAME? = function ka naam galat; ##### = column chhota
37. Pivot Table = bade data ka summary (group + total)
38. VLOOKUP = pehli column me dhoondh kar saamne wali value
39. Data Validation = cell me dropdown list banana
40. Print Titles + Print Area = printout me heading har page par

C โ€” BASICS (SEC101P)
41. #include <stdio.h> = printf/scanf ke liye; math.h = sqrt/pow
42. main() = program ka entry point; return 0 = success
43. printf("...") = screen par output; scanf("...", &var) = input
44. %d int, %f float, %c char, %s string, %lf double
45. & = address of (scanf me must); * = value at address (pointer)
46. sizeof(int) = 2 byte (Turbo C) / 4 byte (gcc) โ€” machine dependent
47. Integer division: 5/2 = 2 โ†’ (float)5/2 = 2.5
48. % (modulus) = remainder โ€” sirf integers par
49. ++i = pehle badhao phir use; i++ = pehle use phir badhao
50. if-else, else-if ladder, switch (sirf equality), default, break
51. while = entry controlled; do-while = exit controlled (kam se kam 1 baar)
52. for = initialization; condition; update โ€” sab ek line me
53. break = loop chhodo; continue = current round skip karo
54. Nested loop = rows ร— columns (patterns, matrix)
55. Array: int a[10]; index 0 se 9 tak; a[0] = pehla element
56. 2D array: int a[3][4]; element a[i][j]
57. String = char array + '\0' (null character end par)
58. strlen = length, strcpy = copy, strcat = jod, strcmp = compare (0 = equal)
59. toupper/tolower (ctype.h) = case badalna
60. Function: return_type name(parameters){ body } โ€” prototype pehle likho
61. C: all arguments passed by value; a pointer-value parameter can be dereferenced to modify the pointed-to object
62. Recursion = function khud ko call kare + base case (warna stack overflow)
63. static variable = value retain (ek hi baar initialize)
64. auto = har call pe naya (default garbage); register = CPU register
65. enum = named integer constants (0 se shuru, custom value de sakte ho)
66. struct = alag types ke fields ka group; access s.roll ya p->roll
67. File: fopen โ†’ NULL check โ†’ fgetc/fprintf loop โ†’ fclose
68. File modes: r read, w write (data delete!), a append, rb/wb binary
69. EOF = End Of File (โˆ’1) โ€” fgetc file khatam hone par deta hai
70. argc/argv = command line arguments (argv[0] = program ka naam)

BONUS โ€” 4 lines jo har exam me kaam aayengi:
  โ€ข "Algorithm pehle, code baad me" โ€” examiner isi order par marks deta hai
  โ€ข "Output ke saath input likho" โ€” warna print samajh nahi aata
  โ€ข "Result line likho" โ€” practical poora lage (Hence, the program โ€ฆ)
  โ€ข "Jo aata hai, confidently bolo โ€” viva me ghabrana sabse bada minus hai" ๐ŸŽค