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

Chia sẻ bởi Huỳnh Thị Như Mai | Ngày 24/10/2018 | 56

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 quý thầy cô và các em
GV: HUỲNH THỊ NHƯ MAI
TRƯỜNG THCS TT LONG PHÚ
PHÒNG GIÁO DỤC HUYỆN LONG PHÚ
DỰ GIỜ LỚP 8A3
Muốn in ra màn hình bốn chữ “O” không nằm cùng một hàng, em sử dụng câu lệnh nào?
Writeln(‘O’);
Program VD;
Uses crt;
Begin
Writeln (‘O’);
Writeln (‘O’);
Writeln (‘O’);
Writeln (‘O’);
Readln;
end.
Chương trình sau sẽ in ra màn hình 4 chữ “O” không nằm cùng hàng:
Khi chạy chương trình sẽ có dạng sau:
Nếu viết chương trình in ra 100 chữ “O” không cùng hàng, thì sẽ như thế nào?
Câu lệnh lặp - Một lệnh thay cho nhiều lệnh
CÂU LỆNH LẶP
Các công việc phải thực hiện nhiều lần
1
TÝnh tæng vµ tÝch b»ng c©u lÖnh lÆp
2
Ví dụ về câu lệnh lặp
3
4
Bài 7
3. Ví dụ về câu lệnh lặp
Nghiên cứu SGK, cho biết
trong pascal câu lệnh lặp có cú pháp ntn?
Trong pascal, cú pháp của câu lệnh lặp thường có dạng như sau:
FOR := TO DO < câu lệnh>;
Trong đó:
1- Các từ tiếng Anh như: For, To, Do được gọi là gì?
2- Biến đếm: Có kiểu dữ liệu gì?
3- Giá trị đầu và Giá trị cuối là các giá trị như thế nào?
4- Số vòng lặp được xác định bằng công thức nào?
5- Khi bắt đầu thực hiện Biến đếm sẽ nhận giá trị nào?
6- Khi nào Biến đếm được tăng lên? Mỗi lần tăng là bao nhiêu đơn vị? Và tăng cho đến khi nào?
3. Ví dụ về câu lệnh lặp
FOR := TO DO < câu lệnh>;
1- Các từ tiếng Anh như: For, To, Do được gọi là gì?
Là các từ khóa
2- Biến đếm: Có kiểu dữ liệu gì?
Có kiểu nguyên
3- GTĐ và GTC là các giá trị như thế nào?
Phải cùng kiểu với biến đếm
4- Số vòng lặp được xđ bằng công thức nào?
Giá trị cuối – Giá trị đầu +1
5- Khi bắt đầu thực hiện Biến đếm sẽ nhận giá trị nào?
6- Khi nào Biến đếm được tăng lên?bao nhiêu đv? Và tăng cho đến khi nào?
Giá trị đầu
- Biến đếm tăng lên sau mỗi vòng lặp
- Mỗi lần tăng 1 đơn vị
- Cho đến khi bằng giá trị cuối
Trong đó:
For, To, Do: Là các từ khóa.
Biến đếm: Thường có kiểu nguyên.
Giá trị đầu và giá trị cuối: Phải là các giá trị nguyên.
Giá trị cuối phải lớn hơn giá trị đầu
- Số vòng lặp là biết trước và bằng: Giá trị cuối – Giá trị đầu + 1
- Câu lệnh sau từ khóa DO có thể là lệnh đơn hoặc lệnh ghép (nếu là lệnh ghép phải được đặt trong cặp từ khóa Begin…end;)
3. Ví dụ về câu lệnh lặp
Trong pascal, cú pháp của câu lệnh lặp thường có dạng như sau:
FOR := TO DO < câu lệnh>;
Ví dụ
1/ For i:=1 to 10 do
a/ i, j, k: được gọi là gì?
b/ Các vòng lặp trên có bao nhiêu lần lặp?
c/ Giá trị cuối trong câu 3 là bao nhiêu?
2/ For j:=2 to 20 do
3/ For k:=1 to n do
Trong các vòng lặp sau:
Biến đếm
10 lần lặp
n lần lặp
19 lần lặp
n
Lưu đồ cấu trúc For…Do
Biến đếm:=Giá trị đầu
Biến đếm <= Giá trị cuối
Thực hiện lệnh sau từ khóa DO
Tăng biến đếm thêm 1
Kết thúc
Sai
Đúng
Nguyên lí hoạt động
Bước 1: Biến đếm sẽ nhận giá trị đầu.
Bước 2: Nếu biến đếm <= giá trị cuối thì:

Thực hiện lệnh sau từ khóa Do.

Tăng biến đếm thêm 1 đơn vị và quay lại B2

