M←NNhập N và a 1 , a 2 , , a N

Một phần của tài liệu Giáo án tin học 10 ( Trọn bộ ) (Trang 35 - 43)

- i là biến chỉ số các số hạng của dãy có giá trị nguyên thay đổi lần lợt từ 0 đến M + 1.

M←NNhập N và a 1 , a 2 , , a N

M ← M – 1; i ← 0 M < 2 ? i > M ? Đúng Sai ai > ai+1 ? i ← i + 1 Đưa ra A rồi kết thúc Đúng Sai Sai Đúng

Tráo đổi ai và ai+1

M ← NNhập N và a1, a2,..., aN Nhập N và a1, a2,..., aN M ← M – 1; i ← 0 M < 2 ? i > M ? Đúng Sai ai > ai+1 ? i ← i + 1 Đưa ra A rồi kết thúc Đúng Sai Sai Đúng

Tráo đổi ai và ai+1

M ← NNhập N và a1, a2,..., aN Nhập N và a1, a2,..., aN M ← M – 1; i ← 0 M < 2 ? i > M ? Đúng Sai ai > ai+1 ? i ← i + 1 Đưa ra A rồi kết thúc Đúng Sai Sai Đúng

Tráo đổi ai và ai+1

M ← NNhập N và a1, a2,..., aN Nhập N và a1, a2,..., aN M ← M – 1; i ← 0 M < 2 ? i > M ? Đúng Sai ai > ai+1 ? i ← i + 1 Đưa ra A rồi kết thúc Đúng Sai Sai Đúng

Tráo đổi ai và ai+1

M ← NNhập N và a1, a2,..., aN Nhập N và a1, a2,..., aN M ← M – 1; i ← 0 M < 2 ? i > M ? Đúng Sai ai > ai+1 ? i ← i + 1 Đưa ra A rồi kết thúc Đúng Sai Sai Đúng

Tráo đổi ai và ai+1

M ← NNhập N và a1, a2,..., aN Nhập N và a1, a2,..., aN M ← M – 1; i ← 0 M < 2 ? i > M ? Đúng Sai ai > ai+1 ? i ← i + 1 Đưa ra A rồi kết thúc Đúng Sai Sai Đúng

Tráo đổi ai và ai+1

M ← NNhập N và a1, a2,..., aN Nhập N và a1, a2,..., aN M ← M – 1; i ← 0 M < 2 ? i > M ? Đúng Sai ai > ai+1 ? i ← i + 1 Đưa ra A rồi kết thúc Đúng Sai Sai Đúng

Tráo đổi ai và ai+1

M ← NNhập N và a1, a2,..., aN Nhập N và a1, a2,..., aN M ← M – 1; i ← 0 M < 2 ? i > M ? Đúng Sai ai > ai+1 ? i ← i + 1 Đưa ra A rồi kết thúc Đúng Sai Sai Đúng

Tráo đổi ai và ai+1

M ← NNhập N và a1, a2,..., aN Nhập N và a1, a2,..., aN M ← M – 1; i ← 0 M < 2 ? i > M ? Đúng Sai ai > ai+1 ? i ← i + 1 Đưa ra A rồi kết thúc Đúng Sai Sai Đúng

Tráo đổi ai và ai+1

M ← NNhập N và a1, a2,..., aN Nhập N và a1, a2,..., aN M ← M – 1; i ← 0 M < 2 ? i > M ? Đúng Sai ai > ai+1 ? i ← i + 1 Đưa ra A rồi kết thúc Đúng Sai Sai Đúng

Tráo đổi ai và ai+1

M ← NNhập N và a1, a2,..., aN Nhập N và a1, a2,..., aN M ← M – 1; i ← 0 M < 2 ? i > M ? Đúng Sai ai > ai+1 ? i ← i + 1 Đưa ra A rồi kết thúc Đúng Sai Sai Đúng

Bài toán: Cho dãy A gồm N số nguyên, đôi một khác nhau: a1, a2,..., aNvà một số

nguyên k. Cần biết có hay không chỉ số i (1

≤ i ≤ N) mà ai = k. Nếu có hãy cho biết chỉ số đó.

Số nguyên k đợc gọi là khoá tìm kiếm (gọi tắt là khoá).

Thuật toán Tìm kiếm tuần tự (Sequential Search).

+ Xác định bài toán.

- Input: Dãy A gồm N số nguyên đôi một khác nhau a1, a2,..., aN và số nguyên k; - Output: Chỉ số i mà ai= k hoặc thông báo không có số hạng nào của dãy A có giá trị bằng k.

+ ý tởng: Tìm kiếm tuần tự đợc thực hiện một cách tự nhiên. Lần lợt từ số hạng thứ nhất, ta so sánh giá trị số hạng đang xét với khoá cho đến khi hoặc gặp một số hạng bằng khoá hoặc dãy đã đợc xét hết và không có giá trị nào bằng khoá. Trong tr- ờng hợp thứ hai dãy A không có số hạng

