









Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
First Assignment of programming cource
Typology: Exams
1 / 16
This page cannot be seen from the preview
Don't miss anything!










HỌ VÀ TÊN / MÃ SINH VIÊN Nguyễn Hải Bằng/B TÊN MÔN HỌC PROGRAMMNG NĂM HỌC^2022 ĐỀ TÀI SỐ^1 TÊN ĐỀ TÀI
GIẢNG VIÊN HƯỚNG DẪN Nguyễn Văn Luận SỐ TỪ^4640 Định dạng: Bài nộp dưới dạng một báo cáo bằng văn bản cá nhân. Điều này nên được viết theo phong cách kinh doanh trang trọng, súc tích sử dụng khoảng cách đơn và cỡ chữ 12. Bạn được yêu cầu sử dụng các tiêu đề, đoạn văn và tiểu mục khi thích hợp, và tất cả công việc phải được hỗ trợ nghiên cứu và tham khảo bằng cách sử dụng hệ thống tham chiếu Harvard. Vui lòng cung cấp danh mục tài liệu tham khảo bằng cách sử dụng hệ thống tham khảo của Harvard. Giới hạn từ được khuyến nghị là 2.000–2.500 từ, mặc dù bạn sẽ không bị phạt nếu vượt quá tổng giới hạn từ. Đơn vị học tập yêu cầu: LO1: Xác định các thuật toán cơ bản để thực hiện một hoạt động và phác thảo quy trình lập trình một ứng dụng LO2: Giải thích các đặc điểm của lập trình theo thủ tục, hướng đối tượng và hướng sự kiện, tiến hành phân tích Môi trường phát triển tích hợp (IDE) phù hợp Tóm tắt và hướng dẫn: Bạn hiện đang làm việc cho một công ty phát triển phần mềm sản xuất phần mềm nhỏ. Vì bạn là một phần
của nhóm nghiên cứu và phát triển, vai trò của bạn bao gồm việc điều tra các quy trình mới có thể mang lại lợi ích cho công ty. Một lĩnh vực nghiên cứu mà bạn đã được giao nhiệm vụ là việc sử dụng các thuật toán và cách chúng có thể được sử dụng để xây dựng phần mềm hiệu quả hơn. Điều này sẽ có tác động đến phần mềm được phát triển vì phần mềm hiệu quả có thể dẫn đến việc chạy nhanh hơn hoặc tiêu thụ ít tài nguyên hơn. Bạn sẽ cần giải thích thuật toán là gì, với các ví dụ về việc sử dụng chúng, so sánh hiệu quả của chúng và nó sẽ liên quan như thế nào đến quá trình phát triển ứng dụng, cho đến việc triển khai bằng một ngôn ngữ phù hợp. Nhóm nghiên cứu và phát triển mà bạn làm việc được giao nhiệm vụ điều tra thêm về cách tốt nhất để xây dựng phần mềm an toàn và hiệu quả hơn. Bạn đã được yêu cầu xem xét các mô hình lập trình và những lợi thế và bất lợi của việc sử dụng các phương pháp tiếp cận ngôn ngữ lập trình khác nhau. Bạn sẽ cần tạo một báo cáo bao gồm các phát hiện từ nghiên cứu về đặc điểm của các mô hình lập trình khác nhau - lập trình theo thủ tục, hướng đối tượng và theo hướng sự kiện. Báo cáo của bạn nên bao gồm giải thích về từng mô hình, phân tích các IDE phù hợp và đánh giá mã nguồn sẽ được tạo cho một ứng dụng. HƯỚNG DẪN NỘI DUNG THỰC HIỆN NỘI DUNG 1 :
Thuật toán xác định một tập hợp các hướng dẫn từng bước để máy tính giải quyết một vấn đề thông qua một đầu ra bắt buộc từ một đầu vào nhất định. Một thuật toán là một tập hợp hữu hạn các lệnh được thực hiện theo một thứ tự cụ thể để thực hiện một tác vụ cụ thể. Nó không phải là toàn bộ chương trình hoặc mã; nó là logic đơn giản đối với một vấn đề được biểu diễn dưới dạng mô tả không chính thức dưới dạng lưu đồ hoặc mã giả. Vấn đề: Một vấn đề có thể được định nghĩa là một vấn đề trong thế giới thực hoặc một vấn đề phiên bản trong thế giới thực mà bạn cần phát triển một chương trình hoặc tập hợp các hướng dẫn. Thuật toán là một tập hợp các hướng dẫn. Thuật toán: Một thuật toán được định nghĩa là một quá trình từng bước sẽ được thiết kế cho một vấn đề. Đầu vào(Input): Sau khi thiết kế một thuật toán, thuật toán được đưa ra các đầu vào cần thiết và mong muốn. Bộ phận xử lý: Đầu vào sẽ được chuyển đến bộ phận xử lý, tạo ra đầu ra mong muốn. Đầu ra(Output): Kết quả hoặc kết quả của chương trình được gọi là đầu ra. Sau khi xác định thuật toán là gì, bây giờ bạn sẽ xem xét các đặc điểm của thuật toán.
Ví dụ về cách viết thuật toán: Tạo một thuật toán nhân hai số và hiển thị kết quả. Bước 1 - Bắt đầu Bước 2 - Khai báo ba số nguyên x, y và z Bước 3 - Xác định các giá trị của x và y Bước 4 - Nhân các giá trị của x và y Bước 5 - Lưu trữ kết quả của bước 4 đến z Bước 6 - In z Bước 7 - Dừng lại
Sơ đồ các đặc điểm trong một thuật toán Đầu vào(Input): Một thuật toán yêu cầu một số giá trị đầu vào. Một thuật toán có thể được cung cấp một giá trị khác 0 làm đầu vào. Đầu ra(Ouput: Khi kết thúc một thuật toán, bạn sẽ có một hoặc nhiều kết quả. Tính rõ ràng(Unambiguity): Một thuật toán hoàn hảo được định nghĩa là không rõ ràng, có nghĩa là các hướng dẫn của nó phải rõ ràng và dễ hiểu. Tính hữu hạn(Finiteness): Một thuật toán phải là hữu hạn. Tính hữu hạn trong ngữ cảnh này có nghĩa là thuật toán phải có một số lượng giới hạn các lệnh, tức là các lệnh
tính khác nhau có các ngôn ngữ máy khác nhau và trình biên dịch C dịch C sang một ngôn ngữ máy cụ thể. Trình biên dịch C cũng kết hợp mã từ các thư viện C vào chương trình cuối cùng; các thư viện chứa một quỹ các quy trình tiêu chuẩn, chẳng hạn như printf () và scanf (), để sử dụng. Kết quả cuối cùng là một tệp thực thi có chứa mã mà máy tính hiểu và có thể chạy. Trình biên dịch cũng kiểm tra xem chương trình có hợp lệ không. Nếu trình biên dịch tìm thấy lỗi, trình biên dịch sẽ báo cáo chúng cho lập trình viên và không tạo ra tệp thực thi.
Viết mã Viết mã là quá trình tạo ra các hướng dẫn được viết bằng một số ngôn ngữ phổ biến, chẳng hạn như C #, Ruby, Java, v.v. để làm cho máy tính thực thi những việc cần làm và cách thực hiện. Mỗi câu lệnh của các ngôn ngữ lập trình khác nhau, được sử dụng cho các chức năng tương phản, đáng giá nhất là tương tự với một số ngôn ngữ lập trình, thay vì chỉ một câu lệnh. Một số ngôn ngữ có vai trò quan trọng trong việc hỗ trợ và kết nối với ngôn ngữ khác. Ví dụ: nếu bạn đang học phát triển web và tạo web, có thể bạn đang học một số ngôn ngữ như HTML, CSS, cũng như các thư viện và khuôn khổ liên quan như jQuery hoặc Angular. Translator (Trình biên dịch) Nó được biết đến như một chương trình dịch mã máy tính hoặc mã người có thể đọc được gọi là ngôn ngữ lập trình cấp cao (như Python, C ++) thành mã cấp thấp (như mã đối tượng, Assembly) liên tục thực thi bằng cách máy tính hoặc máy ảo.
Lập trình hướng đối tượng (OOP) được định nghĩa là một mô hình lập trình (chứ không phải một ngôn ngữ cụ thể) được xây dựng dựa trên khái niệm về các đối tượng, tức là một tập hợp dữ liệu chứa trong các trường và mã, chỉ ra các thủ tục - thay vì dựa trên logic thông thường hệ thống. Phương pháp lập trình hướng đối tượng (OOP) xác định các lớp đối tượng có liên quan chặt chẽ đến các phương thức mà chúng được liên kết. Nó cũng bao gồm các khái niệm về kế thừa thuộc tính và phương thức. Viện Công nghệ Massachusetts là cơ sở đầu tiên sử dụng thuật ngữ đề cập đến “đối tượng” theo nghĩa mà chúng ta sử dụng lập trình hướng đối tượng ngày nay, vào cuối những năm 1950 và đầu những năm 1960. Nó là một phương pháp để lưu trữ dữ liệu và các hoạt động cần thiết để xử lý dữ liệu đó dựa trên trường toán học được gọi là các kiểu dữ liệu trừu tượng. Lập trình có thể tiến đến một cấp độ trừu tượng hơn nhờ OOP.
Lập trình hướng sự kiện là một mô hình lập trình trong đó việc thực thi chương trình được xác định bởi các sự kiện người dùng mới (nhấp chuột, nhấn phím), kết quả đầu ra của cảm biến hoặc thông báo truyền từ các chương trình khác. Các lập trình viên sử dụng lập trình theo hướng sự kiện trong giao diện người dùng đồ họa và các ứng dụng khác tập trung vào việc thực hiện các hành động của người dùng để phản hồi lại đầu vào của người dùng (nhấp chuột của người dùng). Lập trình hướng sự kiện cũng có thể được đinh nghĩa như một cách xây dựng chương trình máy tính, trong đó, trong chức năng thiết yếu của chương trình, vòng lặp sự kiện chính của ứng dụng được đánh dấu rõ ràng trong mã, phần nội dung bao gồm hai phần : tìm nạp sự kiện và xử lý sự kiện. Trong một ứng dụng hướng sự kiện, vòng lặp chính sẽ lắng nghe các sự kiện và kích hoạt một hàm gọi lại khi một trong những sự kiện đó được phát hiện.
Để thực thi một chương trình, EDP cho phép ghi lại các trường hợp đơn lẻ của các sự kiện như nhấp chuột hoặc nhấn phím. Ngược lại với lập trình hướng thủ tục, cần một mã hoàn chỉnh để được thực thi, OOP cho phép thực thi các lớp riêng biệt. Điều này cho phép phát hiện và gỡ lỗi đơn giản hơn, cũng như tăng năng suất phát triển phần mềm. Mặc dù cả ba kiểu lập trình này không liên kết chặt chẽ với nhau, nhưng chúng ta thường thấy chúng được lồng vào nhau. Mô hình lập trình theo hướng sự kiện Mô hình lập trình hướng thủ tục Mô hình lập trình hướng đối tượng Cung cấp giao diện người dùng để tạo các chương trình. Cung cấp giao diện chữ để viết các lệnh. Cung cấp khả năng viết lệnh trong các module.
Môi trường phát triển tích hợp (IDE) là các ứng dụng tạo điều kiện thuận lợi cho sự phát triển của các ứng dụng khác. Được thiết kế để bao gồm tất cả các nhiệm vụ lập trình trong một ứng dụng, một trong những lợi ích chính của IDE là chúng cung cấp giao diện trung tâm với tất cả các công cụ mà nhà phát triển cần.
Một số chức năng phổ biến của Visual Studio Code :
https://flylib.com/books/en/4.330.1.19/1/ https://www.pluralsight.com/blog/career/how-to-get-started-writing-code https://www.makeuseof.com/tag/what-is-coding/ https://www.geeksforgeeks.org/difference-between-compiler-and-interpreter/ https://www.microcontrollertips.com/compilers-translators-interpreters-assemblers-faq/ https://cs.lmu.edu/~ray/notes/ir/ https://chortle.ccsu.edu/Java5/Notes/chap04/ch04_11.html ND https://hackr.io/blog/procedural-programming https://www.knowledgeboat.com/question/what-are-the-characteristics-of-procedural- programming-- https://www.spiceworks.com/tech/devops/articles/object-oriented-programming/ https://www.careerride.com/oops-characteristics.aspx https://studybay.com/blog/event-driven-development-features/ https://ivypanda.com/essays/object-oriented-event-driven-and-procedural-programming/ https://www.chegg.com/homework-help/describe-differences-event-driven-procedural- object-oriented-chapter-12-problem-4loc-solution-9781285663425-exc ND https://www.veracode.com/security/integrated-development-environment https://www.codecademy.com/article/what-is-an-ide https://vietnix.vn/visual-studio-code-la-gi/