Đáp án:Đây là câu lệnh không hợp lệ vì cú pháp For..do không đặt trong cặp lệnh ghép Begin..end... Bài tập 4/SGK/79: Câu lệnh khai báo biến mảng sau đây máy tính có thực hiện được không
Trang 1Ngày soạn: 28/4/2011
Ngày dạy: 29/4/2011
Tiết62: bài tập
i Mục tiêu
Vận dụng kiến thức của bài 7: Câu lệnh lặp ; bài 8: Lặp với số lần chưa
biết trước và bài 9 : Làm việc với dãy số để làm bài tập.
ii Chuẩn bị
GV: Máy tính, máy chiếu
HS: Kiến thức bài 7, 8, 9, làm bài tập trước tại nhà.
Trang 2iii Nội dung
1 Lý thuyết
Bài 7: Câu lệnh lặp biết trước số lần lặp:
Câu hỏi: Em hãy nêu cú pháp câu lệnh lặp biết trước số lần?
Trả lời:
For <biến đếm> := <Giá trị đầu> To <Giá trị cuối> Do <lệnh>;
Ví dụ: For i:= 1 to N do S:=S+i;
Bài 8: Câu lệnh lặp chưa biết số lần lặp:
Câu hỏi: Em hãy nêu cú pháp câu lệnh lặp chưa biết trước số lần?
Trả lời:
While <điều kiện> Do <lệnh>;
Ví dụ: S:=0; n:=0;
while S<=10 do
Trang 3Bµi 9: Lµm viÖc víi d·y sè:
C©u hái: Em h·y nªu c¸ch khai b¸o biÕn m¶ng?
Tr¶ lêi:
Var Tªn m¶ng:Array[<chØ sè ®Çu> <chØ sè cuèi>]
of <KiÓu d÷ liÖu>;
VÝ dô: Var Diem:Array[1 25] of real;
Trang 42 Bµi tËp
B i t p 4/SGK/61 à ậ
• 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;
Đáp án: j=12
Trang 5Bài tập 5/GSK/61:
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’);
Đáp án: Câu lệnh này không hợp lệ vì giá trị đầu lớn hơn giá trị cuối.
b) For i:= 1.5 to 10.5 do Writeln(‘A’);
Đáp án: Câu lệnh này không hợp lệ vì giá trị đầu và giá trị cuối không
phải là giá trị nguyên.
c) For i:= 1 to 10 do Writeln(‘A’);
Đáp án: Đây là câu lệnh hợp lệ
d) For i:= 1 to 10 do Writeln(‘A’);
Đáp án:Đây là câu lệnh không hợp lệ vì sau từ khóa do không có dấu
chấm phẩy
e) Var x: real; Begin For x:= 1 to 10 do Writeln(‘A’); end.
Đáp án:Đây là câu lệnh không hợp lệ vì cú pháp For do không đặt trong
cặp lệnh ghép Begin end.
Trang 6Bài tập 8.3/SBT/67: Trong các câu lệnh sau đây,
câu lệnh nào sai và sai ở đâu?
a) While i:= 1 do t:=10;
Đáp án: Thừa dấu hai chấm ở điều kiện i:=1;
b) While a<=b; do write (‘b khong nho hon a’);
Đáp án: Thừa dấu chấm phẩy trước từ khoá do
c) While 1=1 do write (‘ Toi hoc gioi’);
Đáp án: Vòng lặp này thực hiện vô hạn lần vì điều
kiện luôn đúng
Trang 7Bài tập 8.4/SBT/67: Đoạn lệnh sau đây sẽ cho
kết quả gì?
so:=1;
While so < 10 do writeln (so);
so:=so+1;
A In ra các số từ 1 đến 9;
B In ra các số tư 1 đến 10;
C In ra vô hạn các số 1, mỗi số trên một dòng;
D Cả A, B và C đều sai
Hãy chọn phương án trả lời đúng.
Trang 8Bài tập 4/SGK/79: Câu lệnh khai báo biến mảng
sau đây máy tính có thực hiện được không?
Vì sao?
Var N: Integer;
A: Array[1 N] of Real;
Đáp án: Câu lệnh khai báo trên máy tính không
thực hiện được, vì:
- Dữ liệu khai báo không cùng kiểu;
- Chỉ số cuối (N) phải là một giá trị cụ thể
Trang 9Bài tập: A là một biến mảng có 10 phần tử kiểu
nguyên, em cần khai báo là:
A Var A: array[1 10] of real;
B Var A: array[1 10] of integer;
C Var A: String[1 10] of real;
D Var A: String[1 10] of integer;
Hãy chọn phương án đúng.
Trang 10Bài tập: Cho mảng X có 5 phần tử với các số liệu
như hình dưới đây:
X
Hãy biểu diễn phần tử của mảng X với các giá trị tương ứng?
Gợi ý: Cách biểu diễn phần tử của mảng với giá trị
tương ứng: Tên mảng[chỉ số]=Giá trị
Đáp án: X[1]= 23,6 X[4]= 105
Trang 11Bài tập: Tìm giá trị của S qua đoạn chương
trình sau:
s:=0;
For i:=1 to 5 do s:=s+i;
Đáp án: s=15
Trang 12Củng cố, dặn dò
• VÒ nhµ «n l¹i lý thuyÕt vµ lµm tiếp c¸c bµi tËp trong
SGK vµ SBT
Cú pháp Cách thực hiện Cách làm bài tập
áp dụng
Các dạng bài tập