nào bằng khoá.

+ Thuật toán: (adsbygoogle = window.adsbygoogle || []).push({});

GV: Các em hãy lấy ví dụ để minh hoạ? HS: Lấy ví dụ.

GV: Cho HS xác định bài toán.

GV: Em hãy nêu ý tởng của bài toán? HS: Nêu ý tởng.

GV: Nhận xét.

HS : Tự tìm hiểu thông qua thảo luận nhóm.

IV. Củng cố:

- Thuật toán có 3 tính chất? Lấy ví dụ để minh hoạ 3 tính chất này. - Hớng dẫn học sinh thuật toán tìm min{aN}

V. Bài tập về nhà:

- GV hớng dẫn HS làm bài tập 3, 4, 5 SGK trang 44.

- Hớng dẫn HS viết thuật toán giải bài toán: Tìm 10 số nguyên dơng đầu tiên biết các số này chia cho 2, 3, 4, 5, 6 d 1 và chia hết cho 7.

Tiết 14

Đ4. bài toán và thuật toán (tiết 5) I. Mục tiêu bài dạy:

1. Kiến thức:

- HS hiểu đúng khái niệm bài toán và thuật toán;

- HS hiểu rõ khái niệm thuật toán là cách giải bài toán mà về nguyên tắc có thể giao cho máy thực hiện;

- HS cần hiểu và thực hiện đợc một số thuật toán đơn giản trong SGK.

2. Kĩ năng:

- HS xây dựng đợc thuật toán cho một số bài toán đơn giản. Qua đó hình thành một kĩ năng chuẩn bị tiếp thu việc học ngôn ngữ lập trình.

II. phơng pháp, phơng tiện dạy học:

- Thuyết trình kết hợp vấn đáp - Sách giáo khoa, giáo án tin 10 - Máy chiếu project ..…

III. Nội dung.

Nội dung Hoạt động của GV và HS

* Kiểm tra bài cũ:

Câu hỏi: Em hãy viết thuật toán bài toán Sắp xếp dãy gồm N số nguyên a1, ..., aN

thành dãy không tăng?

Ví dụ 3: Bài toán tìm kiếm.

Bài toán 1: Cho dãy gồm N số nguyên khác nhau a1, ..., aN và một số nguyên k. Cần biết có hay không chỉ số i (1≤ i≤N) mà ai=k. Nếu có hãy cho biết chỉ số i.

Thuật toán tìm kiếm tuần tự (Sequention sort).

+ Xác định bài toán:

- Input: Dãy A gồm N số nguyên a1, a2,..., aN và khoá k; (adsbygoogle = window.adsbygoogle || []).push({});

- Output: Chỉ số i mà ai = k hoặc thông báo không có số hạng nào của A có giá trị bằng K?

GV: Gọi học sinh lên bảng.

GV: Nhắc lại cả lớp nhớ thế nào là dãy không tăng.

HS: Lên bảng và trả lời câu hỏi. GV: Đánh giá nhận xét và cho điểm.

GV: Lấy ví dụ.

HS: Nhận xét và cho biết chỉ số i?

GV: Giải thích vì sao lại gọi tên thuật toán nh vậy.

+ ý tởng:

Lần lợt từ i = 1 đến N ta so sánh ai với k, nếu ai = k thì thông báo i và kết thúc, ngợc lại thông báo không có giá trị nào trong dãy A thoả mãn ai=k. + Thuật toán: Dạng 1: Liệt kê. Bớc 1: Nhập N, các số hạng a1, a2,..., aNvà khoá k; Bớc 2: i ← 1;

Bớc 3:Nếu ai = k thì thông báo chỉ số i, rồi kết thúc;

Bớc 4:i ← i + 1;

Bớc 5:Nếu i > N thì thông báo dãy A không có số hạng nào có giá trị bằng k, rồi kết thúc;

Bớc 6: Quay lại bớc 3.

Ghi chú

Trong thuật toán trên,i là biến chỉ số các số hạng của dãy và nhận giá trị nguyên lần lợt từ 1 đến N + 1.

Ví dụ minh họa: k = 2 và N = 10 A 5 7 1 4 2 9 8 11 25 51 i 1 2 3 4 5 - - - - - Với i = 5 thì a5 = 2. Bài toán 2:

Bài toán: Giống bài toán 1 nhng dãy A đã đợc sắp xếp.

+ Xác định bài toán

- Input: Dãy A gồm N số nguyên a1, a2,..., aN và khoá k;

- Output: Chỉ số i mà ai= k hoặc thông báo không có số hạng nào của dãy A có giá trị bằng k.

