01tong quan lap trinh - eureka! Gi i thu t T p các ch l nh...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: eureka! Gi i thu t T p các ch l nh hư ng d n quá trình th c hi n m t công vi c T ng quan l p trình máy tính Chương trình anhtt@it-hut.edu.vn Máy tính có th làm gì ? Máy tính có th làm gì n a ? Không nhi u… Máy tính ch có th hi u các con s ! • Các tính toán ph c t p hơn có th ñư c th c hi n t t h p các tính toán căn b n. • K t n i v i các thi t b ngo i vi ñ th c hi n nh p xu t d li u (input/output) – Input : bàn phím, con chu t, … – Output : màn hình, máy in • M i th ñ u ñư c làm v i các con s . • Lưu tr , tìm ki m các con s (nhanh và chính xác). • Th c hi n các phép tính c ng, tr , nhân, chia sô h c (cũng nhanh và chính xác). • So sánh s h c. • Di chuy n và th c hi n các ch l nh tính toán trong m t danh sách. Mô hình máy tính Von Neumann Chương trình máy tính là gì? • M t chu i các ch l nh nh m gi i quy t m t m c ñích nh t ñ nh • Các ch l nh ñư c th c hi n m t cách tuy n tính. Không có ch l nh nào ñư c th c hi n khi ch l nh trư c ñó chưa hoàn thành. • Chương trình có th ñư c bi u di n b ng m t ngôn ng l p trình. 1 Ngôn ng máy Ngôn ng b c cao • Assembly – ngôn ng máy tính ñư c mã hoá b ng văn b n (v n không thu n ti n). • Ngôn ng thông d ch (java, perl) – Chương trình ñư c chuy n thành ngôn ng máy trong quá trình m i l n th c hi n • Ngôn ng biên d ch (C, pascal) – Chương trình ñư c d ch thành ngôn ng máy m t l n trư c khi th c hi n • Là ngôn ng mà máy tính hi u ñư c. • ð i v i chúng ta, ngôn ng máy ch là chu i s v i 0 và 1. • Không có m t ngôn ng máy chung cho máy tính. – M i b vi x lí có m t ngôn ng riêng c a nó • Con ngư i không th làm vi c tr c ti p v i ngôn ng máy. • Nhưng máy tính không th hi u ngôn ng khác Quá trình gi i quy t v n ñ V nñ C n ph i pha 100ml s a cho con bú Phân tích ð c t Vð 1. R a bình 2. Cho 13g s a vào bình 3. ðun nư c sôi 3. Pha nư c m 40OC 4. Cho 100ml m vào bình Thi t k Gi i thu t Thi hành Chương trình D ch ruabinh(); chosua(2); dunnuocsoi(); phanuocam(40); chonuocam(100) 01001110101100101010101010010 10101010100110010101010101001 01101001110101010101001001011 10100111101010101111101010100 0110100001101... Chương trình ch y Gi i thu t n u cơm • Chu n b ð u vào (input) – 0,5 kg g o, 1 lít nư c • Các bư c th c hi n – – – – – – – Gi i thu t “Oe oe! con ñói r i" Vo g o (0,5 kg) ð (1 lít) nư c vào n i ðun sôi n i nư c Cho g o vào n i Ch ñ n khi nư c c n V n nh l a Ch 15 phút b c n i ra • K t qu X lí (processing) ð u ra (output) • M t chu i các ch l nh ñ c t các bư c yêu c u ñ th c hi n m t vài nhi m v nh t ñ nh • M t s ví d v gi i thu t trong cu c s ng – – – – – – Ch d n n u ăn Hư ng d n l p ñ t m t thi t b Các lu t th c hi n m t trò chơi Ch d n ñi ñư ng t A ñ n B Hư ng d n s a ch a xe máy v.v. Các thành ph n m t gi i thu t • Bi n và giá tr • Các ch l nh – Tu n t – L a ch n –L p – Các th t c con Ngoài ra cũng c n có thêm mô t , chú thích ñ tr giúp d hi u gi i thu t hơn – N i cơm chín cho 5 ngư i ăn 2 Bi n Giá tr • Bi u di n m t ñ i lư ng th hi n s ño lư ng hay m t tr ng thái nào ñó • Có th là s hay ch (vd., s nhà, tên ph , …) • Thư ng m i giá tr ñ u có ñơn v ng m ñ nh ñi theo nó • Ví d : • Là v t ch a các giá tr - nơi mà giá tr ñư c lưu tr • Ví d Giá tr Bi n Bình này có th dùng ñ ch a v.v Ch l nh Ki u c a bi n • Là l nh ch d n th c hi n m t vi c mà – ñơn gi n – không nh p nh ng – h th ng ñã bi t v nó ñ có th th c hi n – có th ñưa ra hư ng d n th c hi n trên giá tr và bi n c a gi i thu t C u trúc tu n t L i khuyên v các ch l nh • Khi vi t m t gi i thu t hãy t o các ch l nh th t ñơn gi n và không b nh p nh ng • Ví d : Vo g o (1 kg) r i ñ nư c (1 lít) vào n i và ñun sôi • Vo g o (1 kg). • ð nư c vào n i (1 lít). • ðun sôi. 50 g ñư ng 3 cái bánh – Giá tr cho cân g o, cho lít nư c trong gi i thu t n u cơm • Bi n có th ñư c h n ch ñ ch ch a m t ki u c th nào ñó c a giá tr • Ví d : cân (g o) hay lít (nư c) 10 cái k o • • • Là m t dãy các ch l nh ... ñư c th c hi n m t cách tu n t có l nh sau và l nh trư c Ví d : 1. 2. 3. 4. 5. 6. 7. Vo g o (0,5 kg) ð (1 lít) nư c vào n i ðun sôi n i nư c Cho g o vào n i Ch ñ n khi nư c c n V n nh l a Ch 15 phút b c n i ra 3 Ví d v l a ch n L a ch n • M t l nh mà có th l a ch n m t trong hai chu i l nh c n th c hi n • L a ch n này d a trên m t ñi u ki n ñúng/sai ch ñư c ch ra • if (n u)…then (thì)…else (không thì)… • Ví d : – Gi i phương trình b c nh t v i h s a, b Nh p h s c a PT ði u ki n l a ch n Th c hi n khi ñi u ki n l a ch n ñúng Th c hi n khi ñi u ki n l a ch n sai Câu h i ? input a, b if (a khác 0) then { output -b/a } else { output “vô ñ nh" } Vòng l p Hai gi i thu t dư i ñây có cho cùng m t k t qu ? Gi i thu t 1 Gi i thu t 2 input a, b if (a khác 0) then { output -b/a } else { output “vô ñ nh" } input a, b if (a khác 0) then { output -b/a } output “vô ñ nh" • Là l nh cho phép th c hi n l p m t kh i ch l nh ... – ...theo m t ñi u ki n ñúng sai – ñi u ki n ñư c ki m tra m i l n th c hi n l p • Phân bi t hai d ng l p – while…do…: ki m tra ñi u kiên ngay t l n l p ñ u tiên – do…while…(ho c repeat…until…): l n l p ñ u tiên ñi u ki n không ñư c ki m tra Gi i thu t 2 ñưa ra hai k t qu khi a khác 0 Câu h i ? Ví d v vòng l p Th c hi n li t kê dãy s l trong kho ng 1..100 Hai gi i thu t dư i ñây có cho cùng m t k t qu ? Gi i thu t 1 T o bi n s l v i giá tr b tñ ut 1 Vòng l p ñư c th c hi n v i ñi u ki n s l nh hơn 100 Li t kê s l v i giá tr hi n t i cho m i l n l p và tăng giá tr c a s l lên 2 ñơn v s l =1 while (s l nh hơn 100) do { output s l tăng thêm 2 vào s l } s l =1 while (s l nh hơn 100) do { output s l tăng thêm 2 vào s l } Gi i thu t 2 s l =1 while (s l nh hơn 100) do { tăng thêm 2 vào s l output s l } Gi i thu t 2 li t kê các s l t 3…101 Chú ý: V i while…do…, ñi u ki n l p ñư c ki m tra ngay t l n ñ u tiên 4 Câu h i ? Th t c ði m khác nhau hai gi i thu t dư i ñây ? Gi i thu t 1 • Là m t chu i các ch l nh ñư c ñ t tên • Vì v y b n có th Gi i thu t 2 a=0 t ng = 0 while (a > 0) do { input a tăng thêm a vào t ng } output t ng a=0 t ng = 0 do { input a tăng thêm a vào t ng } while (a > 0) output t ng Trong gi i thu t 1, l n nh p a ñ u tiên không ñư c th c hi n vì ñi u ki n l p không tho mãn. Ngư c l i trong gi i thu t 2 a ñư c nh p giá tr cho l n ñ u tiên mà không c n ki m tra ñi u ki n. Làm b a ăn t i { N u_cơm Lu c_rau Rang_th t D n_cơm } • Th t c ñư c s d ng trong l p trình có c u trúc ñ phân chia chương trình thành các thành ph n nh v i nhi u tên g i khác nhau – Th t c (procedure) – Hàm (function) – Chương trình con (sub-routine) T ng k t Ví d v th t c Procedure N u_cơm { Vo g o (0,5 kg) ð (1 lít) nư c vào n i ðun sôi n i nư c Cho g o vào n i Ch ñ n khi nư c c n V n nh l a Ch 15 phút b c n i ra } – tham chi u ñ n nó (thông qua tên) – ...s d ng l i b ng cách copy các ch l nh trong th t c vào gi i thu t c a b n • Quá trình gi i quy t v n ñ – V n ñ → Gi i thu t → Chương trình • Ngôn ng l p trình G i th t c – B c cao vs. ngôn ng máy • Các thành ph n c a gi i thu t – Bi n và giá tr – Các ch l nh: • Tu n t , L a ch n, L p, Th t c Khai báo th t c 5 ...
View Full Document

Ask a homework question - tutors are online