Giáo án Tin học 11 - Nguyễn Thị Thu Thủy

I. MỤC ĐÍCH, YÊU CẦU

1. Kiến thức

- Nắm được các thành phần cơ bản của ngôn ngữ lập trình nói chung

- Biết được khái niệm về chương trình dịch

- Phân biệt được chươn trình dịch là biên dịch và thông dịch

2. Kỹ năng

- Biết vai trò của chương trình dịch

- Hiểu ý nghĩa nhiệm vụ của chương trình dịch

3. Thái độ

- Ý thức được tầm quan trọng của môn học và có thái độ học tập nghiêm túc, luôn tự tìm hiểu học tập

II. CHUẨN BỊ

1. Gv: Giáo án, máy chiếu, máy tính, phòng chiếu hoặc bảng.

2. Hs: Đọc trước SGK, xem lại một số kiến thức Tin học lớp 10.

III. PHƯƠNG PHÁP

- Thuyết trình, vấn đáp

- Diễn giải, đàm thoại, giải quyết tình huống có vấn đề.

IV. NỘI DUNG

1. Ổn định lớp:

+ Chào thầy cô.

+ Cán bộ lớp báo cáo sỉ số

+ Chỉnh đốn trang phục

 

doc65 trang | Chia sẻ: Thewendsq8 | Lượt xem: 2527 | Lượt tải: 2download
Bạn đang xem trước 20 trang mẫu tài liệu Giáo án Tin học 11 - Nguyễn Thị Thu Thủy, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
à cho biết vì sao: Do căn bậc hai của một số âm.
- Thông báo lỗi với lý do delta của pt là số âm.
+ Thực hiện chương trình đã sửa với bộ dữ liệu 1 ; - 5 ; 6. Thông báo kết quả.
+ Thực hiện chương trình với bộ dữ liệu 1 ; 1 ; 1. Thông báo kết quả.
Chương trình giải phương trình bậc hai:
program Giai_PTB2;
uses crt;
var a, b , c, D: real;
 x1, x2: real;
begin
 clrscr;
 write(‘ a, b, c: ‘);
 readln(a, b, c);
 D:=b*b - 4a*b*c;
 x1:= (-b - sqrt(D))/(2*a);
 x2:= -b/a - x1;
 write(‘x1 = ‘, x1 : 6 : 2, ’
 ‘x2: = ‘, x2 : 6 : 2);
 readln
end.
readln(a, b, c);
 x1:= (-b -sqrt(b*b - 4a*b*c))/(2*a);
 x2:= -b - x1;
write(‘x1 = ‘, x1 : 6 : 2, ’x2: = ‘, x2 : 6 : 2); 
readln(a, b, c);
 x1:=(-b - sqrt(b*b - 4a*b*c))/(2*a);
 x2:=(-b+ sqrt(b*b - 4a*b*c))/(2*a);
 write(‘x1 = ‘, x1 : 6 : 2, ’x2: = ‘, x2 : 6 : 2);
 - x1 = 2.00 x2 = 3.00
4. Cũng cố
- Nhắc lại các bước khi hoàn thành một chương trình
- Phân tích một bài toán xác đinh I/O
V. PHỤ LỤC 1
....
Tiết 10
IV. NỘI DUNG
1. Ổn định lớp:
Chào thầy cô.
Cán bộ lớp báo cáo sỉ số
Chỉnh đốn trang phục
 2. Kiểm tra bài cũ: Thông qua bài dạy
 3. Bài mới
	Hoạt động 3: Rèn luyện thêm về kỹ năng lập trình cho học sinh
Hoạt động của Gv và Hs
Ghi bảng
 GV: yêu cầu học sinh hãy viết một chương trình tính diện tích một tam giác khi biết độ dài ba cạnh của nó.
Hs: Nghe và nhận nhiệm vụ.
- Phân tích theo yêu cầu của giáo viên.
 GV định hướng để học sinh phân tich bài toán.