HS: Nêu ý tởng, GV nhận xét.

GV: Gợi ý để HS nêu đợc thuật toán. HS: Nêu thuật toán.

GV: Chỉ dẫn cho HS từ dạng 1 chuyển sang dạng 2.

Dạng 2: Sơ đồ khối.

k = 6 và N = 10

A 5 7 1 4 2 9 8 11 25 51

i 1 2 3 4 5 6 7 8 9 10 11

Với mọi i từ 1 đến 10 không có ai có giá trị bằng 6.

GV: Các em hãy lấy ví dụ để minh hoạ? HS: Lấy ví dụ.

GV: Cho HS xác định bài toán. (adsbygoogle = window.adsbygoogle || []).push({});

Sai i ← 1 Nhập N và a1, a2,..., aN; k i ← i + 1 ai = k i > N ? Đưa ra i rồi kết thúc

Thông báo dãy A không có số hạng có giá trị bằng k rồi kết thúc

Đúng

Đún g Sai

+ ý tởng:

a) Cách liệt kê

Bớc 1. Nhập N, các số hạng a1, a2,..., aN và khoá k;

Bớc 2. Dau ← 1, Cuoi ← N;

Bớc 3. Giua ← Dau Cuoi+2 ;

Bớc 4. Nếu aGiua = k thì thông báo chỉ số Giua, rồi kết thúc;

Bớc 5. Nếu aGiua > k thì đặt Cuoi = Giua 1– rồi chuyển đến bớc 7;

Bớc 6. Dau ← Giua + 1;

Bớc 7. Nếu Dau > Cuoi thì thông báo dãy A không có số hạng có giá trị bằng k, rồi kết thúc;

Bớc 8. Quay lại bớc 3.

Ghi chú: Tuỳ thuộc aGiua > k hoặc aGiua < k mà chỉ số đầu hoặc chỉ số cuối của dãy ở bớc tìm kiếm tiếp theo sẽ thay đổi. Để thực hiện điều đó, trong thuật toán chỉ sử dụng các biến nguyên tơng ứng Dau và Cuoi có giá trị khởi tạo Dau = 1 và Cuoi = N.

GV: Em hãy nêu ý tởng của bài toán? HS: Nêu ý tởng.

GV: Nhận xét.

b). Dạng sơ đồ khối:

HS tự chuyển.

GV: Lấy ví dụ minh hoa.

k = 21, N =10 i 1 2 3 4 5 6 7 8 9 10 A 2 4 5 6 9 21 22 30 31 33 Dau 1 6 6 Cuoi 10 10 7 Giua 5 8 6 aGiua 9 30 21 Lợt 0 1 2

ở lợt thứ hai thì aGiua = k. Vậy chỉ số cần tìm là i = Giua = 6.

IV. Củng cố:

- Trong 2 thuật toán trên thuật toán nào tối u hơn, vì sao?.

V. Bài tập về nhà:

- GV hớng dẫn HS làm bài tập 3, 4, 5 SGK trang 44.

- Hớng dẫn HS viết thuật toán giải bài toán: Tìm 10 số nguyên dơng đầu tiên biết các số này chia cho 2, 3, 4, 5, 6 d 1 và chia hết cho 7.

Ví dụ: Số đầu tiên là 301.

Tiết 15

Đ Bài tập(1 tiết) (adsbygoogle = window.adsbygoogle || []).push({});

I. mục tiêu bài dạy:

- Củng cố lại cho học sinh các kiến thức đã học ở bài bốn. - Học sinh xây dựng đợc một số thụât toán đơn giản. - Hình thành t duy về xây dựng thuật toán.

II. phơng pháp, phơng tiện dạy học.

- Vấn đáp và sử dụng câu hỏi mở - Sách giáo khoa, giáo án tin 10. - Bảng tráng, .…

III. nội dung dạy học.

Nội dung Hoạt động của GV và HS

Bài 1: Cho N và dãy số a1,a2,...aN.Hãy tìm giá trị nhỏ nhất Min của dãy đó.

Giải:

+ Xác định bài toán:

- Input: N và dãy số a1,a2,...aN. - Output: Min của dãy số

N

a a

a1, 2,...

+ ý tởng:

Gán Min bằng a1 .Sau đó so sánh Min với các giá trị từ a2,...aN (gọi là aI 2≤ i N+1). Nếu Min < a1 thì giá trị nhỏ nhất là

1a . a . + Thuật toán: Bớc 1: Nhập N và các số hạng N a a a1, 2,... Bớc 2: Gán Min← a1, i← 2;

Bớc 3: Nếu i > N thì đa ra Min và KT Bớc 4: Nếu a1< Min thì Min ← a1; Bớc 5: i← i+1;

