1. Trang chủ
  2. » Giáo án - Bài giảng

Giáo án tin 8

46 173 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giáo án Tin học 8
Tác giả Diệp Thanh Toàn
Trường học Trường THCS Tôy Đụ
Chuyên ngành Tin học 8
Thể loại Giáo án
Năm xuất bản 2006
Định dạng
Số trang 46
Dung lượng 298,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

BÀI TẬP Bài 1: Viết chương trình nhập vào 2 số nguyên a, b.. * Giải trước bài tập về nhà vào tập để thực hành.. * Giải trước bài tập về nhà vào tập để thực hành.. MỤC TIÊU *Hiểu rỏ hơn v

Trang 1

Tuần: 1 Ngày soạn: 30/08/2006

GV: *Thống kê lại tất cả các kiến thức lớp 7

HS: *Ôn trước ở nhà lại tất cả kiến thức đã học

*Nắm lại cách viết chương trình trên máy

III BÀI ÔN TẬP

1 Thủ tục nhập xuất

-Nhập: READ, READLN

Ví dụ: Nhập dữ liệu vào biến a thì ta viết: READLN(a);

-Xuất: WRITE, WRITELN

Ví dụ: Xuất dữ liệu từ biến a thì ta viết: WRITELN(a);

-Đây là câu lệnh điều kiện

-ĐK đúng thì thực hiện CV1, nếu ĐK sai thì thực hiện CV2

VD: IF a>0 THEN b:=3 ELSE b:=5;

VD: For i:=1 to 3 do writeln(i);

-i nhận giá trị là 1, 2, 3 và thực hiện công việc xuất i tương ứng

5 BÀI TẬP

Bài 1: Viết chương trình nhập vào 2 số nguyên a, b Tính a+b và xuất kết quả ra màn hình.Bài 2: Viết chương trình nhập vào 2 số nguyên a, b Tính a+b, a-b, a*b và xuất kết quả ra màn hình

Bài 3: Viết chương trình nhập vào 2 số nguyên a, b Tính a2 và xuất kết quả ra màn hình.Bài 4: Viết chương trình nhập vào 2 số nguyên a, b Tính a2 + b2 và xuất kết quả ra màn hình

Trang 2

write(‘ nhap a=’);readln(a);

write(‘ nhap b=’);readln(b);

write(‘ Tong la’);writeln(a+b);

write(‘ Hieu la’);writeln(a-b);

write(‘ nhap a=’);readln(a);

write(‘ ket qua la’);writeln(a*a);

Readln;

Var a,b:integer;

Beginwrite(‘ nhap a=’);readln(a);

write(‘ nhap b=’);readln(b);

write(‘ Tong la’);writeln(a*a+b*b);Readln;

end

Program bai5;

Var a,b:integer;

Beginwrite(‘ nhap a=’);readln(a);

write(‘ nhap b=’);readln(b);

write(‘ Tong la’);writeln(a*a+b*b);write(‘ Hieu la’);writeln(a*a-b*b);

Readln;

end

I HƯỚNG DẪN VỀ NHÀ

Ôn lại tất cả kiến thức đã học

Phương Bình, ngày… tháng… năm….

Diệp Thanh Toàn

Trang 3

Tuần: 2 Ngày soạn:

VÒNG LẶP WHILE DO

I MỤC TIÊU

*Nắm được cú pháp và cách sử dụng vòng lặp WHILE…DO…

*Biết được sự khác nhau của REPEAT, WHILE và FOR

*Nhận biết được khi nào sử dụng lệnh lặp nào

· Nếu điều kiện Ðúng thì chương trình sẽ chạy trong cấu trúc WHILE DO

· Sau mỗi lần lặp, chương trình trở lại kiểm tra điều kiện Tùy theo biểu thức logic của điều kiện là Ðúng hay Sai thì chương trình sẽ thực hiện Công việc tương ứng

Trang 4

Phương Bình, ngày… tháng… năm….

Duyệt của tổ trưởng

Người soạn

Diệp Thanh Toàn

Trang 5

Tuần: 3 Ngày soạn:

THỰC HÀNH

I MỤC TIÊU

*Viết được chương trình có chứa vòng lặp WHILE DO

*Thay thế một chương trình có chứa FOR thành WHILE DO và ngược lại.

*Sửa một số lỗi thường gặp

VI CHUẨN BỊ

1 GV:*Chẩn bị phòng máy, bài tập, lịch trình tiến trình giờ thực hành

2 HS:

*Ôn lại lý thuyết đã học

* Giải trước bài tập về nhà vào tập để thực hành

Lài bài tập và xem trước bài mới

Phương Bình, ngày… tháng… năm….

Người soạn

Trang 6

VÒNG LẶP REPEAT UNTIL

I MỤC TIÊU

*Nắm được cú pháp và cách sử dụng vòng lặp REPEAT…UNTIL…

*Biết được sự khác nhau của REPEAT …UNTIL… và FOR

*Nhận biết được khi nào sử dụng lệnh lặp nào

Trang 7

3 Sự khác biệt giữa While và Repeat:

So sánh 2 cách viết WHILE DO và REPEAT UNTIL ta thấy có sự khác biệt:

-Vòng lặp While luôn luôn đi với cặp từ khoá Begin và End còn trong vòng lặp Repeat không cần sử dụng cặp Begin và End

- Trong cấu trúc WHILE DO thì <Ðiều kiện> được kiểm tra trước, nếu thỏa <Ðiều kiện> thì mới thực hiện <Công việc>

- Ngược lại, trong cấu trúc REPEAT UNTIL thì <Công việc> sẽ được thực thi trước sau đó mới kiểm tra <Ðiều kiện>, nếu không thỏa <Ðiều kiện> thì tiếp tục thi hành <Công việc> cho đến khi <Ðiều kiện> là đúng

Lệnh REPEAT UNTIL thường được sử dụng trong lập trình, nhất là lúc người sử dụng muốn tiếp tục bài toán ở trường hợp thay đổi biến mà không phải trở về chương trình và nhấn tổ hợp phím Ctrl + F9 lại

Writeln (' Tích số của a x b là :' , a*b : 10 ) ;

Writeln (' Tiếp tục tính nữa không (CK) ? ');

Readln (CK) ;

UNTIL upcase(CK) = K; {hàm chuyển đổi ký tự trong biến}

{CK thành ký tự in hoa}

END

Phương Bình, ngày… tháng… năm….

Duyệt của tổ trưởng

Người soạn

Diệp Thanh Toàn

Trang 8

THỰC HÀNH

I MỤC TIÊU

*Hiểu rỏ hơn về cách chạy chương trình của vòng lặp REPEAT

*Thay thế một chương trình có chứa FOR thành REPEAT và ngược lại

*Sửa một số lỗi thường gặp

XI CHUẨN BỊ

1 GV:*Chuẩn bị phòng máy, bài tập, lịch trình tiến trình giờ thực hành

2 HS: *Ôn lại lý thuyết đã học

* Giải trước bài tập về nhà vào tập để thực hành

Until a mod 2=0;

Readln;

End.

XIII HƯỚNG DẪN VỀ NHÀ

Lài bài tập và xem lại bài thực hành

Phương Bình, ngày… tháng… năm….

Duyệt của tổ trưởng

Người soạn

Diệp Thanh Toàn

Trang 9

Tuần: 6 Ngày soạn:

1 Khai báo dữ liệu kiểu mảng

Một mảng dữ liệu gồm một số hữu hạn phần tử có cùng kiểu gọi là kiểu cơ bản Số phần

tử của mảng được xác định ngay từ khi định nghĩa ra mảng Mỗi phần tử của mảng đựoc truy nhập trực tiếp thông qua tên mảng cùng với chỉ dẫn truy nhập được để giữa hai ngoặc vuông [ ]

Định nghĩa biến A có kiểu mảng : gồm có các phần tử từ n đến m và có kiểu dữ liệu là KDL thì được khai báo như sau:

VAR A : Array[ n m ] Of KDL ;

Ví dụ: Khai báo mảng BB có các phần tử từ 1 đến 10 và kiểu dữ liệu chứa là số nguyên (INTEGER) nhạp vào từ bàn phím:

VAR BB : Array[ 1 10] Of INTEGER ;

2 Đưa dữ liệu vào mảng

Ta có thể đưa dữ liệu từ ngoài (bàn phím) vào mảng bằng lệnh READ hoặc READLN

như sau:

READ( BB(i) ) ; hoặc READLN( BB(i) ) ;

Ví dụ: Cho mảng 10 phần tử và nhập vào mảng các số nguyên từ bàn phím

VAR A: ARRAY [1 10] OF INTEGER;

Hoặc để sáng suốt hơn thì ta có thể viết như sau:

VAR A: ARRAY [1 10] OF INTEGER;

I: INTEGER;

BEGIN

For i:=1 to 10 do

Trang 10

Ta có thể đưa dữ liệu từ mảng ra ngoài màn hình bằng lệnh WRITE hoặc WRIELN

như sau:

WRITE( BB(i) ) ; hoặc WRITELN( BB(i) ) ;

Ví dụ: Cho mảng 10 phần tử và nhập vào mảng các số nguyên từ bàn phím và cho hiện ra màn

Writeln(‘ cac so vua nhap la: ‘);

For i:=1 to 10 do wrieln(A(i));

For i:=1 to 10 do tong:= tong+A(i);

Write (‘Tong la: ‘, tong);

Readln;

END.

Phương Bình, ngày… tháng… năm….

Diệp Thanh Toàn

Trang 11

Tuần: 7 Ngày soạn:

THỰC HÀNH

I MỤC TIÊU

*Hiểu rỏ hơn về cách viết chương trình có sử dụng mảng

*Hiểu rỏ hơn về cách chạy chương trình có sử dụng mảng

*Sửa một số lỗi thường gặp

XVI CHUẨN BỊ

1 GV:*Chẩn bị phòng máy, bài tập, lịch trình tiến trình giờ thực hành

2 HS:

*Ôn lại lý thuyết đã học

* Giải trước bài tập về nhà vào tập để thực hành

For i:=1 to 10 do Readln(a[i]);

For i:=1 to 10 do if a[i] > 0 then Writeln(a[i]);

For i:=1 to 10 do Readln(a[i]);

For i:=1 to 10 do if a[i] mod 2= 0 then Writeln(a[i]);

Readln;

End.

Phương Bình, ngày… tháng… năm….

Duyệt của tổ trưởng

Người soạn

Diệp Thanh Toàn

Trang 12

XÂY DỰNG GIẢI THUẬT SẮP XẾP MẢNG

I MỤC TIÊU

* Biết được một số ứng dụng của mảng vào việc giải một số bài tập

* Biết được khi nào sử dụng mảng, hiệu quả của việc sử dụng mảng

II CHUẨN BỊ

1 GV: * Một số ví dụ thực tế về mảng

* Dùng bảng phụ ghi trước giải thuật sắp xếp mảng

HS: * Ôn lại vòng lặp FOR

III BÀI MỚI

rồi tráo đổi nó với phần tử thứ nhất

Bước 2 Ta sẽ chọn phần tử nhỏ nhất trong các phần tử từ phần tử thứ hai đến phần tử thứ N, rồi

tráo đổi nó với phần tử thứ hai

Tương tự như vậy cho các bước tiếp theo từ bước 3 đến bước N

Ta xét cho một bước tổng quát thứ i nào đó (i nhận giá trị từ 1 đến N)

Bước i Ta sẽ tìm chỉ số K của phần tử nhỏ nhất trong các phần tử từ phần tử thứ i đến phần tử thứ N, rồi tráo đổi nó với phần tử thứ i

Trang 13

Writeln(' Cac phan tu da duoc sap xep la ') ;

For i := 1 To n Do Write (m [ i ] : 9 : 2) ; Readln

Hết vòng lặp theo j thì tráo đổi phần tử thứ K với phần tử thứ i (nếu K > i)

V BÀI TẬP VỀ NHÀ

1: Viết chương trình nhập vào 10 số nguyên Xuất các số dương ra màng hình

2: Viết chương trình nhập vào 10 số nguyên dương Xuất các số chẵn ra màn hình

3 Viết chương trình nhận vào chiều cao của các bạn Mai, Lan, Cúc, Thu, Bích Thuỷ, Hồng Nhung, Anh Sắp xếp và in ra màn hình chiều cao của các bạn theo thứ tự tăng dần Yêu cầu khai báo kiểu liệt kê tương ứng với tên các bạn để làm chỉ số cho mảng lưu trữ chiều cao của họ

4 Viết chương trình cho máy nhận vào mảng A có n phần tử là những số thực (n > 9) Xây dựng mảng B các phần tử là những số nguyên được tạo thành từ các phần tử của mảng A theo cách B[i] là trị tuyệt đối của phần nguyên của A[i] Sắp xếp và in ra mảng A, mảng B theo thứ tự tăng dần

Phương Bình, ngày… tháng… năm….

Diệp Thanh Toàn

Trang 14

THỰC HÀNH

I MỤC TIÊU

*Hiểu rỏ hơn về cách viết chương trình có sử dụng mảng

*Hiểu rỏ hơn về cách chạy chương trình có sử dụng mảng

*Sửa một số lỗi thường gặp

XVIII CHUẨN BỊ

1 GV:*Chẩn bị phòng máy, bài tập, lịch trình tiến trình giờ thực hành

2 HS:

*Ôn lại lý thuyết đã học

* Giải trước bài tập về nhà vào tập để thực hành

For i:=1 to 10 do Readln(a[i]);

For i:=1 to 10 do if a[i] > 0 then Writeln(a[i]);

For i:=1 to 10 do Readln(a[i]);

For i:=1 to 10 do if a[i] mod 2= 0 then Writeln(a[i]);

Readln;

End.

Phương Bình, ngày… tháng… năm….

Duyệt của tổ trưởng

Người soạn

Diệp Thanh Toàn

Trang 15

Tuần: 10 Ngày soạn:

* Lưu ý Học sinh lưu bài với tên và kết hợp với lớp của mình

VD: học sinh là trần Quốc Cường lớp 8A1 thì lưu với tên là: D:\cuong8a1.pas

Phương Bình, ngày… tháng… năm….

Diệp Thanh Toàn

Trang 16

THỰC HÀNH

II MỤC TIÊU

*Hiểu rỏ hơn về cách viết chương trình có sử dụng mảng

*Hiểu rỏ hơn về cách chạy chương trình có sử dụng mảng

*Sửa một số lỗi thường gặp

XX CHUẨN BỊ

1 GV:*Chẩn bị phòng máy, bài tập, lịch trình tiến trình giờ thực hành

2 HS:

*Ôn lại lý thuyết đã học

* Giải trước bài tập về nhà vào tập để thực hành

For j:=i+1 to 10 do

if a[i] >a[j] then

begin tam:=a[i];

Phương Bình, ngày… tháng… năm….

Diệp Thanh Toàn

Trang 17

Tuần: 12 Ngày soạn:

THUẬT TOÁN MAX, MIN

I MỤC TIÊU

* Biết được một số ứng dụng của mảng vào việc giải một số bài tập

* Biết được khi nào sử dụng mảng, hiệu quả của việc sử dụng mảng

II CHUẨN BỊ

1 GV: * Một số ví dụ thực tế về mảng

* Dùng bảng phụ ghi trước giải thuật sắp xếp mảng

HS: * Ôn lại vòng lặp FOR

III BÀI MỚI

1 Tìm giá trị nhỏ nhất của dãy đã cho.

PROGRAM Tim_Min;

CONST a:array[1 10] of shortint=(0, 1, 2, 3, 4, -1, -2, -3, -4, 5);

VAR amin: shortint; {chứa giá trị nhỏ nhất của dãy}

i: byte; {chỉ số của dãy}

BEGIN

amin:= a[1]; {cho amin bằng phần tử đầu tiên}

For i:=2 to 10 do {so amin với các phần tử khác của dãy}

If amin>a[i] Then amin:=a[i];

{nếu còn phần tử nào nhỏ hơn amin thì thay amin bằng phần tử đó}

2 Tìm giá trị nhỏ thứ hai của dãy và đổi nó về vị trí thứ hai.

Hướng dẫn: Tìm phần tử nhỏ nhất của dãy, đổi nó về vị trí đầu tiên Sau đó tìm phần tử nhỏ nhất của dãy con còn lại

PROGRAM Tim_Min_Thu2;

CONST a:array[1 10] of shortint=(0, 1, 2, 3, 4, -1, -2, -3, -4, 5);

