Giáo án Tin học Lớp 8 - Học kỳ II - Năm học 2016-2017 - Phạm Thị Cúc
I. Mục tiêu bài học:
1. Kiến thức, kĩ năng, thái độ
* Kieỏn thửực: Vận dụng kiến thức của vòng lặp for do, câu lệnh ghép để viết chơng trình, tìm hiểu câu lệnh gotoxy(), where<>, lệnh for lồng trong for
* Kyừ naờng:
Viết chơng trình có sử dụng vòng lặp for do;
Sử dụng câu lệnh ghép trong chơng trình;
Rèn luyện kỹ năng đọc hiểu chơng trình có sử dụng vòng lặp for . do.
* Thái độ: Thái độ học tập nghiêm túc, tích cực làm các bài thực hành.
2. Năng lực có thể hình thành và phát triển cho học sinh:
- Hình thành năng lực chủ động, tự điều khiển trong hoạt động học
- Hình thành năng lực giải quyết vấn đề và sáng tạo, năng lực khoa học máy tính cơ bản
II. Chuẩn bị về tài liệu và phương tiện dạy học:
1. Giáo viên : - SGK, SGV, tài liệu, Giáo án
- Chuẩn bị phòng thực hành đủ số máy tính hoạt động tốt.
2. Học sinh :
- Đọc trớc bài thực hành.
- Học thuộc kiến thức lý thuyết đã học.
III. Tổ chức hoạt động học của học sinh:
1. Hoạt động dẫn dắt vào bài:
- Kiểm tra bài cũ: (trong quá trình thực hành)
2. Hoạt động hình thành kiến thức:
S: Chú ý quan sát và ghi chép. - HS: Chú ý quan sát và ghi chép. - HS: Chú ý quan sát. 1. Dãy số và biến mảng Các câu lệnh khai báo và nhập dữ liệu: Var Diem_1, Diem_2, Diem_3, : real; Read(Diem_1); Read(Diem_2), Read(Diem_3); Nếu số học sinh trong lớp càng nhiều thì đoạn khai báo và đọc dữ liệu trong chương trình càng dài. Giả sử chúng ta có thể lưu nhiều dữ liệu có liên quan với nhau (như Diem_1, Diem_2, Diem_3,... ở trên) bằng một biến duy nhất và đánh "số thứ tự" cho các giá trị đó, ta có thể sử dụng quy luật tăng hay giảm của "số thứ tự" và một vài câu lệnh lặp để xử lí dữ liệu một cách đơn giản hơn, chẳng hạn: - Với i = 1 đến 50: hãy nhập Diem_i; - Với i = 1 đến 50: hãy so sánh Max với Diem_i; - Để giải quyết vấn đề trên Pascal cung cấp một kiểu dữ liệu được gọi là kiểu mảng. - Khi khai báo một biến có kiểu dữ liệu là kiểu mảng thì biến đó được gọi là biến mảng. Hình 40 2. Ví dụ về biến mảng (20 phút) Có hai cách khai báo biến mảng Cách 1: Khai báo trực tiếp biến mảng một chiều: var : array [kiểu chỉ số] of [kiểu phần tử]; Cách 2: Khai báo gián tiếp biến mảng qua kiểu mảng một chiều: type = array [kiểu chỉ số] of ; var :; trong đó: - kiểu chỉ số là một dãy số nguyên liên tục n1..n2 với n1, n2 là các hằng (hoặc biểu thức cho kết quả là số nguyên) xác định chỉ số đầu tiên và chỉ số cuối cùng (n1£n2). - kiểu phần tử là kiểu của các phần tử mảng. Ví dụ: Var Chieucao: array[1...50] of real; Var Tuoi: array [21...80] of integer; Tên mảng: array [...] of Var Diem: array [1...50] of real; - Có thể thay rất nhiều câu lệnh nhập và in dữ liệu ra màn hình chỉ bằng một câu lệnh lặp. For i: = 1 to 50 do If Diem[i] > 8.0 then writeln ('Gioi'); Var DiemToan, DiemVăn, DiemLi: array [1 ... 50] of real; A[1] := 5; A [2] := 8; - Nhập dữ liệu từ bàn phím bằng câu lệnh lặp: For i := 1 to 5 do readln (a[i]); 3. Hoạt động luyện tập HS làm Bt 2: SGK ? 1 hs đọc yêu cầu đề bài. Đáp án: a b c d e s s s s đ - Khái niệm mảng một chiều - Cách khai báo mảng, nhập, in, truy cập các phần tử của mảng 4. Hoạt động vận dụng: 5. Hoạt động tìm tòi, mở rộng - Về nhà xem lại bài học tiết sau chúng ta học tiếp. IV. RÚT KINH NGHIỆM: .. Khánh Hưng, ngày 04/03/ 2017 Kí duyệt: Trần Chí Nguyện Ngày soạn: 9/3/2017 Tuần: 27 Tiết: 51 BÀI 9: LÀM VIỆC VỚI DÃY SỐ (tt) I. Mục tiêu bài học: 1. Kiến thức, kĩ năng, thái độ * Kiến thức: - Biết được khái niệm mảng một chiều - Biết cách khai báo mảng, nhập, in, truy cập các phần tử của mảng * Kyõ naêng: Hiểu thuật toán tìm số lớn nhất, nhỏ nhất của một dãy số. * Thaùi ñoä: Nghiêm túc, yêu thích môn học 2. Năng lực có thể hình thành và phát triển cho học sinh: - Hình thành năng lực giải quyết vấn đề và sáng tạo: Vận dụng cú pháp mảng viết được chương trình bảng điểm của em. II. Chuẩn bị về tài liệu và phương tiện dạy học: 1. Giáo viên: Giáo án, máy chiếu, sgk. 2. Học sinh: Ôn tập cú pháp câu lệnh lặp, cách khai báo biến, hằng. III. Tổ chức hoạt động học của học sinh: 1. Hoạt động dẫn dắt vào bài: Kieåm tra baøi cuõ: Em hãy nêu cú pháp khai báo mảng trong pascal, chỉ rõ các thành phần trong cú pháp? Cho ví dụ? 2. Hoạt động hình thành kiến thức: HOẠT ĐỘNG CỦA GV VÀ HS NỘI DUNG Hoạt động 1: Tìm giá trị lớn nhất và nhỏ nhất của dãy số - GV: Yêu cầu HS đọc ví dụ 3 (SGK Tr 78). - GV: Giới thiệu thuật toán tìm MAX (số lớn nhất của dãy số nguyên nhập từ bàn phím). - Sau khi giới thiệu xong thuật toán tìm Max giáo viên hướng dẫn HS xác định các biến, kiểu biến và viết khai báo biến; viết câu lệnh thực hiện các bước nhập N, nhập các phần tử của mảng, tìm Max, in Max ra màn hình. - GV: Từ các hướng dẫn trên giúp HS có thể hiểu được các đoạn cương trình. GV đưa ra chương trình đầy đủ. Hoạt động 2 : Thực hành - GV: Yêu cầu HS nhập lại chương trình vừa học, dịch, chạy chương trình và nhận xét kết quả. - HS: Đọc ví dụ SGK. - HS: Chú ý quan sát và ghi chép. - HS: Theo hướng dẫn thực hiện các yêu cầu của - HS: Hình thành được các đoạn chương trình và quan sát, ghi chép lại chương trình đầy đủ GV đưa ra. - HS: Khởi động máy tính và thực hành. 3. Tìm giá trị lớn nhất và nhỏ nhất của dãy số Thuật toán tìm Max của dãy số nguyên nhập từ bàn phím như sau: Bước 1. Nhập N và dãy A1,..., An Bước 2. Max ¬ A1 Bước 3. Lần lượt gán giá trị từ 2 đến N cho i. Với mỗi giá trị của i thì thực hiện: Nếu Max <Ai thì Max¬Ai Bước 4. Đưa ra màn hình giá trị Max rồi kết thúc. program P_Max; Var i, N, Max : integer; A: array[1..100] of integer; Begin {Nhap N} write('Hay nhap do dai cua day so, N = '); readln(N); {Nhap day so} writeln('Nhap cac phan tu cua day so:'); For i:=1 to N do Begin write('a[',i,']='); readln(a[i]); End; {Tim Max} Max:=a[1]; for i:=2 to n do if Max<a[i] then Max:=a[i]; {Hien thi Max ra man hinh} write('So lon nhat la Max = ',Max); readln; End. Thực hành 3. Hoạt động luyện tập - Khái niệm mảng một chiều - Cách khai báo mảng, nhập, in, truy cập các phần tử của mảng. - Thuật toán tìm số lớn nhất và nhỏ nhất trong mảng 4. Hoạt động vận dụng: 5. Hoạt động tìm tòi, mở rộng - Về nhà xem lại bài học. IV. RÚT KINH NGHIỆM: .. Ngày soạn: 9/3/2017 Tuần: 27 Tiết: 52 BAØI TAÄP I. Mục tiêu bài học: Kiến thức, kĩ năng, thái độ * Kiến thức: Viết chương trình Pascal sử dụng câu lệnh về biến mảng. * Kỹ năng: Rèn luyện khả năng đọc chương trình, tìm hiểu tác dụng và kết hợp các câu lệnh. * Thaùi ñoä: Nghieâm tuùc trong hoïc taäp, coù tinh thaàn hoïc hoûi, saùng taïo . 2. Năng lực có thể hình thành và phát triển cho học sinh: - Hình thành năng lực giải quyết vấn đề và sáng tạo: Ứng dụng phục vụ cho học tập cuộc sống, gia đình, xã hội. II. Chuẩn bị về tài liệu và phương tiện dạy học: 1. Giaùo vieân: - Phoøng maùy hoaït ñoäng oån ñònh, baøi taäp. 2. Hoïc sinh: - Saùch giaùo khoa, vôû, vieát, thöôùc keû. Xem baøi môùi tröôùc khi leân lôùp. III. Tổ chức hoạt động học của học sinh: Hoạt động dẫn dắt vào bài: - Kiểm tra bai cũ: Trong quá trình làm bài tập. 2. Hoạt động hình thành kiến thức: HOẠT ĐỘNG CỦA GV VÀ HS NỘI DUNG I. Phần biến mảng GV: Đưa ra các bài tập ở SGK và gọi học sinh lên bảng trả lời. 1) Hãy nêu các lợi ích của việc sử dụng biến mảng trong chương trình. 2) Đáp án a) Sai. Phải thay dấu phẩy bằng hai dấu chấm; b) và c) Sai, vì giá trị nhỏ nhất và lớn nhất của chỉ số mảng phải là số nguyên; d) Sai, vì giá trị đâu của chỉ số mảng phải nhỏ hơn hoặc bằng chỉ số cuối; e) Đúng. 3) "Có thể xem biến mảng là một biến được tạo từ nhiều biến có cùng kiểu, nhưng chỉ dưới một tên duy nhất". Phát biểu đó đúng hay sai? 4) Câu lệnh khai báo biến mảng sau đây máy tính có thực hiện được không? var N: integer; A: array[1..N] of real; 5) Viết chương trình Pascal sử dụng biến mảng để nhập từ bàn phím các phần tử của một dãy số. Độ dài của dãy cũng được nhập từ bàn phím 1) Lợi ích chính của việc sử dụng biến mảng là rút gọn việc viết chương trình, có thể sử dụng câu lệnh lặp để thay nhiều câu lệnh. Ngoài ra chúng ta còn có thể lưu trữ và xử lí nhiều dữ liệu có nội dung liên quan đến nhau một cách hiệu quả. 2) Các khai báo biến mảng sau đây trong Pascal đúng hay sai? var X: Array[10,13] Of Integer; var X: Array[5..10.5] Of Real; var X: Array[3.4..4.8] Of Integer; var X: Array[10..1] Of Integer; var X: Array[4..10] Of Real; 3) Đúng 4) Không. Giá trị nhỏ nhất và lớn nhất của chỉ số mảng phải được xác định trong phần khai báo chương trình. 5) Học sinh thực hành trên máy Chương trình có thể như sau: Program Do_dai; var N, i: integer; A: array[1..100] of integer; begin write('Nhap so phan tu cua mang, n= ',n); writeln('Nhap cac phan tu cua day so:'); For i:=1 to N do Begin write('a[',i,']='); readln(a[i]); End; readln end. 3. Hoạt động luyện tập: - Loãi chöông trình thöôøng gaëp. - Tham chieáu tôùi phaàn töû cuûa maûng ñöôïc xaùc ñònh baèng caùch: [chæ soá]. 4. Hoạt động vận dụng: 5. Hoạt động tìm tòi, mở rộng - Xem laïi caùc baøi ñaõ hoïc chuaån bò thöïc haønh bài xöû lyù daõy soá IV. RÚT KINH NGHIỆM Khánh Hưng, ngày 11/03/ 2017 Kí duyệt: Trần Chí Nguyện Ngày soạn: 9/3/2017 Tuần: 28 Tiết: 53 BÀI TẬP (tt) I. Mục tiêu bài học: Kiến thức, kĩ năng, thái độ * Kiến thức: ViÕt ®îc chương tr×nh Pascal cã sö dông vßng lÆp While ... do * Kỹ năng: BiÕt sö dông c©u lÖnh ghÐp. RÌn kü n¨ng ®äc hiÓu chương tr×nh cã sö dông vßng lÆp while ... do * Thái độ: Thái độ học tập nghiêm túc, tích cực làm các dạng bài tập ứng dụng. 2. Năng lực có thể hình thành và phát triển cho học sinh: - Hình thành năng lực giải quyết vấn đề và sáng tạo: Vận dụng vào viết chương trình các bài toán. II. Chuẩn bị về tài liệu và phương tiện dạy học: - GV: Sách giáo khoa, giáo án, tài liệu tin học có liên quan. - HS: Đọc tài liệu ở nhà trước khi III. Tổ chức hoạt động học của học sinh: 1. Hoạt động dẫn dắt vào bài: - Kiểm tra bai cũ: Trong quá trình làm bài tập. 2. Hoạt động hình thành kiến thức: HOẠT ĐỘNG CỦA GV VÀ HS NỘI DUNG - GV làm bài tập theo nhóm Bài 6: LËp tr×nh tÝnh tæng dïng lÖnh lÆp While ...do. Trong đó n lµ sè tù nhiªn ®ưîc nhËp tõ bµn phÝm. - HS làm bài theo nhóm chia làm 5 nhóm, hoạt động cá nhân 4’, cả nhóm 3’ viết vào bảng phụ. Bài 7: Viết chương trình tìm ƯCLN(a,b). Biết a, b được nhập từ bàn phím. a,b Bài 8: Viết chương trình tìm BCNN(a,b). Biết a, b được nhập từ bàn phím. Bài 9: Xem ví dụ sau trong pascal: Uses crt; Var i:integer; Begin Clrscr; I:=1 while i<15 do begin Writeln(‘0’); i:=i+1 End; Readln; End. Ví dụ trên ghi ra màn hình bao nhiêu chữ số 0? (14) Giải Program tinhA; Uses CRT; Var i, n: integer; tong: real; BEGIN Clrscr; write('cho so tu nhien n: '); Readln(n); tong:=0; i:=1; while i<= n do Begin tong:= tong+ 1/i; i: = i+1; End; writeln(' Tong can tim la: ', tong:12:6); Readln; END. Giải Program timUCLN; Uses Crt; Var a,b,r,a1,b1: integer; BEGIN ClrScr; Write(‘Nhap so thu nhat, a= ‘); Readln(a); a1:= a; Write(‘Nhap so thu hai, = ‘); Readln(b); b1:= b; While a mod b 0 do Begin r:= a mod b; a: = b; b: = r; End; Write (‘ Vay UCLN(‘, a1, ‘;’,b1,’)=’,b:2); Readln END. Giải Program timBCNN; Uses Crt; Var a,b,n,min,max,max1: integer; BEGIN ClrScr; Write(‘Nhap so thu nhat, a= ‘); Readln(a); a1:= a; Write(‘Nhap so thu hai, = ‘); Readln(b); b1:= b; If a>b then Begin max: = a; min:=b; End Else Begin max:=b; min:= a; End; n:= 2; max1:=max; While max mod min 0 Do Begin max:= max1*n; inc(n); {n:=n+1} End; Write (‘ Vay BCNN(‘, a, ‘;’,b,’)=’,max:2); Readln END. 3. Hoạt động luyện tập: - Học bài. - Làm lại các bài tập. 4. Hoạt động vận dụng: 5. Hoạt động tìm tòi, mở rộng - Hướng dẫn các em về nhà xem lại phần lí thuyết đã học và thực hiện lại các bài tập đã làm IV. RÚT KINH NGHIỆM . . Ngày soạn: 9/3/2017 Tuần: 28 Tiết: 54 KIỂM TRA 1 TIẾT I. Mục tiêu bài học: Kiến thức, kĩ năng, thái độ * Kiến thức: - Vận dụng kiến thức bài 6, 7, 8 vào bài kiểm tra. - Đánh giá kiến thức của học sinh Chương I. Lập trình đơn giản + Câu lệnh lặp + Câu lệnh lặp + Ví dụ về câu lệnh lặp + Tính tổng và tích bằng câu lệnh lặp + Lặp với số lần chưa biết trước + Các hoạt động với lặp số lần chưa biết trước + Ví dụ về lệnh lặp với số lần chưa biết trước * Kĩ năng: - Viết chương trình có câu lệnh lặp For..to..do, while..do - Đọc hiểu chương trình * Thái độ: Nghiêm túc trong giờ kiểm tra. 2. Năng lực có thể hình thành và phát triển cho học sinh: - Hình thành năng lực giải quyết vấn đề và sáng tạo: Tư duy những kiến thức đã học. II. Chuẩn bị về tài liệu và phương tiện dạy học: * GV: Ra đề và đáp án, đánh máy, in ấn, phôtô 40 bản. * HS: Ôn tập kỹ. III. Tổ chức hoạt động học của học sinh: Hoạt động dẫn dắt vào bài: Hoạt động hình thành kiến thức: MA TRẬN ĐỀ Chủ đề Cấp độ tư duy Cộng Nhaän bieát Thoâng hieåu Vaän duïng Thấp Cao Làm quen với chương trình và ngôn ngữ lập trình C17, 18 2 5% 2 Câu lệnh lặp C1, 2, 4, 7 C5, 10, 11 C12 8 20% 4 3 1 Lặp với số lần chưa biết trước C3, 8 C9, 13, 16, 22 C21 7 40,25% 2 4 1 Làm việc với dãy số C19, 14 C6, 15, 20 C23 6 30,25% 2 3 1 Cộng 10 25% 10 37,5% 2 17,5% 1 20% 23 100% CHỦ ĐỀ TT CÂU MÔ TẢ 1. Làm quen với chương trình và ngôn ngữ lập trình 1 NB Tổ hợp phím để kiểm tra lỗi chạy một chương trình 2 NB Cách khai báo biến hợp lệ 2. Câu lệnh lặp Fortodo 3 NB Định nghĩa được câu lệnh lặp với số lần biết trước 4 NB Cú pháp câu lệnh Fortodo hợp lệ 5 NB Biết cú pháp câu lệnh lặp với số lần biết trước 6 NB Biết được câu lệnh lặp bao nhiêu vòng lặp 7 TH Sử dung được câu lệnh lặp để áp dụng tính một số phép toán đơn giản. 8 TH Sử dung được câu lệnh lặp để áp dụng tính một số phép toán đơn giản. 9 TH Sử dung được câu lệnh lặp để áp dụng tính một số phép toán đơn giản. 10 VD Tính được số vòng lặp trong câu lệnh Fortodo 3. Câu lệnh lặp Whiledo 11 NB Biết và viết đúng cú pháp câu lệnh lặp while...do 12 NB Biết được câu lệnh lặp bao nhiêu vòng lặp 13 TH Hiểu được câu lệnh lặp bao nhiêu vòng lặp 14 TH Một đoạn chương trình Pascal có sử dụng câu lệnh Whiledo cho sẵn 15 TH Hiểu được ví dụ trong thực tế 16 TH Nhận biết được đúng sai trong định nghĩa câu lệnh. 17 VDT Sắp xếp 1 chương trình Pascal đơn giản 4. Làm việc với dãy số 18 NB Cách khai báo biến mảng hợp lệ 19 NB Định nghĩa được cấu trúc dữ liệu kiểu mảng 20 TH Hiểu cú pháp và các thành phần có trong biến mảng 21 TH Hiểu hoạt động của các câu lệnh khi kết hợp với biến mảng 22 TH Từ định nghĩa đưa ra những nhận định đúng 23 VDC Viết được 1 chương trình kết hợp giữa dãy số và câu lệnh lặp Fortodo NỘI DUNG ĐỀ KIỂM TRA: ĐỀ 1 : A: TRẮC NGHIỆM (5đ) Haõy choïn phöông aùn ñuùng nhaát trong caùc caâu hoûi sau : Caâu 1: Trong voøng laëp For := to do cuûaPascal, trong moãi voøng laëp, bieán ñeám thay ñoåi nhö theá naøo: +1 -1 +2 +3 Caâu 2: Phaùt bieåu naøo sau ñaây laø ñuùng: Caáu truùc laëp ñöôïc söû duïng ñeå chæ thò cho maùy tính thöïc hieän laëp laïi moät vaøi hoaït ñoäng naøo ñoù cho ñeán khi moät ñieàu kieän naøo ñoù ñöôïc thoaû maõn. Chæ ngoân ngöõ laäp trình Pascal môùi coù caùc caâu leänh laëp ñeå theå hieän caáu truùc laëp. Ngoân ngöõ Pascal theå hieän caáu truùc laëp vôùi soá laàn laëp cho tröôùc baèng caâu leänh Whiledo. Ngoân ngöõ Pascal theå hieän caáu truùc laëp vôùi soá laàn laëp chöa bieát tröôùc baèng caâu leänh Fordo. Caâu 3: Caâu leänh laëp whiledo coù daïng ñuùng laø: x:=10; While x:=10 do x:=x+5; x:=10; While x:=10 do x=x+5; x:=10; While x=10 do x=x+5; x:=10; While x=10 do x:=x+5; Caâu 4: Caâu leänh pascal naøo sau ñaây laø hôïp leä? For i:=100 to 1 do writeln(‘A’); For i:= 1 to 10 do writeln(‘A’); For i:=1.5 to 10.5 do writeln(‘A’); For i= 1 to 10 do writeln(‘A’); Caâu 5: Cho S vaø i laø bieán nguyeân. Khi chaïy ñoaïn chöông trình : s:=0; for i:=1 to 5 do s := s+i; writeln(s); Keát quaû in leân maøn hình laø cuûa S laø : 11 15 10 5 Câu 6: Khai báo biến mảng: A : array[1..7] of real;. Sử dụng câu lệnh For i:= 1 to 5 do readln(A[i]); để gán giá trị cho các phần tử trong biến A từ bàn phím, ta sẽ nhập được bao nhiêu giá trị? A. 4; B. 5; C. 6; D. 7. Caâu 7: Trong caâu leänh laëp For i:=1 to 10 do begin .. End Caâu leänh gheùp ñöôïc thöïc hieän bao nhieâu laàn (bao nhieâu voøng laëp ñöôïc thöïc hieän): khoâng laàn naøo. 2 laàn. 1 laàn. 10 laàn. Caâu 8: Tìm hieåu ñoaïn leänh sau vaø cho bieát vôùi ñoaïn leänh ñoù chöông trình thöïc hieän bao nhieâu voøng laëp: S:=0; n:=0; While S< =10 do Begin n:=n+1; s:=s+n; end; 4 laàn 5 laàn 6 laàn 10 Caâu 9: Caâu leänh naøo sau ñaây laëp voâ haïn laàn: s:=5; i:=0; While i<=s do s:=s + 1; s:=5; i:=1; While i<=s do i:=i + 1; s:=5; i:=1; While i> s do i:=i + 1; s:=0; i:=0; While i<=n do if (i mod 2)=1 then S:=S + i else i:=i+1; Caâu 10: Ñeå tính toång S=1 + 2 +3 +4 + n; em choïn ñoaïn leänh: for i:=1 to n do if ( i mod 2)=0 then S:=S + i; for i:=1 to n do if ( i mod 2)=1 then S:=S + i; for i:=1 to n do S:= S + i ; for i:=1 to n do if ( i mod 2)0 then S:=S + i; Caâu 11: Ñeå tính toång S=2 + 4 + 6 + n; em choïn ñoaïn leänh: For i:=1 to n do if ( i mod 2)=0 then S:=S + i; For i:=1 to n do S:= S + i ; For i:=1 to n do if ( i mod 2)=1 then S:=S + i; for i:=1 to n do if ( i mod 2)0 then S:=S + i; Caâu 12: Ñeå tính toång S=1/2+1/4 + 1/6 + +1/ n; em choïn ñoaïn leänh: for i:=1 to n do if ( i mod 2)=0 then S:=S + 1/i; for i:=1 to n do if ( i mod 2) 0 then S:=S + i; for i:=1 to n do if ( i mod 2)=0 then S:=S – 1/i else S:= S + 1/i; for i:=1 to n do if ( i mod 2)=0 then S:=S +1/ i else S:=S-1/i; Câu 13: Vòng lặp sau cho kết quả bằng bao nhiêu: i := 0; T := 0; While i < 3 do begin T := T + 1; i := i + 1; end; A. T = 2 B. T = 3 C. T = 4 D. T = 5 Câu 14: Cú pháp khai báo biến mảng trong Pascal là: A. var ;array [..] of; B. var :aray[...] of ; C. var : array [..] of ; D. var : array [...] for; Câu 15: Khai báo mảng A gồm 30 phần tử từ 3 đến 33 là các số nguyên thì ta khai báo gì: A. A: Array [1..30] of integer; B. A :Array [3...33] of integer; C. A :Array [3..33] of integer; D. A :Array [33] of integer; Câu 16: Nhặt thóc ra khỏi gạo đến khi trong gạo không còn thóc là : A. Lặp với số lần biết trước B. Lặp vô số lần C. Lặp 10 lần D. Lặp với số lần chưa biết trước Câu 17: Để sửa lỗi chương trình Turbo Pascal ta sử dụng phím tắt nào trong các phím sau: A. F9 B. Shift + F9 C. Ctrl + F9 D. Alt + F9 Câu 18: Các cách khai báo biến sau đây, cách khai báo nào là hợp lệ trong Turbo Pascal A. Var a = integer; B. Var a: integer; C. Var a: array; D. Var: a: integer; Câu 19: Trong các cách khai báo biến mảng sau đây, cách khai báo nào là hợp lệ: A. var a: array[1..100] of integer; B. var a: array[1.5..100.5] of integer; C. var a: array[1, 100] of integer; D. var a: array[1.5, 100.5] of integer; Câu 20: Trong câu lệnh khai báo biến mảng, phát biểu nào sau đây đúng: A. Chỉ số đầu và chỉ số cuối là 2 số nguyên; B. Chỉ số đầu £chỉ số cuối; C. Kiểu dữ liệu có thể là integer hoặc real; D. Cả ba ý trên; B. TỰ LUẬN: (5đ) Câu 21: Hãy sắp xếp lại đoạn chương trình sau cho đúng: (1.5đ) Var s, n: integer; S:=0; n:=1; While S<=100 do n:=n+1; S:=S+n; End; Writeln(‘so n nho nhat de tong>100 la’,n); Readln; End. Begin Begin Writeln(‘tong dau tien >100)la’,S); Caâu 22: Haõy xaùc ñònh ñuùng sai cho nhöõng phaùt bieåu döôùi ñaây (1.5đ) Noäi dung Ñuùng Sai a. Trong caâu leänh sau do cuûa caâu leänh laëp While do phaûi coù leänh laøm thay ñoåi giaù trò cuûa ñieàu kieän ñieàu khieån voøng laëp, ñeå sau moät soá laàn höõu haïn laàn laëp, ñieàu kieän phaûi coù giaù trò “sai”, voøng laëp seõ ñöôïc keát thuùc (khoâng bò laëp voâ haïn laàn). b. Trong nhieàu tröôøng hôïp, vieäc thöïc hieän caâu leänh laëp While do toán ít thôøi gian hôn so vôùi caâu leänh laëp for do. c. Caâu leänh sau do trong caâu leänh laëp while do coù theå khoâng ñöôïc thöïc hieän laàn naøo neáu ngay töø ñaàu ñieàu kieän ñieàu khieån voøng laëp coù giaù trò “sai”. d. Moïi caâu leänh laëp Fordo ñeàu coù theå thay theá moät caùch thích hôïp bôûi caâu leänh While..do. Câu 23: (2đ) Viết chương trình nhập mảng A có 10 phần tử kiểu nguyên và xuất ra các giá trị của mảng đó (sử dụng biến mảng). ĐÁP ÁN – THANG ĐIỂM A. Trắc nghiện (5đ) Mỗi ý đúng được 0,25đ Câu 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Đáp án A A D B B B D A A C A A A C C D D B A D B. Tự luận (5đ) Câu 21: Hãy sắp xếp lại đoạn chương trình sau cho đúng (1.5đ) Var s,n:integer; Begin S:=0; n:=1; While S<=1000 do Begin S:=S+n; n:=n+1; end; Writeln(‘so n nho nhat de tong>100 la’,n); Writeln(‘tong dau tien >100)la’,S); Readln; End. Câu 22 (1.5đ): A: Đúng ; B: Sai ; C: Đúng; D: Đúng Câu 23(2đ): Program trung_binh; Uses crt; Var n, i: integer; A: array[1..10] of integer; Begin Clrscr; For i := 1 to 10do Begi
File đính kèm:
- giao_an_tin_hoc_lop_8_hoc_ky_ii_nam_hoc_2016_2017_pham_thi_c.doc