1. Trang chủ
  2. » Cao đẳng - Đại học

Báo cáo tốt nghiệp Phong cách lập trình

31 257 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 31
Dung lượng 496,5 KB

Nội dung

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN ‫ ﻫ‬Ж ‫ﻫ‬ KHOA TOÁN – CƠ – TIN _ Bài thu hoạch Tổng kết báo cáo nhóm Giảng viên: Nguyễn Thị Bích Thủy Sinh viên : Nguyễn Thị Linh Lớp : K52A3 TT Ứng Dụng Hà Nôi, Năm 2009 Danh sách nhóm: Nguyễn Văn Đức Bách-Phượng-Mai Phong cách lập trình Phân tích tốn theo modul Nghĩa-Hưng-Học Đặc tả hình thức phân tich hệ thống Nguyệt-Sính-T.T.Trang Cấu trúc liệu cách xếp(Dịch ) Thơm-T.T.Hiền-Dung Cây nhị phân Nhung-Thủy Thuật toán đồ thị (Dịch sách) Đạt-Hiếu-Đ.Q-Hưng P.T.Hiền-Thư-Vân Thuật giải Heuristic phương pháp tìm kiếm Thuật tốn tìm kiếm đồ thị Chiến-Hồng-N.K.Anh Quy hoach động 10 Lê.T.Long-Hiệp Kỹ thuật chia để trị (dịch sách) 11 Liên-Hiên-Hà Chia để trị 12 Tình-Thay-Thể Bảng băm 13 N.T.Linh-N.Đ.Giang-T.K.Anh Tổng quan kỹ thuật đệ quy 14 Quyền-Phú-Thành Kỹ thuật xếp lập trình 15 Cường-L.T.Trang-B.K.Linh Bài tốn liệt kê 16 K.Dương-N.TrungLâm-Thắng Thủ thuật sử dụng thư viện đồ họa 17 Hạnh-Đỗ.T.T.Hiền-Lâm Các phương pháp lập trình 18 Nhân-Hoa-Sơn Lập trình hướng đối tượng 19 Tuấn-Thiện-Xuất Kiểm chứng chương trình 20 Lê.N.Duy-T.V.Tài Kiểm chứng chương trình 21 L.V.Hùng-Đ.Long-N.V.Hùng Quan máy học 22 Phạm Thanh Hòa Lập trình điều khiển máy CNC 23 Ngọc-N.P.Long-L.Đ.Long Ứng dụng ngắt lập trình nhúng MỤC LỤC Phần 1:Phong cách lập trình .5 Phong cách lập trình (Nguyễn Văn Đức) Phần 2:Các giai đoạn phần mềm Giai đoạn phân tích tốn 1.1 Phân tích tốn theo Modul Giai đoạn thiết kế toán .8 2.1 Các công cụ thiết kế 2.2 Các ngôn ngữ đặc tả 2.2.1Đặc tả hình thức phân tích hệ thống .8 Giai đoạn viết mã lệnh 10 3.1 Tính chất liệu 10 3.1.1 Cấu trúc liệu cách xếp (Dịch ) 10 3.1.2 Cây nhị phân 11 3.2 Thuật toán 12 3.2.1 Thuật toán đồ thị(dich) .12 3.2.2 Thuật giải Heuristic phương pháp tìm kiếm 13 3.2.3 Thuật tốn tìm kiếm đồ thị .14 3.3 Kỹ thuật lập trình .16 3.3.1 Quy hoach động 16 3.3.2 Kỹ thuật chia để trị (dịch sách) 17 3.3.3 Kỹ thuật chia để trị 17 Trên mục lục báo cáo, em cố phân loại đẻ có nhì khái qt báo cáo nhóm 3.3.4 Bảng băm 18 3.3.5 Tổng quan kỹ thuật đệ quy 19 3.3.6 Kỹ thuật xếp lập trình 20 3.3.7 Bài toán liệt kê 21 3.3.8 Thủ thuật sử dụng thư viện đồ họa 22 3.4 Phương pháp lập trình .23 3.4.1 Các phương pháp lập trình 23 3.4.2 Lập trình hướng đối tượng .24 Kiểm chứng 25 4.1 Kiểm chứng chương trình(nhóm Tài-Duy …) 25 4.2 Kiểm chứng chương trình(nhóm Tuấn …) .25 Ứng dụng .26 5.1 Lập trình điều khiển máy CNC 26 5.2 Quan máy học 27 5.3 Ứng dụng ngắt lập trình nhúng .28 Tổng kết báo cáo Trước kỷ công nghệ thông tin bùng nổ rộng khắp, nhu cầu sử dung máy tính ngày tăng lên, đòi hỏi ngày nhiều ứng dụng chương trình Vì vậy, tăng số lương phần mềm ứng dụng ngày nhiều, thu hút nhiều người làm việc lĩnh vực Nhu cầu học tập tăng lên với nhiều mơn học Tuy nhiên, để lập trình tốt khơng thể khơng học tìm hiểu Kỹ Thuật Lập Trình Trong học kỳ qua, nỗ lực học tập tìm hiểu thân, em bạn tìm hiểu nhiều kỹ thuật để học chia sẻ cho nhau.Dưới tổng kết kết làm việc bạn thu nhận kiến thức thân Phần 1:Phong cách lập trình I Bài báo cáo: Phong cách lập trình NTH: Nguyễn Văn Đức a Tóm tắt báo cáo: Bài báo cáo có nội dung sau:  Tên hàm hay tên biến • Tên hàm: nêu cách đặt tên yêu cầu tên( quán ) • Tên biến: cách đặt tên  Biểu thức phát biểu Để tạo tường minh cho biểu thức nên: Canh chỉnh lề, dùng dấu ngoặc để tránh tối nghĩa, đơn giản cụ thể hóa biểu thức mang tính tự nhiên  Tính quán đặc ngữ Tính quán giúp ta xây dựng chương trình tốt, sáng sủa Để tạo quán : canh chỉnh lề, dùng dấu ngoặc móc, đặc ngữ  Các số tối nghĩa: Trong phần nêu khái niệm số tối nghĩa, cách đặt tên quy tăc hạn chế dùng số tối nghĩa  Chú thích • Khái niêm thích: • Quy tắc  Khơng thích điều hiển nhiên  Chú thích cho hàm liệu tồn cục  Đừng thích đoạn mã nguồn dở mà viết lại  Đừng phủ nhận mã nguồn  Rõ ràng, không gây nhầm lẫn  Vì phải lo lắng phong cách lập trình? • Mã nguồn chương trình viết tốt dễ đọc dễ hiểu hơn, lỗi hơn, giúp chương trình có kích thước nhỏ so với mã nguồn chắp vá cẩu thả khơng trau chuốt • Quan điểm tạo phong cách lập trình tốt thói quen b Nhận xét Đọc báo cáo tơi có nhân xét sau:  Đề tài: Phong cách lập trình ln kèm với phong cách cá nhân, thể “cái tơi” người lập trình Tuy nhiên, khơng phải mà khơng có quy tắc chung mà thế, nhờ quy tắc mã nguồn sáng sủa, dễ hiểu, lỗi dễ sửa chữa ln vấn đề cần ý Dẫu vậy, người, đặc biệt người bước vào nghề lập trình để ý tới Vì thế, theo tơi, đề tài lý thú, đáng lưu ý; báo cáo giúp bạn có phong cách lập trình chun nghiệp, mang đậm phong cách cá nhân  Ưu điểm: • Qua báo cáo, người đọc hình dung phần phong cách lập trình cho code sáng sủa, dễ hiểu • Nêu mục đích, ý nghĩa cần thiết phong cách lập trình  Nhược điểm • Bản báo cáo khơng cho thấy nhìn khái qt phong cách lập trình giúp lập trình hiệu • Bài báo cáo sơ sài, nhiều vấn đề cần bổ sung, thêm • Trình bày lủng củng, lộn xộn thiếu rõ ràng, VD: Nhìn từ mục lục ta thấy: sau người viết nói nhiêu quy tắc viết: hàm, biến, biểu thức v.v.v cuối đề cập đến phải lo lắng phong cách lập trình Trong đó, vấn đề nên nói từ đầu Thêm vào đó, đề tài phong cách lập trình bắt đầu báo cáo đề cập đến: hàm, biến, biểu thức…Khiến người đọc, đặc biệt người học, thắc mắc khơng hiểu liên quan vấn đề tới phong cách lập trình • Trong nhiều phần, nội dung tựa đề không thấy liên quan rõ ràng hay làm sáng tỏ tựa đề, tiểu ý để lẫn lộn với ý lớn khiến người đọc không hiểu phần định làm sáng tỏ ý lớn nào, hai phần ý phải viết liền chia hai ý riêng biệt VD: Trong phần, số tối nghĩa có chia làm ba ý lớn  Đặt tên cho số tối nghĩa  Dùng số dạng ký tự, không dùng dạng số ngun  Dùng ngơn ngữ để tính tốn kích thước đối tượng Trong đó, hai nội dung cuối làm sáng tỏ cách hạn chế dùng số tối nghĩa Vì nên cho hai ý thành ý nhỏ ý lớn: quy tắc hạn chế dùng số tối nghĩa  Bổ sung  Bài báo cáo nên trình bày đề cập đến nội dung sau: a) Vì phải lo lắng phong cách lập trình:  Mục đích phong cách lập trình  Lợi ích việc áp dụng quy tắc lập trình b) Các yếu tố phong cách lập trình tốt: oTrình bày mã nguồn: Quy tắc lùi đầu dòng Quy tắc viết code theo hàng dọc Quy tắc xuống dòng, khoảng trống Quy tắc dùng tab Quy tắc thích oQuy tắc đặt tên, logic kỹ thuật cao  Cách nhận biết kiểu tên hàm người lập trình định nghĩa: hàm, thủ tục, tên biến, biểu thức phát biểu, số tối nghĩa,  Cách dung giá trị bolean câu trúc  Cách viết câu lênh so sánh tối ưu  Cách viết cấu trúc vòng lặp tối ưu oPhong cách lập trình nên đảm bảo: Tính nhât qn.v.v  Trong phần đề cập tới nên nêu ra: khái niệm, quy tắc VD: Biểu thức phát biểu:  Khái niệm biểu thức phát biểu  Cách trình bày quy tắc thể biểu thức…      Phần 2:Các giai đoạn phần mềm I Giai đoạn phân tích tốn I.1 Bài báo cáo: Phân tích tốn theo modul NTH:Nguyễn Quang Bách-Dương Thị Phương Mai-Nguyễn Thị Ánh Phượng I.1.1.Tóm tắt:nội dung chính: Trong thực tế, để giải tốn lớn, chương trình phức tạp, kỹ thuật phân tích tốn theo module đời  Khái niệm: kĩ thuật thiết kế phần mềm chia chương trình thành thành phần riêng biệt (những module) nối vào chương trình thơng qua giao diện  Triển khai tốn theo module:  Phân tích toán xác định module  Xác định input ouput cho module  Tạo mối liên hệ module  Liên kết tất module với chương trình :  Đánh giá kỹ thuật o Ưu điểm • Hạn chế dễ phát lỗi • Giữ điều khiển hàm • Chương trình có cấu trúc dễ viết, dễ bảo dưỡng o Nhược điểm • Dễ làm tính thống nhóm • Mất nhiều thời gian để sửa chữa chuong trình o Kỹ thuật liên quan: Chia để trị lập trình hướng đối tượng(OOP) I.1.2 Nhận xét:  Về đề tài: Đây đề tài quen thuộc, tương đối gần gũi Nội dung bản, khơng có bật, khác lạ  Về ưu điểm: o Nổi bật bước triển khai toán theo modul o Nêu ưu, nhược điểm kỹ thuật o Trình bày thống, dễ đọc, ví dụ đơn giản ln lấy phân tich vấn đề giúp nắm bắt nội dung  Về nhược điểm: o Đơi chỗ trình bày lủng củng, lộn xôn, tách ghép ý lung tung, không làm bật ý chính, khó khăn việc thu nhận thông tin : VD phần nhược điểm o Việc đề cập kỹ thuật liên quan(cụ thể KT OOP) chưa cho thấy liên quan KT với việc phân tích tốn theo modul Mặt khác OOP kỹ thuật lập trình hồn tồn độc lập so với kỹ thuật phân tích toán theo Module o Chưa đưa kỹ thuật sử dụng biến riên, biến cục, để tạo thống modul Hay phạm vi áp dụng, ngôn ngữ dùng… o Chưa đưa cách sử dụng kỹ thuật modul project lớn  Bố sung: o Cần nói rõ kỹ thuật liên quan o Bổ sung thêm vấn đề sử dụng hàm biến , cách làm việc với nhiều Modul nhiều tệp rời rạc project lớn o Nói thêm vấn đề phạm vi sử dụng Lập trình Modul : ngơn ngữ chấp nhận cách thức khái niệm Modul gồm có: IBM/360 Assembler, COBOL, RPG PL/1, Ada, D, F, Fortran, Haskell, Pascal(vài phiên ML, Modula-2, Erlang, Perl, Python and Ruby Hệ thống IBM (aka AS/400 and iSeries) sử dụng Modules RPG, COBOL CL, lập trình mơi trường ILE II Giai đoạn thiết kế toán II.1 Bài báo cáo: Ngôn ngữ đặc tả UML (Unifield Modeling Language ) NTH: Lê Văn Hưng-Nguyễn Tiến Nghĩa-Vữ Thái Học II.1.1.Tóm tắt: Trong báo cáo ta nắm a Sự đời ngôn ngữ UML: b Khái niệm UML UML ngơn ngữ mơ hình hố thống có phần bao gồm ký hiệu hình học, phương pháp hướng đối tượng sử dụng để thể miêu tả thiết kế hệ thống Nó ngơn ngữ để đặc tả, trực quan hoá, xây dựng làm sưu liệu cho nhiều khía cạnh khác hệ thống có nồng độ phần mềm cao UML sử dụng làm công cụ giao tiếp người dùng, nhà phân tích, nhà thiết kế nhà phát triển phần mềm Ngơn ngữ mơ hình hố bao gồm ký hiệu tập quy tắc:Syntactic (Cú pháp) Semantic (Ngữ nghĩa) Pragmatic, c Các thành phần chủ yếu ngơn ngữ UML  Hướng nhìn (view): Khái niệm loại hướng nhìn (Use case, logic )  Biểu đồ (diagram): Khái niệm loại biểu đồ (Use case, lớp…)  Phần tử mơ hình hóa (model element):  Cơ chế chung: d.Khả mở Rộng UML phát triển công cụ trợ giúp UML e Ứng dụng vào trình xây dựng phần mềm(4 giai đoạn thử nghiệm) II.1.2 Nhận xét:  Đề tài: Mặc dù UML xuất từ lâu với ứng dụng hiệu đến nghành công nghệ phần mềm, biết đến, đặc biệt bạn sinh viên, Vì thế, đề tài mẻ, lý thú, có hấp dẫn cao  Ưu điêm báo cáo: • Bài báo cáo viết toàn diện, chi tiết UML, giúp người đọc có hiểu biết đầy đủ UML • Trình bày tương đối rõ ràng, mạch lạc, khoa học Lý thuyết kèm hình ảnh minh họa giúp người đọc dễ nắm bắt nội dung • Ví dụ đưa cách phân tích ví dụ tôt, phản ánh củng cố nội dung lý thuyết  Nhược điểm: • Chưa đưa khác biệt UML thiết lập biểu đồ hệ thống • Chưa đưa nhận xét ưu, nhược điểm ngôn ngữ UML, so với ngôn ngữ khác,  Bổ sung: báo cáo nên cần bổ sung thêm để có kiến thức hồn chỉnh • Trong thành phần chủ yếu ngơn ngữ UML, phần biểu đồ: nói UML (2.0) có 13 kiểu đồ thị với ba loại khác nhau:  Biểu đồ tĩnh hay cấu trúc (Structure diagrams): gồm biểu đồ lớp; đối tượng; thành phần; biểu đồ cấu trúc hỗn hợp; biểu đồ khai triển; biểu đồ gói  Biểu đồ động(Behavior diagrams): Biểu đồ hoạt động; Biểu đồ trạng thái; Biểu đồ Use case  Biểu đồ tương tác(Interaction diagrams): Biểu đồ giao tiếp; Biểu đồ miêu tả tương tác; Biểu đồ trình tự; Biểu đồ định • Bổ sung thêm phần nhược điểm hay thiếu xót UML:  Khả hình dung, tưởng tượng yếu (Weak visualization)  Khó khăn việc học tiếp thu (Problems in learning and adopting)  Chỉ có mã đồng với mã (Only the code is in sync with the code) 10 • Đưa thêm ứng dung thuật tốn tìm kiếm thị: du lịch, lĩnh vực trí t nhân tạo • Nêu ưu nhược điểm, tương quan BFS DFS III.6 Bài báo cáo: Quy hoạch đơng NTH: Nguyễn Văn Chiến- Nguyễn Hữu Hồng-Nguyễn Thị Kim Anh III.6.1 Tóm tắt:  Giới thiệu chung: phương pháp chia nhỏ toán, tổ hợp kết quả, tương tư chia để trị, áp dụng hữu hiệu cho toán tối ưu  Kĩ Thuật quy hoạch động o Nguồn gốc:nhà toán học người Mĩ Richard Bellman phát minh,năm 1953 o Khái niệm: KTLT chia toán lớn-> toán nhỏ,lời giải toán nhỏ lưu vào bảng phương án để tổ hợp tìm kết ban đâu o Bản chất: Chia cắt toán lớn thành nhỏ, ghi nhớ tổ hợp kết o Đặc điểm (2): cấu trúc tối ưu toán gối o Phương pháp tiếp cận: từ lên (Bottom-up), từ xuống (Top-down) o Quy trình triển khai(4 bước):  Bước : Xác định cấu trúc tối ưu  Bước : Xác định hàm hồi quy nghiệm tối ưu  Bước : Tính giá trị nghiệm tối ưu theo Bottom-up top-down  Bước : Xây dựng lại nghiệm tối ưu từ thơng tin tính tốn bước oƯu điểm :  Giảm thiểu tối đa dung lượng nhớ cần sử dụng  Giảm thiểu tối đa độ phức tạp thuật toán thời gian tính tốn  Khả áp dụng cao, cho nhiều toán phức tạp  Là phương pháp tuyệt vời cho nhiều toán tối ưu III.6.2 Nhận xét  Về đề tài: Đây đề tài quen thuộc khó tiếp cận vói số người học  Ưu điểm • Là báo cáo hồn chỉnh, đầy đủ chi tiêt, bật vấn đề Giúp người đọc dễ dàng nắm bắt nội dung • Trình bày rõ ràng, mạch lạc, tính khoa học cao • Biết lựa chọn phân tích ví dụ rõ ràng, chi tiết góp phần cung cố nội dung  Nhược điểm • Chưa làm bật sức manh phương pháp vấn đề lớn tốn thực tế • Chưa nêu nhược điểm kỹ thuật  Bổ sung 17 • Nên đưa thêm việc triển khai kỹ thuật tốn thực tế , vấn đề lớn • Nêu nhược điểm kỹ thuật • Các thuật tốn sử dụng quy hoạch động: o Thuật toán xử lý xâu ký tự o Thuật toán CYK xác định xem xâu cho trước sinh từ ngữ pháp phi ngữ cảnh (context-free grammar) o Thuật toán Viterbi o Thuật toán Earley o Thuật toán Needleman-Wunsch thuật toán chuỗi o Các thuật toán dung đồ thị như: thuật toán Bellman-Ford, thuật toán Dijkstra, thuật tốn Floyd: o Tối ưu hóa thứ tự phép nhân ma trận theo chuỗi (chain matrix multiplication) o Thuật toán tổng tập (subset sum) (Theo wikipedia) III.7 Bài báo cáo: Chia để trị (dịch sách) NTH: Lê thành Long-Lưu Hồng Hiệp III.7.1 Tóm tắt Một giải pháp hữu hiệu cho kỹ thuật giải vấn đề chia chúng thành vấn đề nhỏ hơn, dễ giải  Chương trình Quy hoạch động oHàm fibonaci: oNhững Vấn Đề Về Phân Vùng: toán đặt phân vùng S vào phạm vi K cho cân công việc giảm thiểu thời gian xử lý oKhoảng Ăn Khớp Các Ký Tự: Chương trình, dựa vào thuật tốn quy hoạch động, chia để trị, tim lỗi tả oDãy Tăng Lớn Nhất oPhép Đạc Tam Giác:của đa giac tập tam giác không giao mà tổng không gian tam giác đa giác ban đầu oHạn chế chương trình Quy hoạch động  Chia để trị oSự Mũ Hố Nhanh oTìm Kiếm Nhị Phân III.7.2 Nhận xét  Ưu điểm • Về bản, dịch tương đối sát nghĩa • Nội dung phần dịch nói chung phản ánh 18  Nhược điểm • Còn nhiều chỗ dịch chưa chuẩn, dịch theo kiểu word by word, tối nghĩa, câu cú lủng củng, ngang tai (mang văn phong nói, sử dụng từ thừa thãi ) Lấy ví dụ đơn giản: Phần nhóm dịch: Để có cơng việc thực công hiệu quả, sách chia ba công nhân Để tránh phải xếp lại sách hay chia chúng thành phần nhỏ , đơn giản để chia giá sách thành ba khu vực phân công khu vực vào công nhân Theo ý cá nhân tôi: Để công việc thực công băng hiệu quả…hay chia chúng ra, đơn giản chia giá sách thành ba khu phân môi khu cơng nhân Nên cố găng dịch nhiều để có văn phong xác, hợp lý III.8 Bài báo cáo: Chia để trị NTH: Nguyên Thị Hiên-Trần Kim Liên- Đỗ Ngọc Hà III.8.1 Tóm tắt  Ý tưởng nội dung thuật toán chia để trị o Chia toán lớn thành toán nhỏ dạng dễ giải để tìm KQ tốn đầu oNội dung: • Phân tích tốn cho thành tốn sở • Tổng hợp kết từ tốn sở để có lời giải tốn ban đầu  Các tốn minh hoạ ví dụ • Thuật tốn tìm kiếm nhị phân • Bài tốn Min & Max • Thuật tốn Quick Sort …  Đánh giá thuật tốn: • Ưu điểm: phương pháp tối ưu giải số toán lớn, đồ sộ • Nhược điểm: Sử dụng đệ quy lên tốn nhớ III.8.2 Nhận xét Về đề tài: đề tài quen thuộc gần gũi, nhiều người biết đến sử dụng  Ưu điểm: • Trình bày thống, dễ đọc  Nhược điểm • Nội dung báo cáo sơ sài • Nêu q nhiều tốn để thể việc áp dụng thuật toán chia để trị  Bổ sung • Nên bổ sung thêm  19  nguồn gốc: Ý tương thuật toan có tư Babylonia I, trước công nguyê, nhưngJohn Mauchly đưa miêu tả thuật toán năm 1946  chất  đặc điểm bản,  quy trình triển khai thuật tốn • Thay nêu tốn mà khơng phản ánh gì, ta sửa bổ sung sau:Các nguyên tắc dung chia nhỏ tốn:  Ngun tắc chia đơi: tốn Min Max, tìm kiếm nhị phân…  Nguyên tắc phân hoạch: Thuật giải quicksoft … • Bổ sung thêm phần ưu điểm:  Là thuật tốn tích hợp cách tự nhiên cho thi hành máy đa xử lý, đăc biệt thống chia sẻ nhớ  Thuật toán làm tăng hiệu sử dụng nhớ  Có kiểm sốt tồn diện chương trình cho kết xác (Theo wikipedia) III.9 Bài báo cáo: Bảng băm NTH: Hồng Thị Tình- Trần Thị Thay- Nguyễn Thị Thể III.9.1 Tóm tắt  Nguồn gốc: xuất năm 50 kỷ 20, dựa ý tưởng: biến đổi giá trị khóa thành số,sử dụng số đánh mục cho bảng liệu  Hàm băm: ánh xạ giá trị từ khóa vào dãy địa bảng băm  Bảng băm: kĩ thuật chia nhỏ khóa, cách khác trộn phối hợp lại,trích mã đại diện Mô tả cấu trúc bảng băm tổng quát: hàm băm, tập khóa, tập địa Các phép toán bảng băm: thêm phần tử (insert), loại bỏ (remove), tìm kiếm  Các phương pháp, thuật tốn giải xung đột bảng băm • Phương pháp kết nối trực tiếp • Phương pháp kết nối hợp • Phương pháp dò tuần tự(tuyến tính) • Phương pháp dò bậc hai • Phương pháp băm kép Nêu lên nội dung, hàm thực đánh giá phương pháp  Đánh giá bảng băm: phụ thuộc vào dung lương nhớ o Ưu điểm : • Cấu trúc dung hòa thời gian truy xuất dung lượng nhớ: • Bảng băm thích hợp tổ chức liệu có kích thước lớn, lưu trữ nhớ o Nhược điểm: Gây xung đột địa o Ứng dung: toán kinh điển lĩnh vực mật mã III.9.2 Nhận xét Về đề tài: đề tài  mẻ, hay, lơi 20 Ưu điểm: o Bài trình bày khoa học, dễ đọc, dễ hiểu, nêu bật vấn đề o Nội dung đầy đủ, bản, xác  Nhược điểm o Chưa phân tích việc sử dụng kỹ thuật toán cụ thể để làm rõ vấn đê o Chưa đưa lý có xung đột bảng băm  Bổ sung oNêu nguyên nhân xảy xung đột bảng băm: thực tế bảng băm ánh xạ nhiều giá trị từ khóa tới số đó, tức lưu liệu thành phần mảng, mà thành phần mảng cho phép lưu liệu=> xung đột oBổ sung bảng băm tốt để ta cố gắng tạo được: • Tính dễ dàng nhanh địa ứng với từ khóa • Đảm bảo xảy xung đột oĐưa số bảng băm cách cài đặt • Cài đặt bảng băm địa mở • Cài đặt bảng băm dây chuyền  III.10 Bài báo cáo: Tổng quan kỹ thuật đệ quy NTH: Nguyễn Đức Giang- Trần Thị Kim Anh- Nguyễn Thị Linh III.10.1 Tóm tắt Kỹ thuật đệ quy Khái niệm kỹ thuật đệ quy:Là kỹ thuật có hàm có lệnh gọi lại hàm phân loại đệ quy: dựa vào tiêu chí có kiểu( trực tiêp, gián tiếp) kiểu đệ quy( tuyến tính, phi tuyến, nhị phân, hỗ tương ) Cơ chế thực giải thuật đệ quy:Đưa tốn lớn tốn nhỏ để tính lấy kết tính ngược trở lại Phương pháp sử dụng kỹ thuật đệ quy tốn  Thơng số hóa tốn  Phát trương hợp suy biến  Phân tích tốn theo phương thức đệ quy Ưu nhược điểm Ưu điểm : làm chương trình,mã nguồn trở lên ngắn gọn Nhược điểm: Tốn nhớ, nhiều thời gian giảm tốc đô xử lý,  Khử đệ quy Tổng quan vấn đề giải thuật đệ quy Các trường hợp khử đệ quy đơn giản  Trường hợp khử đệ quy vòng lặp  Khử đệ quy hàm đệ quy arsac  Khử đệ quy số dạng thủ tục đệ quy thường gặp  III.10.2 Nhận xét 21 Về đề tài: đề tài quen thuộc gần gũi, nhiều người biết đến sử dụng nhiều  Ưu điểm o Bài trình bày tương đối khoa học, nêu bật vấn đề o Nội dung đầy đủ, bản, xác  Nhược điểm: o Hơi q ơm đồm trình bày đệ quy khử đệ quy oCơ chế thực giải thuật đệ quy chưa phân tích sâu  Bổ sung o Nên trinh bày hai vân đề đệ quy khử đệ quy o Trong phần chế thực giải thuật đệ quy bổ sung: • Cớ cấu ngăn xếp cho lần gọi hàm : Khi hàm gọi hàm khác, tất trạng thái hàm gọi có cần khơi phục sau hàm gọi kết thúc Trạng thái gồm có:điểm quay về, giá trị ghi, trị biến cục tham trị Như mơi hàm cần có vùng nhớ dành riêng cho Vùng nhớ tồn suốt thời gian hàm thực kết thúc công việc Nhiệm vụ máy tính đưa vung nhớ tạm vào danh sách có cung • Cách lưu giá trị hàm nhớ, ghi o Các cách thực hiên đệ quy • Thực đa xử lý: thực đồng thời • Thực đơn xử lý: o Nên đưa trường hợp để phân tích nên hay khơng nên sử dụng đệ quy o So sánh đệ quy không đệ quy  III.11 Bài báo cáo: Kỹ thuật xếp lập trình NTH: Ngơ Thế Quyền-Ngun Việt Phú-Ngun Trung Thành III.11.1 Tóm tắt  Đặt Bài Tốn Sắp xếp q trình bố trí lại vị trí phần tử tập đối tượng theo thứ tự nhât định Bài toán xếp xuất nhiều lĩnh vực Tập đối tượng cần xếp có nhiều dạng khác nhau=> Có nhiều thuật tốn xếp khác  Các Thuật Toán Sắp Xếp:Nêu ý tưởng, cài đặt độ phức tạp TT o Sắp xếp chọn(sellectionsort):chọn phẩn tử thỏa yêu cầu đưa lên vị trí đầu o Sắp xếp bọt (Bubblesort):duyệt từ cuối lên đầu, gặp hai khóa kế cận bị ngược thứ tự đổi chỗ o Sắp xếpChèn:từng phần tử so sánh với PT dãy, vào dãy o Thuật toán SHELLSORT:chia nhỏ dãy xếp ghép lại= dãy săp xếp o Thuật toán xếp kiểu phân đoạn ( QUICKSORT): phương pháp xếp tơt nhất, dựa vào việc chọn khóa để xếp dãy theo khóa chốt o Vài cải tiến QuickSort o Thuật tốn kiểu vun đóng (HEAPERT) 22  Tính ổn định thuật tốn xếp: bảo toàn thứ tự ban đầu ghi mang khóa danh sách Nói chung thuật tốn ko đảm bảo tính ổn định biến đổi để trở thành ổn định  Đánh giá thuật tốn: thuật tốn có ưu,nhược khác nhau, no ưu điểm chung nhanh III.11.2 Nhận xét Về đề tài: đề tài gần  gũi Ưu điểm: o Từ trước, thuật toán xếp người lập trình biết rời rạc, vi thấy báo cáo viết chi tiết, có tính tổng qt khái qt cao o Trình bày báo cáo rõ ràng mạch lạc, có tính khoa học cao  Nhược điểm  Bổ sung Nói chung, báo cáo khơng cần bơ sung gi nhiều o Có thể bổ sung toán xếp: toán săp xếp chia làm hai loại • Sắp xếp trong: săp xếp phần tử có nhớ • Sắp xếp ngoài: săp xếp phần tử lưu thiết bị lưu trữ o Thao tác thuật toán xếp so sánh đổi chỗ  III.12 Bài báo cáo: Bài toán liệt kê NTH: Nguyên Mạnh Cường –Lê Thu trang-Bùi Khánh Linh III.12.1 Tóm tắt Trong thực tế, có số tốn muốn biết có đối tượng tìm đối tượng thỏa mãn điều kiện -> đếm cấu hình tổ hợp,bài tốn liệt kê tổ hợp Phương pháp liệt kê phương kế cuối để giải toán tổ hợp  Nhắc lại số kiến thức tổ hợp  Phương pháp sinh: áp dụng để giải tốn liệt kê tổ hợp nếu: • Có thể xác định thứ tự tập cấu hình tổ hợp cần liệt kê • Xây dựng thuật tốn từ cấu hình chưa phải cấu hình cuối, Liệt kê theo thứ tự từ điển:áp dụng liệt kê tập k phần tử số bt #  Thuật toán quay lui: dùng để giải toán liệt kê cấu hình;là Phương pháp giải vấn đề thử sửa Áp dụng cho toán hoán vị.v.v  Kỹ thuật nhánh cận:là kỹ thuật giúp tận dụng thơng tin tìm để loại bỏ sớm phương án chắn tối ưu->kết nhanh III.12.2 Nhận xét Về đề tài: đề tài nghe đến nhiều, nói chung sinh viên người biết đến cách đủ  Ưu điểm:  23 o Trình bày sáng sủa, rõ ràng mạch lạc, bật vấn đề->dễ nắm bắt thông tin o Nội dung báo cáo đầy đủ, phân tích tốt ví dụ làm bật phương pháp  Nhược điểm o Chỉ để ý nhiều vào việc phân tích tốn áp dụng , khơng nói nhiều kỹ tht  Bổ sung Nên miêu tả kỹ thuật kỹ hơn, đưa thêm độ phức tạp kỹ thuật,một vài đánh giá nhận xét kỹ thuật • Để diễn tả giải thuật quay lui, ta sử dụng cấu trúc ghi lựa chọn thực hiện,gọi không gian trạng thái • Nếu nút khơng gian trạng thái có trung binh a nút độ phức tạp giải thuật quay lui an III.13 Bài báo cáo: Sử dụng thư viện đồ họa NTH: NguyênTrung Lâm–Kiều Văn Dương-Nguyễn Xuân Thắng III.13.1 Tóm tắt  Đồ thị bản:Một tệp ảnh tập hợp nhiều pixel hay điểm màu sắc định Mọi hình ảnh có dạng hình chữ nhật có cạnh dài ngắn định, tạo matrix pixels  Image – formate:có dịnh dạng hình ảnh thường dung gif , jpeg , png Dùng hàm imagecreate (int x_size,int y_size) tạo ảnh có kích thươc x y  Sử dụng ảnh có:tạo ảnh trống lấy ảnh từ đĩa qua hàm sau:  Ressource imagecreatefromjpeg (string filename)// ảnh dạng jpeg  Ressource imagecreatefrompng (string filename)// ảnh dạng png  Truy tim kích thước tệp ảnh: việc sử dụng hàm sau cho ta thơng tin kích thước ảnh: getimagesize ( ) imagesx( ) imagey( )  Copy bóp ảnh  Để phối màu cho ảnh ta có thể: Pha màu, Hồ màu, Thay đổi màu, Tô màu Làm màu vô sắc  Tạo hình  Đường thẳng: imageline(resounrce image,int x1,int y1,int x2,int y2,int col)  Hình chữ nhật: dùng hàm làm ảnh có hình chữ nhật imagerectangle(resource image,int x1,int y1,int x2,int y2,int col)  Hình góc:hàm imagepoligon(resource image, array points,int num_points  Tạo hình võng:hàm image(int cx,int cy,iny w,int h,int s,int e,int col) III.13.2 Nhận xét Về đề tài: đề tài không rõ ràng cụ thể, không hiểu sử dụng thư viện đồ họa cho gì, thuộc lĩnh vực  Ưu điểm Đề cập tác vụ với ảnh hàm cần dùng  Nhược điểm  24 o Trình bày thiếu khoa học, phân chia ý không rõ ràng, tiếng anh xen tiếng việc không cần thiết, gây phản cảm o Không nêu ứng dụng việc sử dụng thư viên đô họa  Bổ sung o Nhìn từ mục lục ta chỉnh sưa sau: Đồ họa (thay graphics) Định dạng hình ảnh (thay Image-formate.) Sử dụng ảnh có Truy tim kích thước tệp ảnh Copy chỉnh sửa ảnh (thay Copy bóp ảnh.) Tơ màu  pha màu  Hồ màu  Thay đổi màu  Làm màu vô sắc Tạo hình  Đường thẳng  Hình chữ nhật  Hình góc  Tạo hình võng Vẽ chữ o Nêu lên ứng dụng việc sử dụng thư viên đô họa: thiết kế web, lĩnh vực liên quan đến ảnh: III.14 Bài báo cáo: Các phương pháp lập trình NTH: Phạm Hồng Hạnh-Đỗ Thị Thu Hiền-Nguyễn Thị Lâm III.14.1 Tóm tắt  Trừu tượng hóa lập trình: phương pháp giúp người lập trình biết cách tập trung vào vấn đề.Có hai kiểu trừu tượng hố q trình , trừu tượng hóa liệu  Lập trình logic:  Ngơn ngữ Prolog: ngơn ngữ cấp cao, ngơn ngữ miêu tả khơng có tính thủ tục  Cú pháp Prolog( phần): Vị từ ; mệnh đề ; vị từ nhát cắt fail;khai báo kiểu liệu người dùng định nghĩa(bằng từ khóa domains); danh sách(gồm hai phần:đầu đuôi);cấu trúc tổng quát chương trình prolog ; đặc điểm bản( so trùng đệ quy)  Lập trình hàm:NNLT hàm thiết kế dựa hàm toán học Hàm toán học: khái niệm ngôn ngữ hàm Bản chất ngơn ngữ lập trình hàm:mơ hàm tốn học nhiều cóthể  Lập trình thủ tục(LTTT):là kiểu lâp trình mà thủ tục viết để khởi động tiến trình luồng gọi thực thủ tục Lập trình cấu truc: tập LTTT, có cấu trúc: trình tự, định, vòng lặp 25  Lập trình hướng đối tượng(OOP): phương pháp lập trình lấy hướng đối tượng làm tảng để xây dựng thuật giải chương trình Các đặc trưng bản: Sự đóng gói/che dấu thơng tin, tính kế thừa, tính đa hình Các nguyên lý OOP: open- close, nghich đảo phụ thuộc,.thay Lisko v.v III.14.2 Nhận xét Về đề tài:là đề tài đồ sồ, đề cập đến nhiều phương pháp lập trình nên vừa lại vừa gần gũi hấp dẫn  Ưu điểm o Là báo đầy đủ, chi tiết, nội dung lớn,và đề cập toàn diện vấn đề phương pháp lập trình o Trình bày tốt, rõ ràng mạch lạc, chuẩn xác  Nhược điểm o Vì đề tài đồ sồ, nên thiếu phần mục lục vấn đề đáng quan tâm, gây khó khăn việc nhìn tổng qt báo cáo gồm nội dung  Bổ sung o Cần bổ sung phần mục lục vào báo cáo o Nên có so sánh giưa phương pháp lập trình o Bổ sung thêm ứng dụng cho phương pháp lập trình  III.15 Bài báo cáo: Lập trình hướng đối tượng NTH: Nguyễn Văn Nhân- Phạm Thị Mai Hoa-Nguyên Đức Sơn III.15.1 Tóm tắt Đặt vấn đề: Lập trình tuyến tính có nhiều hạn chế: Khơng sử dụng lại đoạn mã Khơng có khả kiểm soát phạm vi truy xuất liệu; Mọi liệu toàn cục dễ bị ảnh hưởng=> Lập trinh hướng đối tượng phương pháp khắc phục nhược điểm  Nội Dung: oLập trinh HĐT:là phương pháp thiết kế & pháy triển phần mềm dựa lớp đối tượng oĐối tượng:Thực thể phần mềm bao bọc thuộc tính phương thức oClass:là thiết kế định nghĩa thuộc tính, phương thức cho đối tượng loại Thành viên lớp t h u ộ c ba loại quyền Public, protected, private • Hàm khởi tạo: Khai báo,cấp phát nhớ cho đối tượng • Hàm hủy: Hủy bỏ đối tượng, giải phóng nhớ • Phạm vi lớp: • Lớp con:Kế thừa thuộc tính,phương thức lớp khác • Lớp cha:Lớp chia sẻ kế thừa o Thuộc tính:Biến, liệu o Phương thức: Các hàm đối tượng o Thông điêp: lời yêu cầu hoạt động  26 o Đặc trưng: • Bao đóng:tiến trinh che dấu việc thực thi chi tiết mọt đối tượng • Kế thừa:Cho phép lớp đối tượng kế thừa từ lớp đối tượng khác • Đa hình:nhiều hành động thực khác với đối tương khác oSự trừu tượng hoá : Là khả bỏ qua hay không để ý tới thành phần không quan trọng III.15.2 Nhận xét  Về đề tài:đây đề tài tương đối mẻ, dần nhiều người biết đến ,tìm hiểu học  Ưu điểm • Bài báo cao đầy đủ chi tiết, bật đươc kiến thức • Nội dung trình bày rõ ràng  Nhược điểm • Khối lương nội dung lơn khơng có mục lục để có nhìn khái qt • Trình bày só chỗ khơng đưuoc rõ ràng gây loạn cho người đọc  Bổ sung:  Khái niêm lớp sở ảo:  Khái niệm toán tử điều khiển  Hàm thành viên nội tuyến  Phương thức ảo IV: Giai đoạn kiểm chứng IV.1 Bài báo cáo: Kiểm chứng chương trình NTH: Lê Ngọc Duy Trần-Trần Văn Tài IV.1.1 Tóm tắt  Các giai đoạn sống phàn mêm: oĐặc tả toán: phân tích yêu cầu diễn đạt lại xác ngơn ngữ thích hợp oXây dựng hệ thống: thiết kế, triển khai module thử nghiệm liệu mức độ hệ thống oSử dụng bảo trì hệ thống  Đặc tả: Khi có vấn đề cần giải quyết, ta phát biểu toán văn oTác dụng đặc tả tốn • Là sở để đặt vấn đề, thơng tin giũa người đặt tốn người giải tốn • Là sở để người giải tốn triển khai giải pháp • Là sở để người giải tốn kiểm chứng tính phần mềm tạo 27 • Là phương tiện để nhiều người hiểu tính hệ thống tin học mà không cần vào chi tiết hệ thống oĐặc tả chương trình: gồm liệu nhập điều kiện ràng buộc liệu nhập  Ngơn ngữ lập trình:Để kiểm chứng tính đoạn chương trình cần trình bày đoạn chương trình dạng NNLT dạng cốt lõi  Kiểm chứng có tính đúng: qua hệ luật Hoare, đoạn chương trình khơng có vòng lặp, có vong lặp  Kiểm chứng có tính đầy đủ  Lược đồ kiểm chứng hợp lý điều kiện càn kiểm chứng III.16.2 Nhận xét  Về đề tài: đề tài vẻ, biết đến dần nhiều người tìm hiểu  Ưu điểm: o Nội dung nêu đủ, tồn diện xác  Nhược điểm o Trình bày khơng tốt, đề mục khơng làm bật, gây khó đọc nắm bắt nội dung o Nội dung trừu tượng, khó tiếp cận IV.2 Bài báo cáo: Kiểm chứng chương trình NTH: Nguyễn Anh Tuấn- Dương Đức Thiện-Đỗ Đác Xuất IV.21 Tóm tắt: Nội dung giống với nhóm nên tơi khơng tóm tắt lại IV.2.2 Nhận xét  Về đề tài: đề tài vẻ  Ưu điểm: oNội dung nêu đủ, tồn diện xác oTrình bày tốt, làm bật vấn đề, giúp người đọc nắm bắt nội dung  Nhược điểm o Nội dung trừu tượng, khó tiếp cận V: Ứng dụng V.1 Bài báo cáo: Lập trình điều khiển máy CNC NTH: Phạm Thanh Hòa V.1.1 Tóm tắt  Khái niệm ngơn ngữ lập trình máy CNC Chương trình CNC tập dẫn cần thiết cho q trình gia cơng chi tiết khí máy cơng cụ điều khiển CNC NC cách tự động Ngơn ngữ lập trình NC chia làm cấp: thấp cao 28  Cách điều khiển máy CNC tiện ích máy oĐiều khiển số trực tiếp CNC: từ bên máy thực chức lập trình oĐiều khiển số máy tính: oĐiều khiển số máy tính CNC Cấu truc hệ thông gồm thành phần : chương trình gia cơng, thiết bị đọc, hệ điều khiển máy,hệ truyền chuyển động, hệ phản động máy công cụ oKhả CNC:CNC có nhiêu chức xử lý điều khiển linh hoạt oPhương thức lập trình CNC: trực tiếp tự động  Kỹ thuật lập trình: Chương trình CNC bao gồm chuỗi thị chuyển dao, đóng ngắt ngắt phụ chợ cần thiết đẻ điều khiển máy gia cơng Chương trình CNC:gồm đầu, than kết thúc chương trình  Bài tốn minh họa hình ảnh loại máy cơng cụ sản phẩm V.1.2 Nhận xét  Về đề tài: đề tài vẻ  Ưu điểm Nội dung nêu đủ, tồn diện xác V.2 Bài báo cáo: Quan máy học NTH: Lê Văn Hùng- Lê Viết Hùng-Đặng Trần Long V.2.1 Tóm tắt  Thế máy học o Định nghĩa:là lĩnh vực trí tuệ nhân tạo, liên quan đén việc cho phép máy học oỨng dụng:trong ngành KH-SX,đặc biệt nghành phân tích khối luong liệu khổng lồ: xử lý ngơn ngữ tự nhiên, nhận dạng, chuẩn đoán y học.v.v.v oTương tác với người:tùy thuộc vào mục đích mà khả tương tác khác oCác giải thuật:học có giám sát, học không giám sát, học nửa giám sát, học tăng cường, chuyển đổi, học cách học oCác chủ đề máy học:hai chủ đè chính:mơ hinh hóa hàm mật dộ xác suất điều kiện hồi quy mơ hinh hóa hàm mật dộ xác suất qua mơ hình phát sinh  Học cách xây dựng định danh o Đâm chồi: trình qua lầm phân hoạch, phn hoạch ngày rộng o Phương án chọn thuộc tính phân hoạch: hai phương án • Quinlan:quyết định thuộc tính phân hoạch bắng xây dựng vecto đặc trưng • Độ đo hỗn loạn: o Phát sinh tập luật:ứng lá, ta từ đỉnh nút phát sinh luật TƯ o Tối ưu tập luật • Loại bỏ mệnh đề thừa • Xây dựng mệnh đề mặc định V.2.2 Nhận xét 29  Về đề tài:đây đề tài tương đối mẻ, hấp dẫn  Ưu điểm • Bài báo cáo đầy đủ chi tiết, bật đươc kiến thức bản, nội dung trình bày rõ ràng • Trình bày rõ ràng mạch lạc  Nhược điểm  Bổ sung: o Trong chủ đề máy học Cần bổ sung thêm:Mơ hình tối ưu hóa: hầu hết phương pháp sử dụng tối ưu hóa thể thuật tốn tối ưu hóa oMột số phần mềm hỗ trợ: • SPIDER - hộp cơng cụ học máy hồn chỉnh cho Matlab • Orange, chương trình học máy với script viết Python giao diện lập trình đồ họa • YALE cơng cụ mạnh miễn phí cho Học máy Khai phá liệu • Matlab V.3 Bài báo cáo: Ứng dụng ngắt lập trình nhúng NTH: Nguyễn Trọng Ngọc- Nguyễn Phi Long-Lê Đức Long V.3.1 Tóm tắt  Nhu cầu thực tế hệ thống nhúng đời sống  Hệ thống nhúng gì:một thuật ngữ để hệ thống có khả tự trị nhúng vào môi trường hay hệ thống mẹ  Sự cần thiết ngắt lập trình nhúng: q trình hoạt động xảy rắc rối điều chỉnh tuần tự, CPU chậm ,tốn -> LT nhúng  Mô tả kỹ thuật thuật toán ngắt  Ngắt Dos  Thuật toán  Phân tích thuật tốn  Ngắt vi điều khiển PIC16F887 Microchip  Một vài ứng dụng thực tế  Ngắt giúp tiết kiệm đáng kể CPU  Ngắt nút bấm  Đánh giá ưu nhược điểm phương hướng phát triển  Ưu điểm ngắt:tíết kiệm CPU, nâng cao hiệu suấtvà giảm nhiệt độ chíp> kéo dài tuổi thọ  Nhược điểm ngắt:chương trình ngắt phức tạp hạn chế ngắt chíp  Phương hướng phát triển • Tiếp tục thực ngắt với timer1, timer2 • Ngắt thiết bị ngoại vi • Tạo ngắt với nút bấm V.3.2 Nhận xét 30  Về đề tài:đây đề tài mẻ, hấp dẫn  Ưu điểm • Bài báo cáo đầy đủ chi tiết, bật đươc kiến thức bản, nội dung trình bày rõ ràng • Trình bày rõ ràng mạch lạc, hình ảnh minh họa cụ thể 31

Ngày đăng: 19/12/2017, 22:35

w