I. MỤC TIÊU
1. Kiến thức:
Học sinh cần nắm được:
Một số khái niệm cơ sở về ngôn ngữ lập trình, những đặc điểm chủ yếu của ngôn ngữ lâp trình bậc cao;
Hai loại chương trình dịch: Biên dịch và thông dịch;
Các thành phần trong ngôn ngữ lập trình như: tên, tên chuẩn, từ khóa, hằng, biến ;
Các quy định của một ngôn ngữ lập trình (cụ thể Pascal).
2. Kĩ năng:
Biết viết hằng và tên đúng trong một ngôn ngữ lập trình (cụ thể Pascal).
3. Thái độ:
Nhận thức được quá trình phát triển của ngôn ngữ lập trình gắn liền với quá trình phát triển của tin học nhằm giải quyết các bài toán thực tiễn ngày càng phức tạp;
Ham muốn học một ngôn ngữ lập trình cụ thể để có khả năng giải các bài toán bằng máy vi tính.
II. NỘI DUNG
Phân loại ngôn ngữ lập trình;
Chương trình dịch;
Các thành phần của ngôn ngữ lập trình;
Các thành phần cơ sở của ngôn ngữ lập trình Pascal.
CHƯƠNG 1 MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH I. MỤC TIÊU 1. Kiến thức: Học sinh cần nắm được: Một số khái niệm cơ sở về ngôn ngữ lập trình, những đặc điểm chủ yếu của ngôn ngữ lâp trình bậc cao; Hai loại chương trình dịch: Biên dịch và thông dịch; Các thành phần trong ngôn ngữ lập trình như: tên, tên chuẩn, từ khóa, hằng, biến; Các quy định của một ngôn ngữ lập trình (cụ thể Pascal). 2. Kĩ năng: Biết viết hằng và tên đúng trong một ngôn ngữ lập trình (cụ thể Pascal). 3. Thái độ: Nhận thức được quá trình phát triển của ngôn ngữ lập trình gắn liền với quá trình phát triển của tin học nhằm giải quyết các bài toán thực tiễn ngày càng phức tạp; Ham muốn học một ngôn ngữ lập trình cụ thể để có khả năng giải các bài toán bằng máy vi tính. II. NỘI DUNG Phân loại ngôn ngữ lập trình; Chương trình dịch; Các thành phần của ngôn ngữ lập trình; Các thành phần cơ sở của ngôn ngữ lập trình Pascal. Tiết 1: § 1. KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH Ngày soạn: //2009 Ngày dạy: //2009 I. MỤC ĐÍCH, YÊU CẦU Biết khái niệm lập trình và ngôn ngữ lập trình; Biết khái niệm chương trình dịch và phân loại chương trình dịch; Hiểu khả năng của ngôn ngữ lập trình bậc cao, phân biệt được với ngôn ngữ máy. II. PHƯƠNG TIỆN DẠY HỌC Sử dụng bảng hoặc máy chiếu nếu có điều kiện. III. NỘI DUNG Hoạt động của giáo viên Hoạt động của HS Ghi bảng Hoạt động 1: Ôn lại kiến thức về ngôn ngữ lập trình, thuật toán. Hoạt động 2: Giảng bài mới: Để diễn giải một thuật toán đã có cho một người Campuchia hiểu ta sẽ dùng ngôn ngữ nào để diễn đạt ? Để diễn giải thuật toán đó cho máy tính hiểu ta phải dùng ngôn ngữ nào ? GV: Hoạt động diễn đạt một thật toán thông qua một ngôn ngữ lập trình được gọi là lập trình. GV: Vậy kết quả của hoạt động lập trình là gì ? GV: Hãy kể tên các loại ngôn ngữ lập trình mà em biết ? GV: Ngôn ngữ lập trình là gì ? GV: Làm thế nào để chuyển một chương trình được viết bằng ngôn ngữ lập trình bậc cao thành chương trình chạy được trên máy tính ? GV: Tại sao không lập trình trên ngôn ngữ máy để khỏi phải mất công chuyển đổi ? GV: Nêu hai ví dụ trong sách giáo khoa để giới thiệu hai loại chương trình dịch là thông dịch và biên dịch. GV: Để giới thiệu trường mình cho một đoàn khách du lịch đến từ Campuchia ta sẽ có 2 cách để thực hiện: C1: Cần một người biết tiếng Campuchia để dịch từng câu nói của ta sang tiếng Campuchia cho đoàn khách. C2: Viết toàn bộ nội dung ra giấy và nhờ người phiên dịch dịch toàn bộ nội dung đó sang tiếng Campuchia và đọc cho đoàn khách. HS: Ngôn ngữ tiếng Capuchia. HS: dùng ngôn ngữ lập trình. HS: Xem sách giáo khoa và phát biểu khái niệm HS: Ta sẽ được một chương trình. HS: Ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao HS: xem sách giáo khoa và trả lời HS: Sử dụng chương trình dịch HS: ngôn ngữ máy khó mô tả (0-1). HS: nghe, quan sát và ghi bài § 1. KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH Lập trình là gì ??? Lập trình là việc sử dụng cấu trúc dữ liệu và các lệnh của ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt các thao tác của thuật toán. Ngôn ngữ lập trình là gì ? Ngôn ngữ lập trình là một phần mềm dùng để diễn đạt thuật toán thành một chương trình giúp cho máy tính hiểu được thuật toán đó. Chương trình dịch ??? Chương trình dịch là một chương trình đặc biệt có chức năng chuyển một chương trình được viết bằng ngôn ngữ lập trình bậc cao thành chương trình chạy được trên máy tính. CT nguồn → CT dịch → CT đích Thông dịch ??? Thực hiện bằng cách lặp lại các bước sau: 1. Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong chương trình nguồn; 2. Chuyển đổi câu lệnh đó thành ngôn ngữ máy; 3. Thực hiện câu lệnh vừa được chuyển đổi. (Cứ mỗi lần gặp câu lệnh sai nó phải quay lại dịch từ câu lệnh đầu tiên) Biên dịch ??? Được thực hiện qua 2 bước: 1. Duyệt toàn bộ chương trình nguồn để phát hiện lỗi, kiểm tra tính đúng đắn của các câu lệnh; 2. Dịch toàn bộ chương trình nguồn thành một chương trình đích có thể thực hiện trên máy và có thể lưu trữ lại. IV. CỦNG CỐ Khái niệm lập trình, ngôn ngữ lập trình, các loại ngôn ngữ lập trình. Khái niệm chương trình dịch. Có hai loại chương trình dịch là thông dịch và biên dịch. V. BÀI TẬP VỀ NHÀ Kể tên một số ngôn ngữ lập trình bậc cao sử dụng kĩ thuật biên dịch và một số ngôn ngữ lập trình bậc cao sử dụng kĩ thuật thông dịch; Trả lời các câu hỏi và bài tập trong SGK và sách bài tập, xem trước bài 2. Tiết 2: § 2. CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH Ngày soạn: //2009 Ngày dạy: //2009 I. MỤC ĐÍCH, YÊU CẦU Biết ngôn ngữ lập trình nói chung có ba thành phần cơ bản là: bảng chữ cái, cú pháp và ngữ nghĩa; Biết một số khái niệm như: tên, tên chuẩn, tên dành riêng (từ khoá), hằng và biến; Ghi nhớ các quy định về tên, hằng và biến trong một ngôn ngữ lập trình. Biết đặt tên đúng và nhận biết được tên sai quy định. II. PHƯƠNG TIỆN DẠY HỌC Sử dụng bảng hoặc máy chiếu nếu có điều kiện. Giáo viên chuẩn bị một đoạn chương trình Pascal đơn giản để dẫn tới các khái niệm trong bài học này. III. NỘI DUNG Hoạt động của giáo viên Hoạt động của HS Ghi bảng Hoạt động 1: Kiểm tra bài cũ GV: Ngôn ngữ lập trình là gì ? Hoạt động 2: Giảng bài mới GV: Để xây dựng nên ngôn ngữ tiếng Anh ta phải có những yếu tố nào ? GV: Trong ngôn ngữ lập trình cũng vậy, một ngôn ngữ lập trình bao gồm: bảng chữ cái, cú pháp và ngữ nghĩa. GV: Hãy nêu các chữ cái của bảng chữ cái tiếng Anh ? GV: Hãy nêu các số trong hệ đếm thập phân ? GV: Hãy nêu một số kí tự đặc biệt khác ? GV: Nhờ cú pháp mà người lập trình biết được tổ hợp nào của các kí tự trong bảng chữ cái là hợp lệ và tổ hợp nào là không hợp lệ tuỳ vào sự quy định của ngôn ngữ lập trình cụ thể. GV: Ngữ nghĩa của một cú pháp trong hai ngữ cảnh khác nhau là khác nhau. GV: Tất cả các đối tượng xung quanh chúng ta đều có tên để phân biệt. Các đối tượng trong một chương trình cũng vậy các đối tượng đều phải được đặt tên theo đúng quy tắc. GV: tên nào sau đây là tên đúng trong Pascal. A, A BC, 6PQ, L05, _abc Chú ý: Ngôn ngữ lập trình Pascal không phân biệt chữ hoa, chữ thường. GV: Một số tên dùng riêng trong Pascal: program, uses, var, type, const, begin, end, Trong C++: main, include, void, clrscr, GV: Một số tên chuẩn trong Pascal : abs, sqr, sqrt, integer, longint, byte, Trong C++: cin, cout, int, long, GV: Ví dụ tên do người dùng đặt: delta, baitap, GV: Hằng số học là các số nguyên và số thực có dấu hoặc không dấu. Hằng xâu: là chuỗi kí tự trong bảng chữ cái được đặt trong cặp dấu nháy đơn ‘’. Hằng logic: là giá trị đúng (True) hoặc giá trị sai (False). GV: Hãy nêu một số hằng số, hằng xâu và hằng logic? GV: Các biến sử dụng trong chương trình phải được khai báo. Ví dụ: Trong Pascal ta khai báo: Var Tong: integer; a, b: real; Khi đó ta sẽ có 3 biến là Tong, a, b. GV: Để chương trình do mình lập trình được rõ ràng và dễ hiểu thì người lập trình thường ghi chú sau các câu lệnh hoặc nhóm lệnh phức tạp khó hiểu. Chú thích trong Pascal: {chú thích} hoặc (*chú thích*) Trong C++: // chú thích hoặc /* chú thích */. HS: lên bảng trả lời câu hỏi bài cũ của giáo viên đưa ra. HS: bảng chữ cái, số, dấu; cách ghép các kí tự thành từ, các từ thành câu; ngữ nghĩa của từ và câu. HS: nghe và ghi bài HS: A → Z; a → z; HS: 0, 1, 2, 3,, 9 HS: +, -, *, /, =, , [, ], ;, &, {, }, (, ), HS: nghe và ghi bài HS: nghe và ghi bài HS: A, L05, _abc HS: nghe và ghi bài HS: nghe và ghi bài HS: nghe và ghi bài HS: 12, 82, 3.14; ‘Dak Lak’, ‘PCT’; True, False HS: nghe quan sát và ghi bài HS: nghe quan sát và ghi bài HS: nghe quan sát và ghi bài § 2. CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH 1. Các thành phần cơ bản Mỗi ngôn ngữ lập trình thường có 3 thành phần cơ bản là: bảng chữ cái, cú pháp và ngữ nghĩa. a) Bảng chữ cái: là tập các kí tự dùng để viết chương trình. Các kí tự này phải nằm trong bảng chữ cái được quy định, bao gồm: A, B, C, D Z và a, b, c, d z; Các số: 0, 1, 2, 3, , 9; Các dấu: +, -, *, /, =, , [, ], ;, &, {, }, (, ), %, #, ^, $. b) Cú pháp: là bộ quy tắc để viết chương trình. c) Ngữ nghĩa: xác định ý nghĩa thao tác cần phải thực hiện, ứng với tổ hợp kí tự dựa vào ngữ cảnh của nó. Ví dụ: Trong các ngôn ngữ lập trình thường dùng kí tự + để chỉ phép cộng. 2) Một số khái niệm a) Tên: Mọi đối tượng trong chương trình đều phải được đặt tên theo đúng quy tắc của ngôn ngữ lập trình cụ thể. Ví dụ: Trong Pascal tên là một dãy kí tự liên tiếp không quá 127 kí tự bao gồm chữ số, chữ cái, dấu gạch dưới và phải được bắt đầu bằng chữ cái hoặc dấu gạch dưới. b) Tên dành riêng: Mỗi ngôn ngữ lập trình sẽ quy định một số tên với ý nghĩa riêng xác định. Người lập trình không được sử dụng các tên đó với nghĩa khác. Những tên này gọi là tên dành riêng (từ khoá) c) Tên chuẩn: Mỗi ngôn ngữ lập trình sẽ quy định một số tên với ý nghĩa nhất định nào đó. Những tên này được gọi là tên chuẩn. Người lập trình có thể khai báo và dùng tên chuẩn với ý nghĩa khác. d) Tên do người lập trình đặt: Được xác định bằng cách khai báo trước khi sử dụng và phải không được trùng với tên dành riêng. e) Hằng Là đại lượng có giá trị không đổi trong quá trình thực hiện chương trình. Có ba loại hằng thường dùng là hằng số học, hằng xâu và hằng logic. f) Biến Là một đại lượng được đặt tên dùng để lưu trữ giá trị và giá trị này có thể được thay đổi trong quá trình thực hiện chương trình. g) Chú thích Mỗi ngôn ngữ lập trình đều có quy định các kí tự bắt đầu và kết thúc dùng để ghi chú thích. Dữ liệu nằm trong cặp kí hiệu này sẽ được chương trình dịch bỏ qua. IV. CỦNG CỐ Các thành phần của ngôn ngữ lập trình: bảng chữ cái, cú pháp, ngữ nghĩa; Khái niệm: tên, tên dành riêng, tên chuẩn, tên do người lập trình đặt, hằng, biến và chú thích. V. BÀI TẬP VỀ NHÀ Trả lời các câu hỏi và làm bài tập trong SGK và sách bài tập; Nắm được một số tên dùng riêng của Pascal (SGK trang 128); Chuẩn bị tiết sau giải các bài tập khó của chương I trong SGK và sách bài tập. Tiết 3: BÀI TẬP CHƯƠNG I Ngày soạn: //2009 Ngày dạy: //2009 I. MỤC ĐÍCH, YÊU CẦU Giúp học sinh ôn lại: Chương trình dịch: Dịch chương trình nguồn thành chương trình đích (thực thi được trên máy); Các loại chương trình dịch: Thông dịch và biên dịch; Các thành phần của ngôn ngữ lập trình: 3 thành phần; Tên, hằng, biến. II. PHƯƠNG TIỆN DẠY HỌC Sử dụng bảng hoặc máy chiếu nếu có điều kiện. Giáo viên có thể chuẩn bị một số câu hỏi trắc nghiệm để kiểm tra 15phút (vào cuối tiết). III. NỘI DUNG Câu 1: Tại sao người ta phải xây dựng các ngôn ngữ lập trình bậc cao ? Trả lời: Ngôn ngữ bậc cao gần với ngôn ngữ tự nhiên, thuận tiện cho nhiều người lập trình; Chương trình bậc cao nói chung không phụ thuộc vào phần cứng máy tính (thực hiện được trên nhiều loại máy khác nhau); Dễ hiểu, dễ hiệu chỉnh và dễ nâng cấp; Thuận tiện cho mô tả thuật toán. Câu 2: Chương trình dịch là gì ? Tại sao cần phải có chương trình dịch ? Trả lời: Là phần mềm có chức năng chuyển đổi chương trình được viết bằng ngôn ngữ bậc cao sang chương trình thực hiện được trên máy tính. Không có chương ... ần lặp, tăng biến đếm 1 đơn vị rồi quay lại bước B1. * Định lí Bohn Jacopini Mọi quá trình tính toán đều có thể mô tả và thực hiện dựa trên ba cấu trúc cơ bản là cấu trúc tuần tự, cấu trúc rẽ nhánh và cấu trúc lặp. Sơ đồ thực hiện: 1. Cấu trúc lặp tiến 2. Cấu trúc lặp lùi biến đếm >= giá trị đầu biến điếm:= giá trị cuối - Lệnh cần lặp; - Giảm biến điếm 1 đơn vị biến đếm <= giá trị cuối biến điếm:= giá trị đầu - Lệnh cần lặp; - Tăng biến điếm 1 đơn vị Điều kiện Lệnh cần lặp Đúng Sai 3. Lặp với số lần chưa biết trước Chương trình pascal để giải quyết các bài toán trên được viết như sau: Program Bai_toan_1; Uses crt; Var S: Real; i,a: integer; Begin Write(‘Nhap gia tri cua a=’); Readln(a); S:=1/a; For i:= 1 to 100 do S:= S+1/(a+i); Write(‘Tong S =’,S:8:2); Write(‘Nhan Enter de thoat’); Readln; End. Bài toán 2: Tương tự bài toán 1. Program Bai_toan_3; Uses crt; Var S: Real; i,a: integer; Begin Write(‘Nhap gia tri cua a=’); Readln(a); S:= 1/a; i:=0; While (1/(a+1)>=0,0001) do begin S:= S + 1/(a+i); i = i+1; end; Write(‘ Tong S =’,S:8:2); Write(‘ Nhan Enter de thoat’); Readln; End. IV. CŨNG CỐ Nhắc lại cấu trúc lệnh lặp for – do (tiến và lùi), sơ đồ thực hiện; Nhắc lại cấu trúc lệnh While – do, sơ đồ thực hiện; Cho học sinh làm một số ví dụ có sử dụng các cấu trúc lặp đã học để rèn luyện khả năng tư duy áp dụng đúng cấu trúc lặp. V. BÀI TẬP VỀ NHÀ Trả lời các câu hỏi và làm bài tập trong SGK trang 51 và sách bài tập; Chuẩn bị tiết sau luyện tập. VI. RÚT KINH NGHIÊM Tiết 14: BÀI TẬP Ngày soạn: //2008 Ngày dạy: //2008 I. MỤC ĐÍCH, YÊU CẦU Ôn lại cấu trúc rẽ nhánh và cấu trúc lặp; Biết áp dụng cấu trúc rẽ nhánh để làm các bài tập; Biết áp dụng cấu trúc lặp để làm các bài tập; Rèn luyện thêm kỹ năng viết chương trình trong Pascal. II. PHƯƠNG TIỆN DẠY HỌC Sử dụng bảng kết hợp máy chiếu để chiếu một số bài tập giáo viên chuẩn bị sẵn. III. NỘI DUNG Bài 3: Có thể dùng câu lệnh While do để thay thế cho câu lệnh For do được không? Nếu được, hãy thực hiện điều đó với chương trình Tong_1a. Trả lời: Có thể sử dụng câu lệnh While do để thay thế cho câu lệnh For do trong ví dụ 1a, khi đó ta chuyển giá trị cuối thành điều kiện của bài toán. Bài toán được phát biểu lại như sau: Tính cho đến khi i>100. Chương trình được viết lại: Program Bai_1a; Uses crt; Var S: Real; a,i: integer; Begin clrscr; write('Nhap vao gia tri a= '); readln(a); S:= 1/a; i:=1; While not(i>100) do begin S:= S + 1/(a+i); i := i+1; end; write('Ket qua S= ',S:6:2); Write('Nhan Enter de thoat'); Readln; End. Bài 4: Viết câu lệnh rẽ nhánh tính: a) Trả lời: nếu điểm (x,y) thuộc đường tròn O(a,b) bán kính r. ngược lại b) Trả lời: Bài 5: Lập trình tính: a) Trả lời: Program Bai_5a; Uses crt; Var Y: Real; n: integer; Begin clrscr; Y:=0; For n:= 1 to 100 do Y:= Y+n/(n+1); Write('Tong Y =',Y::2); Write('Nhan Enter de thoat'); Readln; End. b) cho đến khi Program Bai_5b; Uses crt; Var e,gt: Real; n: integer; Begin clrscr; gt := 1/2; e := 2 + gt; n:=3; While not(gt<2*1E-6) do begin gt:= gt*1/n; e := e+gt; n := n+1; end; write('Ket qua e(n)= ',e:6:2); write('Nhan Enter de thoat'); Readln; End. Bài 6: Lập trình giải bài toán cổ sau: Vừa gà vừa chó Bó lại cho tròn Ba mươi sáu con Một trăm chân chẵn Hỏi có bao nhiêu con mỗi loại? Trả lời: Program Bai_6; Uses crt; Var ga, cho: byte; Begin clrscr; for cho:=1 to 24 do begin ga:= 36 - cho; if ga + 2*cho = 50 then write('So ga la: ',ga,' So cho la: ',cho); end; Write('Nhan Enter de thoat'); Readln; End. Bài 7: Nhập từ bàn phím tuổi của cha và tuổi của con (hiện tại tuổi cha lớn hơn 2 lần tuổi con và tuổi cha hơn tuổi con ít nhất là 25 tuổi). Đưa ra màn hình câu trả lời cho câu hỏi “Bao nhiêu năm nữa thì tuổi cha gấp đôi tuổi con?”. Trả lời: Program Bai_7; Uses crt; Var cha, con, nam: integer; Begin clrscr; write('nhap vao tuoi cha va tuoi con'); write('Chu y: tuoicha > 2lan tuoicon va tuoicha - tuoicon>=25'); write('Tuoi cha = '); readln(cha); write('Tuoi con = '); readln(con); nam := 0; while not(cha = 2*con) do begin cha := cha + 1; con := con + 1; nam := nam +1; end; write('Sau ', nam,' thi tuoi cha gap doi tuoi con'); write('Nhan Enter de thoat'); Readln; End. Bài 8: Một người gửi tiết kiệm không thời hạn với số tiền ban đầu là A với lãi suất 0,3% mỗi tháng. Hỏi sau bao nhiêu tháng, người đó sẽ có số tiền rút về là B. Biết rằng tiền lãi không được cộng vào vốn. Trả lời: Program Bai_8; Uses crt; Const laisuat = 0.003; Var tienvon, tienrut, tinhlai: real; thang: integer; Begin clrscr; write('nhap vao so tien von'); readln(tienvon); write('nhap vao so tien muon co khi rut ve'); readln(tienrut); tinhlai := tienvon; thang := 0; while (tienvon < tienrut) do begin tienvon := tienvon + tinhlai*laisuat; thang := thang +1; end; write('Sau ', thang,' thang thi se co so tien rut ve la ',tienrut); write('Nhan Enter de thoat'); Readln; End. IV. BÀI TẬP VỀ NHÀ Xem bài thực hành số 2 và các chương trình đã viết trong tiết bài tập để tiết sau thực hành tại phòng máy. V. RÚT KINH NGHIÊM Tiết 15,16: BÀI TẬP VÀ THỰC HÀNH SỐ 2 Ngày soạn: //2008 Ngày dạy: //2008 I. MỤC ĐÍCH, YÊU CẦU Xây dựng chương trình có sử dụng cấu trúc rẽ nhánh (dạng thiếu và dạng đủ); Xây dựng chương trình có sử dụng cấu trúc lặp (lặp với số lần xác định và lặp với số lần chưa xác định); Sửa lỗi khi trình biên dịch phát hiện lỗi sai. II. PHƯƠNG TIỆN DẠY HỌC Thực hành trực tiếp trên máy tính. III. NỘI DUNG Bài 1: Bài toán Bộ số Pitago Bộ ba số nguyên a, b, c được gọi là bộ số Pitago nếu tổng bình phương của 2 số bằng bình phương số còn lại. Viết chương trình nhập từ bàn phím ba số nguyên a, b, c và kiểm tra xem chúng có phải là bộ số Pitago hay không ? Những công việc thực hiện: a) Học sinh gõ chương trình sau: program Pitago; uses crt; var a,b,c: integer; Begin clrscr; write('nhap gia tri a= '); readln(a); write('nhap gia tri b= '); readln(b); write('nhap gia tri c= '); readln(c); if (a*a = b*b + c*c) or (b*b = a*a + c*c) or (c*c = a*a + b*b) then write('Ba so ',a,' ',b,' ', c, 'la bo Pitago') else write('Ba so ',a,' ',b,' ', c, 'khong phai bo Pitago'); write('nhan phim Enter de thoat !'); readln; End. b) Lưu chương trình với tên PITAGO lên đĩa. c) Dịch và sửa lỗi chương trình (nếu có). d) Chạy chương trình với các bộ số bất kì. d) Nhấn phím F7 để thực hiện từng câu lệnh của chương trình, nhập các giá trị a = 3, b = 4, c = 5. Bài 2: Gõ các chương trình đã viết trong phần bài học và trong tiết bài tập để củng cố lại kiến thức về câu lệnh rẽ nhánh và câu lệnh lặp trong chương III. IV. BÀI TẬP VỀ NHÀ Ôn tập kiến thức của 3 chương đã học để chuẩn bị cho tiết kiểm tra 1 tiết. V. RÚT KINH NGHIÊM Tiết 17: KIỂM TRA 1 TIẾT I. Mục tiêu đánh giá: Đánh giá kiến thức và kỹ năng của học sinh về: Một số khái niệm về lập trình và ngôn ngữ lập trình; Cấu trúc chương tình; Một số kiểu dữ liệu chuẩn; Khai báo biến; Phép toán, biểu thức, lệnh gán; Các thủ tục vào/ra; Hiệu chỉnh chương trình; Cấu trúc rẽ nhánh và cấu trúc lặp. II. Mục đích, yêu cầu của đề: Kiểm tra kiến thức của học sinh về biết, hiểu và vận dụng các nội dung đã được học trong 3 chương (I, II, III). III. Ma trận đề: Nội dung Mức độ Chương I Chương II Chương III Biết Câu 1,3 Câu 3,8,9 Câu 1,2 Hiểu Câu 4 Câu 1,2,5 Câu 3 Vận dụng Câu 5,2 Câu 4,6,7,10 Câu 4,5,6,7,8,9 IV. Nội dung câu hỏi Chương I Câu 1: Chương trình dịch không có khả năng nào trong các khả năng sau: Phát hiện lỗi ngữ nghĩa; Phát hiện lỗi cú pháp; Thông báo lỗi cú pháp; Tạo được chương trình đích. Câu 2: Tên (do người dùng đặt) nào sau đây là đúng trong Pascal? Lớp 11 Lop 11 Lop11 11 Lớp 11 Câu 3: Biểu diễn nào dưới đây là từ khoá trong Pascal? Real; Sqrt; “End” Const Câu 4: Hãy chọn những biểu diễn hằng trong những biểu diễn dưới đây: ’11a’ -0.5 1024 11A Câu 5: Điền vào dấu () trong câu sau: “Ba thành phần cơ bản của ngôn ngữ lập trình bậc cao là: bảng chữ cái, và ngữ nghĩa”. Chương II Caâu 1: Ñeå giaûi pt baäc nhaát ax + b = 0 vôùi a, b thuoäc kieåu Integer thì bieán x thuoäc kieåu naøo trong caùc kieåu sau? Byte Integer Real Char Caâu 2: Bieán x ñöôïc khai baùo nhö sau: Var x: integer; thì x coù theå nhaän giaù trò naøo? 12 1.4 “pascal” true Caâu 3: Cho bieåu thöùc sau: Not (x=1), choïn phaùt bieåu ñuùng nhaát? a. “x beù hôn 1” b. “x lôùn hôn 1” c. “x khoâng baèng 1” d.“x baèng 1” Caâu 4: Haõy cho bieát keát quaû in ra maøn hình sau khi thöïc hieän daõy leänh sau? X:= 10; Y:= 5; X:= X+Y; Y:=X; X:= X+Y; Write(X,’,’,Y); 25,10 10,25 5,25 5,10 Caâu 5: Cho x, y, z laø caùc bieán kieåu nguyeân, leänh naøo ñuùng trong caùc leänh sau? x+y:=z; writeln(x,y,z:0:2); x:=y/z; Realn (x,y,z); Caâu 6: Cho bieát keát quaû traû veà cuûa bieåu thöùc sau: ((3>2) and (4>3)) or ((43)) True False And Or Caâu 7 : Cho bieát keát quaû traû veà cuûa bieåu thöùc sau: Round ((5mod2 + 6div3)/2); 1 1.5 2 2.5 Caâu 8: Trong NNLT Pascal töø khoùa Var duøng ñeå ? Khai baùo bieán Khai baùo haèng Khai baùo kieåu Khai baùo thö vieän chöôøn trình maãu. Câu 9: Để nhập dữ liệu cho 3 biến a,b,c ta viết lệnh : read(a); read(b); read(c); readln(a);readln(b,c); readln(a,b,c); Các câu trả lời đều đúng Câu 10: Đoạn chương trình sau cho kết quả là : S:=5; Writeln(‘ket qua là :’ , s+10); Readln; ‘ket qua la :’ , 15 ket qua la : 15 15 5 Chương III Câu 1: Các lệnh nào trong ngôn ngữ lập trình Pascal ta dùng để lặp: Whiledo, ifthen For todo, ifthen While do, forto(downto)do Ifthen, while do, forto(downto)do Câu 2: Trong Pascal, biến đếm của lệnh Forto(downto)do phải có kiểu dữ liệu là: Kiểu thực Kiểu nguyên hoặc thực Kiểu nguyên hoặc thực hoặc kí tự Kiểu nguyên hoặc kí tự hoặc logic Câu 3: Cho biết các lệnh sau có mấy lỗi cú pháp: Var a,b:byte; If a>b then writeln(a); else write(b) Không có lỗi Có 1 lỗi Có 2 lỗi Có 3 lỗi Câu 4: Cho a, b là các biến kiểu nguyên, kết quả in ra màn hình của đoạn chương trình sau là bao nhiêu? a:=10; b:=15; While a<b do Begin a:=a+3; b:=b-1; End; Write(a:4); a. 13 b. 16 c. 19 d. 14 Câu 5: Cho S, i là biến nguyên. Khi chạy đoạn chương trình: S:=1; For i:=1 to 10 do s:=s+i; Writeln(s); Kết quả in ra màn hình là: a.11 b.55 c. 56 d. 101 Câu 6: Hãy cho biết kết quả in ra màn hình là bao nhiêu khi x là biến thực? x:=10; If x<=10 then x:=x-5; Writeln(x:3:1); a. 10.0 b. 5.0 c.5 d. 10 Câu 7: Cho a,b là biến nguyên, lệnh nào sau đây in ra màn hình số lớn nhất giữa a và b? If a >b then readln(a) else readln(b); If a<b then writeln(a) else writeln(b); If a>b then write(a) else write(b); If a>b then write(b) else write(a); nếu x >= y nếu x<y Câu 8: Viết câu lệnh trong Pascal mô tả cho bài toán sau: Câu 9: Lập trình tính
Tài liệu đính kèm: