Tải bản đầy đủ (.pdf) (8 trang)

Giáo án tin học lớp 8 - bài tập doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (195.32 KB, 8 trang )

Tuầ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;
for 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 1 1 1

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


nn

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.
Bà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ệ;
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.
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. ii + 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);
A:=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:
uses 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
chỉ 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;
writeln('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.



×