Binary file operations with pickle PYQ part 1 — Lecture 33
CBSE | XII CS | Computational Thinking and Programming – 2 | 35 min
You are an expert CBSE XII CS Computer Science teacher, examiner, and study material creator. =========================================== SCOPE — READ BEFORE GENERATING ANYTHING =========================================== Today's lecture covers ONE topic only: "Binary file operations with pickle" Lecture number 33 of 91 | Duration: 35 minutes | Board: CBSE Chapter: Computational Thinking and Programming – 2 HARD RULE: Every piece of content you generate — notes, examples, questions, tips — must be directly relevant to "Binary file operations with pickle" only. DO NOT pull content, examples, or questions from any other topic or chapter. LECTURE MODE: SUBTOPIC PYQ PRACTICE - Scope: "Binary file operations with pickle" only. - Do not reteach the topic from scratch. Use a short recap only when a PYQ needs it. - Main output must be previous-year-question practice: question analysis, marking points, model answers, common mistakes, and timed strategy. - Use the 8 real PYQ record(s) provided below as the source of truth. Do not fabricate board years, marks, or questions. =========================================== SECTION 1: LECTURE INFORMATION =========================================== Class: XII CS | Subject: Computer Science | Board: CBSE Topic: Binary file operations with pickle PYQ part 1 Subtopics to cover today: - Binary file operations with pickle Student level: Class XII, CBSE Board, average to above-average students preparing for board exams =========================================== SECTION 2: TEACHER'S REFERENCE NOTES =========================================== Binary file operations with pickle PYQ part 1 PYQ PRACTICE SCOPE: Binary file operations with pickle. Concept ID: U1_BINARY_PICKLE_OPS. Use only previous-year questions whose concept_ids include U1_BINARY_PICKLE_OPS. Teaching ideas: Timed PYQ round, board solution, peer marking, and correction of recurring examiner traps. =========================================== SECTION 3: EXAM FREQUENCY DATA (Year-wise) =========================================== Teaching priority: HIGH High-yield concepts: Binary file operations with pickle | Year | Questions | Marks | |------|-----------|-------| | 2021 | 4 | 4 | | 2022 | 1 | 4 | | 2023 | 3 | 12 | | **Total** | **8** | **20** | =========================================== SECTION 4: ACTUAL PREVIOUS YEAR QUESTIONS (Scope: "Binary file operations with pickle" only — 8 questions from board papers) =========================================== PYQ LECTURE RULE: use these questions as the source pool for practice. - This pool has 8 questions: preserve and discuss ALL 8 actual PYQs in Section 7. - Do not compress, replace, paraphrase, or skip any actual PYQ. - Do not create substitute or newly framed questions for this small pool. - Do not fabricate board years, marks, sections, or questions. --- 2021 Board Exam (4 questions | 4 marks) --- Q1. [MCQ] [1M] [Easy] Section-A Which of the following statement is incorrect in the context of binary files? a) Information is stored in the same format in which the information is held in memory. b) No character translation takes place. c) Every line ends with a new line character. d) pickle module is used for reading and writing. Q2. [MCQ] [1M] [Easy] Section-A Which of the following statement is true? a) pickling creates an object from a sequence of bytes b) pickling is used for object serialization c) pickling is used for object deserialization d) pickling is used to manage all types of files in Python Q3. [MCQ] [1M] [Easy] Section-B Raghav is trying to write a tuple tup1 = (1,2,3,4,5) on a binary file test.bin. Consider the following code written by him. import pickle tup1 = (1,2,3,4,5) myfile = open("test.bin",'wb') pickle._______ #Statement 1 myfile.close() Identify the missing code in Statement 1. a) dump(myfile,tup1) b) dump(tup1, myfile) c) write(tup1,myfile) d) load(myfile,tup1) Q4. [MCQ] [1M] [Easy] Section-B A binary file employee.dat has the following data: | Empno | Empname | Salary | |-------|---------------|--------| | 101 | Anuj | 50000 | | 102 | Arijita | 40000 | | 103 | Hanika | 30000 | | 104 | Firoz | 60000 | | 105 | Vijaylakshmi | 40000 | def display(eno): f=open("employee.dat","rb") totSum=0 try: while True: R=pickle.load(f) if R[0]==eno: __________ #Line1 totSum=totSum+R[2] except: f.close() print(totSum) When the above mentioned function display(103) is executed, the output displayed is 190000. Write appropriate jump statement from the following to obtain the above output. a) jump b) break c) continue d) return --- 2022 Board Exam (1 question | 4 marks) --- Q1. [Programming] [4M] [Medium] Section-E Aman is a Python programmer. He has written a code and created a binary file record.dat with employeeid, ename and salary. The file contains 10 records. He now has to update a record based on the employee id entered by the user and update the salary. The updated record is then to be written in the file temp.dat. The records which are not to be updated also have to be written to the file temp.dat. If the employee id is not found, an appropriate message should be displayed. import _______ #Statement 1 def update_data(): rec={} fin=open("record.dat","rb") fout=open("_____________") #Statement 2 found=False eid=int(input("Enter employee id to update their salary :: ")) while True: try: rec=______________ #Statement 3 if rec["Employee id"]==eid: found=True rec["Salary"]=int(input("Enter new salary :: ")) pickle.____________ #Statement 4 else: pickle.dump(rec,fout) except: break if found==True: print("The salary of employee id ",eid," has been updated.") else: print("No employee with such id is not found") fin.close() fout.close() (i) Which module should be imported in the program? (Statement 1) (ii) Write the correct statement required to open a temporary file named temp.dat. (Statement 2) (iii) Which statement should Aman fill in Statement 3 to read the data from the binary file, record.dat and in Statement 4 to write the updated data in the file, temp.dat? --- 2023 Board Exam (3 questions | 12 marks) --- Q1. [Programming] [4M] [Medium] Section-E Shreyas is a programmer, who has recently been given a task to write a user defined function named write_bin() to create a binary file called Cust_file.dat containing customer information — customer number (c_no), name (c_name), quantity (qty), price (price) and amount (amt) of each customer. The function accepts customer number, name, quantity and price. Thereafter, it displays the message 'Quantity less than 10..... Cannot SAVE', if quantity entered is less than 10. Otherwise the function calculates amount as price * quantity and then writes the record in the form of a list into the binary file. import pickle def write_bin(): bin_file= ______ #Statement 1 while True: c_no=int(input("enter customer number")) c_name=input("enter customer name") qty=int(input("enter qty")) price=int(input("enter price")) if ______: #Statement 2 print ("Quantity less than 10..Cannot SAVE") else: amt=price * qty c_detail=[c_no, c_name, qty, price, amt] ______ #Statement 3 ans=input("Do you wish to enter more records y/n") if ans.lower()=='n': ______ #Statement 4 ______ #Statement 5 ______ #Statement 6 (i) Write the correct statement to open a file 'Cust_file.dat' for writing the data of the customer. (ii) Which statement should Shreyas fill in Statement 2 to check whether quantity is less than 10. (iii) Which statement should Shreyas fill in Statement 3 to write data to the binary file and in Statement 4 to stop further processing if the user does not wish to enter more records. Q2. [Programming] [4M] [Medium] Section-E Shreyas is a programmer, who has recently been given a task to write a user defined function named write_bin() to create a binary file called Cust_file.dat containing customer information — customer number (c_no), name (c_name), quantity (qty), price (price) and amount (amt) of each customer. The function accepts customer number, name, quantity and price. Thereafter, it displays the message 'Quantity less than 10..... Cannot SAVE', if quantity entered is less than 10. Otherwise the function calculates amount as price * quantity and then writes the record in the form of a list into the binary file. import pickle def write_bin(): bin_file= ______ #Statement 1 while True: c_no=int(input("enter customer number")) c_name=input("enter customer name") qty=int(input("enter qty")) price=int(input("enter price")) if ______: #Statement 2 print ("Quantity less than 10..Cannot SAVE") else: amt=price * qty c_detail=[c_no, c_name, qty, price, amt] ______ #Statement 3 ans=input("Do you wish to enter more records y/n") if ans.lower()=='n': ______ #Statement 4 ______ #Statement 5 ______ #Statement 6 (i) Write the correct statement to open a file 'Cust_file.dat' for writing the data of the customer. (ii) Which statement should Shreyas fill in Statement 2 to check whether quantity is less than 10. (Option for part (iii) only) (iii) What should Shreyas fill in Statement 5 to close the binary file named Cust_file.dat and in Statement 6 to call a function to write data in binary file ? Q3. [Programming] [4M] [Medium] Section-E Atharva is a programmer, who has recently been given a task to write a Python code to perform the following binary file operation with the help of a user defined function/module : - Copy_new() : to create a binary file new_items.dat and write all the item details stored in the binary file, items.dat, except for the item whose item_id is 101. The data is stored in the following format : {item_id:[item_name,amount]} import ______ # Statement 1 def Copy_new(): f1= ______ # Statement 2 f2= ______ # Statement 3 item_id=int(input("Enter the item id")) item_detail= ______ # Statement 4 for key in item_detail: if ______: # Statement 5 pickle. ______ # Statement 6 f1.close() f2.close() He has succeeded in writing partial code and has missed out certain statements. Therefore, as a Python expert, help him to complete the code based on the given requirements : (i) Which module should be imported in the program ? (Statement 1) (ii) Write the correct statement required to open the binary file "items.dat". (Statement 2) (iii) Which statement should Atharva fill in Statement 3 to open the binary file "new_items.dat" and in Statement 4 to read all the details from the binary file "items.dat". =========================================== =========================================== QUESTION PATTERN BANK (What the board actually asks for THIS topic) =========================================== Scope: ONLY questions for today's lecture topic are listed below. DO NOT import questions from other topics or chapters. These are concept-pattern summaries (what TYPE the board asks), not copies of the actual questions — never reproduce full question text here. ### Concept: Binary file operations with pickle Pattern: MCQ=4, Programming=4 | Marks: 1M=4, 4M=4 | Total: 8 questions [MCQ] [1M] [Easy] × 3 → Core concept of Binary file operations with pickle [MCQ] [1M] [Easy] → Output tracing of an exception-handling snippet [Programming] [4M] [Medium] × 4 → Core concept of Binary file operations with pickle =========================================== =========================================== IMPORTANCE ANALYSIS (allocate teaching time by this ranking) =========================================== | Rank | Concept | Score | Times Tested | Total Marks | Recent Years | Priority | |------|---------|-------|-------------|-------------|--------------|----------| | 1 | Binary file operations with pickle | 50 | 8 | 20M | 2023, 2022, 2021 | CRITICAL | CRITICAL concepts → full sub-section + comparison table + 2 worked examples HIGH concepts → 1 sub-section + 1 worked example MEDIUM concepts → definition + 1 quick example only =========================================== EXAMINER FINGERPRINT — TRAPS TO COVER INTERNALLY =========================================== Use the exam-frequency input and actual previous-year questions to identify traps, marking points, and common mistakes. In this PYQ Practice lecture, actual PYQs may be printed in Section 7 only. Do not print them randomly in concept notes, homework, or unrelated sections. For this lecture, the generated teaching material must strongly cover these traps: No static trap list exists yet for "Binary file operations with pickle". Self-generate 4–7 traps from: - actual question patterns for Binary file operations with pickle - common wrong assumptions students make about this concept - output-tracing traps - syntax-vs-runtime traps - comparison traps - order/sequence traps Important: this list should be treated as dynamic — for lectures with no static trap list, generate traps yourself from the categories above rather than leaving this section thin. =========================================== YOUR TASK — Generate a complete classroom-ready teaching package =========================================== Output format: FULL HTML (print-ready, A4, same format as CBSE study material). Use the CSS classes below. NO plain Markdown — use HTML elements only. HTML STRUCTURE TO GENERATE:
CBSE | XII CS | Computational Thinking and Programming – 2 | 35 min