Bài 7. Câu lệnh lặp

Chia sẻ bởi Lê Thiện Minh | Ngày 24/10/2018 | 46

Chia sẻ tài liệu: Bài 7. Câu lệnh lặp thuộc Tin học 8

Nội dung tài liệu:

CHÀO MỪNG THẦY CÔ ĐẾN DỰ CHUYÊN ĐỀ - LỚP 8/13
Môn: Tin Học 8
Trường THCS Hà Huy Tập
LỆNH TẠO VÒNG LẶP TRONG NGÔN NGỮ PASCAL
1- Ôn lại lý thuyết về câu lệnh lặp
- Lệnh lặp với số lần biết trước
- Lệnh lặp với số lần chưa biết trước
* Bài tập hiểu cú pháp câu lệnh
2- Bài tập viết chương trình
- Viết chương trình pascal trên máy tính
Nội dung tiết học
Ôn tập lệnh vòng lặp trong pascal
Em đã học các loại câu lệnh tạo vòng lặp nào ?
1- Lặp với số lần lặp biết trước - For ..to .. do ..
2- Lặp với số lần lặp chưa biết trước – While ..do ..
Cú pháp câu lệnh
FOR := TO
DO ;
Trong đó:
Từ khóa FOR, TO, DO
Biến đếm: Kiểu dữ liệu số nguyên
Giá trị đầu, giá trị cuối là số nguyên và giá trị đầu phải nhỏ hơn giá trị cuối
Câu lệnh: Câu lệnh đơn hoặc câu lệnh ghép
Số lần lặp = giá trị cuối – giá trị đầu + 1
Lặp với số lần lặp biết trước
Bước1: đầu tiên biến đếm sẽ nhận giá trị bằng giá trị đầu
Bước2: câu lệnh lặp lại lần thứ nhất. Sau đó biến đếm tự động tăng thêm 1 đơn vị (Biến đếm:=Biến đếm +1). Quá trình trên sẽ được lặp lại cho đến khi biến đếm bằng giá trị cuối thì ngưng.

Lưu ý : sau do không có dấu ;
Hoạt động của vòng lặp FOR
Lặp với số lần lặp biết trước
For i : = 5 to 10 do writeln( ‘Chao cac ban’);
? Em hãy chỉ ra các thành phần trong câu lệnh sau ? (từ khóa, biến đếm, giá trị đầu, giá trị cuối, câu lệnh). Kết quả của câu lệnh là gì ?
For, to, do là các từ khoá
i là biến đếm
5 là giá trị đầu
10 là giá trị cuối
writeln( ‘Chao cac ban’); là câu lệnh
Xuất ra màn hình 6 lần câu ‘Chao cac ban’
Hiểu câu lệnh
1- For i:= 100 to 1 do writeln(‘A’);
2 -For i:= 1.5 to 10.5 do writeln(‘A’);
3- For i= 1 to 10 do writeln(‘A’);
4 - For i:= 1 to 10 do; writeln(‘A’);
5- Var i: real; For i:= 1 to 10 do writeln(‘A’);
Hãy chỉ ra lỗi trong các câu lệnh sau đây
Hiểu câu lệnh
Trong đó:
Từ khóa While, do
Điều kiện thường là biểu thức so sánh có các dấu : >,<,>=,<=,<>
Câu lệnh: Câu lệnh đơn hoặc câu lệnh ghép


Lặp với số lần lặp chưa biết trước
Cú pháp: While <điều kiện> do ;
Bước 1 : Kiểm tra tính đúng sai của điều kiện.
Bước 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.

Nếu vòng lặp bị lặp vô tận hoặc câu lệnh bị lỗi khi thực hiện trên máy tính thì xử lý thế nào ??
Hoạt động của vòng lặp WHILE
Lặp với số lần lặp chưa biết trước
Hãy chỉ ra lỗi và sửa lỗi trong các lệnh sau đây
1- X:=10; While X:=10 do X:=X+5;
2- X:=10; While X=10 do X=X+5;
3- X:=10; While X=10 do; X:=X+5;
4- S:=0;n:=0; While S<=10 do n:=n+1; S:=S+n;

Lỗi lặp vô tận
X:=X+5
Bỏ
X=10
Hiểu câu lệnh
begin
End;
Hiểu câu lệnh
Cho biết kết quả khi thực hiện câu lệnh sau:
a:= 3;
While a < =10 do
begin
writeln(a);
a:= a + 1;
end;
Hiểu câu lệnh
Em hãy nêu sự khác nhau giữa lệnh lặp với số lần lặp chưa biết trước và lệnh lặp với số lần lặp đã biết trước?
Số lần lặp lại
Cách thực hiện câu lệnh
Hiểu câu lệnh
Bài tập viết chương trình
Bài tập 1 tổng nhiều số
Nhập nhiều lần số nguyên n. Xuất tổng S của các số n đã nhập, cho đến khi nào S lớn hơn 100 thì ngưng nhập.

