Tiết 37- HỌC VẼ HÌNH VỚI PHẦN MỀM GEOGEBRA (T3)
I. MỤC TIÊU BÀI HỌC :
Kiến thức: HS biết được các đối tượng hình học cơ bản của phần mềm và quan hệ giữa chúng.
Kĩ năng: HS sử dụng được các công cụ liên quan đến hình tròn, các công cụ biến đổi hình học để vẽ hình.
Thái độ: HS có ý thức ứng dụng phần mềm trong việc học tập của mình.
II. TÀI LIỆU VÀ PHƯƠNG TIỆN:
1. Chuẩn bị của GV: Tranh ảnh SGK, máy vi tính cài sẵn phần mềm Geogebra, máy chiếu, SGK, SGV, Giáo án, đồ dùng dạy học.
2. Chuẩn bị của HS : SGK, SBT, đồ dùng học tập.
3. Phương pháp: Nêu vấn đề, gợi mở vấn đề, hoạt động nhóm
) của bài toán là gì? ? Dữ liệu đầu ra (Output) của bài toán là gì? GV gọi 2 HS nêu thuật toán đã chuẩn bị trước. GV nhận xét và đưa ra thuật toán: ? Dựa vào thuật toán ở trên theo em cần khai báo những biến gì cho chương trình bài toán ? các biến đó có kiểu dữ liệu gì ? Gọi một số HS trả lời. GV nhận xét và đưa ra chương trình như SGK, yêu cầu HS đọc và tìm hiểu ý nghĩa từng câu lệnh. GV mô phỏng hoạt động chính của chương trình với N=3 : Bài tập 1 (SGK-72): Thuật toán: Bước 1: nhập N là số lượng số thực sẽ được nhập từ bàn phím. Dem! 0; Sum! 0; Bước 2: Trong khi dem<N thì Nhập giá trị số thực x từ bàn phím. Sum! Sum+x; dem! dem+1; Bước 3: Tính trung bình dãy số vừa nhập TB! Sum/N; Bước 4: Đưa TB ra màn hình và kết thúc thuật toán. + Trước khi bắt đầu vòng lặp While...do : dem=0, TB=0, n=3 ; + Bắt đầu vòng lặp While...do Dem<N Dem X TB Đúng 1 10 10 Đúng 2 15 25 Đúng 3 20 45 Sai + Kết thúc vòng lặp While...do : TB=45/3=15 Hoạt động 2: Viết chương trình (20’) MT: HS luyện kĩ năng đọc hiểu và viết chương trình sử dụng câu lệnh lặp với số lần chưa biết trước. GV yêu cầu HS HĐ nhóm thực hiện các yêu cầu sau : + Gõ và lưu chương trình với tên Tinh_TB + Dịch và sửa lỗi nếu có và chạy chương trình với một số bộ dữ liệu tuỳ ý để kiểm tra kết quả nhận được. + Thử viết lại chương trình bằng cách sử dụng lệnh for...do thay cho câu lệnh While...do - HS HĐ nhóm làm BT theo yêu cầu" các nhóm cử đại diện báo cáo kết quả. - GV nhận xét các nhóm. ? Qua các bài đã học về câu lệnh lặp, khi nào ta dùng câu lệnh for...do ? Khi nào ta dùng câu lệnh While...do ? HS trả lời... GV nhận xét và đưa ra lưu ý: Có một số chương trình không thể sử dụng lệnh for...do thay cho lệnh While...do được. Về cơ bản tình huống sử dụng câu lệnh While..do và for...do là khác nhau. While...do thích hợp hơn với trường hợp lặp với số lần chưa biết trước, for...do thích hợp hơn với trường hợp lặp với số lần biết trước. Program Tinh_trung_binh; uses crt; Var n,dem:Integer; x,TB: real; BEGIN clrscr; dem:=0; TB:=0; write(‘Nhap cac so can tinh n= ‘);readln(n); while dem<n do Begin dem:=dem+1; write(‘Nhap so thu ‘, dem ,’= ‘);readln(x); TB:=TB+x; end; TB:=TB/n; writeln(‘Trung binh cua ‘,n ,’ so la = ‘,TB:10:3); readln END. 3. Luyện tập củng cố: (1’) GV chốt lại toàn bộ kiến thức đã học trong giờ. 4. Hoạt động tiếp nối: (1’) - GV nhận xét giờ thực hành, nêu những ưu khuyết điểm các nhóm, tuyên dương các nhân hoặc nhóm thực hành tốt. - Về nhà ôn lại một số câu lệnh có điều kiện, câu lệnh lặp... và nhắc HS biết sử dụng các câu lệnh hợp lí trong khi viết chương trình. - Tập viết một số chương trình đơn giản, chuẩn bị trước thuật toán bài 2 để giờ sau thực hành 5. Dự kiến kiểm tra đánh giá: đầu giờ (5’) ? Viết cú pháp của câu lệnh lặp while ... do và For ... do ? Kiểm tra sự chuẩn bị thuật toán bài 1 Ngày soạn: 1/3/2015 Tiết 52- Bài thực hành 6: SỬ DỤNG LỆNH LẶP WHILE...DO (T2) I. MỤC TIÊU BÀI HỌC : Kiến thức: HS sử dụng câu lệnh lặp while...do để viết chương trình trong TurboPascal. Kĩ năng: Viết được câu lệnh lặp While..do hoặc For...do phù hợp với tình huống cụ thể. - Rèn luyện kĩ năng về khai báo, sử dụng biến; khả năng đọc chương trình. - Biết vai trò của việc kết hợp các cấu trúc điều khiển. Thái độ: Có thái độ học tập nghiêm túc và yêu thích lập trình. II. TÀI LIỆU VÀ PHƯƠNG TIỆN: 1. Chuẩn bị của GV: Phòng máy vi tính, máy chiếu, thuật toán và chương trình bài 2. 2. Chuẩn bị của HS: SGK, SBT, đồ dùng học tập. 3. Phương pháp: Nêu vấn đề, gợi mở vấn đề, hoạt động nhóm III. TIẾN TRÌNH DẠY HỌC: Tổ chức: (1’) Ngày dạy Lớp Sĩ số Tên HS vắng 8A 8B 1. Giới thiệu bài học: (1’) GV ổn định tổ chức, chia nhóm, phân máy cho HS, nêu yêu cầu giờ học. 2. Dạy học bài mới: (36’) Hoạt động của thầy và trò Nội dung kiến thức Hoạt động 1: Bài tập 2 (SGK-72) (26’) MT: HS luyện kĩ năng mô tả thuật toán, đọc và tìm hiểu ý nghĩa trong chương trình GV đưa ra nội dung bài 2" Gọi HS đọc đề bài" nêu yêu cầu của đề. ? Số nguyên tố có những tính chất gì ? HS trả lời... ? Làm thế nào để kiểm tra số có là số nguyên tố hay không ? HS trả lời... GV nhận xét và chốt lại ? Làm thế nào để kiểm tra tính chia hết? HS trả lời... GV HD HS: Sử dụng phép chia lấy phần dư mod để kiểm tra tính chia hết. Hãy nêu Input và Output của bài ? HS trả lời... GV nhận xét và chốt lại GV yêu cầu HS nêu thuật toán. HS nêu thuật toán đã chuẩn bị trước. GV nhận xét" GV đưa ra thuật toán. GV đưa ra chương trình" yêu cầu HS đọc chương trình, đối chiếu việc sử dụng câu lệnh để mô tả thuật toán trên đây. Yêu cầu HS HĐ nhóm thực hiện công việc: + Đọc và tìm hiểu ý nghĩa từng câu lệnh trong chương trình. + Gõ và lưu chương trình với tên So_nguyen_to; + Dịch, sửa lỗi nếu có và chạy chương trình với một vài độ chính xác khác nhau. HS HĐ nhóm làm bài tập theo yêu cầu" các nhóm quan sát kết quả trên màn hình" cử đại diện báo cáo. GV nhận xét, đánh giá, cho điểm các nhóm. GV lưu ý: trong chương trình trên sử dụng cả câu lệnh điều kiện, câu lệnh lặp while...do, còn sử dụng phép chia lấy phần dư mod. Điều này thể hiện sự cần thiết và tính hiệu quả khi lựa chọn công cụ phù hợp trong lập trình. - Số nguyên tố là số tự nhiên chỉ chia hết cho 1 và chính nó. - Để kiểm tra N có phải số nguyên tố hay không ta sẽ đi kiểm tra xem N có chia hết các số từ 2 đến N - 1 hay không. Nếu N không chia hết cho số nào trong khoảng từ 2 đến N - 1 thì N là số nguyên tố, ngược lại N chia hết cho bất kì một số nào trong khoảng từ 2 đến N - 1 thì N không phải là số nguyên tố. * Xác định bài toán: Input: Số tự nhiên N Output: Trả lời N là số nguyên tố hoặc N không là số nguyên tố * Thuật toán Bước 1: Nhập số tự nhiên N từ bàn phím Bước 2: Nếu N£ 0 thông báo N không phải là số tự nhiên, rồi chuyển đến bước 4. Bước 3: Nếu N > 0: 3.1. i¬2; 3.2. Trong khi N mod i 0, i¬i+1; 3.3. Nếu i = N thì thông báo N là số nguyên tố, rồi chuyển đến bước 4, ngược lại thông báo N không phải là số nguyên tố; Bước 4: Kết thúc. * Chương trình: Program so_nguyen_to; uses crt; var n,i:integer; Begin clrscr; write(‘Nhap vao mot so nguyen: ‘);readln(n); if n<=1 then writeln(n,’khong la so nguyen to!’)else begin i:=2; while (n mod i0) do i:=i+1; if i=n then writeln(n,’la so nguyen to!’)else writeln(n,’khong phai la so nguyen to!’) end; readln End. Hoạt động 2: Viết chương trình sử dụng câu lệnh lặp (10’) GV yêu cầu HS HĐ nhóm đọc hiểu và nhập chương trình Đọc thêm 2 HS HĐ nhóm theo yêu cầu của GV, đại diện các nhóm báo cáo kết quả. GV quan sát HS thực hiện, nhận xét đánh giá. Đọc thêm 2: Viết chương trình tính gần đúng số Pi với độ chính xác cao (SGK-74) 3. Luyện tập củng cố: (1’) GV chốt lại kiến thức đã học trong giờ. - Đọc và nhớ phần ghi nhớ, tổng kết cuối bài. 4. Hoạt động tiếp nối: (1’) - GV nhận xét giờ thực hành, nêu những ưu khuyết điểm các nhóm, tuyên dương các nhân hoặc nhóm thực hành tốt. - Về nhà ôn lại một số câu lệnh có điều kiện, câu lệnh lặp... và nhắc HS biết sử dụng các câu lệnh hợp lí trong khi viết chương trình. - Tập viết một số chương trình đơn giản. - Xem lại các bài tập về câu lệnh lặp với số lần chưa biết trước, chuẩn bị giờ sau luyện tập. 5. Dự kiến kiểm tra đánh giá: Đầu giờ (5’) ? Viết cú pháp của câu lệnh lặp while ... do và For ... do? Kiểm tra sự chuẩn bị thuật toán bài 2 Ngày soạn: 9/3/2015 Tiết 53: BÀI TẬP (T1) I. MỤC TIÊU BÀI HỌC : Kiến thức: HS luyện kĩ năng viết thuật toán và viết chương trình Pascal sử dụng câu lệnh lặp với số lần chưa biết trước. Kĩ năng: Rèn kĩ năng đọc hiểu chương trình, sửa được lỗi trong các câu lệnh của chương trình. Thái độ: Có thái độ học tập nghiêm túc và yêu thích lập trình. II. TÀI LIỆU VÀ PHƯƠNG TIỆN: 1. Chuẩn bị của GV : Phòng máy vi tính, máy chiếu, bài tập mẫu 2. Chuẩn bị của HS : SGK, SBT, đồ dùng học tập. 3. Phương pháp: Nêu vấn đề, gợi mở vấn đề, hoạt động nhóm III. TIẾN TRÌNH DẠY HỌC: Tổ chức: (1’) Ngày dạy Lớp Sĩ số Tên HS vắng 8A 8B 1. Giới thiệu bài học: (1’) Giờ học trước các em đã được thực hành luyện kĩ năng đọc hiểu chương trình. Giờ học này chúng ta sẽ tiếp tục luyện kĩ năng sửa lỗi trong chương trình và sử dụng câu lệnh lặp đã học để viết chương trình. 2. Dạy học bài mới: (41’) Hoạt động của thầy và trò Nội dung kiến thức GV đưa ra nội dung bài tập 3 (SGK-71)" yêu cầu HS HĐ nhóm làm bài tập" đại diện các nhóm báo cáo kết quả. HS HĐ nhóm làm bài tập" các nhóm báo cáo kết quả. GV nhận xét, cho điểm các nhóm. GV đưa ra nội dung bài tập 4 (SGK-71) " Gọi một HS đứng tại chỗ và trả lời. HS trả lời, nêu nhận xét. GV nhận xét và chốt lại. GV đưa ra bài tập 5 (SGK-71) " yêu cầu HS đứng tại chỗ trả lời, chỉ ra các lỗi trong câu lệnh. HS trả lời GV nhận xét, đưa ra đáp án và giải thích HS chú ý nghe và ghi nhớ GV đưa ra bài tập 8.15 (SBT-71) ? Muốn tìm ước số thực sự của n ta ltn? HS trả lời GV nhận xét, HD HD tìm ước của n và tính tổng: Số nguyên p được gọi là ước số thực sự của số nguyên q, nếu q chia hết cho p và p khác 1 và khác chính số q. Viết thuật toán và chương trình để nhập số tự nhiên n và tính tổng các ước số thực sự của n. HS chú ý nghe và ghi nhớ, HĐ nhóm viết thuật toán và chương trình" Đại diện các nhóm trình bày. GV quan sát" kiểm tra kết quả các nhóm" nhận xét đánh giá, cho điểm những nhóm đạt kết quả tốt. Bài tập 3 (SGK-71): a) Thuật toán 1: 10 vòng lặp được thực hiện. Khi kết thúc thuật toán S = 5.0. Đoạn chương trình Pascal tương ứng: S:=10; x:=0.5; while S>5.2 do S:=S-x; writeln(S); b) Thuật toán 2: Không vòng lặp nào được thực hiện vì ngay từ đầu điều kiện đã không được thỏa mãn nên các bước 2 và 3 bị bỏ qua. S = 10 khi kết thúc thuật toán. Đoạn chương trình Pascal tương ứng: S:=10; n:=0; while S<10 do begin n:=n+3; S:=S-n end; writeln(S); Nhận xét: Trong các thuật toán và chương trình trên, điều kiện được kiểm tra trước khi các bước lặp được thực hiện. Do đó nếu điều kiện không được thỏa mãn ngay từ đầu, các bước lặp sẽ bị bỏ qua. Bài tập 4: (SGK-71): a) Chương trình thực hiện 5 vòng lặp. b) Vòng lặp trong chương trình được thực hiện vô tận vì sau câu lệnh n:=n+1; câu lệnh lặp kết thúc nên điều kiện S=0 luôn luôn được thỏa mãn. Nhận xét: Trong câu lệnh lặp, điều kiện cần phải được thay đổi để sớm hay muộn chuyển sang trạng thái không thỏa mãn. Khi đó vòng lặp mới được kết thúc sau hữu hạn bước. Để làm được điều này, câu lệnh trong câu lệnh lặp while..do thường là câu lệnh ghép. Bài tập 5(SGK-71): a) Thừa dấu hai chấm trong điều kiện; b) Thiếu dấu hai chấm trong câu lệnh gán; c) Thiếu các từ khóa begin và end trước và sau các lệnh n:=n+1; S:=S+n, do đó vòng lặp trở thành vô tận. Bài tập 8.15 (SBT-71): Sử dụng câu lệnh lặp while..do viết thuật toán và chương trình để nhập số tự nhiên n và tính tổng các ước số thực sự của n. Program tinhtong; var n,i,S: integer; Begin Write(‘Nhap so tu nhien n=’); Readln(n); i:=2; S:=0; While i<=n-1 do begin if (n mod i)=0 then S:=S+i; i:=i+1; end; writeln(‘Tong cac uoc so thuc su cua’,n, ‘la’,S); Readln End. 3. Luyện tập củng cố: (1’) - GV chốt lại các kiến thức cơ bản đã học về câu lệnh lặp với số lần chưa biết trước. 4. Hoạt động tiếp nối: (1’) - GV nhận xét giờ học. HD HS về nhà học bài, ôn lại một số câu lệnh lặp đã học, tập viết một số chương trình đơn giản về sử dụng câu lệnh lặp với số lần chưa biết trước. - Làm bài tập SGK, SBT 8.5" 8.8 SBT-68. Xem lại các bài tập về câu lệnh lặp với số lần chưa biết trước, chuẩn bị giờ sau luyện tập tiếp. 5. Dự kiến kiểm tra đánh giá: lồng ghép trong giờ. Ngày soạn: 9/3/2015 Tiết 54: BÀI TẬP (T2) I. MỤC TIÊU BÀI HỌC : Kiến thức: HS luyện kĩ năng viết thuật toán và chương trình Pascal sử dụng câu lệnh lặp với số lần chưa biết trước. Kĩ năng: Rèn kĩ năng đọc hiểu chương trình, viết chương trình, tìm hiểu tác dụng và kết hợp các câu lệnh. Thái độ: Có thái độ học tập nghiêm túc và yêu thích lập trình. II. TÀI LIỆU VÀ PHƯƠNG TIỆN: 1. Chuẩn bị của GV : Phòng máy vi tính, máy chiếu, bài tập mẫu. 2. Chuẩn bị của HS : SGK, tài liệu tham khảo, đồ dùng học tập. 3. Phương pháp: Nêu vấn đề, gợi mở vấn đề, hoạt động nhóm III. TIẾN TRÌNH DẠY HỌC: Tổ chức: (1’) Ngày dạy Lớp Sĩ số Tên HS vắng 8A 8B 1. Giới thiệu bài học: (1’) Giờ học trước các em đã được luyện tập các kĩ năng viết thuật toán và sử dụng các câu lệnh lặp để viết chương trình. Giờ học này chúng ta sẽ tiếp tục luyện tập kĩ hơn kĩ năng sử dụng câu lệnh lặp với số lần chưa biết trước để viết chương trình. 2. Dạy học bài mới: (41’) Hoạt động của thầy và trò Nội dung kiến thức GV đưa ra nội dung bài tập 1 Gọi HS nêu yêu cầu của bài" viết thuật toán. HS HĐ nhóm viết thuật toán" một HS lên bảng trình bày thuật toán" các nhóm nhận xét " GV nhận xét đưa ra thuật toán, yêu cầu HS so sánh, đối chiếu. GV yêu cầu HS dựa vào thuật toán viết chương trình HS HĐ nhóm làm bài tập, đại diện các nhóm báo cáo kết quả. GV quan sát, nhận xét, đánh giá GV đưa ra nội dung bài tập 2 Gọi HS nêu yêu cầu của bài" viết thuật toán" viết chương trình Pascal thể hiện thuật toán trên. HS HĐ nhóm viết thuật toán" sử dụng câu lệnh lặp với số lần chưa biết trước viết chương trình Pascal" đại diện nhóm báo cáo kết quả. GV quan sát" kiểm tra kết quả các nhóm, nhận xét, đánh giá. - HS lưu bài, thoát khỏi chương trình và thoát máy. Bài tập 1: Hãy liệt kê các bước của thuật toán tính tích của N số tự nhiên đầu tiên với số lần lặp không xác định (với N là số tự nhiên được nhập vào từ bàn phím). Bước 1. Đọc giá trị N. Bước 2. T ¬ 1, i ¬ 1. Bước 3. Nếu i £ N, T = T.i; ngược lại, chuyển xuống bước 5. Bước 4. i ¬ i + 1 và quay lại bước 3. Bước 5. Kết thúc thuật toán. Program Tinhtich; Uses crt; Var i,N: integer; T: longint; Begin clrscr; Write(‘Nhap so N=’); Readln(N); T:=1; i:=1; While i<=n do Begin T:=T*i; i:=i+1; end; Writeln(‘Tich cua’,N,’so tu nhien dau tien la’,T); Readln end. Bài tập 2: Người ta đã chứng minh rằng các tổng sau luôn luôn tăng (có thể lớn hơn một số bất kì), mặc dù chỉ cộng thêm một số rất nhỏ ở mỗi bước.Viết chương trình nhập số thực A và tìm số tự nhiên nhỏ nhất N sao cho 1 + 1/2 + 1/3 + .... + 1/N >A. Chương trình có thể như sau: Uses CRT; Var A, sum: real; i: integer; Begin Write('cho so A: '); readln(A); i:=1; sum:= 0; While (sum<=A) do Begin sum:= sum+1/i; i:= i+1; end; Write('Gia tri N bang ', i:6); Readln; End. 3. Luyện tập củng cố: (1’) - GV chốt lại các kiến thức cơ bản đã học về câu lệnh lặp với số lần chưa biết trước. 4. Hoạt động tiếp nối: (1’) - GV nhận xét giờ học, tuyên dương những em có ý thức học tập tốt. - HD HS về nhà học bài, ôn lại một số câu lệnh lặp đã học, tập viết một số chương trình đơn giản về sử dụng câu lệnh lặp với số lần chưa biết trước. - Xem lại các bài tập về câu lệnh lặp với số lần chưa biết trước, chuẩn bị giờ sau Kiểm tra một tiết. 5. Dự kiến kiểm tra đánh giá: lồng ghép trong giờ. Ngày soạn: 15/3/2015 Tiết 55: KIỂM TRA 1 TIẾT I. MỤC TIÊU BÀI HỌC : Kiến thức: Kiểm tra nhận thức của học sinh các kiến thức về: câu lệnh điều kiện if...then, câu lệnh lặp For..do, câu lệnh lặp với số lần chưa biết trước While...do. Kĩ năng: Viết đúng cấu trúc câu lệnh lặp For...do, câu lệnh lặp với số lần chưa biết trước While..do và giải thích được ý nghĩa của câu lệnh. Vận dụng được các kiến thức đã học để viết chương trình trong Pascal Thái độ : - Giáo dục ý thức tự giác, nghiêm túc trong học tập và thi cử. II. TÀI LIỆU VÀ PHƯƠNG TIỆN: 1. Chuẩn bị của GV : Đề kiểm tra, đáp án chấm 2. Chuẩn bị của HS : Kiến thức đã học 3. Phương pháp: Nêu vấn đề, gợi mở vấn đề, hoạt động nhóm III. TIẾN TRÌNH DẠY HỌC: Tổ chức: Ngày dạy Lớp Sĩ số Tên HS vắng 8A 8B 1. Giới thiệu bài học: 2. Dạy học bài mới: (45’) MA TRẬN THIẾT KẾ ĐỀ KIỂM TRA Mức độ Nội dung Biết Hiểu Vận dụng Bài 5 3,4 Bài 6 2,5 11 câu 1 Bài 7 1,6,7 10,12 Câu 2 Bài 8 8,9 câu 3 ĐỀ BÀI : A. Phần TNKQ: Hãy khoanh tròn vào chữ cái trước phương án trả lời đúng nhất. Câu 1: Các hoạt động nào dưới đây lặp với số lần biết trước? A. Ngày đánh răng ba lần B. Học cho đến khi thuộc bài C. Gọi điện cho tới khi có người nhấc máy D. Cả ba phương án A,B,C Câu 2: Cấu trúc rẽ nhánh dạng thiếu, câu lệnh có dạng như thế nào? A. if then ; B. if then ; C. if then else D. if ; then ; Câu 3: Để dịch và sửa lối chương trình Pascal ta nhấn: A. Alt+ F9 B. Alt + F5 C. Ctrl+ F9 D. Tất cả đều sai Câu 4: Trong các phép so sánh sau, phép so sánh đúng là: A. 25-7<17 B. 2x-3>6 C. -5x<0 D. | A | ≥ 0 Câu 5: Cấu trúc rẽ nhánh dạng đầy đủ, câu lệnh có dạng như thế nào? A. if then ; B. if then ; C. if then else ; D. if then ; else ; Câu 6: Câu lệnh lặp thường gặp trong Pascal có dạng: A. While do ; B. While do ; C. For := to do ; D. Tất cả đều sai. Câu 7: Trong câu lệnh lặp dạng For...do, biến đếm là biến đơn có kiểu: A. kiểu thực B. kiểu nguyên C. kiểu kí tự D. Tất cả đều sai Câu 8: Câu lệnh lặp với số lần chưa biết trước có dạng: A. While do ; B. While do ; C. For := to do ; D. Tất cả đều sai. Câu 9: Câu lệnh GotoXY(a,b) có tác dụng: A. Đưa con trỏ về cột a B. Đưa con trỏ về cột a, hàng b C. đưa con trỏ về hàng b D. Tất cả đều sai Câu 10: Trong ngôn ngữ Pascal câu lệnh phải thực hiện: A. Chỉ là câu lệnh đơn giản B. Chỉ là câu lệnh ghép C. Có thể là câu lệnh đơn giản hay câu lệnh ghép D. Tất cả đều sai Câu 11: Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đây là đúng? A. If a=5 then a:=d+1; else a:=d+2; B. If a=5 then a:=d+1else a:=d+2; C. If a=5 then a=d+1; else a=d+2; D. If a=5 then a:=d+1else a:=d+2 Câu 12: Trong lệnh lặp For...to...do của Pascal, trong mỗi vòng lặp biến đếm thay đổi như thế nào? A. Tăng thêm 1 đơn vị cho đến khi bằng giá trị cuối B. Giảm một đơn vị cho đến khi bằng giá trị đầu. C. Tăng một giá trị bất kì D. Tất cả đều sai. B. PHẦN TỰ LUẬN: Câu 1 : Điền dấu x vào ô lựa chọn : STT Câu Đúng Sai a Chỉ có ngôn ngữ lập trình Pascal mới có câu lệnh rẽ nhánh b Trong lập trình, điều kiện trong cấu trúc rẽ nhánh thường được biểu diến thông qua các phép so sánh. c Cấu trúc rẽ nhánh chỉ có một dạng là dạng đầy đủ. d Trong ngôn ngữ Pascal ta có thể ghép nhiều câu lệnh đơn giản thành một câu lệnh ghép bằng cách đặt chúng trong hai từ khoá Begin và end. e Sử dụng từ khoá End có thể kết hợp nhiều phép so sánh đơn giản thành một phép so sánh phức tạp. Câu 2: Viết cấu trúc câu lệnh lặp với số lần biết trước? Cấu trúc câu lệnh lặp với số lần chưa biết trước? Giải thích ý nghĩa từng câu lệnh? Câu 3: Viết chương trình tính tổng của N số tự nhiên đầu tiên, với N là số tự nhiên được nhập từ bàn phím. ĐÁP ÁN CHẤM VÀ THANG ĐIỂM A. Phần trắc nghiệm khách quan: (3.0 điểm – mỗi câu đúng 0,25 điểm) Câu 1 2 3 4 5 6 7 8 9 10 11 12 Đáp án A B A D C C B A B C B A B. Phần tự luận: (6.0 điểm) Câu 1 : (2 điểm) STT Câu Đúng Sai a Chỉ có ngôn ngữ lập trình Pascal mới có câu lệnh rẽ nhánh x b Trong lập trình, điều kiện trong cấu trúc rẽ nhánh thường được biểu diến thông qua các phép so sánh. x c Cấu trúc rẽ nhánh chỉ có một dạng là dạng đầy đủ. x d Trong ngôn ngữ Pascal ta có thể ghép nhiều câu lệnh đơn giản thành một câu lệnh ghép bằng cách đặt chúng trong hai từ khoá Begin và end. x e Sử dụng từ khoá End có thể kết hợp nhiều phép so sánh đơn giản thành một phép so sánh phức tạp. x Câu 2: (2 điểm) * Trong Pascal câu lệnh lặp với số lần biết trước có dạng: For := to do ; Trong đó: - for, to, do là các từ khoá; - Biến đếm là biến đơn có kiểu nguyên - Giá trị đầu, giá trị cuối là các biểu thức có cùng kiểu với biến đếm, giá trị cuối phải lớn hơn giá trị đầu. - Câu lệnh có thể là câu lệnh đơn giản hay câu lệnh ghép. - Câu lệnh lặp sẽ được thực hiện nhiều lần, mỗi lần là một vòng lặp. Số vòng lặp là biết trước và bằng: Giá trị cuối – giá trị đầu + 1 * Trong Pascal câu lệnh lặp với số lần chưa biết trước có dạng: while do ; Trong đó: - Điều kiện thường là một phép so sánh. - Câu lệnh có thể là câu lệnh đơn giản hay câu lệnh ghép. Câu lệnh lặp này được thực hiện như sau: 1. Kiểm tra điều kiện. 2. Nếu điều kiện SAI, câu lệnh sẽ bị bỏ qua và việc thực hiện lệnh lặp kết thúc. Nếu điều kiện ĐÚNG, thực hiện câu lệnh và quay lại bước 1. Câu 3: (3 điểm) Program Tinh_tong; Var N,i: Integer; S: longint; Begin Write(’Nhap so N= ’);readln(N); S:=0; For I:=1 to N do S:=S+i; Writeln(’Tong cua ’,N,’so tu nhien dau tien S= ’,S); Readln End. 3. Luyện tập củng cố: 4. Hoạt động tiếp nối: GV nhận xét giờ học. HD HS về nhà ôn lại các kiến thức, các câu lệnh điều kiện, câu lệnh lặp... đã học. Chuẩn bị trước Bài 9: “Làm việc với dãy số” 5. Dự kiến kiểm tra đánh giá: Ngày soạn: 15/3/2015 Tiết 56- Bài 9: LÀM VIỆC VỚI DÃY SỐ (T1) I. MỤC TIÊU BÀI HỌC : Kiến thức: HS nêu được khái niệm mảng một chiều ; Kĩ năng: Thực hiện được việc khai báo mảng, nhập, in, truy cập các phần tử của mảng. Thái độ: Có thái độ học tập nghiêm túc và yêu thích môn tin học. II. TÀI LIỆU VÀ PHƯƠNG TIỆN: 1. Chuẩn bị của GV : Tranh ảnh SGK, máy vi tính, máy chiếu, SGK, SGV, Giáo án 2. Chuẩn bị của HS : SGK, SBT, đồ dùng học tập. 3. Phương pháp: Nêu vấn đề, gợi mở vấn đề, hoạt động nhóm III. TIẾN TRÌNH DẠY HỌC: Tổ chức: (1’) Ngày dạy Lớp Sĩ số Tên HS vắng 8A 8B 1. Giới thiệu bài học: (1’) Trong lập trình Pascal nếu biết bố trí dữ liệu theo dãy, việc khai báo và xử lí dữ liệu trở nên đơn giản rất nhiều. Thay vì phải viết rất nhiều câu lệnh giống nhau, ta có thể dùng vài câu lệnh lặp và nhường lại phần lớn công việc cho máy tính thực hiện. Chúng ta cùng tìm hiểu nội dung bài học hôm nay. 2. Dạy học bài mới: (37’) Hoạt động của thầy và trò Nội dung kiến thức Hoạt động 1: Dãy số và biến mảng (17’) MT: HS nêu được khái niệm dữ liệu kiểu mảng, thực hiện được việc khai báo mảng, nhập, in, truy cập các phần tử của mảng. GV: Em thường nhìn thấy việc xếp hàng để mua vé, xếp hàng trước khi vào lớp... ? Việc sắp xếp công việc có lợi ích gì
Tài liệu đính kèm: