1. Trang chủ
  2. » Công Nghệ Thông Tin

kỹ thuật lập trình C chuyên nghiệp phần 2 pot

18 344 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 18
Dung lượng 586,78 KB

Nội dung

Phương pháp Heuristic ề ẫ y Trong nhi ề u b ài toán dùng p hương p háp th ử -saisẽ d ẫ n đếnsố lượng thử quá lớn không chấpnhận được. ề ẫ ế y Heuristic chính là ướclượng v ề khả năng d ẫ n đ ế nlờigiải củamộttrạng thái: phương pháp vét cạnnhưng có thêm tri hứ đi kè ối bộ ê lý h ớ đíh ê t hứ c đi kè m, t ối ưucục bộ , nguy ê n lý h ư ớ ng đí c h , nguy ê n lý sắpthứ tự, í d y v í d ụ: Mộtembébị lạc đường về nhà, em nhớ nhà mình cao nhất trong khu vực em sẽ tìm đến tòa nhà cao nhất trong vùng em trong khu vực , em sẽ tìm đến tòa nhà cao nhất trong vùng em thấy, rồilạitiếptục , Giải phương trình bậc 2 , đoán nghiệm theo Vi - ét Giải phương trình bậc 2 , đoán nghiệm theo Vi ét kiế h hiề hiề Tìm kiế mt h eo c hiề u sâu và c hiề u rộng rộng y Là thử sai theo nguyên lý mê cung hay chính là thử y Là thử - sai theo nguyên lý mê cung hay chính là thử - sai kếthợplầnngược. y Ngược với tìm kiếm theo chiều sâu tìm kiếm theo chiều y Ngược với tìm kiếm theo chiều sâu , tìm kiếm theo chiều rộng mang hình ảnh củavếtdầu loang. Giảithu ậ t A * ậ Phươn g p há p trí tu ệ nhân t ạ o g pp ệ ạ y " Dạy " máy tính để có " trí thông minh " như con người y Dạy máy tính để có trí thông minh như con người bắtchướckhả năng "suy luận" của con người. ví dụ : bài toán đong nước có 3 bình A B và C có dung ví dụ : bài toán đong nước , có 3 bình A , B , và C có dung tích 5, 8, và 13 lít. Làm sao đong được 11 lít nướctrong bình C? Bình C ban đầu đầy nước bình C? Bình C ban đầu đầy nước . Mộtsố phương pháp chuyểngiao tri thức 1. Biểudiễntri thức 2 Hệ hê i 2 . Hệ c h uy ê ng i a 3. Máy học MM ảả ng ng ArrayArray MM ảả ng ng ArrayArray Phạm Thế Bảo Trường Đạihọc Khoa họcTự nhiên Tp HCM Trường Đại học Khoa học Tự nhiên Tp . HCM MảMả AA Mả ng Mả ng –– A rray A rray  MộtMộtsốsố tínhtính chấtchất Kh iKh i bábá ảả tt CC  Kh a iKh a i bá o bá om ả ngm ả ng t rong t rong CC  TruyTruy xuấtxuất cáccác thànhthành phầnphần  TruyềnTruyền thamtham sốsố kiểukiểumảngmảng chocho hàmhàm  MộtMột ốố thth tátá ởở  MộtMột s ố s ố th ao th ao tá c tá ccơcơ s ở s ở  MảngMảng nhiềunhiềuchiềuchiều MảMả Mộ ố íh hấMộ ố íh hấ Mả ng Mả ng –– Mộ t s ố t í n h c hấ t Mộ t s ố t í n h c hấ t ểể ấấ  MảngMảng làlà mộtmộtki ể uki ể ud ữ d ữ liệuliệucócó c ấ uc ấ utrúctrúc dodo ngườingườilậplập trìnhtrình địnhđịnh nghĩanghĩa DùDù biểbiể diễdiễ áá đốiđối tt dữdữ liệliệ ởở dd ộtột  Dù ng Dù ng biể u biể u diễ n diễ nc á cc á c đốiđối t ượng t ượng dữdữ liệ u liệ u ởở d ạng d ạng m ột m ột dãydãy cáccác thànhthành phầnphầncócó cùngcùng kiểukiểuvớivới nhaunhau ––kiểukiểucơcơ sởsở sởsở  NNLTNNLT CC luônluôn chỉchỉđịnhđịnh mộtmộtkhốikhốinhớnhớ liênliên tụctụcchocho m ộ tm ộ tbi ế nbi ế nki ể uki ể umản g mản g ộộ gg  KíchKích thướcthướccủacủamảngmảng đượcđượcxácxác địnhđịnh ngayngay khikhi khaikhai báobáo vàvà khôn g khôn g baobao g iờ g iờ tha y tha y đ ổ iđ ổ i gg gg yy MảMả Kh i bá CKh i bá C Mả ng Mả ng –– Kh a i bá o trong CKh a i bá o trong C tdftdf kiể ơ ởkiể ơ ở Tê kiểTê kiể [[ Sốthà h hầSốthà h hầ ]] t ype d e ft ype d e f kiể uc ơ s ởkiể uc ơ s ở Tê n kiể u Tê n kiể u [[ Sốthà n h p hầ n Sốthà n h p hầ n ]] ;; kiểucủamỗi thành phầnkiểucủamỗi thành phần hằ ố ố thà h hầhằ ố ố thà h hầ kiểu của mỗi thành phầnkiểu của mỗi thành phần hằ ng s ố , s ố thà n h p hầ n hằ ng s ố , s ố thà n h p hầ n tối đa của mảngtối đa của mảng do lập trình viên đặt têndo lập trình viên đặt tên typedeftypedef intint A INT[ A INT[100100];]; ////AINTAINT là kiểu mảng biểu diễn dãy gồm 100 thành phần intlà kiểu mảng biểu diễn dãy gồm 100 thành phần int AINTAINT a;a; //a: //a: biếnbiếnkiểukiểu AINTAINT MảngMảng Ví dVí d Mảng Mảng –– Ví d ụ Ví d ụ #define SIZE 10 #define SIZE 10 int a[5]; // a dãy gồm5 số nguyên long int big[100]; // big: chiếm 400 bytes! double d [ 100 ] ; // d: chiếm 800 b y tes! [] // y long double v[SIZE];// v:10 long doubles long double d[2.5]; long double d[0]; long double d[-4]; long do ble d[n] long do u ble d[n] ; MảngMảng Ví dVí d khởitrị cho 5 Mảng Mảng –– Ví d ụ Ví d ụ i [5] {1020304050} khởi trị cho 5 thành phần i nt a [5] = { 10 , 20 , 30 , 40 , 50} ; double d[100] = { 1.5, 2.7}; short primes[] = { 1, 2, 3, 5, 7, 11, 13}; long b[50] = { 0 }; 2 thành phần đầutiênđược đầu tiên được khởi trị, phần còn lại: 0 compiler xác định kích thước gồm 7 thành phần cách nhanh nhất để int i = 7; const int c=5; thành phần cách nhanh nhất để khởi trị tất cả các thành phần bằng 0 const int c = 5; int a[i]; double d[c]; short primes[]; short primes[]; [...]... xuất c c phần tử C c thành phần c a mảng đư c truy xuất thông qua chỉ số c a chúng 0 size-1 ủ hú sizei Thao t c truy xuất không kiểm tra giới hạn c a chỉ số nhưng giá trị không kiểm soát đư c int main() { int a[6]; int i = 7; a[0] = 59; a[5] = -10; a[i /2] = 2; a[6] = 0; a[-1] = 5; return 0; } a 0 1 2 3 4 5 Truyền th T ề tham số Mảng cho hà ố Mả h hàm Tham số kiể mảng đ Th ố kiểu ả đư c t ề cho hà chính... 2, 3, 5, 7, 11 }; sum(primes, 6); printf("%li\n", primes[0]); return 0; } void sum(long a[], int sz) { int i; long total = 0; for(i = 0; i < sz; i++) total += a[i]; a[0] = total; } primes 1 2 3 5 7 11 a sz 6 dùng để kiểm tra giới hạn chỉ số tổng đư c lưu vào phần tử đầu tiên Chú ý Không Khô thể th hiệ c c th tá chép nội d th c hiện á thao t c hé ội dung một mảng ột ả sang mảng kh c kh c Chép từng phần. .. phần tử mảng char A[3]={‘a’,’b’, c }; A[3]={‘a’,’b’, c }; char B[3]; B = A; // ??? for(int for(int i=0; i . d [c] ; short primes[]; short primes[]; MảngMảng –– TruyTruy xuấtxuất c cc c phầnphần tửtử  C cC c thànhthành phầnphầncủacủamảngmảng đư c ượctruytruy xuấtxuất thôngthông quaqua chỉchỉ sốsố ủủ húhú 00 ii 11 MảngMảng TruyTruy xuấtxuất c cc c phầnphần tửtử c ủ ac ủ ac hú ngc hú ng 00 . m ột m ột dãydãy c cc c thànhthành phầnphầnc c c ngcùng kiểukiểuvớivới nhaunhau ––kiểukiểuc c sởsở sởsở  NNLTNNLT CC luônluôn chỉchỉđịnhđịnh mộtmộtkhốikhốinhớnhớ liênliên tụctụcchocho m ộ tm ộ tbi ế nbi ế nki ể uki ể umản g mản g ộộ gg . ý KhôKhô thểthể thth hiệhiệ áá thth tátá héhé ộiội dd ộtột ảả  Khô ng Khô ng thểthể th c th c hiệ n hiệ nc á cc á c th ao th ao tá c tá cc hé pc hé pn ội n ội d ung d ung m ột m ột m ả ngm ả ng sang sang mảngmảng kháckh c ChépChép từngtừng phầnphần tửtử mảngmảng ChépChép từngtừng phầnphần tửtử mảngmảng char

Ngày đăng: 22/07/2014, 16:21

TỪ KHÓA LIÊN QUAN