VD nhap n = 9 S = 9
nhap n = 30 S = 39
nhap n = 52 S = 91
nhap n = 10 S = 101

Hướng dẫn
Dùng lệnh lặp for hay while ?
lệnh while vì chưa xác định nhập bao nhiêu lần số n
Dùng lệnh while thì điều kiện để dừng là gì ?
tổng S lớn hơn 100
Câu lệnh nào được lặp lại ?
1- Nhập số n
2- Tính và xuất tổng các số n đã nhập.
Viết câu lệnh while như thế nào?
Thời gian viết chương trình
3 phút

S:= 0;
While s<100 do
begin
Write(‘nhap n = ‘); readln(n);
S:= S + n ;
Writeln(‘tong cac so n da nhap = ‘,s);
End;
Bài tập viết chương trình
Bài tập 2 các số chia hết
Nhập hai số nguyên a, b(b > a). Xuất các số từ 2 đến b mà chia hết cho a.

VD nhap a = 4 b = 20
xuat 4 8 12 16 20
nhap a = 7 b = 9
xuat 7
Hướng dẫn
Có dùng lệnh tạo vòng lặp hay không ?
Dùng lệnh for hay while ?
Dùng lệnh for thì giá trị đầu giá trị cuối là bao nhiêu ?
giá trị đầu = 2 , giá trị cuối = b
Lệnh nào lặp lại ?
nếu i chia hết cho a thì xuất i
i từ giá trị 2 đến giá trị b
Viết câu lệnh ?
Thời gian viết chương trình
2 phút
Dùng lệnh For .. do
For i:= 2 to b do
If i mod a = 0 then write(i:5);

Nếu dùng lệnh while thì điều kiện lặp lại là gì
i <= b
Lệnh nào lặp lại ?
1- nếu i chia hết cho a ( i từ giá trị 2 đến giá trị b) thì xuất i 2- tăng i thêm 1 đơn vị
Viết câu lệnh ?

Thời gian viết chương trình
1 phút
Dùng lệnh While .. do
i:= 2;
While i < =b do
begin
If i mod a = 0 then write(a:5);
i:= i +1 ;
end;
Em nhận thấy dùng lệnh nào ngắn gọn hơn? Vì sao ?
Bài tập viết chương trình ở nhà
Bài tập 3 ước số
Nhập 1 số nguyên n. Xuất các ước số của số n (không tính 1 và n).
Vd n = 12 xuat 2 3 4 6
Bài tập 4 tổng các chữ số
Nhập một số nguyên n. Tính tổng các chữ số của số n.
VD n = 624 tong cac chu so la 12
Bài tập 5 gấp giấy
Một tờ giấy có độ dầy là 0.01mm. Hỏi phải gấp đôi tờ giấy bao nhiêu lần để đạt được độ dầy 0.5m.
Trò chơi ô chữ
Ô chữ gồm 8 từ hàng ngang và một từ khoá hàng dọc.
Mỗi ô chữ sẽ có một gợi ý liên quan đến bài học, đại diện các nhóm lựa chọn câu hỏi ở các ô. Trả lời đúng, bí mật của ô chữ sẽ mở được ra và bạn sẽ tìm ra bí ẩn của chìa khóa.
?
Cấu trúc FOR .. TO..DO và cấu trúc WHILE ..DO được gọi là cấu trúc .......
1
HÀNG DỌC
Ngôn ngữ dùng để viết các chương trình máy tính được gọi là ngôn ngữ ...
ĐÁP ÁN
?
Dãy hữu hạn các thao tác được sử dụng để giải một bài toán được gọi là ...
2
?
Đây là một từ khoá mà sau từ khoá này có thể đặt tên (tiêu đề) cho chương trình
3
?
Tên khai báo dữ liệu kiểu nguyên là ...
4
?
Sau từ khoá USES là ....
5
?
Hàm AVERAGE được sử dụng để tính giá trị ...
6
?
Để 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 ta sử dụng từ khoá ...
7
?
Trong vòng lặp FOR...TO...DO giá trị cuối
luôn ... giá trị đầu
8
3
9
7
7
3
9
3
6

Cảm ơn các thầy cô
cùng toàn thể các em
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Lê Thiện Minh
Dung lượng: | Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)