VAR i: byte; {chứa chỉ số các phầnt tử của dãy}

imin: byte; {đánh dấu vị trí amin}

atg: shortint; {chứa giá trị trung gian khi đổi chỗ các phần tử}

BEGIN

imin:=1; {a[1] coi là nhỏ nhất}

Trang 18

If a[imin]>a[i] Then imin:=i;

Writeln('Phần tử nhỏ thứ 2 của dãy là:', a[imin]);

Bài 1: Viết chương trình nhập vào 2 số nguyên a, b Xuất số lớn nhất ra màng hình

Bài 2: Viết chương trình nhập vào 4 số nguyên a,b, c, d Xuất số lớn nhất, nhỏ nhất ra

Phương Bình, ngày… tháng… năm….

Duyệt của tổ trưởng

Người soạn

Diệp Thanh Toàn

Trang 19

Tuần: 13 Ngày soạn:

THỰC HÀNHXXII MỤC TIÊU

*Hiểu rỏ hơn về cách viết chương trình có sử dụng thuật toán Max - Min

*Hiểu rỏ hơn về cách chạy chương trình có sử dụng thuật toán Max – min

*Sửa một số lỗi thường gặp

XXIII CHUẨN BỊ

1 GV:*Chẩn bị phòng máy, bài tập, lịch trình tiến trình giờ thực hành

2 HS:

*Ôn lại lý thuyết đã học

* Giải trước bài tập về nhà vào tập để thực hành

Write(‘ nhap vao so nguyen a = ‘); Readln(a);

Write(‘ nhap vao so nguyen b = ‘); Readln(b);

Max:=a;

If b> max then Max:=b;

Write(‘ so lan nhat la ‘,max);

Write(‘ nhap vao so nguyen a = ‘); Readln(a);

Write(‘ nhap vao so nguyen b = ‘); Readln(b);

Write(‘ nhap vao so nguyen c = ‘); Readln(c);

Write(‘ nhap vao so nguyen d = ‘); Readln(d);

Max:=a;

Trang 20

If b< Min then Min:=b;

If c< Min then Min:=c;

If d< Min then Min:=d;

Write(‘ so nho nhat la ‘,Min);

Readln;

End.

* Mở rộng: Tìm số lớn nhất của 3 số, 5 số, nhiều số ( sử dụng mảng).

Phương Bình, ngày… tháng… năm….

Duyệt của tổ trưởng

Người soạn

Diệp Thanh Toàn

Trang 21

Tuần: 14 Ngày soạn:

THỰC HÀNH

I MỤC TIÊU

*Hiểu rỏ hơn về cách viết chương trình có sử dụng thuật toán tìm kiếm

*Hiểu rỏ hơn về cách chạy chương trình có sử dụng thuật toán tìm kiếm

*Sửa một số lỗi thường gặp

XXV CHUẨN BỊ

1 GV:*Chẩn bị phòng máy, bài tập, lịch trình tiến trình giờ thực hành

2 HS:

*Ôn lại lý thuyết đã học

* Giải trước bài tập về nhà vào tập để thực hành

Write(‘ nhap vao so nguyen a = ‘); Readln(a);

Write(‘ nhap vao so nguyen b = ‘); Readln(b);

Write(‘ nhap vao so nguyen c = ‘); Readln(c);

Write(‘ nhap vao so nguyen d = ‘); Readln(d);

Trang 22

Phương Bình, ngày… tháng… năm….

Duyệt của tổ trưởng

Người soạn

Diệp Thanh Toàn

Trang 23

Tuần: 15 Ngày soạn:

ĐỀ KIỂM TRA LÍ THUYẾT

Hãy khoanh tròn chữ cái đứng trước câu trả lời em cho là đúng nhất

Câu 1 Để tìm giá trị lớn nhất của 2 số a, b thì ta viết:

a) Max:=a;If b>Max then Max:=b;

b) If (a>b) then Max:=a;If (b>a) then Max:=b;

c) Max:=b;If a>Max then Max:=a;

d) Cả 3 câu đều đúng

Câu 2 For i:=5 to 10 do writeln(i);

Ta khai báo i thuộc kiểu dữ liệu nào?

c Kiểu kí tự (CHAR) d Số thực và số nguyên

