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

Bai 5:tu bai toan den chuong trinh

13 355 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

Định dạng
Số trang 13
Dung lượng 2,04 MB

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

Nội dung

Thuật toán là gì?2.. Trình bày các bước để giải một bài toán?. Thuật toán là một dãy hữu hạn các thao tác cần thực hiện để giải một bài toán... Và chuyển đến bước 3.. Ngược lại, kết quả

Trang 1

1 Thuật toán là gì?

2 Trình bày các bước để giải một bài toán?

Thuật toán là một dãy hữu hạn các thao tác cần thực hiện để giải một bài toán.

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

+ Mô t thu t toán ả ậ

+ Vi t ch ế ươ ng trình (l p trình) ậ

Trang 2

Ví d : ụ Tìm s l n nh t trong dãy A g m ố ớ ấ ồ các s a ố 1, a2, , an cho tr ướ c.

Mu n gi i bài ố ả

toán này trên máy tính ta

c n gi i m y ầ ả ấ

b ướ c?

V y đ tìm s ậ ể ố

l n nh t c a ớ ấ ủ dãy s này ta ố làm b ng cách ằ

nào?

Trang 4

Bài 2 trang 36: Cho chương trình:

Program hoan_doi;

Var x,y,z: integer;

begin

read(x,y);

Writeln(x ,’ ’,y);

z:=x;

x:=y;

y:=z;

Writeln(x ,’ ’,y);

readln

end.

{gán giá trị biến nhớ x vào biến nhớ z}

{gán giá trị biến nhớ y vào biến nhớ x}

{gán giá trị biến nhớ z vào biến nhớ y}

4 M t s ví d v thu t toán ộ ố ụ ề ậ

4 M t s ví d v thu t toán ộ ố ụ ề ậ

? Em hãy cho biết ý nghĩa của 3 câu lệnh

? Cho biết kết quả

in ra màn hình ?

Bài 2 trang 36: Cho chương trình:

Program hoan_doi;

Var x,y,z: integer;

begin

read(x,y);

Writeln(x ,’ ’,y);

z:=x;

x:=y;

y:=z;

Writeln(x ,’ ’,y);

readln

end.

Trang 5

Bài toán đ Bài toán đ ượ ượ c xác đ nh c xác đ nh ị ị

Input: hai bi n x, y có giá tr t hai bi n x, y có giá tr t ế ế ị ươ ị ươ ng ng là a và b ng ng là a và b ứ ứ

Output: hai bi n x, y có giá tr t hai bi n x, y có giá tr t ế ế ị ươ ị ươ ng ng là b và a ng ng là b và a ứ ứ

 Ta có thuật toán:

Bước 1: z ← x { giá trị của z sẽ bằng a}

Bước 2: x ← y { giá trị của x sẽ bằng b}

Bước 3: y ← z { giá trị của y sẽ bằng a}

c Ví d 4: ụ

c Ví d 4: 4 M t s ví d v thu t toán 4 M t s ví d v thu t toán ụ ộ ố ộ ố Đ i giá tr c a 2 bi n x và y Đ i giá tr c a 2 bi n x và y. ổ ổ ị ủ ị ủ ụ ề ụ ề ế ế ậ ậ

1

2

3

x=b y=a

Trang 6

4 M t s ví d v thu t toán ộ ố ụ ề ậ

4 M t s ví d v thu t toán ộ ố ụ ề ậ

d Ví dụ 5: Cho hai số thực a và b Hãy cho biết kết quả so sánh hai

số đó dưới dạng “a lớn hơn b”, “a nh h n b”, “a b ng b” ỏ ơ ằ

INPUT: Hai số thực a và b

OUTPUT: Kết quả so sánh.

So sánh hai mô hình trên

Mô hình 1:

Bước 1: Nếu a > b, kết quả là

“a lớn hơn b”. Bước 1 : Nếu a > b, kết quả là

“a lớn hơn b” Và chuyển đến bước 3.

Bước 2: Nếu a < b, kết

quả là “a nhỏ hơn b”

Ngược lại, kết quả là

“a bằng b” và kết thúc

thuật toán.

Bước 2 : Nếu a < b, kết quả là

“a nhỏ hơn b” Ngược lại, kết quả là “a bằng b” và kết thúc thuật toán.

