1. Trang chủ
  2. » Luận Văn - Báo Cáo

Giáo án Tin học lớp 11 Tiết 15: Cấu trúc lặp (Tiết 1) Năm học 20122013 Nguyễn Thị Thắm21148

4 8 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 157,43 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Kiến thức: - Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán - Hiểu cấu trúc lặp kiểm tra điều kiện trước, cấu trúc lặp với số lần định trước.. -Viết đúng các câu lệnh lặp kiểm

Trang 1

Tiết 15: CẤU TRÚC LẶP (Tiết 1)

Ngày soạn:

Ngày dạy:

I/ Mục tiêu:

1 Kiến thức:

- Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán

- Hiểu cấu trúc lặp kiểm tra điều kiện trước, cấu trúc lặp với số lần định trước

- Biết vận dụng đúng đắn cấu trúc lặp vào tình huống cụ thể

2 Kỹ năng:

- Mô tả được thuật toán của một số bài toán đơn giản có sử dụng lệnh lặp

-Viết đúng các câu lệnh lặp kiểm tra điều kiện trước, lệnh lặp với số lần định trước

3 Thái độ: Xác định thái độ nghiêm túc trong học tập khi làm quen với nhiều qui

định nghiêm ngặt trong lập trình

II/ Chuẩn bị:

- Giáo viên: Giáo án – Sách GK

- Học sinh: Vở soạn, sách GK, vở học.

III/ Phương pháp truyền thụ:

Giáo viên giảng giải cho học sinh hiểu

IV/ Tiến trình lên lớp:

1 Ổn định lớp:Kiểm tra sĩ số

2 Kiểm tra bài cũ: nêu cấu trúc câu lệnh if- then và sự giống nhau, khác nhau của 2

dạng câu lệnh if- then?

V/ Bài mới:

1 Lặp: Cấu trúc lặp là một điều kiện thực hiện

công việc lặp đi lặp lại khi chưa đủ số lần lặp hoặc

khi một điều kiện nào đó còn đúng

VD1: Viết chương trình in ra các số 1 2 3 4 5

theo hàng ngang và dọc

GV: Gợi ý đây là lặp lại 5 lần, biết trước số lần lặp

H: VD1 có khai báo biến không, sử dụng bao nhiêu lệnh write và bao nhiêu lệnh writeln GV: Gọi 2 HS lên bảng viết chương trình HS:

Propram inso;

Begin Writeln(1);

Writeln(2);

Writeln(3);

Writeln(4);

Writeln(5);

Readln;

Trang 2

Bài toán 1: Tính và đưa ra kết quả màn hình

tổng, với a là số nguyên và a>2

Bài toán 2: Tính và đưa ra kết quả màn hình

tổng, với a là số nguyên và a>2

+ cho đến khi

* Bài toán 1: Việc tăng giá trị cho tổng S được

lặp đi lặp lại 100 lần  Số lần lặp biết trước.

* Bài toán 2: Việc tăng giá trị cho tổng S được

lặp đi lặp lại cho đến khi  Số

lần lặp chưa biết trước.

II Lặp với số lần lặp biết trước:

A>Dạng tiến:

1.Cú pháp

For <biến đếm>:=<giá trị đầu> to <giá trị cuối> do

<câu lệnh>

2.Ý nghĩa các thành phần:

+ Biến đếm là biến đơn, có kiểu là: kiểu nguyên,

kiểu Char (kiểu kí tự)

+ Giá tri đầu và giá trị cuối phải cùng kiểu với biến

đếm và giá trị đầu phải nhỏ hơn hoặc bằng kí tự

cuối

+ Khi lệnh for chạy thì biến đếm sẽ tăng tự động

liên tiếp từ giá trị đầu đến giá trị cuối

B> Dạng lùi

1.Cú pháp

For <biến đếm>:=<giá trị cuối> downto <giá trị

đầu> do <câu lệnh>;

End

GV: Đưa ra hai dạng bài toán H: S xuất phát bằng bao nhiêu? lần 1,2,3, n HS: S xuất phát , lần 1

H: Sau mỗi lần lặp thì S tăng lên bao nhiêu? HS: Tăng lên

H: Cấu trúc lặp được phân biệt mấy loại? HS: Hai loại là lặp với số lần biết trước và lặp với số lần chưa biết trước

VD1:

Propram inchu;

Var i: Integer;

Begin For i:=1 to 5 do Writeln(‘Turbo Pascal’);

Readln;

End

N a a

a

a

S

2

1 1

1 1

N a a

a

a

S

2

1 1

1 1

0001 0

1

 N

a

0001 0 1

 N

a

a

1

1

1

a

i

a 1

Trang 3

- Biến đếm lần lượt nhận các giá trị giảm liên tiếp

từ giá trị cuối đến giá trị đầu

C>Chú ý

Trong quá trình thực hiện vòng lặp for đối với dạng

tiến máy tự động tăng biến đếm lên 1 sau mối lần

lặp (dạng lùi trừ 1) do đó người viết chương trình

không được tự động thay đổi biến đếm

VD2: Viết chương trình in ra các số 5 4 3 2 1 theo

hàng dọc

- Trong chương trình này giá trị đầu nhỏ hơn giá trị

cuối và biến đếm lần lượt giảm từ 5 1

VD3: Viết chtrình nhập vào 2 số nguyên dương

M,N(M<N), đếm xem có bao nhiêu số chia hết cho

3 hoặc 5 trong phạm vi từ M đến N

Program vd3;

Uses crt;

Var M,N: integer; dem: logint;

Begin

Clrscr;

Write(‘nhâp M,N(M<>N):’); Readln(M,N);

Dem:=0;

For i:=M to N do

If ((I mod 3)=0) or ((I mod 5)=0) then

Dem:=dem+1;

Writeln(‘kết qua’,dem);

Readln;

End

VD4: Với a là số nguyên và a>2, xét bài toán sau:

Bài toán 1: Tính và đưa kết quả ra màn hình tổng

sau:

* Thuật toán: Lặp tiến

- B1: S ← 1/a; N ← 0 ;

- B2: N ← N + 1;

VD2:

Propram inso;

Var i: Integer;

Begin For i:=1 to 5 do Writeln(i);

Readln;

End

VD3:

Propram inso;

Var i: Integer;

Begin For i:=5 downto 1 do Writeln(i);

Readln;

End

GV: - Biến đếm thường dùng là biến i

- Trước khi dùng vòng lặp for phải khai báo giá trị cuối (nếu có), thường là biến n

Viết chương trình để giải bài toán trên

100

1

2

1 1

1

1

a a

a

a

S

Trang 4

- B2: Nếu N > 100 thì chuyển xuống B5;

- B4: S ← S + 1/(a+N) rồi quay lại B2;

- B5: Đưa S ra màn hình, rồi kết thúc;

* Thuật toán: Lặp lùi

- B1: S ← 1/a; N ← 101 ;

- B2: N ← N - 1;

- B2: Nếu N < 1 thì chuyển xuống B5;

- B4: S ← S + 1/(a+N) rồi quay lại B2;

- B5: Đưa S ra màn hình, rồi kết thúc

VI/ Củng cố:

- Nhắc lại một số khái niệm: Cấu trúc lặp thông qua các ví dụ

VII/ Dặn dò:

chuẩn bị bài luyện tập

VIII/ Rút kinh nghiệm:

Ngày đăng: 25/03/2022, 16:02

🧩 Sản phẩm bạn có thể quan tâm

w