Lặp với số lần chưa biết trước và câu lệnh while – do

Một phần của tài liệu Giáo án phát triển năng lực môn Tin Học lớp 11 (Trang 67 - 73)

Yêu cầu học sinh thảo luận nhóm: đọc bài toán 2 và trả lời các câu hỏi sau:

Thảo luận nhóm và đại diện trình bày.

Bài toán 2 : Tính tổng

S=1 + 2 + 3+ ….+ i Với điều kiện S >15 tìm i Trình bày các bước liệt

kê của thuật toán tổng 2

B1: S :=0; i :=0;

B2: Nếu S > 15 thì chuyển đến bước 5 ;

B3: i:=i+1;

B4: S := S+ i rồi quay lại bước 2;

B5: Đưa kết quả i rồi kết thúc.

Bài toán này lặp với N bằng mấy thì kết thúc?

Suy nghĩ, trả lời. -

Nhận xét, chốt ý - Từ bước 2 đến bước 4 được

lặp lại nhiều lần nếu điều kiện S >15 chưa được thỏa mãn.

Trong Pascal có một câu lệnh để giải bài toán có điều kiện dừng mà chưa biết số lần lặp.

While <điều kiện> do

<câu lệnh>;

Trong Pascal dùng câu lệnh while-do để giải bài toán có điều kiện dừng mà chưa biết số lần lặp. Câu lệnh while-do coa dạng:

- While <điều kiện> do <câu lệnh>;

- Trong đó Điều kiện là biểu thức

lôgic.

- -Điều kiện là biểu thức lôgic Câu lệnh là một câu lệnh

đơn hoặc câu lệnh ghép.

- -Câu lệnh là một câu lệnh đơn hoặc câu lệnh ghép.

viên

Ý nghĩa : Khi điều kiện còn đúng thì còn thực hiện câu lệnh sau do sau đó lại quay lại kiểm tra điều kiện.

Sử dụng câu lệnh while- do hãy viết chương trình tính tổng 2.

Thào luận nhóm, đại diện trình bày

Chương trình bài toán 2:

program tong2;

uses crt;

var S,i:integer;

begin clrscr;

S:=0;i:=0;

while S<=10 do begin

i:=i+1;

S:= S+i;

end;

writeln(i);

readln end.

Ví dụ : Tìm ước chung lơn nhất (U7CLN) của hai số nguyên dương M va N.

Trình bày các bước liệt kê của thuật toán trên U7CLN.

B1: Nhập M,N;

B2: Nếu M=N thì lấy giá trị chung này làm U7CLN rồi chuyển đến bước 5;

B3: Nếu M>N thì M  M – N ngược lại N  N- M;

B4: Quay lại bước 2;

B5: Đưa kết quả ƯCLN rồi kết thúc.

Các bước liệt kê của thuật toán:

B1: Nhập M,N;

B2: Nếu M=N thì lấy giá trị chung này làm U7CLN rồi chuyển đến bước 5;

B3: Nếu M>N thì M  M – N ngược lại N  N- M;

B4: Quay lại bước 2;

B5: Đưa kết quả ƯCLN rồi kết thúc.

Nhận xét và chốt ý. -

Trình bày thuật toán trên theo sơ đồ khối?

Trình bày thuật toán theo sơ đồ khối.

- Thuật toán theo sơ đồ khối hình 9 trang 47 sgk.

Nhận xét và sửa sai.

Viết chương trình của thuật toán trên?

Program UCLN;

Uses crt;

Var

M,N: integer;

Begin Clrscr;

Writeln('Nhap vao so nguyen duong M, N:');

Readln(M,N);

While M<>N do

- Chương trình tìm UCLN của hai số.

- Program UCLN;

- Uses crt;

- Var

- M,N: integer;

- Begin - Clrscr;

- Writeln('Nhap vao so nguyen duong M, N:');

Hoạt động của giáo viên

Họat động của học sinh Nội dung If M>N then

M:= M-N

else N:= N- M;

Writeln('Uoc chung lon nhat cua 2 so = ',M);

Readln End.

- Readln(M,N);

- While M<>N do

- If M>N then M:=

M-N

- else N:= N-M;

- Writeln('Uoc chung lon nhat cua 2 so = ',M);

- Readln - End.

Nhận xét, sửa sai. -

3. Luyện tập và thực hành:

- Viết cấu trúc lặp với số lần biết trước và không biết trước?

4. Vận dụng, mở rộng và bổ sung:

- Xem lại bài đã học.

- Xem trước BTTH2 IV. Rút kinh nghiệm:

- Ưu điểm:

...

...

...

...

- Hạn chế:

...

...

...

...

Tiết PPCT: 22-23-24 BÀI TẬP THỰC HÀNH CHƯƠNG III

I. Kiến thức cần đạt

- Ôn tập lại các kiến thức về cấu trúc rẽ nhánh và cấu trúc lặp

- Rèn luyện kỹ năng biên soạn, hiệu chỉnh và thực hiện chương trình.

II. Chuẩn bị dạy - học

- Giáo viên: Phòng máy vi tính - Học sinh: Sách giáo khoa, vở ghi.

III. Phương pháp: Thuyết trình kết hợp với vấn đáp Tiết 22,23