Trang 7

Ví dụ: Tìm giá trị lớn nhất của 3 số a, b, c

Em hãy xác định bài toán và mô tả thuật

toán cho bài toán?

- Input: 3 số a, b, c.

Hướng dẫn:

+ Ta gán số a cho biến Max sau đó so sánh lần lượt

số b và c với Max

Bài toán xác định

4 M t s ví d v thu t toán ộ ố ụ ề ậ

4 M t s ví d v thu t toán ộ ố ụ ề ậ

- Output: Max của 3 số a, b, c

+ Nếu b > Max thì gán b cho max, còn nếu c >

Max thì gán c cho max.

Trang 8

e.Ví dụ 6: Tìm số lớn nhất trong dãy A gồm các số a1, a2, ,

an cho trước

+ Input: dãy A các số a1, a2, , an (n>=1)

 Ta có thể thực hiện như sau:

 Do vậy ta có thuật toán như sau:

4 M t s ví d v thu t toán ộ ố ụ ề ậ

4 M t s ví d v thu t toán ộ ố ụ ề ậ

+ Đầu tiên gán giá trị a1 cho biến Max

+ Sau đó lần lượt so sánh các số a2, an của dãy A với Max Nếu ai > Max thì ta gán ai cho Max.

+ Output: Giá trị Max = Max {a1, a2, , an }

Bước 1 Max ← a1; i ← 1.

Bước 2 i ← i + 1

Bước 3 Nếu i > n thì chuyển đến bước 5.

Bước 4 Nếu a i > Max thì Max ← ai và quay lại bước 2

Bước 5 Kết thúc thuật toán.

Trang 9

a ) Trước hết, ta gi sử thỏ lớn ả

nhất là thỏ số 1, tức MAX = 1.

số 3) với thỏ số 4 Thỏ số 3 lớn hơn

thỏ số 4, do đó MAX vẫn bằng 3

số 2 Vỡ thỏ số 2 nhỏ hơn thỏ số 1,

do đó MAX vẫn bằng 1.

1) với thỏ số 3 Vỡ thỏ số 3 lớn hơn

thỏ số 1, do đó MAX được đặt lại

bằng 3 (thỏ số 3).

Dưới đõy minh họa trờn với trường hợp chọn thỏ lớn nhất trong 4 chỳ thỏ

Trang 10

Dãy số 5 3 4 7 6 3 15 9

i

i > n

a i > SMAX

SMAX

Sai Sai Sai Sai Sai Sai Sai Sai Đúng

Sai Sai Đúng Sai Sai Đúng Sai

K t ế thúc

SMAX

Trang 11

Đ gi i đ ể ả ượ c bài toán trên máy tính ta c n th c ầ ự

hi n các b ệ ướ c:

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

2 Mô t thu t toán ả ậ

3 Vi t ch ế ươ ng trình

+ Đi u ki n cho tr ề ệ ứớ c (Input).

+ K t qu thu đ ế ả ượ c (Output).

+ Tìm cách gi i bài toán ả + Di n ta b ng các l nh c n th c hi n ễ ằ ệ ầ ự ệ + D a vào mô t thu t toán, ta vi t ch ự ả ậ ế ươ ng trình

b ng ngôn ng l p trình ằ ữ ậ

Trang 12

Thuật toán là dãy hữu hạn các thao tác cần thực hiện theo một trình tự xác định để thu được kết quả cần thiết từ những điều kiện cho trước.

Quá trình giải bài toán trên máy tính gồm các bước:

Giải bài toán trên máy tính là đưa cho máy tính dãy hữu hạn các thao tác đơn giản (thuật toán) mà nó có thể thực hiện được để cho ta kết quả

Xác định bài toán là việc xác định các điều kiện ban đầu(thông tin vào - INPUT) và các kết quả cần thu được(thông tin ra - OUTPUT).

1

2

3

4

Trang 13

1 H c bài và hi u đ ọ ể ượ c thu t toán c a ậ ủ

2 Tr l i câu h i và làm bài t p 4, 5, 6 ả ờ ỏ ậ (SGK – trang 45).

3 H c thu c ph n ghi nh ọ ộ ầ ớ

Ngày đăng: 14/07/2014, 14:01

TỪ KHÓA LIÊN QUAN

w