+ Dữ liệu vào (Input)
+Diệu liệu ra (Output)
+ Cách tính:
Hs
+ Dữ liệu vào ba cạnh a; ; b ; c
+ Dữ liệu ra S: 
+ p:= (a+b+c)/2
S: = sqrt(sqr(p-a)*sqr(p-b)*sqr(p-c))
- Thực hiện theo yêu cầu của giáo viên:
+ Soạn chương trình
+ Bấm phím F2 để lưu chương trình.
+Bấm Alt+F9 để dịch lỗi cú pháp.
+ Bấm Ctrl+F9 để chạy chương trình.
+ Thông báo kết quả cho giáo viên.
- GV yêu cầu học sinh nhập dữ liệu và thông báo kết quả ; 
a = 3; b = 6; c = 5
a = 2; b = 5; c = 10;
- Hs thông báo kết quả.
+ Dữ liệu vào ba cạnh a; ; b ; c
+ Dữ liệu ra S: 
+ p:= (a+b+c)/2
S: = sqrt(sqr(p-a)*sqr(p-b)*sqr(p-c))
Chương trình:
Program Tinh_dien_tich_tam_giac;
Var
a, b, c, p, S:real;
Begin
Write(‘a, b, c =’);readln(a, b,c);
P:=(a+b+c)/2;
S: = sqrt(sqr(p-a)*sqr(p-b)*sqr(p-c));
Write();
Readln
End.
4. Cũng cố
Nhắc lại các bước khi hoàn thành một chương trình.
+ Phân tích bài toán để xác định dữ liệu vào/ ra.
+ Xác định thuật toán.
+ Soạn chương trình
+ Lưu chương trình
+ Biên dịch chương trình
+ Thực hiện và hiệu chỉnh chương trình.
Làm bài tập trang 35 và 36.
V. PHỤ LỤC 2
....
Chương 3: CẤU TRÚC RẼ NHÁNH VÀ LẶP
Tuần: 6
Ngày soạn:10/09/2011
Tiết: 11
Ngày dạy: //
Bài 9: CẤU TRÚC RẼ NHÁNH
I. MỤC ĐÍCH, YÊU CẦU
1. Kiến thức:
 - Hiểu nhu cầu của cáu trúc rẽ nhánh trong biểu diễn thuật toán.
 - Học sinh nắm vững ý nghĩa và cú pháp của câu lệnh rẽ nhánh dạng khuyết và dạng đủ, hiểu được cách sử dụng câu lệnh ghép.
2. Kĩ năng:
 - Sử dụng cấu trúc rẽ nhánh trong mô tả thuật toán của một số bài toán đơn giản.
 - Viết được các lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ và áp dụng được để thể hiện thuật toán của một số bài toán đơn giản
3. Về tư duy và thái độ: 
 - Hình thành cho học sinh bước đầu về tư duy về lập trình có cấu trúc.
 - Tự giác, tích cực và chủ động hoàn thành.
II. CHUẨN BỊ
1. Giáo viên:	
 + Soạn giáo án.
 + Chuẩn bị bảng phụ sau:
Câu lệnh
IF
Điều kiện
Đ
S
Câu lệnh 1
IF
Điều kiện
Đ
S
Câu lệnh 2
2. Học sinh: học bài cũ, đọc và chuẩn bị bài mới.
III. PHƯƠNG PHÁP
- Thuyết trình, gợi mở, vấn đáp
- Diễn giải, đàm thoại, giải quyết tình huống có vấn đề.
- Làm việc theo nhóm.
IV. NỘI DUNG
1. Ổn định lớp:
Chào thầy cô.
Cán bộ lớp báo cáo sỉ số
Chỉnh đốn trang phục
2. Kiểm tra bài cũ:
Bài toán: cho 2 số nguyên a, b; tìm Max(a,b).
Yêu cầu: viết phần tên, phần khai báo, và câu lệnh nhập a, b.
Nêu thuật toán tìm Max(a,b).
3. Bài mới
Hoạt động của GV & HS
Nội dung
Hoạt động 1: Khái niệm rẽ nhánh
Kiểm tra r>=0
Thông báo vô nghiệm
Tính và đưa ra nghiệm
Kết thúc
GV : Đưa ra ví dụ rồi cùng học sinh thảo luận phương pháp giải quyết bài toán.
 Đưa ra khái niệm rẽ nhánh trong lập trình.
 Mỗi NNLT có cách thể hiện rẽ nhánh khác nhau .
