Giáo án Tin học Lớp 11 - Một số khái niệm về lập trình và ngôn ngữ lập trình - Trường THPT Buôn Ma Thuột
I. MỤC TIÊU
- Biết được khái niệm lập trình và ngôn ngữ lập trình
- Biết được khái niệm chương trình dịch
- Phân biệt được hai loại chương trình dịch là biên dịch và thông dịch
II. ĐỒ DÙNG DẠY HỌC
1/ Chuẩn bị của giáo viên
- Bảng viết, sách giáo khoa, sách giáo viên, phiếu học tập
2/ Chuẩn bị của học sinh
- Sách giáo khoa
III. HOẠT ĐỘNG DẠY- HỌC
1/ Hoạt động 1: tìm hiểu khái niệm lập trình và ngôn ngữ lập trình.
a/ Mục tiêu
- Giúp học sinh biết được lập trình là gì. Ý nghĩa của việc lập trình.
- Biết được khái niệm ngôn ngữ lập trình và một số loại ngôn ngữ lập trình
b/ Nội dung:
Mọi bài toán có thuật toán đều có thể giải được trên máy tính điện tử. Các bước để giải một bài toán:
- Xác định bài toán
- Xây dựng được thuật toán khả thi
- Lập trình.
Lập trình là việc sử dụng cấu trúc dữ liệu và các lệnh của một 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à 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 chương trình đó.
Một số loại ngôn ngữ lập trình: ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao.
c/ Các bước tiến hành
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
1. Trình bày nội dung bài toán đặt vấn đề : kết luận nghiệm của phương trình ax + b = 0
- Hãy xác định các yếu tố đầu vào( input) và đầu ra( output) của bài toán?
- Hãy xác định các yếu tố để tìm output?
- Diễn giải: hệ thống các bước này được gọi là thuật toán.
- Nếu trình bày thuật toán với một người nước ngoài em sẽ dùng ngôn ngữ nào để diễn đạt?
- Nếu diễn đạt thuật toán này cho máy hiểu em sẽ dùng ngôn ngữ nào?
- Diễn giải: hoạt động để diễn đạt một thuật toán thông qua một ngôn ngữ lập trình được gọi là lập trình
- Yêu cầu học sinh đọc SGK và cho biết khái niệm lập trình.
- Hỏi: Kết quả của hoạy động lập trình?
2. Phát phiếu học tập; Yêu cầu các em ghi các loại ngôn ngữ lập trình mà em biết( sử dụng kỹ thuật động não viết)
- Đọc nội dung một số phiếu học tập cho cả lớp cùng nghe.
- Hỏi: Em hiểu như thế nào về ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao?
- Hỏi: làm thế nào để chuyển một chương trình viết từ ngôn ngữ bậc cao sang ngôn ngữ máy?
- Hỏi: Vì 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 mà người ta thương lập trình bằng ngôn ngữ bậc cao? 1. Quan sát nội dung bài toán và theo dõi yêu cầu của giáo viên
- Input: a, b
- Output: x = -b/a, vô nghiệm, vô số nghiệm.
Bước 1: nhập a, b
Bước 2: nếu a<>0 kết luận có nghiệm x = -b/a
Bước 3: nếu a = 0 và b<>0, kết luận vô nghiệm
Bước 4: nếu a = 0 và b = 0, kết luận vô số nghiệm.
- Ngôn ngữ tiếng Anh
- Em dùng ngôn ngữ lập trình
- 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
- Ta được một chương trình
2. Tham khảo SGK và sử dụng vốn hiểu biết về tin học để điền phiếu học tập
- Ngôn ngữ máy
- Hợp ngữ
- Ngôn ngữ bậc cao
- Ngôn ngữ máy: các lệnh được mã hoá bằng các ký hiệu 0- 1. Chương trình được viết trên ngôn ngữ máy có thể được nạp vào bộ nhớ và thực hiện ngay.
- Ngôn ngữ bậc cao: các lệnh đựoc mã hoá bằng một ngôn ngữ gần với ngôn ngữ tiếng Anh. Chương trình viết trên ngôn ngữ bậc cao phải được chuyển đổi thành chương trình viết trên ngôn ngữ máy mới có thể thực hiện được.
- Phải sử dụng một chương trình dịch để chuyển đổi.
- Lập trình bằng ngôn ngữ bậc cao dễ viết hơn vì các lệnh được mã hoá gần với ngôn ngữ tự nhiên. Lập trình trên ngôn ngữ máy rất khó, thường các chuyên gia lập trình mới lập trình được.
2/ Hoạt động 2: Tìm hiểu hai loại chương trình dịch là thông dịch và biên dịch.
a/ Mục tiêu:
- Học sinh biết được khái niệm chương trình dịch và sự cần thiết của chương trình dịch.
- Phân biệt được thông dịch với biên dịch.
b/ Nội dung
- Chương trình dịch là một chương trình có chức năng chuyển đổi một chương trình được viết bằng ngôn ngữ lập trình bậc cao thành một chương trình có thể thực hiện được trên máy tính.
- Cần phải có một chương trình dịch để chuyển chương trình được viết bằng các ngôn ngữ khác thành ngôn ngữ máy.
- Đầu vào của chương trình dịch là một chương trình được viết bằng một ngôn ngữ lập trình bậc cao. Đầu ra cũng là một chương trình nhưng được viết bằng ngôn ngữ máy.
- Biên dịch: kiểm tra, phát hiện lỗi và dịch toàn bộ chương trình nguồn thành một chương trình có thể thực hiện trên máy.
- Thông dịch: lần lượt dịch và thực hiện từng lệnh một.
hiện hàm và thủ tục. END. - Kiểu dữ liệu của hàm là kiểu dữ liệu của kết quả của hàm và chỉ có thể là một trong các kiểu Integer, real, Char, String, Boolean. - Sử dụng hàm: giống như sử dụng các hàm chuẩn, viết tên của hàm cần gọi và thay thế các tham số hình thức bằng các tham số thực sự tương ứng. Lời gọi hàm có thể tham gia vào biểu thức như một toán hạng và thậm chí là tham số của lời gọi hàm, thủ tục khác. - Biến cục bộ là những biến có ảnh hưởng trong ct con, được khai báo trong ct con. - Biến toàn bộ là những biến có phạm vi a nhr hưởng trong toàn bộ ct, được khai báo trong phần khai báo của ct chính. 3/ Hoạt động 3:Bài tập nâng cao Program P21403; {liet ke cac chu trinh Hamilton} Uses crt; Const inp='P21403.inp'; out='P21403.out'; Type M1=array[0..10] of byte; M2=array[1..10,1..10] of byte; Var a:M2; b,c:M1; n,i,d:byte; f:text; {***********************************************} Procedure input; var i,j:byte; begin assign(f,inp); reset(f); readln(f,n); for i:=1 to n do begin for j:=1 to n do read(f,a[i,j]); readln(f); end; close(f); for i:=1 to n do c[i]:=0; end; {*************************************************} Procedure InB(b:M1); var i:integer; Begin for i:=0 to n do write(f,b[i],' '); writeln(f); inc(d); end; {*************************************************} Procedure Tim(b,c:M1; i:byte); var j,k:byte; begin for j:=1 to n do if (a[b[i-1],j]=1) and (c[j]=0) then begin b[i]:=j; c[j]:=1; If i<n then tim(b,c,i+1) Else if b[i]=b[0] then InB(b); c[j]:=0; end; end; BEGIN input; b[0]:=1; i:=1; d:=0; assign(f,out); rewrite(f); Tim(b,c,i); if d=0 then write(f,'Khong co chu trinh Hamilton'); Close(f); END. HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH 1. Chiếu đề bài lên bảng. Yêu cầu hs tự viết ct, chạy thử và báo cáo kết quả. 2. Quan sát, theo dõi việc lập trình của từng hs, có thể gợi ý cho một số em còn yếu. 3. Yêu cầu hs cùng thực hiện ct với bộ Test giáo viên đã chuẩn bị. Thông báo kết quả mà ct tìm được. Xác nhận kết quả đúng. 1. Theo dõi đề bài, định hươngư dữ liệu vào, ra và thuật toán. 2. Soạn ct vào máy, thực hiện ct và thông báo kết quả cho giáo viên. 3. Nhập dữ liệu theo yêu cầu. IV. ĐÁNH GIÁ CUỐI BÀI 1. Những nội dung đã học - Cấu trúc hàm và vị trí của nó trong ct chính: hàm được viết ở phần khai báo; hàm có phần đầu, phần khai báo và phần thân. - Phân biệt biến cục bộ và biến toàn bộ. 2. Câu hỏi và bài tập về nhà Ngày soạn: 11/4/2009 Ngày dạy: 14/4/2009 16/4/2009 Tiết:41, 42 BÀI TẬP VÀ THỰC HÀNH 6 I. MỤC TIÊU 1. Kiến thức: - Củng cố lại các kiến thức về xâu ký tự, chương trình con. 2. Kĩ năng: - Rèn luyện kĩ năng xử lý xâu bằng việc tạo hiệu ứng chữ chạy trên màn hình - Nâng cao kĩ năng viết và sử dụng chương trình con. II. ĐỒ DÙNG DẠY HỌC 1. Chuẩn bị của giáo viên - Máy vi tính, tổ chức tại phòng máy để học sinh có được các kĩ năng cơ bản trong việc tổ chức và sử dụng chương trình con trong lập trình. 2. Chuẩn bị của học sinh - Sách giáo khoa. III. HOẠT ĐỘNG DẠY-HỌC 1. Hoạt động 1: Tìm hiểu việc xây dựng hai thủ tục catdan(s1,s2) và cangiua(s) HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH 1. Tìm hiểu hai thủ tục catdan(s1,s2) và cangiua(s). - Chiếu nội dung thủ tục catdan(s1,s2); - Hỏi: Đầu vào và đầu ra của thủ tục này? - Hỏi: Chức năng của thủ tục là gì? - Yêu cầu học sinh cho một ví dụ minh họa. - Chiếu nội dung thủ tục: cangiua(s); - Hỏi: Đầu vào của thủ tục? - Hỏi: Thủ tục thực hiện công việc gì? - Giáo viên chú ý: Có thể nhắc học sinh nếu không khai báo s là tham biến thì thủ tục này không có hiệu lực gì vì lệnh đưa s ra màn hình không nằm trong thủ tục này. 2. Tìm hiểu chương trình của câu b, sách giáo khoa, trang 103, 104. - Chiếu chương trình lên bảng. - Hỏi: Chức năng của chương trình. - Giới thiệu cho học sinh các thủ tục chuẩn: gotoxy(x,y); delay(n); và keypressed; - Thực hiện chương trình để giúp học sinh thấy kết quả của chương trình. 1. Quan sát thủ tục catdan() và trả lời câu hỏi của giáo viên. - Vào: xâu ký tự s1. - Ra: biến xâu ký tự s2. - Thực hiện việc tạo xâu s2 từ xâu s1 bằng việc chuyển ký tự thứ nhất đến vị trí cuối của xâu. - S1= ‘abcd’ thì S2= ‘bcda’ - Quan sát, suy nghĩ và trả lời. - Đầu vào là một xâu ký tự S không quá 79 ký tự. - Thủ tục thực hiện thêm vào trước xâu s một số ký tự trắng để khi đưa s ra màn hình ký tự trong S ban đầu được căn giữa của dòng gồm 80 ký tự. 2. Quan sát chương trình trên bảng và theo dõi dẫn dắt của giáo viên. - Yêu cầu người sử dụng nhập một xâu ký tự. Đưa xâu đó ra màn hình có dạng dòng chữ chạy giữa màn hình văn bản 25*80. - Quan sát trên màn hình để đối chiếu với kết quả mà học sinh tự suy luận tính được. 2. Hoạt động 2: Rèn luyện kĩ năng lập trình. HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH 1. Tìm hiểu yêu cầu đề bài. - Chiếu nội dung yêu cầu lên bảng. - Yêu cầu học sinh tìm ra vấn đề mới trong bài tập này. - Yêu cầu học sinh lập trình trên máy. - Yêu câu học sinh thực hiện chương trình và nhập dữ liệu test. - Đánh giá kết quat lập trình của học sinh. 1. Quan sát yêu cầu trên bảng. - Về cơ bản, giống như nhiệm vụ mà câu b đã làm. Chỉ khác là chương trình câu b luôn cho xâu ký tự chạy ở dòng 12, còn trong bài này xâu ký tự phải chạy ở dòng bất kỳ. Vì vậy phải truyền tham số quy định dòng chạy cho thủ tục. - Độc lập viết chương trình vào máy và báo cáo kết quả thử nghiệm. - Nhập dữ liệu theo test của giáo viên và báo cáo kết quả IV. ĐÁNH GIÁ CUỐI BÀI Câu hỏi và bài tập về nhà - Viết thủ tục chaychu(s,dong) nhận tham số là xâu S gồm không quá 79 ký tự và một biến nguyên Dong. In ra màn hình dòng chữ xác định bởi S chạy ở dòng Dong. Viết chương trình và thực hiện có sử dụng thủ tục này. - Chuẩn bị bài cho bài thực hành số 7: Xem trước nội dụng của bài thực hành số 7, sách giáo khoa, trang 105. Ngày soạn: Ngày dạy: Tiết:43, 44 BÀI TẬP VÀ THỰC HÀNH 7 I. MỤC TIÊU 1. Kiến thức: - Củng cố lại các kiến thức về chương trình con: Thủ tục, hàm, tham số biến và tham số giá trị, biến toàn bộ và biến cục bộ. 2. Kĩ năng: - Sử dụng được chương trình con để giải quyết trọn vẹn một bài toán trên máy tính. II. ĐỒ DÙNG DẠY HỌC 1. Chuẩn bị của giáo viên - Máy vi tính, tổ chức tại phòng máy để học sinh có được các kĩ năng cơ bản trong việc tổ chức và sử dụng các chương trình con trong lập trình. 2. Chuẩn bị của học sinh - Sách giáo khoa. III. HOẠT ĐỘNG DẠY-HỌC 1. Hoạt động 1: Tìm hiểu việc xây dựng các hàm, thủ tục và chương trình thực hiện các việc liên quan đến tam giác. HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH 1. Tìm hiểu việc xây dựng hàm và thủ tục. - Chiếu khai báo kiểu dữ liệu diem và tamgiac. Chiếu các hàm và thủ tục lên bảng. - Hỏi: Chức năng của mỗi chương trình con? - Có các tham số nào? Tham số nào ở dạng tham số biến và tham số nào ở dạng tham số giá trị. 2. Tìm hiểu chương trình câu b, sách giáo khoa trang 106. - Chiếu chương trình câu b. - Hỏi: Chương trình thực hiện công việc gì? - Thực hiện chương trình để giúp học sinh thấy được kết quả. - Thay tham biến thành tham trị để học sinh thấy được sự sai khác. 1. Quan sát các chương trình con, các lệnh và các khai báo tham số. - Chức năng của mỗi chương trình con: daicanh(); tính độ dài ba cạnh a, b, c của tam giác r. chuvi():real; Cho giá trị là chu vi của tam giác r. dientich():real; Cho giá trị là diện tích của tam giác r. tinhchat(); khẳng định tính chất của tam giác: đều, cân hoặc vuông. hienthi(); hiển thị tọa độ ba đỉnh của một tam giác trên màn hình. Kh_cách():real; cho giá trị là khoảng cách giữa hai điểm. - Tham số biến r, a, b, c. - Tham số giá trị p,q. 2. Quan sát chương trình, dự tính chức năng của chương trình. - Nhập vào tọa độ ba đỉnh của tam giác và khảo sát tính chất của tam giác: cân, vuông, đều. In ra chu vi và diện tích của tam giác. - Quan sát kết quả trên màn hình để đối chiếu với kết quả tự tính được. - Quan sát và ghi nhớ kết quả để thấy được hiệu ứng thay đổi của tham trị và tham biến. 2. Hoạt động 2: Rèn luyện kĩ năng lập trình. HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH 1. Phân tích yêu cầu của đề bài. - Chiếu nội dung yêu cầu lên bảng. - Chia lớp thành 2 nhóm. + Nhóm 1: Nêu câu hỏi phân tích để giải quyết bài toán + Nhóm 2: Trả lời câu hỏi phân tích của nhóm 1 để tìm ra cách giải quyết bài toán. - Giáo viên góp ý bổ sung cho câu hỏi phân tích và trả lời phân tích. 2. Lập trình. - Yêu cầu học sinh lập trình trên máy. Giáo viên tiếp cận từng học sinh để sửa lỗi cần thiết. - Yêu cầu học sinh nhập dữ liệu vào của giáo viên và báo cáo kết quả của chương trình. - Đánh giá kết quả của học sinh. 1. Quan sát yêu cầu. - Nhóm 1: Đặt câu hỏi. + Dữ liệu vào. + Dữ liệu ra. + Cần sửa những chỗ nào trong chương trình câu b. + Thuật toán để đếm số lượng các loại hình tam giác - Nhóm 2: Trả lời câu hỏi phân tích. + Cho trong tệp, phải viết lệnh đọc dữ liệu trong tệp + Ba số nguyên dương là số lượng của ba loại hình tam giác. Ba số được ghi trên ba dòng của một tệp. + Cần thay đoạn chương trình nhập dữ liệu bằng một chương trình con để đọc dữ liệu từ tệp TAMGIAC.INP. Thay đoạn chương trình in kết quả ra màn hình bằng một chương trình con để in ba số nguyên dương là số lượng ba loại hình ra tệp TAMGIAC.OUT + Thuật toán: Nếu deu thì d:=d+1 Ngược lại nếu can thì c:=c+1 ngược lại thì v:=v+1; 2. Độc lập viết chương trình, thực hiện chương trình đối với test tự tạo. - Thông báo kết quả cho giáo viên - Nhập dữ liệu của giáo viên và báo cáo kết quả. IV. ĐÁNH GIÁ CUỐI BÀI 1. Những nội dung đã học - Cách xây dựng hàm và thủ tục, cách khai báo tham số dạng tham biến và tham trị. - Tìm hiểu một số chương trình con liên quan đến tam giác 2. Câu hỏi và bài tập về nhà - Cho file dữ liệu như ở bài tập trong hoạt động 2. - Đọc bài đọc thêm: Ai là lập trình viên đầu tiên? Sách giáo khoa, trang 109. - Chuẩn bị bài cho tiết học lý thuyết: Xem trước nội dụng bài Thư viện chương trình con chuẩn, sách giáo khoa, trang 110.
File đính kèm:
- GA tin 11nam2008 (75- 89).doc