Mục tiêu Củng cố lại kiến thức trong bài 7 thụng qua việc làm bài tập tại lớp và ở nhà của HS.. Ghi kết quả A và kết thúc thuật toán... Trả lời: Trừ d, tất cả các câu lệnh đều không hợ
Trang 1Tuần : 23 Tiết
: 43
Bài tập
Giáo án tin học lớp 8
I Mục tiêu
Củng cố lại kiến thức trong bài 7 thụng qua việc làm bài tập tại lớp và ở nhà của HS
Thái độ nghiêm túccẩn thận
II Chuẩn bị :
Gv: Soạn giỏo ỏn, SGK, SBT
HS: Vở ghi, vở bài tập, SGK, SBT
III Hoạt động dạy và học
IV Nội dung bài tập:
Bài 1 (5’) Sau khi thực hiện đoạn chương trình
trên giá trị của J là bao nhiêu ?
J:=0;
Trang 2for i:=0 to 5 j:=j+2;
Trả lời:
Sau khi thực hiện đoạn chương chương trên giá trị của j =12
Bài 2 (7’): Hãy mo6ta3 thuật toán để tính tổng sau
đây ?
1.3 2.4 3.5 ( 2)
A
n n
Trả lời:
Thuật toán tính tổng A =
) 1 (
1
5 3
1 4 2
1 3 1
1
n n
Bước 1 Gán A 0, i 1
Bước 2 A 1
( 2)
i i
Bước 3 i i + 1
Bước 4 Nếu i n, quay lại bước 2
Bước 5 Ghi kết quả A và kết thúc thuật toán
Trang 3Bài 3 (7’): 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’);
d) var x:real; begin for x:=1 to 10 do writeln(‘A’); end
Trả lời:
Trừ d), tất cả các câu lệnh đều không hợp lệ:
a) 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ệ;
Trang 4e) 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
Bài 4 (8’): Thuật toán:
Bước 1 Nhập các số n và x
Bước 2 A 1, i 0 (A là biến lưu luỹ thừa bậc n của x)
Bước 3 ii + 1, A A.x
Bước 4 Nếu i < n, quay lại bước 3
Bước 5 Thông báo kết quả A là luỹ thừa bậc n
của x và kết thúc thuật toán
Chương trình Pascal có thể như sau:
var n,i,x: integer; a: longint;
begin
write('Nhap x='); readln(x);
write('Nhap n='); readln(n);
Trang 5A:=1;
for i:=1 to n do A:=A*X;
writeln(x,' mu ',n,' bang ',A);
end
Bài 5 (8’) Thuật toán:
Bước 1 Nhập số n
Bước 2 A 32768 (gán số nhỏ nhất có thể
trong các số kiểu nguyên cho A), i 1
Bước 3 Nhập số thứ i và gán giá trị đó vào biến
A
Bước 4 Nếu Max < A, Max A
Bước 5 i i + 1
Bước 6 Nếu i ≤ n, quay lại bước 3
Bước 7 Thông báo kết quả Max là số lớn nhất và
kết thúc thuật toán
Chương trình Pascal có thể như sau:
Trang 6uses crt;
var n,i,Max,A: integer;
begin
clrscr;
write('Nhap N='); readln(n);
Max:=-32768;
for i:=1 to n do
begin write('Nhap so thu ',i,':'); readln(A);
if Max<A then Max:=A end;
writeln('So lon nhat: ',Max);
end
Lưu ý Trong chương trình trên chúng ta chỉ sử
dụng hai biến A và Max để giải bài toán Một
cách tự nhiên, để nhập n số chúng ta cần tới n
biến Tuy nhiên, ở đây việc xử lí các giá trị trong dãy số có thể thực hiện bằng cách chỉ cần so
sánh các giá trị đã được nhập vào, do đó chúng ta
Trang 7chỉ cần một biến để lưu lần lượt các giá trị nhập vào là đủ Một cách giải quyết khác là sử dụng biến mảng (xem bài tập 6, bài 9)
Bài 6 (7’): Lời giải bài này tương tự như lời giải của
bài 9 ở trên (xem thuật toán trong lời giải bài tập 5a, bài 5) Chương trình Pascal có thể như sau:
uses crt;
var n,i,SoDuong,A: integer;
begin
clrscr;
write('Nhap N='); readln(n);
if n>0 then
begin
SoDuong:=0;
for i:=1 to n do
begin write('Nhap so thu ',i,':'); readln(A);
if A>0 then SoDuong:=SoDuong+1 end;
Trang 8writeln('So cac so duong = ',SoDuong)
end
else writeln('n phai > 0!');
end.
III Củng cố - Hướng dẫn về nhà học bài và làm bài: (3’)
- Học bài
- Làm lại cỏc bài tập
Xem trước nội dung bài thực hành 5, giờ sau thực
hành tại phũng mỏy