Tuy có vòng lặp 1000 lần, nhưng chương trình Pascal nói trên không thực hiện bất kì một hoạt động nào.. Tuy nhiên đây vẫn là câu lệnh hợp lệ... a Giá trị đầu phải nhỏ hơn giá trị cuối; b
Trang 2CÂU 1: sau khi thực hiện đoạn chương trình
dưới đây, giá trị của S là bao nhiêu? Máy tính thực hiện bao nhiêu vòng lặp?
a) S:=0;
For i:=1 to 1 do S:=S+2;
b)S:=0;
For i:=5 to 12 do S:=S+1;
Trang 3a) S:=0;
For i:=1 to 1 do S:=S+2;
- S=2, máy thực hiện 1 vòng lặp b) S:=0;
For i:=5 to 12 do S:=S+1;
- S=8, máy thực hiện 8 vòng lặp
Trang 4CÂU 2:- Chương trình Pascal sau đây thực hiện hoạt động nào?
var i: integer;
begin
for i:=1 to 1000 do;
end.
Tuy có vòng lặp 1000 lần, nhưng chương trình Pascal nói trên không thực hiện bất kì một hoạt động nào
Tuy nhiên đây vẫn là câu lệnh hợp lệ.
Trang 5CÂU 3: - Các câu lệnh Pascal 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; for x:=1 to 10 do writeln(’A’);
Trang 6a) Giá trị đầu phải nhỏ hơn giá trị cuối;
b) Các giá trị đầu và giá trị cuối phải là số
nguyên;
c) Thiếu dấu hai chấm khi gán giá trị đầu;
d) Thừa dấu chấm phẩy thứ nhất, nếu như
ta muốn lặp lại câu lệnh writeln(’A’) mười
lần, ngược lại câu lệnh là hợp lệ;
e) Biến x đã được khai báo như là biến có
dữ liệu kiểu số thực và vì thế không thể
dùng để xác định giá trị đầu và giá trị cuối trong câu lệnh lặp
Trang 7- Viết chương trình tính tổng 1+2+3+….+n (với n nhập từ bàn phím)
Trang 8Bài tập
Em hãy viết chương trình tính tổng các số nguyên liên tiếp từ n đến m với n,m là các số nguyên dương nhập vào từ bàn phím Gợi ý :
-Tìm input,output ?
- Khai báo các biến nào ? Kiểu dữ liệu gì ?
- Nhập vào từ bàn phím giá trị cho biến nào ?
-Tìm thuật toán của chương trình ?
- Sử dụng các câu lệnh gì để viết chương trình ?
Trang 9- Input: n, m ; Output : Tổng S
- Khai báo biến : n, m, S, i kiểu Integer
- Nhập giá trị vào từ bàn phím cho biến n và m
- Thuật toán : Cho biến đếm i chạy từ n đến m
Nếu I <= m thì tổng S:= S +i
- Sử dụng câu lệnh Write, Readln, For to do
*Chương trình
Trả lời:
Program tinh_tong;
Var m, n, i: integ er ; S: longint;
Begin write (‘Nhap n = ‘); readln ( n); write (‘Nhap m=‘); readln ( m); S:=0;
For i:= n to m do S:= S + n; Writeln (‘Tong cua S = ’,S); Readln;
end.
Hướng dẫn:
Trang 10Hướng dẫn về nhà
- Cấu trúc lặp: For to do
- BTVN: 1, 2, 3, 4, 5, 6 (sgk)
Trang 11Bài tập trắc nghiệm
Trang 12Câu 1: Hãy cho biết đâu là đoạn lệnh lặp for…do để tính tổng S= 1+2+3+…+10?
a) S:= 0; for i:= 1 to 10 do S:=S+1;
b) S:= 0; for i:= 1 to 10 do S:=i+1;
c) S:= 0; for i:= 1 to 10 do
begin
S:=S+1; i:=i+1;
end
d) S:= 0; for i:= 10 to 1 do S:=S+i;
a)
Trang 13Câu 2: Hãy cho biết đâu là đoạn lệnh lặp for…do để in A
a) for i:= 100 to 1 do writeln(‘A’);
b) for i:= 1 to 10 do writeln(‘A’);
c) for i:= 1.5 to 10.5 do writeln(‘A’);
d) for i:= 1 to 10 do; writeln(‘A’
b)
Trang 14Câu 3: Hãy cho biết đâu là câu lệnh lặp hợp lệ?
a) for i:= 10 to 1 do writeln(‘B’);
b) for i:= 1 to 10 do; writeln(‘A’);
c) for i:= 1 to 50 do writeln(‘Tong la:’, S:4:2); d) for i:= 1.5 to 20 do; writeln(‘A’);
c)
Trang 15Goo d Lu
u!
u!