1. Trang chủ
  2. » Giáo Dục - Đào Tạo

MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH

73 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Một Số Khái Niệm Về Lập Trình Và Ngôn Ngữ Lập Trình
Trường học Trường Đại Học
Chuyên ngành Lập Trình
Thể loại Bài Giảng
Năm xuất bản 20012
Thành phố Thành Phố
Định dạng
Số trang 73
Dung lượng 852 KB

Nội dung

CHƯƠNG I: MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGƠN NGỮ LẬP TRÌNH Ngày soạn: Tiết 1: KHÁI NIỆM LẬP TRÌNH VÀ NGƠN NGỮ LẬP TRÌNH CÁC THÀNH PHẦN CỦA NGƠN NGỮ LẬP TRÌNH I Mục đích, u cầu Hiểu khả ng2 lập trình bậc cao, phân biệt với ng2 máy hợp ngữ Hiểu ý nghĩa nhiệm vụ chtrình dịch Phân biệt thông dịch biên dịch Biết thành phần ng2 lập trình: bảng chữ cái, cú pháp, ngữ nghĩa Hiểu phân biệt thành phần II Lên lớp Ổn định tình hình lớp Giới thiệu làm quen với HS lớp Tạo tâm lý quan hệ tốt với HS trước bắt đầu tiết học Bài T/g Hđ GV Hđ HS Nd ghi bảng 2’ ĐVĐ: Về lập trình em tìm hiểu qua bước để giải toán máy tính chta chưa có khái niệm cụ thể Cịn ngơn ngữ KHÁI NIỆM LẬP TRÌNH VÀ NGƠN NGỮ LẬP TRÌNH lập trình chta tìm hiểu tất lớp 10 H: Vậy có loại ngơn ngữ lập Tl:Ng2 máy, hợp ngữ, ng2 trình nào? bậc cao H: Hãy phân biệt ng2 bậc cao với Tl: (1-2 hs) loại ng2 khác? Phân biệt ng2 bậc cao: chtrình viết ng2 bậc cao ko phụ thuộc vào loại máy phải dùng chtrình dịch để chuyển ng2 máy H: Tóm lại ng2 lập trình dùng để Tl: Lập trình làm gì? K/n lập trình Dẫn dắt: Vậy lập trình gì? Chta (Sgk) tìm hiểu k/n Ghi bảng Ghi Ý nghĩa: tạo chtrình Giải thích thêm câu lệnh: giải toán MT - Cl để diễn tả thao tác bước t/toán - Cl đơn thực bước có thao tác Nghe giảng tự ghi chép - Cl ghép thực bước gồm dãy thao tác Dẫn dắt: Chtrình viết ng2 máy thực ngay, cịn chtrình viết ng2 bậc cao phải chuyển đổi thành chtrình ng2 máy Chtrình dịch thực Cơng cụ thực chuyển đổi gọi chtrình dịch Tl: In: chtrình viết ng H: Input, Output chtrình dịch bậc cao a K/niệm: Sgk gì? ( Có thể cho điểm miệng Hs trả Out: chtrình ng2 máy lời ) Tl: (2-3Hs) phát lỗi cú pháp chtrình nguồn H: nhiệm vụ quan trọng chtrình dịch gì? Tìm hiểu ví dụ Sgk * Phân biệt Thơng dịch Biên dịch Phân tích Ví dụ Sgk b Phân loại: Có loại - Thơng dịch: dịch thực câu lệnh - Biên dịch: dịch tồn chtrình thực lưu trữ để sử dụng lại lần sau CÁC THÀNH PHẦN CỦA NGƠN NGỮ LẬP TRÌNH ĐVĐ sang mới: Để sử dụng ng2 lập trình trước hết chta phải biết thành phần có gì? Có ba thành phần ng2 lập trình: bảng chữ cái, cú pháp, ngữ nghĩa Trước hết chta tìm hiểu bảng chữ Treo bảng chữ * So sánh bảng chữ ng2 lập trình với bảng chữ ng2 tự nhiên Về cú pháp: Về ngữ nghĩa: Trong ngữ cảnh khác nhau, ngữ nghĩa tổ hợp kí tự khác Ví dụ: Sgk * Tóm lại + Phân biệt cú pháp ngữ nghĩa + Lỗi cú pháp + Lỗi ngữ nghĩa  a + b neu a + b > va a > b nguoc lai  Ví dụ: S =  Các thành phần - Bảng chữ - Cú pháp: qui tắc để viết chtrình Cách1: If a2+b2>1 then - Ngữ nghĩa if a>b then s=a+b Else s =1; (* a2+b21 then begin if a>b then s=a+b end Else s =1; (* a1 and a>b then Xem thử cách mô tả cách s=a+b Else s=1 Tl: Khi thực kiểm thử chtrình H: Lỗi ngữ nghĩa thường phát nào? Củng cố: Ba lớp ng2 lập trình mức Vai trị chtrình dịch Khái niệm biên dịch thông dịch Lỗi cú pháp, lỗi ngữ nghĩa Về nhà: Đọc Bài đọc thêm để tìm hiểu sơ số ng2 lập trình Soạn trước phần cịn lại Trong ý khái niệm mới: tên, hằng, biến Cách sử dụng lập trình Ngày soạn: 24/8/20012 Tiết 2: CÁC THÀNH PHẦN CỦA NGƠN NGỮ LẬP TRÌNH I MỤC TIÊU Kiến thức Biết số khái niệm như: tên, tên chuẩn, tên dành riêng, tên người dùng đặt, biến thích Kĩ Phân biệt tên chuẩn với tên dành riêng tên tự đặt Nhớ qui định tên biến Biết đặt tên đúng, nhận biết tên sai qui định Sử dụng thích II ĐỒ DÙNG DẠY HỌC Giáo viên Bảng chứa tên –sai để Hs chọn, bảng con, bút Học sinh Sách giáo khoa III HOẠT ĐỘNG DẠY HỌC Hoạt động 1: (7 phút) Kiểm tra cũ Hđ GV Hđ HS H1: Hãy phân biệt chtrình thơng dịch biên Hs1: trình bày bảng dịch? H2: NNLT có thành phần nào? Lỗi cú Hs2: trả lời trước lớp pháp lỗi ngữ nghĩa phát gì? Hs3: nhận xét câu trả lời Hs1 Nhận xét, đánh giá cho điểm Hs Hoạt động 2: (18 phút) Tìm hiểu khái niệm tên thành phần ngơn ngữ lập trình a Mục tiêu: Hs biết phân biệt số loại tên: tên dành riêng, tên chuẩn, tên tự đặt b Nội dung: Mọi đối tượng chtrình đếu phải đặt tên theo qui tắc NNLT chtrình dịch cụ thể Tên dành riêng (từ khóa): tên NNLT qui định dùng với ý nghĩa xác định, người lập trình ko dùng với ý nghĩa khác Tên chuẩn: tên NNLT qui định dùng với ý nghĩa đó, người lập trình định nghĩa lại để dùng với ý nghĩa khác Tên người dùng đặt: tên dùng theo ý nghĩa riêng người lập trình, phải khai báo trước sử dụng không trùng với từ khóa c Các bước tiến hành: Hđ GV Hđ HS Nd ghi bảng ĐVĐ: Mọi đối tượng chtrình Khái niệm Tên đếu phải đặt tên (Sgk) N/cứu Sgk nêu qui tắc đặt tên N/cứu sgk trả lời: Turbo Pascal? + Gồm chữ cái, chữ số, dấu gạch + Khơng q 127 kí tự, khơng bắt đầu kí tự số Chọn tên bảng sau: Quan sát trả lời Ví dụ: A _24 A A_BC A BC A_BC 5ad A5d _24 C#BC A5d Khẳng định lại tên Y/cầu Hs n/cứu Sgk để biết khái niệm tên dành riêng, tên N/cứu sgk trả lời + Tên dành riêng chuẩn, tên tự đặt + Tên chuẩn Chia lớp thành nhóm, nhóm Thảo luận theo nhóm cử + Tên người dùng đặt tìm hiểu trình bày loại tên người trình bày cho ví dụ + Tên dành riêng + Tên chuẩn Treo tranh chứa số tên NNLT + Tên người dùng đặt Pascal chuẩn bị sẵn: Type Const Integer Dem Ví dụ: Function Byte Inc Quan sát ghi lên bảng Mang string + Từ khóa: Type, Const, HS xác định tên theo loại tên? Treo bảng nhóm cho nhóm khác nhận xét, bổ sung function + Tên chuẩn: Integer, byte, string, inc + Tên tự đặt: dem, mang Quan sát kết cnhóm Tổng kết vấn đề khác, nhận xét bổ sung Hoạt động 3: (15 phút) Tìm hiểu hằng, biến, thích a Mục tiêu: Hs biết khái niệm hằng, biến thích Phân biệt biến Thấy ý nghĩa thích b Nội dung: * Hằng đại lượng có giá trị khơng đổi q trình thực chtrình Có loại + Hằng số học: số ngun, só thực, có dấu khơng dấu + Hằng xâu: chuổi kí tự bất kì, đặt dấu nháy đơn + Hằng logic: có giá trị True False * Biến: đại lượng đặt tên để lưu giá trị giá trị thay đổi trình thực chtrình, biến dùng chtrình phải khai báo * Chú thích : giải thích cho chtrình rõ ràng, dể hiểu Được đặt cặp dấu { } (* *) c Các bước tiến hành: Hđ GV Hđ HS Y/cầu Hs cho số ví dụ Suy nghĩ trả lời số, xâu, logic + Hằng số: 55 73.05 + Hằng xâu: ‘211’ ‘AB’ + Hằng logic: False True Trình bày k/niệm loại Xem k/niệm Sgk Ghi bảng: Xác định số Quan sát trả lời + Hằng số: 56; -3785; 1.5E+2 xâu: + Hằng xâu: ‘485’ ‘THPT’ 56 -3785 ‘485’ ‘THPT’ 1.5E+2 45,7 H: kí tự nháy đơn kí tự Tl: nháy đơn: ’’’’ nháy kép biểu diễn nào? Nháy kép: ‘””’ Y/cầu Hs n/cứu Sgk cho biết N/cứu Sgk trả lời k/niệm Biến Cho ví dụ số biến Nd ghi bảng Hằng biến a Hằng + Hằng số + Hằng xâu + Hằng logic b Biến K/niệm: (Sgk) Ví dụ: Tong, dtoan, … Y/cầu Hs n/cứu Sgk cho biết chức thích Cá nhân n/cứu Sgk vá trả lời chtrình c Chú thích Chú thích đặt Ví dụ: cặp dấu { } (* *) dùng {thu tuc nhap du lieu} để giải thích chtrình rõ Cho số ví dụ khác thích ràng dễ hiểu H: Tên biến tên thuộc loại Tl: Tên người lập trình tên nào? đặt H: Các lệnh viết cặp { } Tl: Khơng, dịng có TP thực ko? Vì sao? thích IV ĐÁNH GIÁ CUỐI BÀI Nội dung học Thành phần NNLT: bảng chữ cái, cú pháp, ngữ nghĩa Khái niệm: tên, từ khóa, tên chuẩn, tên tự đặt, biến, hằng, … Câu hỏi, tập nhà Làm tập 3, 4, trang 13 Sgk Xem đc thêm: Ngôn ngữ Pascal Xem trước bài: Cấu trúc chtrình Sgk Xem nội dung phụ lục B, trang 128 Sgk: Một số tên dành riêng KÝ DUYỆT CỦA LÃNH ĐẠO Ngày tháng năm 2018 KÝ DUYỆT CỦA TỔ CHUYÊN MÔN Ngày tháng năm 2018 Lù Văn Thành Đỗ Văn Chung Ngày giảng: Tiết 3: BÀI TẬP I MỤC TIÊU 1.Kiến thức -Củng cố cho học sinh kiến thức học lập trình, ngơn ngữ lập trình bậc cao, ngơn ngữ máy, thơng dịch, biên dịch HS – giỏi -Củng cố cho học sinh kiến thức học lập trình, ngơn ngữ lập trình bậc cao, ngơn ngữ máy, thơng dịch, biên dịch 2.Kĩ -Xác định đúng: tên, tên chuẩn, từ khóa, hằng, biến HS – giỏi Xác định đúng, lấy ví dụ: tên, tên chuẩn, từ khóa Về tư thái độ: Nhận thức trình phát triển ngơn ngữ lập trình gắn liền với trình phát triển tin học nhằm giải toán thực tiễn ngày phức tạp Ham muốn học ngơn ngữ lập trình cụ thể để có khả giải tốn máy tính điện tử II ĐỒ DÙNG DẠY HỌC Giáo viên: chuẩn bị nội dung để giải tập cuối chương số câu hỏi trắc nghiệm chương Học sinh: Ôn lại kiến thức chương, chuẩn bị tập cuối chương III HOẠT ĐỘNG DẠY HỌC Hoạt động 1: (5 phút) Khởi động: T/g Hđ GV Hđ HS Phân biệt Hằng Biến? Cho số HS1: trả lời biến đúng? Đâu từ khóa tên sau đây? Hs2: trả lời (Begin Do) Integer Begin Do int chan tong - Nhận xét, đánh giá cho điểm Hoạt động 2: T/g Hđ GV Hđ HS Nd ghi bảng ĐVĐ: Trước giải - Đọc yêu cầu câu Câu 1: Ngôn ngữ bậc cao tập SGK, em tự hỏi tập cuối + gần với ngôn ngữ tự nhiên ôn lại số kiến thức mà chương trang 13 SGK hơn, học - Suy nghĩ để đưa + không phụ thuộc vào phần trước dựa yêu cầu phương án trả lời cứng máy tính chương câu hỏi trang 13 SGK trình thực - Suy nghĩ, trả lời câu nhiều máy tính khác nhau; Đặt câu hỏi số 1(HS TB) hỏi + dễ hiểu, dễ hiệu chỉnh dễ Tại người ta phải xây dựng ngơn ngữ lập trình bậc cao? - Nhận xét, đánh giá bổ sung hướng dẫn cho học sinh trả lời câu hỏi số 1: nâng cấp; + cho phép làm việc với nhiều kiểu liệu cách tổ chức liệu đa dạng, thuận tiện cho mô tả thuộc tốn Câu 2: Trình biên dịch: duyệt, kiểm Đặt câu hỏi 2(HS khá) - Suy nghĩ, trả lời câu tra, phát lỗi, xác định Biên dịch thông dịch hỏi chương trình nguồn có dịch khác nào? khơng? dịch tồn chương trình nguồn thành Phân tích câu trả lời chương trình đích thực học sinh máy lưu trữ lại để sử dụng sau cần thiết Trình thơng dịch dịch câu lệnh ngôn ngữ máy thực câu lệnh vừa dịch báo lỗi không dịch Hoạt động 3: T/g Hđ GV Hđ HS Nd ghi bảng Đặt câu hỏi 3: Hãy cho biết Câu 3: Tên dành riêng không điểm khác dùng khác với ý nghĩa tên dành riêng tên xác định, tên chuẩn dùng chuẩn? Viết tên quy với ý nghĩa khác tắctrong Pascal? Suy nghĩ, trả lời, giải VD: - Gọi hs trả lời cho ví dụ thích Tên dành riêng Pascal: - Phân tích câu trả lời program, uses, const, type, var, học sinh begin, end Hỏi: Nêu lại quy tắc đặt tên Trả lời Tên chuẩn: Pascal abs, Pascal? integer - Gọi học sinh lên bảng cho ví dụ tên người Lên bảng lập trình đặt *Nhận xét, sửa chữa, góp ý Chú ý, ghi nhớ Hoạt động 4: T/g Hđ GV Hđ HS Nd ghi bảng Đặt câu hỏi 4: Hãy cho biết Trả lời giải thích Câu 4: biểu diễn câu 150.0 biểu diễn –22 Pascal rõ 6,23 trường hợp: ‘4 - Nhận xét, giải thích A20 1.06E-15 4+6 ‘C ‘TRUE’ số số K ’ xâu K số b/thức K xâu IV ĐÁNH GIÁ CUỐI BÀI (5phút) Câu hỏi, tập nhà Xem trước Chương gồm bài: Cấu trúc chương trình Một số kiểu liệu chuẩn Xem trước nội dung phụ lục B phần 3: Một số kiểu liệu chuẩn (trang 129 Sgk) Bài tập kiểm tra trắc nghiệm cuối chương: (15 phút) Câu 1:Chương trình viết hợp ngữ khơng có đặc điểm đặc điểm sau: A Ngắn gọn so với chương trình viết ngơn ngữ bậc cao B Tốc độ thực nhanh so với chương trình viết ngôn ngữ bậc cao C Diễn đạt gần với ngôn ngữ tự nhiên D Sử dụng trọn vẹn khả máy tính Câu 2: Chương trình viết ngơn ngữ bậc cao khơng có đặc điểm đặc điểm sau: A Không phụ thuộc vào loại máy, chương trình thực nhiều loại máy B Ngắn gọn, dễ hiểu, dễ hiệu chỉnh nâng cấp C Kiểu liệu cà cách tổ chức liệu đa dạng, thuận tiện cho mơ tả thuật tốn D Máy tính hiểu thực trực tiếp chương trình Câu 3: Chương trình dịch khơng có khả khả sau? A Phát lỗi ngữ nghĩa C Phát lỗi cú pháp B Thông báo lỗi cú pháp D Tạo chương trình dịch Câu 4: Nhận biết đúng/sai Pascal? STT Tên biến Đúng(Đ)/Sai(S) 1hoten S Hoten Đ Ho ten S Ho_ten Đ Ho-ten1 S Hoten1 Đ Câu 5: Ghép câu cột với câu thích hợp cột bảng sau: Cột (1) Biên dịch (2) Thơng dịch (3) Chương trình viết ngôn Cột (A) đại lượng có giá trị khơng đổi q trình thực chương trình (B) dịch thực câu lệnh, cịn câu lệnh q trình tiếp tục (C) đại lượng đặt tên, dùng để lưu trữ giá trị giá trị ngữ lập trình bậc cao (4) Biến (5) Hằng thay đổi q trình thực chương trình (d) dịch tồn chương trình nguồn thành chương trình đích thực máy lưu trữ để sử dụng lại cần thiết (E) phải chuyển đổi thành chương trình ngơn ngữ máy thực KÝ DUYỆT CỦA LÃNH ĐẠO Ngày tháng năm 2018 KÝ DUYỆT CỦA TỔ CHUYÊN MÔN Ngày tháng năm 2018 Lù Văn Thành Đỗ Văn Chung CHƯƠNG II: CHƯƠNG TRÌNH ĐƠN GIẢN Ngày giảng: Tiết 4: CẤU TRÚC CHƯƠNG TRÌNH I MỤC TIÊU Kiến thức Hiểu chtrình mơ tả thuật tốn NNLT Biết cấu trúc chtrình đơn giản: cấu trúc chung thành phần Kĩ Nhận biết thành phần chtrình đơn giản II ĐỒ DÙNG DẠY HỌC Giáo viên Máy tính, máy chiếu projector Một số chtrình mẫu viết sẵn Học sinh Sách giáo khoa III HOẠT ĐỘNG DẠY HỌC Hoạt động 1: (5 phút) Kiểm tra cũ Hđ GV Hđ HS H1: Phân biệt tên chuẩn từ khóa? Tên hằng, Hs1: trả lời trước lớp tên biến thuộc loại tên nào? H2: Cho số tên biến, qui cách? Hs2: trình bày bảng Hs3: nhận xét phần trả lời Hs2 Nhận xét, đánh giá cho điểm hs Hoạt động 2: (5phút) Tìm hiểu cấu trúc chung chtrình a Mục tiêu: Hs biết chtrình có phần b Nội dung: Cấu trúc chtrình có phần: phần khai báo, phần thân c Các bước tiến hành: Hđ GV Hđ HS Nd ghi bảng Câu hỏi gợi ý: Một tập làm Suy nghĩ trả lời văn thường viết có phần? Các - Có ba phần phần có thứ tự khơng? Tại phải - Có thứ tự: mở bài, thân chia vậy? bài, kết luận CẤU TRÚC CHƯƠNG TRÌNH - Dễ viết, dễ đọc dễ hiểu nội dung Cấu trúc chung Y/cầu Hs n/cứu Sgk trả lời N/cứu sgk, thảo luận Có phần: câu hỏi sau: trả lời: [] - Một chtrình có cấu trúc phần? Có phần: [] 10 Giải thích số lệnh CT - Chú ý, lắng nghe, quan sát ghi nhớ Hoạt động 3: Chạy CT câu a TG Hđ GV Hđ HS Ghi bảng - Yêu cầu hs tự nhập liệu với CT - Chạy CT, nhập liệu, xm kết có sẵn - Giúp hs phát sữa lỗi - Chỉnh sữa CT thông qua thông báo lỗi - Thuật toán tiến hành đưa số - Chú ý hiểu rõ thêm CT lớn thứ j đến vị trí j sau vịng lặp: For i:= to j-1 Hoạt động 4: Xác định toán câu b TG Hđ GV Hđ HS Ghi bảng Xác định toán Xác định toán: Đề: Khai báo - Y/cầu hs xác I/O toán? + I: mảng a; biến đếm +O: mảng a xếp, số lần nguyên Dem tráo đổi (Dem); bổ sung vào - Biến Dem tăng lên nào? TL: Khi A[i] > A[i+1] chương trình (tức biểu thức đk CL If câu lệnh - Cần đưa câu lệnh tăng Dem vào đúng) cần thiết để biến chỗ CT trên? TL: Trong thân CL If: trước Dem tính số lần - Câu lệnh khởi tạo Dem:= sau lệnh tráo đổi tráo đổi đặt vào vị trí CT? chương trình + Trước CL đầu tiên: TL: Chọn hai phương For j:= N down to án 3, + Trước CL duyệt: For i:= to j-1 + Trước CL tráo đổi + Sau CL tráo đổi - Sau CL cuối CT nên đưa CL vào để hiển thị giá trị biến Dem hình Hoạt động 5: Sữa CT câu a để giải toán câu b TG Hđ GV Hđ HS Ghi bảng - Yêu cầu hs sữa lại CT theo gợi ý - Thêm CL hướng CT(Phụ lục) nêu dẫn vào CT - Hướng dẫn hs chỉnh sửa chạy - Chạy CT CT - Đánh giá kết hs Hoạt động 6: Củng cố - Thuật toán xếp tráo đổi - Đếm số lần tráo đổi Hoạt động 7: Bài tập nhà - Tìm thêm thuật tốn xếp khác tối ưu - Cho mảng A mảng B (là mảng A xếp) Hãy in số phần tử mảng A theo mảng B Ngày soạn: 25/11/20012 Tiết 26 59 BÀI THỰC HÀNH SỐ (tiết 2) I Mục tiêu Kiến thức Tiếp tục củng cố kiến thức lập trình với liệu kiểu mảng Kĩ Nhận xét, phân tích đề xuất cách giải toán cho chương trình chạy nhanh Thái độ Tự giác, chủ động lập trình II.Chuẩn bị Gv:Bảng phụ viết sẵn chương trình, phịng máy, project Hs: Sgk, CT viết sẵn III Phương pháp IV Tiến hành dạy học Hoạt động 1:(3') Ôn lại kiến thức chuẩn bị thực hành Hđ GV Hđ Hs Hỏi 1: cách khai báo kiểu mảng chiều Tl: có cách + gián tiếp: + trực tiếp: Hỏi 2: (tuỳ lớp) Hoạt động 2:(13') Nêu đề tốn tìm hiểu Hđ GV Hđ HS Ghi bảng Ghi đề lên bảng Quan sát đề lắng nghe câu Đề: Cho mảng A gồm n hỏi gv phần tử Viết CT tạo Tìm hiểu đề Trả lời câu hỏi mảng B[1 n], Y/cầu hs xác định liệu vào/ra - Vào: B[i] tổng i phần toán? - Ra: tử mảng A Gv lấy ví dụ minh hoạ Theo dõi ví dụ minh hoạ A 6 B Ban đầu: B[i] = Hỏi: B[i] tạo Tl: (2-3hs) bao nhiêu? Tóm lại: B[i] = A[1] + …+ A[i] i ∑A[j ] = j=1 GV minh hoạ số phần tử: B[1], Tl: B[2], B[3] B 10 12 15 22 - Y/cầu hs tìm kết mảng B theo Khai báo: ví dụ Lần lượt cho hs trình + k/báo mảng Viết CT thơ bày + biến đơn - Y/cầu hs cho biết phần Tl: Phần thân: CT cần xây dựng? Gv tranh thủ ghi lại bảng H: Bước B2 cụ thể CT Tl: sử dụng vòng for lồng nào? 60 B1: tạo mảng A B2: xd mảng B theo A B3: In mảng B for i:=1 to n begin b[i]: =0; for j:=1 to i b[i]:=b[i]+a[j]; end; Treo bảng CT chuẩn bị sẵn Giải thích phần CT tương ứng với phần trả lời ghi bảng hs Chú ý, lắng nghe, quan sát ghi nhớ Hoạt động 3: (5')Tối ưu chương trình Hđ GV Dựa vào phần phân tích ví dụ thuật tốn Gv hỏi: So sánh giá trị B[i] B[i-1]? Đặc biệt: B[1]=? Chta ln hướng tới thuật tốn tối ưu Đối với tốn theo phân tích ta tận dụng kết việc tính tổng i -1 phần tử có sẵn bước trước - Do ta có được: + Số lượng phép tốn '+' +Chỉ dùng vịng lặp for -> sd biến số i cho mảng A, B Cải tiến lại chtrình Gv treo bảng chtrình cải tiến Hđ HS Ghi bảng Tl: B[i]:=B[i-1]+A[i] Tl: B[1]=A[1] Chú ý theo dõi {tùy đối tượng hs} Nhìn bảng, tự điều chỉnh Đoạn CT hành vi nhận thức tiến: Sgk Hoạt động 4: (20') Hs thực hành máy theo nhóm Hđ GV Hđ HS Ghi bảng Y/cầu hs nhập CT cải tiếnvào Hs nhập chtrình vào máy máy Tự biên dịch chạy CT với Theo dõi trình t/hiện hs ví dụ Giải số lỗi nhỏ nhóm Tự lấy Input để chạy lại CT Hoạt động 5: (3') Củng cố, uốn nắn sai sót thường gặp Hs Hoạt động 6: (1') Dặn dò: Xem, chuẩn bị trước 12: Kiểu xâu 61 cải Ngày soạn: 4/12/20012 Tiết 27 KIỂU XÂU (tiết 1/2) I MỤC TIÊU Kiến thức - Biết kiểu liệu mới, biết khái niệm kiểu xâu - Phân giông khác kiểu mảng kí tự với kiểu xâu kí tự - Biết khai báo biến, nhập xuất liệu, tham chiếu đến kí tự xâu - Biết thao tác liên quan đến xâu Kĩ - Khai báo biến xâu NNLT Pascal Sử dụng biến xâu, phép toán hàm thủ tục xâu để giải số toán đơn giản II ĐỒ DÙNG DẠY HỌC Giáo viên: giáo án, sgk, bảng phụ số ví dụ Học sinh: sgk III PHƯƠNG PHÁP: Thuyết trình, nêu vấn đề, hỏi đáp IV HOẠT ĐỘNG DẠY HỌC Hoạt động 1: (5 phút )Tìm hiểu ý nghĩa xâu kí tự Hđ GV ĐVĐ: Dữ liệu tốn khơng thuộc kiểu số mà kiểu phi số dạng kí tự Dãy kí tự đgl liệu kiểu xâu Ghi đề học Trước tiên tìm hiểu Xâu kí tự gì? Nêu vài ví dụ xâu: a) ‘HaNoi’ b) ‘lop 11A1’ c) ‘Nguyen Van An’ Hs chbị nhà, y/cầu hs cho biết xâu gì? Hđ HS Lắng nghe Nd ghi bảng KIỂU XÂU Quan sát, nhận biết Khái niệm Xâu kí tự: (sgk) Tl: Xâu dãy kí tự bảng mã ASCII, kí tự ptử Cho hs khác bổ sung (nếu cần) Số lượng kí tự xâu độ dài xâu Độ dài xâu gọi xâu rổng - Xâu có kí tự trống Hỏi: Số lượng kí tự xâu ví dụ -Xácđịnh trả lời: - Xâu rỗng a) kí tự bao nhiêu? b) kí tự, dấu cách kí tự c) 13 kí tự Hỏi: Xâu có kí tự trống viết - Tl: ‘ ’, có độ dài nào? số kí tự bao nhiêu? Hỏi: Xâu rỗng viết nào? - Tl: ‘’, có độ dài 62 Hoạt động 2: (10 phút)Tìm hiểu kiểu xâu Hđ GV Hđ HS 1.Y/cầu hs cho biết cách khai báo N/cứu sgk trả lời Var : string [] ; Hỏi: ý nghĩa từ khoá string? Tl: String tên kiểu xâu Và [] ? - [n] giá trị qui định số lượng kí tự tối đa mà biến xâu chứa Ví dụ: Var hoten: string[30]; Var St: string; Hỏi: Nhập xâu hoten có 20 kí tự Tl:được (khơng) khơng? (t/tự 31 kí tự?) Hỏi: Khi khai báo khơng có [n] số - Số kí tự tối đa 255 lượng kí tự bao nhiêu? * Y/cầu hs cho ví dụ Lắng nghe, quan sát Tham chiếu đến kí tự xâu bảng để trả lời Y/cầu hs: Nhắc lại cách tham chiếu đến phần tử mảng? - Giới thiệu cấu trúc chung Tl: St[i]  p/tử thứ i - Y/cầu hs cho biết ý nghĩa St[i] xâu St Y/cầu hs tìm ví dụ khác Hoạt động 3: (25 phút)Các thao tác xử lí xâu a Nội dung: - Phép ghép xâu: kí hiệu + - Các phép so sánh: =, , >, B  False Vd3: A=’hoa’; B=’hao’ thứ tự từ điển A>B  True 63 Nd ghi bảng Khai báo VAR tên_biến: STRING [độ dài lớn xâu]; Ví dụ: i)Var hoten: string[30]; ii)Var St: string; * Tham chiếu đến kí tự xâu Tên_biến_xâu[chỉ số] Nd ghi bảng Các thao tác xử lí xâu a) Phép ghép xâu (+) ghép nhiều xâu thành Có thể t/hiện ghép đvới xâu biến xâu Vd1: ‘My’+ ‘ ’+ ‘Computer’ Vd2: s1:=‘pho co’ s2:=‘Hoi An’ St:=s1+’-’+s2; b) Các phép so sánh Giả sử A, B xâu +) A=B: A giống B hoàn toàn +) A>B kí tự khác chúng từ trái sang, mà A có mã ASCII lớn Các thủ tục Vd1: s=’Nui Thanh’ Để s ‘anh’ ta phải viết thủ tục delete() nào? Vd2: s2=’Nui Thanh’ Để s2 thành xâu ‘THPT Nui Thanh’ ta phải chèn thêm vào xâu? Và chèn nào? * Ý nghĩa: ch/đổi xâu s thành số gán cho biến N, ch/đổi thành công code = 0, nglại code chứa số vị trí kí tự xuất lỗi xâu s giá trị N ko xác định * Ý nghĩa: ch/đổi giá trị số N thành kiểu xâu, gán cho biến st Kiểm tra kiến thức Treo bảng y/cầu hs điền vào chổ trống (…) Hs trả lời: bảng1: Insert(s1,s2,8) Insert(‘CDE’,s2,3) bảng2: Delete(st,7,9) N= kxđ, e=5 Chú ý lắng nghe Tl: Delete(s,1,6) c) Các thủ tục Delete(S,vt,N) Tl: Insert(‘THPT ’,s2,1) Code =0, n=3.14 Code =3, n ko xác định Insert(s1,s2,vt) Trong vt, N số ngdương Val (s,N,code) Vd: Val(’3.14’,n,code) Val(‘11A1’,n,code) st=’20012’ Str(N,st) Vd: str(20012,st) BẢNG Xâu s1 Xâu s2 Thao tác kết ‘cua Me’ ‘Mua xuan’ Insert(…,s2,…) ‘Mua xuacua Me’ ‘ABGHI’ Insert(…,s2,…) ‘ABCDEGHI’ ‘Mua xuan cua Me’ Delete(st,…,…) st = ‘Mua xu’ ‘12.3A+02’ Val (st,n,e) n=…, e=… BẢNG Xâu st Thao tác kết IV ĐÁNH GIÁ CUỐI BÀI (5phút) Nội dung học - Khái niệm xâu Cách khai báo xâu, tham chiếu đến kí tự xâu - Các phép ghép, so sánh xâu, thủ tục Ngày soạn: 4/12/20012 Tiết 28 KIỂU XÂU (tiết 2/2) I MỤC TIÊU Kiến thức - Biết lợi ích thủ tục hàm liên quan đến xâu NNLT Pascal - Nắm cấu trúc chung chức nằng số hàm thủ tục liên quan đến xâu NNLT Pascal Kĩ Nhận biết bước đầu sử dụng số hàm thủ tục để giải số tập đơn giản liên quan II ĐỒ DÙNG DẠY HỌC Giáo viên: bảng phụ ví dụ chbị sẵn, giáo án ,sgv, sgk Học sinh: sgk III PHƯƠNG PHÁP: Thuyết trình, nêu vấn đề, hỏi đáp IV HOẠT ĐỘNG DẠY HỌC 64 Hoạt động 1: (5 phút) Kiểm tra cũ Hđ GV Hđ HS Nêu câu hỏi: Lắng nghe câu hỏi trình bày phần trả lời Khai báo xâu có độ dài tối đa 50 kí tự Var st:string[50]; Cho s1:=’hoa’; s2:=’Hoa’; False Biểu thức s1b then write(a) hơn? Viết lệnh để đưa liệu xâu Dùng lệnh write() Else write(b); hình? End Tiểu kết: để nhập/xuất liệu kiểu xâu sử dụng lệnh read/write 65 kiểu liệu chuẩn Nêu tốn ví dụ Y/cầu hs khai báo xâu S Ycầu hs viết lệnh nhậo giá trị cho xâu Ghi lại đề toán Var S:string; Begin Write(‘nhap xau ’); readln(s); Làm để biết số kí tự ‘A’ có Tl: duyệt qua tất kí xâu? tự xâu kí tự =’A’ đếm kí tự Xâu S nhập vào có kí Tl: Length(s) kí tự tự? Tiểu kết: để duyệt qua tất ptử xâu ta dùng lệnh for Vd2: Viết CT nhập vào xâu S bất kì, cho biết xâu sử dụng kí tự ‘A’? Var S:string; i,d:byte; Begin Write(‘nhap xau readln(s);d:=0; For i:=1 to length(s) If s[i]=’A’ then inc(d); Write(d:4); End ’); IV ĐÁNH GIÁ CUỐI BÀI (5phút) Nội dung học Các hàm xữ lí xâu, vận dụng kiểu xâu toán đơn giản Câu hỏi, tập nhà Xem trước bài: Bài thực hành sô5 Viết CT nhập vào xâu S thực xố bỏ tất kí tự trắng thừa có xâu (Xâu sau loại bỏ khơng cịn kí tự trắng liền kề nhau, đầu cuối xâu khơng phải kí tự trắng) Ngày soạn: 9/12/20012 Tiết 29, 30 BÀI THỰC HÀNH SỐ I MỤC TIÊU Kiến thức - Khắc sâu thêm phần kiến thức lí thuyết kiểu xâu kí tự, đặc biệt thủ tục hàm liên quan - Nắm số thuật toán bản: tạo xâu mới, đếm số lần xuất kí tự, … Kĩ - Khai báo biến kiểu xâu - Nhập/xuất liệu cho biến xâu - Duyệt qua tất kí tự xâu - Sử dụng hàm thủ tục chuẩn Thái độ: Tích cực chủ động thực hành II ĐỒ DÙNG DẠY HỌC Giáo viên: Phịng máy vi tính, Projector để hướng dẫn Học sinh: Sgk, tập nhà III PHƯƠNG PHÁP: Thuyết trình, nêu vấn đề, hỏi đáp IV HOẠT ĐỘNG DẠY HỌC Hoạt động 1: (45 phút) Tìm hiểu chương trình, đề xuất phương án cải tiến a Mục tiêu: Hiểu chtrình, tính kết Biết đề xuất phương án cải tiến b Nội dung: Nhập xâu, kiểm tra xem xâu có phải Palidrom hay khơng? c Các bước tiến hành: Hđ GV Hđ HS Nd ghi bảng 66 Tìm hiểu đề Quan sát đọc kĩ đề - Giới thiệu đề lên bảng Giải thích: Xâu Palidrom -Y/cầu hs cho ví dụ xâu Palidrom Phải: aabcbaa, 45654 ví dụ khơng phải? Khơng phải: abccda Tìm hiểu chtrình gợi ý Quan sát chtrình suy nghĩ để - Treo chtrình lên bảng hiểu chtrình - Kiểm tra xâu có phải -Hỏi: Chtrình sau có chức làm Palidrom hay khơng? gì? Kết in hìnhn hư nào? Kq: ‘xau la palidrom’ ‘xau khong la palidrom’ Chạy thử chtrình để hs kiểm nghiệm suy -Quan sát gv thực chtrình, nghĩ nhập liệu kquả chtrình Cải tiến chtrình Chú ý theo dõi y/cầu gv, - Nêu y/cầu mới: viết lại chtrình khơng trả lời số cau hỏi dẫn dắt sử dụng biến trung p? Hỏi: kí tự thứ i đối xứng với kí tự vị trí - Kí tự thứ i đối xứng với kí tự nào? thứ length(s) –i +1 Hỏi: cần so sánh cặp kí tự - Tối đa length(s) div xâu để biết xau palidrom? Hỏi: sử dụng cấu trúc để so sánh? - For While - Thực soạn thảo chtrình -Y/cầu hs viết chtrinh hoàn chỉnh lên máy theo yêu cầu cải tiến y/cầu hs nhập liệu gv cho sẵn gv thông báo kết - Nhập liệu thông báo - xác nhận làm có kết kết Hoạt động 2: (40 phút) Rèn luyện kĩ lập trình a Mục tiêu: Hs biết phân tích yêu cầu để viết chtrình hồn chỉnh b Nội dung: Viết CT nhập vào xâu S thơng báo hình số lần xuất S chữ tiếng Anh (không phân biệt chữ hoa thường) 67 c Các bước tiến hành: Hđ GV Hđ HS Giới thiệu đề - Giới thiệu đề lên bảng -Y/cầu hs trả lời câu hỏi để phân tích tốn +Dữ liệu vào liệu toán? +Vào:một xâu S Ra:dãy số ứng với xuất loại kí tự xâu +Nhiêm vụ cần thực giả +T/toán: Duyệt xâu từ trái sang tốn? phải, thêm đơn vị cho kí tự đọc +Cấu trúc liệu cần sử dụng? +Cấu trúc liệu: Dem[‘A’ ‘Z’] + Ta phải sử dụng hàm gì? +Upcase() Bổ sung sửa sai cho hs Y/cầu hs lập viết chương trình Độc lập soạn chtrình vào hồn chỉnh theo thuật tốn phát máy - Y/cầu em lập trình xong trước tìm - Tìm test số test - Nhập liệu gv thực - Y/cầu hs nhập liệu vào theo test chtrình xem kết gv thông báo kết - Thông báo kết Xác nhận kết hs sửa sai cho em có kết sai Nd ghi bảng IV ĐÁNH GIÁ CUỐI BÀI (5phút) Nội dung học: Một số thuật toán liên quan đến xâu kí tự Câu hỏi, tập nhà Xem trước bài: Kiểu ghi Ngày soạn: 11/12/20012 Tiết 31 KIỂU BẢN GHI I MỤC TIÊU Kiến thức - biết khái niệm ghi - Phân biệt giống khác kiểu ghi kiểu mảng chiều Kĩ - Khai báo kiểu ghi, khai báo biến kiểu ghi NNLT Pascal - Nhập/xuất liệu cho ghi - Thamchiếu đến trường ghi - Sử dụng kiểu ghi để giải số tập đơn giản II ĐỒ DÙNG DẠY HỌC Giáo viên: Giáo án, Máy tính Học sinh: sgk III PHƯƠNG PHÁP: Thuyết trình, nêu vấn đề, hỏi đáp IV HOẠT ĐỘNG DẠY HỌC Hoạt động 1: (5 phút) Kiểm tra cũ 68 Hđ GV Hđ HS Viết CT nhập vào xâu cho Var S: string; i: integer; Begin biết xâu có kí tự số? write(‘Nhap xau S ’); readln(S); d:=0; For i:=1 to length(s) If (s[i]>=’0’) and (s[i]n) C i>n D (m[ i ]=k) (i>n) 10 Giả sử chạy chương trình, ta tạo liệu cho mảng m gồm phần tử là: 7, 5, 19, 54 20 Và gán cho biến k mang giá trị 54 Vậy sau thực xong chương trình, hình có dịng thơng báo: A Trong dãy bạn nhập có số k B Trong dãy bạn nhập có số 54 C Trong day ban da nhap co so bang k D Trong day ban da nhap co so bang 54 II TỰ LUẬN Cho chương trình Var i: byte; Begin For i:=1 to 35 If i mod = then write (i:4); Readln End a Hãy viết lại chương trình cách thay đổi cấu trúc FOR cấu trúc WHILE b Cho biết chương trình thực cơng việc gì? Viết CT tạo mảng A có N (N≤ 200) phần tử số nguyên In hình mảng vừa tạo Tính đưa hình giá trị trung bình số nguyên dương lẻ có mảng A 73

Ngày đăng: 16/12/2021, 12:42

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w