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

Bai 5:tu bai toan den chuong trinh

13 355 0

Đ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

Nội dung

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).ế ươ ậ Ví d :ụ Tìm s l n nh t trong dãy A g m ố ớ ấ ồ các s aố 1 , a 2 , , a n 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? 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.  Bài toán đ c xác đ nhượ ị Bài toán đ c xác đ nhượ ị  Input: Input: hai bi n x, y có giá tr t ng ng là a và b.ế ị ươ ứ hai bi n x, y có giá tr t ng ng là a và b.ế ị ươ ứ  Output: Output: hai bi n x, y có giá tr t ng ng là b và a. ế ị ươ ứ hai bi n x, y có giá tr t 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:ụ Đ i giá tr c a 2 bi n x và y.ổ ị ủ ế Đ i giá tr c a 2 bi n x và y.ổ ị ủ ế 4. M t s ví d v thu t toánộ ố ụ ề ậ 4. M t s ví d v thu t toánộ ố ụ ề ậ 1 2 3 x=b y=a 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: Mô hình 1: Mô hình 2: Mô hình 2: Bước 1 Bước 1 : : Nếu a > b, Nếu a > b, kết kết quả là quả là “a lớn hơn b”. “a lớn hơn b”. Bước 1 Bước 1 : : Nếu a > b, kết quả là Nếu a > b, kết quả là “a lớn hơn b”. Và chuyển đến “a lớn hơn b”. Và chuyển đến bước 3. bước 3. Bước 2: Bước 2: Nếu a < b, kết Nếu a < b, kết quả là “a nhỏ hơn b”. quả là “a nhỏ hơn b”. Ngược lại, kết quả là Ngược lại, kết quả là “a bằng b” và kết thúc “a bằng b” và kết thúc thuật toán. thuật toán. Bước 2 Bước 2 : : Nếu a < b, kết quả là Nếu a < b, kết quả là “a nhỏ hơn b”. Ngược lại, kết “a nhỏ hơn b”. Ngược lại, kết quả là “a bằng b” và kết thúc quả là “a bằng b” và kết thúc thuật toán. thuật toán. Bước 3 Bước 3 : : Kết thúc thuật toán. Kết thúc thuật toán. 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. e.Ví dụ 6: Tìm số lớn nhất trong dãy A gồm các số a 1 , a 2 , , a n cho trước. + Input: dãy A các số a 1 , a 2 , , a n (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ị a 1 cho biến Max . + Sau đó lần lượt so sánh các số a 2 , a n của dãy A với Max. Nếu a i > Max thì ta gán a i cho Max. + Output: Giá trị Max = Max {a 1 , a 2 , , a n } Bước 1. Max ← a 1 ; 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 ← a i và quay lại bước 2 Bước 5. Kết thúc thuật toán. a) Trớc hết, ta gi sử thỏ lớn nhất là thỏ số 1, tức MAX = 1. d) Cuối cùng, so sánh MAX (thỏ số 3) với thỏ số 4. Thỏ số 3 lớn hơn thỏ số 4, do đó MAX vẫn bằng 3 (thỏ số 3). Kết qu , thỏ lớn nhất là thỏ số 3. b) So sánh MAX (thỏ số 1) với thỏ số 2. Vỡ thỏ số 2 nhỏ hơn thỏ số 1, do đó MAX vẫn bằng 1. c) Tiếp theo, so sánh MAX (thỏ số 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). Di õy minh ha trờn vi trng hp chn th ln nht trong 4 chỳ th Dãy số 5 3 4 7 6 3 15 9 i i > n a i > SMAX SMAX * Mô t thu t toán tìm s l n nh t trong dãy s ả ậ ố ớ ấ ố v i n=8, t ng ng v i dãy: 5,3,4,7,6,3,15,9ớ ươ ứ ớ Sai Sai Sai Sai Sai Sai Sai Sai Đúng Sai Sai Đúng Sai Sai Đúng Sai K t ế thúc 5 5 5 7 7 7 15 15 1 2 3 4 5 6 7 8 9 a i SMAX

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

TỪ KHÓA LIÊN QUAN

w