Chương trình tính số nguyên lớn của dãy số được nhập vào bằng công thức cộng trừ để cho ra kết quả người nhập muốn

27 686 1
Chương trình tính số nguyên lớn của dãy số được nhập vào bằng công thức cộng trừ để cho ra kết quả người nhập muốn

Đ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

Chương trình tính số nguyên lớn của dãy số được nhập vào bằng công thức cộng trừ để cho ra kết quả người nhập muốn

LỜI NÓI ĐẦU  Để hoàn thành niên luận này, bên cạnh sự nổ lực của bản thân cùng với sự kết hợp những kiến thức đã được học, quá trình tìm hiểu và thu thập thông tin có liên quan đến nội dung của đề tài niên luận. Mặt khác chúng em luôn nhận được sự giúp đỡ và hướng dẫn của thầy. Đã giúp em hoàn thành tốt niên luận này. Với sự nổ lực hết mình, em đã cố gắng hoàn thành niên luận này trong suốt thời gian qua. Do vốn hiểu biết còn hạn hẹp nên không tránh khỏi thiếu xót. Em rất mong sự góp ý kiến chân thành của quí thầy cô và các bạn đọc để niên luận Nhận Xét Của Giáo Viên Hướng Dẫn Nhận Xét Của Giáo Viên Hướng Dẫn . . . . . . . . . . . . . . . . . . . Bạc Liêu, ngày tháng năm 2010. Giáo viên hướng dẫn MỤC LỤC MỤC LỤC 1 I/GIỚI THIỆU 2 II/LÝ THUYẾT .3 III / LƯU ĐỒ KHỐI 8 IV / MÔT SỐ HÌNH ẢNH MINH HỌA TIẾN TRÌNH GIẢI THUẬT .22 V / KẾT LUẬN VÀ ĐÁNH GIÁ .24 VI/ TÀI LIỆU KHAM KHẢO .25 Trang 5 I/GIỚI THIỆU : Chương trình này được viết nhằm mục đích tính số nguyên lớn của dãy số được nhập vào bằng công thức cộngtrừ để cho ra kết quảngười nhập muốn . Trang 6 II/LÝ THUYẾT: 1/Tính chất: Ký hiệu "b a" nghĩa là b là ước của a, ký hiệu a b nghĩa là a chia hết cho b. 1. Ước số . Chứng minh: Giả sử d a; d nhỏ nhất; d 1. Nếu d không nguyên tố d = d 1 .d 2 ; d 1 , d 2 > 1 d 1 |a với d 1 < d: mâu thuẫn với d nhỏ nhất. Vậy d là nguyên tố. 2. Cho p là số nguyên tố; a N; a 0. Khi đó (a,p) = p (a p) (a,p) = 1 (a p) Trang 7 3. Nếu tích chia hết cho một số nguyên tố p thì có ít nhất một thừa số chia hết cho p. p a i p 4. Ước số dương bé nhất khác 1 của một hợp số a > 1 là một số nguyên tố không vượt quá 5. Tập hợp các số nguyên tố là vô hạn. Chứng minh: Giả sử có hữu hạn số nguyên tố: p 1 < p 2 < . < p n Xét a = p 1 .p 2 . . p n + 1 Ta có: a > 1 và a ¹ pi; "i = Þ a là hợp số Þ a có ước nguyên tố pi, hay aMpi và ( pi) M pi Þ 1M pi: mâu thuẫn. Vậy tập hợp các số nguyên tố là vô hạn. Tuy nhiên, vì tập hợp số nguyên tố là tập con của số tự nhiên, mà tập hợp số tự nhiên là đếm được nên tập hợp các số nguyên tố là đếm được. 2/Các thao tác trên số nguyên: A/ Phép cộng: void cong(list l1,list l2,list *l3) { makenulllist(l3); position p,q,k; p= first(l1); q= first(l2); k= first(*l3); elementtype x,d,t=0; while(p!=end(l1)&&q!=end(l2)) { x= (retrieve(p,l1))+(retrieve(q,l2))+t; if(x<=9) { insertlist(x,k,l3); t=0; p=p->next; q=q->next; Trang 8 } else { d=x-10; insertlist(d,k,l3); t=1; p=p->next; q=q->next; } } while(p!=end(l1)) { x=retrieve(p,l1)+t; if(x<=9) { insertlist(x,k,l3); t=0; p=p->next; } else { d=10-x; insertlist(d,k,l3); t=1; p=p->next; } } while(q!= end(l2)) { x=retrieve(q,l2)+t; if(x<=9) { insertlist(x,k,l3); t=0; q=q->next; } else { d=10-x; insertlist(d,k,l3); t=1; q=q->next; } } if(t==1) insertlist(1,k,l3); Trang 9 } int dem(list l) { position p; p= first(l); int s=0; while(p!=end(l)) { s=s+1; p=p->next; } return s; } void daoluon(list *l) { list ld; makenulllist(&ld); position p; p= first(*l); elementtype x; while(p!= end(*l)) { insertlist(retrieve(p,*l),first(ld),&ld); p=p->next; } } B/ Phép trừ: void tru(list l1,list l2,list *l3) { position p,q,k; p= first(l1); q= first(l2); k= first(*l3); elementtype x; int m=10,t=0; while((p!=end(l1))&&(q!=end(l2))) { if((retrieve(p,l1))==(retrieve(q,l2))) { if(t==1) { insertlist(9,k,l3); t=1; Trang 10 [...]... hiên thị sau khi ấn phím 2 để tính hiệu và ấn tiếp phím 1 để tính tổng: Màn hình hiển thị sau khi ấn phím số 3: Trang 25 V / KẾT LUẬN VÀ ĐÁNH GIÁ: I KẾT QUẢ ĐẠT ĐƯỢC: - Về lý thuyết đã áp dụng được với giải thuật đồng thời kết hợp với ngôn ngữ lập trình để giải quyết hoàn chỉnh - Về chương trình Demo: kết hợp giao diện thân thiện với người dùng và những công việc dễ dàng để người sử dụng dễ thực thi... chỉnh tốt chương trình mình thực hiện, cố gắng khắc phục những lỗi sai và cải thiện chương trình một cách nhanh chóng Để có thể hoàn thành một chương trình đúng như yêu cầu của nội dung Đồng thời, biết cách tạo ra những ý của riêng mình để chương trình chạy được hoàn thiện hơn Vì vậy, hướng phát triển tiếp theo là hoàn thành chương trình ngày càng hoàn thiện đầy đủ chức năng Phát triển chương trình đơn... Cùng với những lời hướng dẫn để thực hiện chương trình trước khi chạy - Qua đề tài niên luận này giúp em hiểu ra được một số vấn đề cần thiết trong khi lập trình và sửa được bài làm của mình để có thể hoàn chỉnh hơn II HẠN CHẾ: Do đây là lần đầu tiên em làm niên luận này Với kiến thức còn hạn hẹp nên chương trình vẫn còn nhiều thiếu sót, chưa đáp ứng đầy đủ các yêu cầu của đề ra Và chưa làm hoàn thành... p=p->next;t=1 Trang 22 B A end sai sai q!=end(l2) xnext;t=1 Trang 23 IV / MÔT SỐ HÌNH ẢNH MINH HỌA TIẾN TRÌNH GIẢI THUẬT Màn hình hiển thị sau khi nhập 2 chuổi số nguyênkết thúc bằng phím Enter: Màn hình hiển thị kết quả phếp tính tổng sau khi ấn phim 1: Trang 24 Màn... năng Phát triển chương trình đơn giản nhưng đầy đủ,làm giảm thiểu tối đa dung lượng Trang 26 V/ Tài Liệu Kham Khảo: 1) A.Aho,J.Ullman,Data Structues and Algorithms 2) Wirth ,Chương trình = Cấu trúc dữ liệu + Giải thuật 3) Nguyễn Trung Trực,Cấu trúc dữ liệu – ĐHBK TP HCM 4) Robert Sedgewick,Cẩm nang thuật toán 1,2 Trang 27 ... đúng insertlist(0,k,l3) Trang 13 p=p->next;q=q->next; t=0 B sai C retrieve(p,l1)>retrieve(q,l2) đúng x =retrieve(p,l1) – (retrieve(q,l2) + t) insertlist(x,k,l3) p=p->next;q=q->next; t=0 p!=end(l1)&&q!=end(l2) Trang 14 A p! =end(l1)& & đúng sai D t= =1 đúng sai retrieve(p,l1) > =1 đúng x =retrieve(p,l1) - t insertlist(x,k,l3) p=p->next ; t=0 insertlist(9,k,l3) p=p->next ; t=1 Trang 15 D t= =0 đúng insertlist... =end(l1)& & đúng printlist(l3) End Trang 16 Giải thuật hiệu: begin P= first(l1) ; q=first(l2) dem(l1)>dem(l2) sai đúng tru(l1,l2,l4) sai dem(l1)next;q=q->next; H=0 sai H =0 B Đúng 0 end Trang 18 B sai retrieve(p,l1)>retrieve(q,l2)... Trang 19 Giải thuật đảo begin p!=first(l1) sai p!=end(l1) đúng insert(retrieve(p,l),first(ld),&ld) p=p->next printlist(ld) end Trang 20 Giải thuật tổng chuổi: Begin p= first(l1) ; q=first(l2);k=first(l3);t=0 sai p!=end(l1)&&q!=end(l2) A đúng x= retrieve(p,l1)+retrieve(q,l2)+t đúng sai xnext;q=q->next; t=0 d = x-10 đúng insertlist(d,k,l3) p=p->next;q=q->next; t=1 Trang... else { insertlist(9,k,l3); t=1; p=p->next; } } Trang 11 else if(t==0) { insertlist(retrieve(p,l1),k,l3); p=p->next; } } printlist(*l3); } III / LƯU ĐỒ KHỐI: Giải thuật đếm chuổi: Begin P= first(l) ;s=0; sai P!=end(l) đúng s=s+1 ; p=p->next End Trang 12 Begin P= first(l1) ; q=first(l2);k=first(l3);m=10;t=0 sai P!=end(l1)&&q!=end(l2) A đúng sai Giải B thuật trừ: retrieve(p,l1)= =retrieve(q,l2) đúng sai

Ngày đăng: 27/04/2013, 11:52

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan