Sáng kiến kinh nghiệm Xây dựng và giải các bài tập thực tế về “Cấu trúc rẽ nhánh” Tin học 11

Thường ngày, có rất nhiều việc chỉ được thực hiện khi một điều kiện cụ thể nào đó được thỏa mãn.
Ví dụ, Châu và Ngọc thường cùng nhau chuẩn bị các bài thực hành môn Tin học.
Một lần Châu hẹn với Ngọc: "Chiều mai nếu trời không mưa thì Châu sẽ đến nhà Ngọc".
Một lần khác, Ngọc nói với Châu: "Chiều mai nếu trời không mưa thì Ngọc sẽ đến nhà Châu, nếu mưa thì sẽ gọi điện cho Châu để trao đổi".
Câu nói của Châu cho ta biết một việc làm cụ thể (Châu đến nhà Ngọc) sẽ được thực hiện nếu một điều kiện cụ thể (trời không mưa) thoả mãn. Ngoài ra không đề cập đến việc gì sẽ xảy ra nếu điều kiện đó không thoả mãn (trời mưa). Cách diễn đạt như vậy ta nói thuộc dạng mệnh đề thiếu: Nếu... thì…
Câu nói của Ngọc khẳng định một trong hai việc cụ thể (Ngọc đến nhà Châu hay Ngọc gọi điện cho Châu) chắc chắn sẽ xảy ra. Tuy nhiên, việc nào trong hai việc sẽ được thực hiện thì tuỳ thuộc vào điều kiện cụ thể (trời không mưa) thoả mãn hay không. Cách diễn đạt như vậy ta nói thuộc dạng mệnh đề đủ: Nếu… thì…, nếu không thì…
Từ đó có thể thấy, trong nhiều thuật toán, các thao tác tiếp theo sẽ phụ thuộc vào kết quả nhận được từ các bước trước đó.
Cấu trúc dùng để mô tả các mệnh đề có dạng như trên được gọi là cấu trúc rẽ nhánh.
MỤC LỤC Nội dung Trang 1. Lời giới thiệu.....................................................................................................2 2. Tên sáng kiến.....................................................................................................3 3. Tác giả sáng kiến...............................................................................................3 4. Chủ đầu tư tạo ra sáng kiến ...............................................................................3 5. Lĩnh vực áp dụng sáng kiến ..............................................................................3 6. Ngày sáng kiến được áp dụng lần đầu...............................................................3 7. Mô tả bản chất của sáng kiến ............................................................................3 7.1. Lý thuyết về cấu trúc rẽ nhánh.................................................................3 7.1.1. Rẽ nhánh..............................................................................................3 7.1.2. Câu lệnh If - then.................................................................................4 7.1.3. Câu lệnh ghép......................................................................................4 7.2. Xây dựng và giải các bài tập thực tế về cấu trúc rẽ nhánh......................5 7.2.1. Các bài tập có thể áp dụng cho dạy học tin học đại trà .......................5 7.2.2. Các bài tập có thể áp dụng cho bồi dưỡng học sinh giỏi...................14 7.3. Kết quả khi ứng dụng các bài tập thực tế đã xây dựng trong quá trình dạy học và bồi dưỡng học sinh giỏi tin học. ........................................................22 8. Những thông tin cần được bảo mật .................................................................24 9. Các điều kiện cần thiết để áp dụng sáng kiến..................................................24 10. Đánh giá lợi ích thu được..............................................................................25 11. Danh sách những tổ chức/cá nhân đã tham gia áp dụng thử hoặc áp dụng sáng kiến lần đầu .........................................................................................................25 2. Tên sáng kiến “Xây dựng và giải các bài tập thực tế về “Cấu trúc rẽ nhánh” tin học 11”. 3. Tác giả sáng kiến - Họ và tên: Nguyễn Thị Mơ - Địa chỉ tác giả sáng kiến: trường THPT Nguyễn Thái Học - Số điện thoại: 0396.88.99.56 E_mail: nguyenthimo86@gmail.com 4. Chủ đầu tư tạo ra sáng kiến: Nguyễn Thị Mơ 5. Lĩnh vực áp dụng sáng kiến: Dạy và học tin học 11 đại trà, bồi dưỡng học sinh giỏi Tin THPT. 6. Ngày sáng kiến được áp dụng lần đầu: tháng 9 năm 2019 7. Mô tả bản chất của sáng kiến 7.1. Lý thuyết về cấu trúc rẽ nhánh (Theo chương trình sách giáo khoa Tin học 11 hiện hành) 7.1.1. Rẽ nhánh Thường ngày, có rất nhiều việc chỉ được thực hiện khi một điều kiện cụ thể nào đó được thỏa mãn. Ví dụ, Châu và Ngọc thường cùng nhau chuẩn bị các bài thực hành môn Tin học. Một lần Châu hẹn với Ngọc: "Chiều mai nếu trời không mưa thì Châu sẽ đến nhà Ngọc". Một lần khác, Ngọc nói với Châu: "Chiều mai nếu trời không mưa thì Ngọc sẽ đến nhà Châu, nếu mưa thì sẽ gọi điện cho Châu để trao đổi". Câu nói của Châu cho ta biết một việc làm cụ thể (Châu đến nhà Ngọc) sẽ được thực hiện nếu một điều kiện cụ thể (trời không mưa) thoả mãn. Ngoài ra không đề cập đến việc gì sẽ xảy ra nếu điều kiện đó không thoả mãn (trời mưa). Cách diễn đạt như vậy ta nói thuộc dạng mệnh đề thiếu: Nếu... thì Câu nói của Ngọc khẳng định một trong hai việc cụ thể (Ngọc đến nhà Châu hay Ngọc gọi điện cho Châu) chắc chắn sẽ xảy ra. Tuy nhiên, việc nào trong hai việc sẽ được thực hiện thì tuỳ thuộc vào điều kiện cụ thể (trời không mưa) thoả mãn hay không. Cách diễn đạt như vậy ta nói thuộc dạng mệnh đề đủ: Nếu thì, nếu không thì Từ đó có thể thấy, trong nhiều thuật toán, các thao tác tiếp theo sẽ phụ thuộc vào kết quả nhận được từ các bước trước đó. Cấu trúc dùng để mô tả các mệnh đề có dạng như trên được gọi là cấu trúc rẽ nhánh. 3 Câu lệnh, câu lệnh 1, câu lệnh 2 trong các câu lệnh if-then ở mục trên có thể là câu lệnh ghép. Thuật ngữ câu lệnh được hiểu chung cho câu lệnh đơn và câu lệnh ghép. Ví dụ if D < 0 then writeln('Phuong trinh vo nghiem.') else begin x1:= (-b – sqrt(b*b – 4*a*c))/(2*a); x2:= -b/a-x1 end; Chú ý: Trước else không có dấu “;” 7.2. Xây dựng và giải các bài tập thực tế về cấu trúc rẽ nhánh Các bài tập được xây dựng và giải là các bài tập gắn với các tình huống gần gũi, quen thuộc trong cuộc sống hàng ngày của các em. Qua mỗi bài tập đó các em thấy được ứng dụng của tin học trong cuộc sống hàng ngày như thế nào? Thấy được những phần mềm, ứng dụng không phải quá xa vời, cao siêu mà bắt nguồn từ những bài học hàng ngày các em được học. Qua hệ thống các bài tập được xây dựng học sinh cũng hình thành và phát huy năng lực, kĩ năng của mình để giải quyết các vấn đề thực tiễn trong cuộc sống hoặc lý giải được việc tin học ứng dụng như thế nào trong thực tế. Hệ thống bài tập được xây dựng từ dễ đến khó, từ cơ bản đến nâng cao và chia thành 2 loại: Các bài tập có thể áp dụng cho dạy và học tin học đại trà trong chương trình tin học THPT. Các bài tập có thể áp dụng cho dạy học và bồi dưỡng học sinh giỏi Tin học THPT. Mỗi bài tập xây dựng gồm 3 nội dung: Phát biểu nội dung bài toán gắn với tình huống học sinh gặp trong thực tế. Phân tích để đưa ra hướng giải của bài toán, có thể phân tích học sinh học được gì qua bài toán đó, lý do tại sao lại xây dựng và chọn bài toán đó. Từ bài toán đó có thể nâng cao mở rộng sang bài toán khác không? Đưa ra chương trình đề xuất. 7.2.1. Các bài tập có thể áp dụng cho dạy học tin học đại trà Các bài tập áp dụng cho dạy học tin học đại trà được viết chương trình đề xuất đầy đủ sử dụng nhập dữ liệu từ bàn phím. Các bài tập này cũng có thể dùng để dạy học và bồi dưỡng học sinh giỏi. 5 Chương trình đề xuất program Nam_nhuan; uses crt; var N, SN: integer; begin clrscr; write('Nam: '); readln(N); if (N mod 400 = 0)or((N mod 4 = 0)and( N mod 100 0)) then SN:= 366 else SN:= 365; writeln(' So ngay cua nam ', N,' la ', SN); readln end. Bài 3: Ứng dụng trong viết phần mềm học toán của trẻ em Bài toán: Những ngày nghỉ học vì dịch bệnh Covid-19 An ở nhà phải trông em thấy đứa em lớp 1 học toán bằng phần mềm trên máy tính. Khi nhập kết quả tổng của hai số a và b bất kỳ thì máy tính đưa ra Đúng hay Sai? An nghĩ cái này dễ mà, kỳ I học Tin mình đã được học cấu trúc rẽ nhánh có gì mà không viết được. Em giúp An viết chương trình nhập vào hai số nguyên a, b từ bàn phím. Máy hiển thị a+b=? Người dùng nhập kết quả. Máy hiển thị “Bạn làm đúng rồi” hoặc “Rất tiếc bạn làm sai rồi”. Phân tích: Các phần mềm học của trẻ em thường sử dụng rất nhiều câu lệnh if – then để viết ví dụ như: nếu gõ đáp án đúng thì thế nào, nếu chọn hình đúng thì thế nào.Qua bài toán này để học sinh thêm yêu thích lập trình. Chương trình đề xuất: program Hoc_Toan; uses crt; var a,b,c:integer; begin clrscr; write('Nhap a='); readln(a); write('Nhap b='); readln(b); write(a,'+',b,'='); readln(c); if c=a+b then write('Ban lam dung roi!') else write('Ban lam sai roi!'); readln end. Bài 4: Ứng dụng trong toán hình học Bài toán: Nhà trường có một khoảng đất trống sau thư viện và giao cho mỗi lớp một mảnh vườn hình chữ nhật hoặc hình vuông để trồng hoa. 7 readln end. b. Điều kiện là tam giác và là tam giác gì? Để cho vườn hoa của lớp mình đặc sắc các bạn trong lớp muốn các cây hoa trồng sẽ tạo thành một tam giác vuông. Em giúp An viết chương trình nhập vào 3 số nguyên a, b, c. Kiểm tra xem 3 số đó có tạo thành tam giác hay không? Nếu là tam giác thì có là tam giác vuông hay không? Phân tích: Điều kiện để 3 số là độ dài 3 cạnh của tam giác là tổng độ dài hai cạnh bất kỳ lớn hơn cạnh còn lại. Điều kiện để tam giác đã cho khi biết độ dài 3 cạnh là tam giác vuông dựa vào định lý pitago: bình phương cạnh huyền bằng tổng bình phương hai cạnh góc vuông. Chương trình đề xuất: program Tam_giac; uses crt; var a,b,c:longint; begin clrscr; write('Nhap 3 so nguyen a, b, c:'); readln(a,b,c); if (a+b>c) or (a+c>b) or (b+c>a) then begin write('La tam giac'); if (a*a+b*b=c*c) or (b*b+c*c=a*a) or (c*c+a*a=b*b) then write(' Tam giac vuong') else write('Khong vuong'); end else write('Khong la tam giac'); readln end. Bài 5: Vườn bách thú Bài toán: Lần đầu tiên An được đi chơi vườn bách thú An thích nhất các con sếu vì nhiều con trong số chúng đứng một chân trông rất ngộ nghĩnh, khi đó chân kia không thấy đâu như vốn sinh ra chúng đã chỉ có một chân. An đếm được tất cả a chân. Sau khi đi xem các con thú khác An lại quay về chỗ chuồng sếu. Một số con đã thay đổi vị trí và cách đứng, An đếm lại lần nữa và có số chân là b. Qua số chân thì không thể xác định chính xác có tất cả bao nhiêu con sếu trong chuồng nhưng An vẫn muốn biết có ít nhất và nhiều nhất là bao nhiêu con. Hãy xác định và đưa ra màn hình số lượng sếu tối thiểu và tối đa. Các số a và b được nhập từ bàn phím. Ví dụ, với a=3 và b=4, số lượng sếu tối thiểu là 2 và tối đa là 3. Phân tích: Số liệu quan sát là a chân. Giả sử là mỗi con đứng 2 chân thì số lượng sếu tối thiểu sẽ là phần nguyên của a+1 chia cho 2. Số lượng sếu tối đa sẽ là a coi 9 Phân tích: Tương tự bài trên sử dụng câu lệnh if – then lồng nhau với điều kiện là doanh thu nằm trong những điều kiện đề bài cho. Qua bài toán học sinh thấy được xu hướng kinh doanh online trong thời đại công nghệ 4.0 Chương trình đề xuất program Tinh_hoa_hong; uses crt; var a:longint; h:real; begin clrscr; write('Nhap doanh so cua ban (tinh bang trieu):'); readln(a); if a<=2 then h:=0.05*a else if(a2) then h:=0.1*a else h:=0.2*a; write('Muc hoa hong ban duoc huong la:’,h:0:0,'trieu'); readln end. Bài 7: Ứng dụng trong xếp loại học sinh Bài toán: Năm học này An được cô giáo chủ nhiệm giao nhiệm vụ làm tổ trưởng phải tổng hợp xếp loại hạnh kiểm hàng tuần của các thành viên trong tổ. Biết điều kiện điểm nề nếp của các bạn nếu: • Điểm >= 160 là loại A. • Điểm >=130 và < 160 là loại B • Điểm >=100 và < 130 là loại C • Điểm <100 là loại D Em giúp An lập trình nhập vào điểm nề nếp của một bạn và đưa ra màn hình xem bạn đó xếp loại nào nhé? Phân tích: Sử dụng câu lệnh if – then lồng nhau với điều kiện là điểm nề nếp nằm trong các khoảng mà đề bài cho. Có thể mở rộng bài toán xếp loại trên thành bài toán xếp loại học lực, hạnh kiểm của học sinh cuối kỳ, cuối năm học cũng làm tương tự nhưng điều kiện ràng buộc nhiều hơn bài toán trên. Chương trình đề xuất program Xep_loai; uses crt; var a:integer; begin clrscr; write('Nhap diem ne nep:'); readln(a); 11
Tài liệu đính kèm:
sang_kien_kinh_nghiem_xay_dung_va_giai_cac_bai_tap_thuc_te_v.docx