1. Khái niệm rẽ nhánh
Ví dụ : Để viết chương trình giải phương trình bậc 2, ta phải:
Tính r = b2 – 4ac;
Sau đó tùy thuộc vào giá trị của r mà ta có tính nghiệm hay không.
Trong thực tế :
Nếu r <0 thì phương trình vô nghiệm
Nếu r >=0 thì phương trình có nghiệm
Như vậy tùy thuộc vào giá trị của r mà ta đưa ra vô nghiệm hay có nghiệm.
Hoặc có thể nói : Nếu r < 0 thì phương trình vô nghiệm, ngược lại thì phương trình có nghiệm.
=>Như vậy ta thấy một số mệnh đề có dạng
Nếu ..thì..
Nếu ..thì.. ngược lại thì
 Cấu trúc này được gọi là cấu trúc rẽ nhánh .
 Các NNLT thường cung cấp các câu lệnh để mô tả các cấu trúc rẽ nhánh như trên .
GV : Đưa ra cấu trúc lệnh rẽ nhánh trong Pascal. Nhắc nhở học sinh đây là cấu trúc quan trọng, nó sẽ được sử dụng rất nhiều trong các chương trình sau này.
GV : Lưu ý các em sau Then và sau Else chỉ có một lệnh chương trình.
GV : Với hai dạng này, dạng nào dùng thuận tiện hơn ?
HS : Tìm câu trả lời, giáo viên gợi ý để học sinh đưa ra được tùy trường hợp cụ thể mà dùng dạng thiếu hay dạng đủ.
 Đưa ra các ví dụ có sử dụng lệnh rẽ nhánh, nếu không có lệnh rẽ nhánh thì không thể thực hiện được.
GV : ở VD3: Cách nào nhanh hơn, tiện hơn?
=> Cách 2 tiện hơn
GV : Phân tích sự tiện lợi trong cách 2 và số lệnh mà máy phải thực hiện.
2. Câu lệnh If – Then
 Pascal dùng câu lệnh If – then để mô tả việc rẽ nhánh tương ứng với hai loại mệnh đề rẽ nhánh như nhau
- Dạng thiếu :
 If Then ;
- Dạng đầy đủ :
 If Then 
 Else 
Trong đó:
- Điều kiện : Là biểu thức quan hệ Logic.
- Câu lệnh, câu lệnh 1, câu lệnh 2 là 1 câu lệnh của Pascal
Ý nghĩa của các câu lệnh :
- Dạng thiếu : Nếu điều kiện đúng thì câu lệnh được thực hiện, nếu điều kiện sai thì không thực hiện gì
- Dạng đủ : Nếu điều kiện đúng thì thực hiện câu lệnh 1, nếu điều kệin sai thì thực hiện câu lệnh 2.
VD 1 : If (X Mod 2 = 0) Then
 WRITE(x,’La so chan’);
VD 2: If DELTA <0 Then 
 WRITE(‘PT Vo Nghiem’)
 Else WRITE(‘PT co nghiem’);
VD 3: Tìm giá trị lớn nhất (max) của 2 số a và b
Cách 1 :
 Max :=a; If b >a Then max :=b;
Cách 2 :
 If a >b Then max :=a Else max :=b;
Hoạt động 2: Câu lệnh ghép
GV : Trong câu lệnh If – Then muốn thực hiện nhiều lệnh sau Then hay nhiều lệnh sau Else làm thế nào ?
HS : Phát biểu ý kiến của mình.
GV : Khi đó ta cần gộp nhiều lệnh đó lại và coi đó là một câu lệnh trong chương trình. Các ngôn ngữ lập trình thường có cấu trúc để giúp ta thực hệin điều này.
GV : Giới thiệu lệnh ghép của một vài ngôn ngữ lập trình khác
C==: {}
VB: If – Then – Endif
GV : Chỉ rõ đâu là lệnh ghép trong chuỗi lệnh này.
3. Câu lệnh ghép
- Trong ngôn ngữ Pascal, Câu lệnh ghép có dạng:
Begin
End ;
Chú ý :
- Sau End phải là dấu; và trước Else không chứa dấu ;
- Từ nay nói đến câu lệnh thì đó có thể là câu lệnh đơn hoặc là câu lệnh ghép.
Ví dụ : Đoạn chương trình sau trong ngôn ngữ Pascal có sử dụng chương trình ghép.
IF DELTA <0 THEN
 WRITELN(‘Phuong trinh vo nghiem’)