IV. Tiến trình lên lớp 1. Ổn định lớp

3. Nội dung bài mới

Hoạt động 1: làm một số bài tập sử dụng câu lệnh for-do

Hoạt động của GV Hoạt động của HS

Quan sát và hướng dẫn học sinh thực hiện.

Yêu cầu học sinh thực hiện chương trình với nhiều input khác nhau.

Bài 1: viết chương trình tính tổng S S = 1 + 2 + 3 + … + N Var S, N, i: integer;

Begin

Write(‘nhap N=’); readln(N);

S:=0;

For i:=1 to N do S:=S + i;

Write(‘Tong S=’,S);

Readln;

End.

Quan sát và hướng dẫn học sinh thực hiện.

Yêu cầu học sinh thực hiện chương trình với nhiều input khác nhau.

Bài 2: chỉnh sửa chương trình trên để giải bài toán tính tích S = 1 * 2 * 3 * 4 * … * N

Var S, N, i: integer;

Begin

Write(‘nhap N=’); readln(N);

S:=1;

For i:=1 to N do S:=S * i;

Write(‘Tong S=’,S);

Readln;

End.

Quan sát và hướng dẫn học sinh thực hiện.

Cho điểm những học sinh hoàn thành tốt bài tập và những học sinh có nhiều cố gắng trong học tập.

Bài 3: Tạo bảng số dạng sau:

0 1 2 3 4 5 6 7 8 9

10 11 12 13 14 15 16 17 18 19 ....

Program BANGSO;

Uses crt;

Var i, n: integer;

Begin Clrscr;

Writeln(' TAO BANG SO TU 0-99');

Writeln('---');

For i:=0 to 99 do Begin

If (i mod 10 = 0) then Writeln; Write(i:3) End;

Readln;

End.

4. Củng cố:

Nhận xét về ý thức học tập của học sinh và những lỗi thường mắc phải khi thực hành.

5. Bài tập về nhà

Xem lại bài, tiết sau tiếp tục thực hành.

Tiết 24 IV. Tiến trình lên lớp

1. Ổn định lớp

2. Kiểm tra bài cũ: kết hợp cho điểm khi thực hành 3. Nội dung bài mới

Hoạt động 2: làm một số bài tập sử dụng cấu trúc rẽ nhánh, lặp

Hoạt động của GV Hoạt động của HS

Bài 1: Nhập vào ba số a,b,c bất kì.

Kiểm tra xem nó có thể là độ dài ba cạnh hay không, nếu không thì in ra màn hình ' Khong la ba canh cua mot tam giac'. Ngược lại, thì in chu vi, diện tích của tam giác đó ra màn hình.

Gv: em hãy xác định input và output của bài toán?

Hs: input: 3 số a, b, c

Output: chu vi, diện tích của hình tam giác hoặc kết luận a, b, c không phải là 3 cạnh của hình tam giác.

Gv: điều kiện để 3 số a, b, c là 3 cạnh của tam giác khi nào?

Hs: (a+b)>c and (b+c)>a and (a+c)>b Gv: công thức tính chu vi và diện tích của hình tam giác khi biết 3 cạnh?

Hs: p:=(a+b+c)/2;

s:=sqrt(p*(p-a)*(p-b)*(p-c));

Quan sát, hướng dẫn đồng thời cho điểm học sinh.

Program TAMGIAC;

Uses crt;

Var a, b, c, s, p: real;

Begin Clrscr;

Write ('nhap a ='); readln(a);

Write ('nhap b ='); readln(b);

Write ('nhap c ='); readln(c);

If (a>0) and (b>0) and (c>0) and (a+b>c) and (b+c>a) and (a+c>b) thenBegin

p:=(a+b+c)/2;

s:=sqrt(p*(p-a)*(p-b)*(p-c));

Writeln('Chu vi tam giac:',2*p:4:2) ;

Writeln('Dien tich tam giac:',s:4:2);

EndElse

Writeln(‘ a, b, c khong phai la ba canh cua tam giac') ;

Readln;

End.

Bài 2: viết chương trình nhập vào số nguyên dương N. Tính tổng các số chẵn từ 1 tới N.

Hướng dẫn học sinh thực hiện.

Var I, N, S: integer;

Begin S:=0;

Write(‘Nhap N=’); readln(N);

For i:=1 to N do

Yêu cầu học sinh thực hiện chương trình với nhiều input khác nhau.

Quan sát, hướng dẫn đồng thời cho điểm học sinh.

If (I mod 2=0) then S:=S+I;

Write(‘Tong chan la:’,S);

Readln End.

4. Củng cố:

Nhận xét về ý thức học tập của học sinh và những lỗi thường mắc phải khi thực hành.

5. Bài tập về nhà

Xem lại bài, tiết sau sang chương IV – Kiểu dữ liệu có cấu trúc

========—————========

Tiết PPCT: 25,26,27 CHƯƠNG IV:KIỂU DỮ LIỆU CÓ CẤU TRÚC

Một phần của tài liệu Giáo án phát triển năng lực môn Tin Học lớp 11 (Trang 67 - 73)

Tải bản đầy đủ (DOC)

(81 trang)
w