GV: Gọi HS lên bảng làm bài tập. HS: Xác định bài toán.

Xây dựng ý tởng.

Viết thuật toán bằng phơng pháp liệt kê. Xây dựng thuật toán bằng sơ đồ khối. GV: Nhận xét đánh giá, nếu sai thì gọi HS khác lên bổ sung. Sau đó cho điểm.

Bớc 6: Quay lại bớc 3;

Bài 2: Cho N và dãy a1,a2,...aN .Kiểm tra xem trong dãy có bao nhiêu gia trị bằng không?.

Câu 3: Viết thuật toán tìm nghiệm của ph- ơng trình bậc hai ax2+bx+c.

Giải:

+ Xác định bài toán:

- Input: Cho a,b,c

- Output: Kết luận về nghiệm của ph- ơng trinh bậc hai ax2+bx+c.

+ ý tởng:

Tính delta .Nếu delta < 0 thì PT vô nghiệm, nếu delta: = 0 thì PT có nghiệm kép. Nếu delta > 0 thì PT có hai nghiệm phân biệt.

GV: Gọi HS lên bảng làm bài. HS: Lên bảng lam bài tập. (adsbygoogle = window.adsbygoogle || []).push({});

GV: Nhân xet, kiểm tra.Nếu sai gọi HS khác lên bổ sung.

GV: Giải thích lại cách làm cho cả lớp hiểu Cụ thể từ : Xác định bài toán.

ý tởng.

Hai dạng thuật toán.

GV: Gọi học sinh lên bảng làm bài. Học sinh lên bảng làm bài.

Từ ý tởng đó HS xây dng thuật toán cho bài toán.

IV. Củng cố:

- củng cố lại cho hs cách nhận biết dạng thuật toán.

Tiết 16

Đ Kiểm tra một tiết I. mục tiêu bài dạy:

Nhằm củng cố cho HS các kiến thức tổng quan về : - Thông tin và dữ liệu.

- Các thành phần của máy tính. - Bài toán và thuật toán.

II. nội dung.

A﴿Phần trác nghiệm: (4đ)(Nội dung ra chủ yếu ở bài1,2,3). Câu 1. Chọn phơng án đúng nhất

Các dạng thông tin gồm:

a. Văn bản, hình ảnh, âm thanh. b. Văn bản, ngôn ngữ, âm thanh. c. Hình ảnh, ngôn ngữ, âm thanh. d. Ngôn ngữ, âm thanh, tiếng nói. Câu 2: Chọn đáp án sai. a.1KB: = 1024byte. b. 1024KB:= 1MB. c.1TB:= 1/1024PB. d. 1KB: = 1024MB. Câu 3: Chọn đáp án đúng. a. 1012 =510 b. 1012 =610. c. 1012 =410. d. 1012 =710

Câu 4: CPU là thành phần quan trọng nhất của máy tính vì :

a. CPU là nơi chứa toàn bộ chơng b. CPU là nơi chứa toàn bộ dữ liện của trình của máy tính máy tính.

c.CPU là thiết bị chính thực hiện và

điều khiển việc thực hiện bằng chơng trình. d. Là bộ phận đắt tiền nhất của MT. Câu 5: Thiết bị vào dùng để làm gì?

a. Đa thông tin ra từ máy tính. b. Đa thông tin vào đĩa cứng. c. Đa thông tin vào máy tính c. Đa thông tin vào RAM. Câu 6: Đĩa mềm có dung lợng là bao nhiêu?

a. 1,44MB b. 1,44KB. c. 1,44GB. d. 1,44TB.

B﴿ Phần tự luận(6đ).

toán liệt kê em hãy chuyển thành thuật toán bằng sơ đồ khối. ---Hết--- Tiết 17

Đ 5. ngôn ngữ lập trình.

i.mục tiêu bài dạy:

Giúp học sinh nắm đợc các nội dung sau đây. - Biết đợc nh thế nào là ngôn ngữ lập trình. - Hợp ngữ và ngôn ngữ bậc cao

- ứng dụng của ngôn ngữ lập trình trong cuộc sống ngày nay.

ii. phơng pháp, phơng tiện dạy học:

- Thuyết trình két hợp vấn đáp. - Sử dụng câu hỏi mở. (adsbygoogle = window.adsbygoogle || []).push({});

- Sách giáo khoa tin, giáo án tin 10 - Bảng tráng.

iii. nội dung.

Nội dung Hoạt động của GV và HS

+Định nghĩa:

Một chơng trình có thể viết từ nhiều ngôn ngữ khác nhau sao cho máy tính có thể hiểu và thực hiện đợc gọi là ngôn ngữ lập trình.

+ Các loại ngôn ngữ lập trình:

Một phần của tài liệu Giáo án tin học 10 ( Trọn bộ ) (Trang 35 - 43)