Ngược lại, nếu biến đếm >giá trị cuối thì kết thúc.
Biến đếm:=Giá trị đầu
Biến đếm <= Giá trị cuối
Thực hiện lệnh sau từ khóa DO
Tăng biến đếm thêm 1
Kết thúc
3. Ví dụ về câu lệnh lặp
Program lap;
Var i: integer;
Begin
For i:= 1 to 10 do
Writeln (‘day la lan lap thu’,i);
Readln;
end.
Ví dụ 3: Chương trình sau sẽ in ra màn hình thứ tự lần lặp:
day la lan lap thu 1
day la lan lap thu 2
day la lan lap thu 3
day la lan lap thu 4
day la lan lap thu 5
day la lan lap thu 6
day la lan lap thu 7
day la lan lap thu 8
day la lan lap thu 9
day la lan lap thu 10
3. Ví dụ về câu lệnh lặp
Ví dụ 3: Chương trình sau sẽ in ra màn hình thứ tự lần lặp:
Program lap;
Var i: integer;
Begin
For i:= 1 to 10 do
Writeln (‘day la lan lap thu’,i);
Readln;
end.
1
1
Day la lan lap thu 1
2
2
Day la lan lap thu 2
Day la lan lap thu 3
Day la lan lap thu 4
Day la lan lap thu 5
Day la lan lap thu 6
Day la lan lap thu 7
Day la lan lap thu 8
Day la lan lap thu 9
Day la lan lap thu 10
6
3
4
4
5
5
6
3
7
7
8
8
9
9
10
10
3. Ví dụ về câu lệnh lặp
Vậy, để in ra mh 100 chữ “O” không nằm cùng hàng thì ta có?
ví dụ: In ra màn hình 100 chữ O
Program in;
Uses crt;
Begin
Writeln(`O`);
Writeln(`O`);
Writeln(`O`);
Writeln(`O`);
......
........
Writeln(`O`);

End.
Program in;
Uses crt;
Var i: integer;
Begin

For i:=1 to 100 do Writeln(`O`);

End.
Chương trình không sử dụng vòng lặp For
Chương trình có sử dụng vòng lặp For
Ví dụ 4: Mô phỏng quả trứng rơi từ trên cao xuống
Program in4;
Uses crt;
Begin

For i:=1 to 10 do
begin
Writeln(`O`);
delay(100);
end;
End.

O
O
O
O
O
O
O
O
O
O
Với mỗi vòng lặp:
+ Hai câu lệnh writeln(‘0’) và delay(100) được thực hiện
+ Hai câu lệnh trên được đặt giữa 2 từ khóa begin, end  Câu lệnh ghép
4. Tính tổng và tích bằng câu lệnh lặp
Tính tổng của 5 số tự nhiên đầu tiên:
S=1+2+3+4+5
Program Tinh_tong;
Var i, S: integer;
Begin
S:=0;
For i:= 1 to 5 do
begin
S:= S + i;
Writeln (‘Tong cua S = ’,S);
end;
Readln;
end.
a – Tính tổng:
4. Tính tổng và tích bằng câu lệnh lặp
Ví dụ 5: Tính tổng của N số tự nhiên đầu tiên.
Program Tinh_tong;
Var N,i: integer;
S: longint;
Begin
Write(‘Ban can tinh tong bao nhieu so:’); Readln(N);
S:=0;
For i:= 1 to N do S:= S + i;
Writeln (‘Tong cua ‘,N, so tu nhien dau tien la = ’,S); Readln;
end.
S=1+2+3+…+N
4. Tính tổng và tích bằng câu lệnh lặp
b/ Tính tích các số
Chương trình tính tích 5 số nguyên đầu tiên: T=1*2*3*4*5
Program Tich_5_so;
Var i: integer;
T: integer;
Begin
T:=1;
For i:= 2 to 5 do T:= T*i;
Writeln (‘Tich cua 5 so nguyen dau la:’, T );
Readln;
end.
4. Tính tổng và tích bằng câu lệnh lặp
Ví dụ 6: Tính tích của N số tự nhiên đầu tiên.
Program Tinh_Giaithua;
Var N,i: integer;
P: longint;
Begin
Write(‘N= ’); Readln(N);
P:=1;
For i:= 1 to N do P:= P*i;
Writeln (N, ‘! =‘,P);
Readln;
end.
Ta kí hiệu N! là tích N số tự nhiên đầu tiên:
N!=1.2.3…N
6!= 1.2.3.4.5.6
a – Tính tích các số:
Bài tập củng cố
Sau khi thực hiện đoạn chương trình sau giá trị của biến j bằng bao nhiêu?
J:=0;
For i:=0 to 5 do
J:=j+2;
Lần lặp thứ 1 (i=0): j=0+2=2
Lần lặp thứ 2 (i=1): j=2+2=4
Lần lặp thứ 3 (i=2): j=4+2=6
Lần lặp thứ 4 (i=3): j=6+2=8
Lần lặp thứ 5 (i=4): j=8+2=10
Lần lặp thứ 6 (i=5): j=10+2=
12
Bài tập củng cố
Các câu lệnh Pascal sau có hợp lệ không? Vì sao?
a/ for i:=100 to 1 do writeln(‘A’);
b/ for i:=1.5 to 10.5 do writeln(‘A’);
c/ for i=1 to 10 do writeln(‘A’);
d/ for i:=1 to 10 do; writeln(‘A’);
e/ var x:real;
begin
for x:=1 to 10 do writeln(‘A’);
end.
Sai
Sai
Sai
Sai
Sai
Cấu trúc lặp trong thuật toán được dùng để mô tả việc thực hiện lặp đi lặp lại nhiều lần một hoặc một nhóm lệnh.
Mọi ngôn ngữ lập trình đều có các câu lệnh lặp để thể hiện cấu trúc lặp. Trong Pascal câu lệnh lặp với số lần lặp cho trước là câu lệnh: For … do
Ghi nhớ!
HƯỚNG DẪN VỀ NHÀ
- Làm các bài tập còn lại trong SGK trang 60, 61
- Viết chương trình tính tổng các từ 0 đến 10
- Viết chương trình tính tích các số từ 1 đến 15
Tiết học đến đây là kết thúc
HẸN GẶP LẠI !
* 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ẻ: Huỳnh Thị Như Mai
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)