Câu 3 Tong:=0;For i:=1 to 3 do Tong :=Tong+i;

Biến Tong có giá trị là:

Câu 4 Cú pháp của vòng lặp Repeat…Until… là:

a Repeat <ĐK> Until <CV> b Repeat <ĐK> Until <CV>

Câu 5 Biến a được nhận các giá trị là 0 ; -1 ; 1 ; 2,3 Ta có thể khai báo a thuộc kiểu dữ liệu nào?

Câu 6 Cú pháp của vòng lặp While…do… là:

Câu 9 Kiểu dữ liệu Integer có giá trị lớn nhất là

Câu 10 Giải thuật tìm và xuất các ước của một số nguyên a là:

a for i:=1 to a do if a mod i = 0 then writeln (i);

Trang 24

Câu 13 IF a>8 THEN b:=3 ELSE b:=5; Khi a nhận giá trị là 0 thì b nhận giá trị nào?

Câu 18 Để nhập một giá trị vào phần tử a[3] của mảng a thì ta viết là:

c a[i]:=b*b d For i:=1 to 5 do a[i]:=b*b

Câu 21: Khai báo mảng a có 11 phần tử là các số nguyên từ 5 đến 15 thì ta khai báo như sau:

a) a: Array [1 11] of integer; b) a: Array [5 15] of integer;

c) a: Array [5 15] of integer; d) a: Array [11] of integer;

Câu 22: Nhập dữ liệu vào mảng a có 11 phần tử là các số nguyên từ 5 đến 15 thì ta viết lệnh như sau:

c) Readln(a[i]); d) For i: =5 to 15 do Readln(a[i]);

Câu 23: Xuất dữ liệu từ mảng a có 11 phần tử là các số nguyên từ 5 đến 15 thì ta viết lệnh như sau:

c) Writeln (a[i]); d) For i: =5 to 15 do Writeln (a[i]);

Câu 24: Để thực hiện phép tính tổng của hai số nguyên a và b ta thực hiện như sau :

Câu 25: Để tìm giá trị lớn nhất của 2 số a, b thì ta viết:

a) Max:=a;If b>Max then Max:=b;

b) If (a>b) then Max:=a;If (b>a) then Max:=b;

c) Max:=b;If a>Max then Max:=a;

d) Cả 3 câu đều đúng

Trang 25

Tuần: 16 Ngày soạn:

ƯỚC CHUNG – BỘI CHUNGXXVII MỤC TIÊU

*Hiểu rỏ hơn thế nào là bội, ước, bội chung, ước chung

*Sửa một số lỗi thường gặp

XXVIII CHUẨN BỊ

1 GV:

2 HS:

XXIX BÀI HỌC

1 Tìm ước của một số nguyên a

-Ước của một số nguyên a là tập hợp những số i sao cho a chia hết cho i.

VD: số 8 có các ước là 1, 2, 4, 8.

- Cách tìm tập hợp các ước của một số nguyên a là chia lần lượt a cho các số nguyên

từ 1 đến a Nếu số nào a chia hết thì số đó là ước và xuất số đó ra.

- Giải thuật:

For i:= 1 to a do

If a mod i = 0 then writeln(i);

2 Tìm ước chung của 2 số nguyên a, b.

-Ước chung của 2 số nguyên a và b là tập hợp những số i sao cho a chia hết cho i và

b chia hết cho i.

VD: số 8 và 6 có các ước chung là 1, 2.

- Cách tìm tập hợp các ước chung của 2 số nguyên a, b là chia lần lượt xét các số nguyên từ 1 đến a hoặc b Nếu số nào thoả mảng điều kiện là a chia hết cho i và b chia hết cho i thì xuất số đó ra.

If (a mod i = 0) and (b mod i = 0) then writeln(i);

3 Tìm bội của một số nguyên a

-Bội của một số nguyên a là tập hợp những số m sao cho m=a*i (i là số nguyên) VD: số 8 có các bội là 8,16,24, 32,

- Cách tìm tập hợp các bội của một số nguyên a là ta nhân lần lượt a cho các số nguyên từ 1, 2, 3…

Ngày đăng: 14/10/2013, 23:11

Xem thêm

TỪ KHÓA LIÊN QUAN

w