ELSE
 BEGIN
 X1 :=(-B-SQRT(DELTA))/(2*A);
 X2 := - B/A – X1;
 WRITELN(‘X1=’,X1:6:3,’X2=’,X2:6:3);
 END;
Hoạt động 3: Một số ví dụ
GV nên soạn sẵn hai chương trình này và cho các em quan sát cách viết chương trình để các em hình thành dần cách viết một chương trình .
 Chạy thử chương trình và chỉ rõ các lệnh trong chương trình dùng để làm gì .
 Nếu có nhiều thời gian, GV có thể gõ từng lệnh chương trình, gõ đến đâu giải thích cho học sinh đến đó.
Nếu còn thời gian, gọi học sinh lên bảng viết câu lệnh If – Then cho một số bài toán đơn giản .
 Có thể viết chương trình mẫu cho học sinh xong, yêu cầu các em gõ lại chương trình vừa được theo dõi mà không cần nhìn vào bài mẫu .
4. Một số ví dụ
 Quan sát các chương trình sau trong ngôn ngữ lập trình Pascal .
 Ví dụ 1 :
Tìm nghiệm thực của phương trình bậc hai
AX2 + BX + C= 0
Ví dụ 2 :
Tìm số ngày của một năm: Năm nhuận là năm chia hết cho 400 hoặc chia hết cho 4 nhưng không chia hết cho 100 .
4. Cũng cố
 - Nhắc lại một số khái niệm mới .
 - Nhắc lại cấu trúc If- Then
 - Nhắc lại cấu trúc câu lệnh ghép
 - Cho bài tập về nhà .
V. PHỤ LỤC 2
Tuần: 6
Ngày soạn:20/09/2011
Tiết: 12
Ngày dạy: //
BÀI TẬP
Bài 1: Viết chương trình nhập vào ba số a, b, c, xuất ra màn hình số lớn nhất (max) của ba số đó.
*Xác định yêu cầu:
            + Input: a, b, c ( số thực)
            +Output: max ( số thực)
* Thuật toán:
B1: Nhập a, b, c
B2: max<-- a
B3 Nếu max<b thì max<--b
B4: nếu max <c thì max <-- c
B5: Xuất max, kết thúc
* Chương trình:
Program Tim_Max;
Uses crt;
Var a, b, c, max: Real;
Begin
            Clrscr;
            Write(‘Hay nhap ba so a, b,c:’);
            Readln(a, b, c);
            Max:=a;
            If ( Max < b) Then Max:= b;
            If (Max < c) Then Max:=c;
            Write(‘Max cua a, b, c la:’, Max);
            Readln;
End.
Bài 2: 
Nhập 3 cạnh vào và báo cáo ra là 
-Tam giác hay không?
-Tam giác thường, vuông, đều, cân!
PROGRAM tamgiac;
USES crt;
VAR a,b,c:REAL;
    vuong,can,deu:BOOLEAN;
BEGIN
    clrscr;
    REPEAT
       clrscr;
       write('Nhap 3 canh tam giac: ');readln(a,b,c);
    UNTIL ((a+b)>c) AND ((a+c)>b) AND ((b+c)>a);
    IF (a*a+b*b=c*c) OR (a*a + c*c=b*b) OR (b*b + c*c=a*a) THEN vuong:=TRUE;
    IF ((a=b) AND (bc)) OR ((a=c)AND (cb)) OR ((c=b)AND(ba)) THEN can:=TRUE;
    IF (a=b) AND (a=c) THEN deu:=TRUE;
    IF (vuong AND NOT can) THEN write('Tam giac vuong ');
    IF (NOT deu AND can) THEN write('Tam giac can');
    IF (vuong AND can) THEN write('Tam giac vuong can');
    IF deu THEN write('Tam giac deu');
    IF (NOT vuong) AND (NOT can) AND (NOT deu) THEN
        write('Tam giac thuong');
    readln;
Tuần: 7
Ngày soạn:25/9/2011
Tiết: 13-14
Ngày dạy: //
BÀI TẬP VÀ THỰC HÀNH 2
I. MỤC ĐÍCH, YÊU CẦU
1. Kiến thức

File đính kèm:

  • docgiao an tin hoc 11.doc