Assignment 1 Programming, Exams of C programming

First Assignment of programming cource

Typology: Exams

2021/2022

Uploaded on 11/23/2023

nguyen-hai-bang
nguyen-hai-bang 🇻🇳

1 document

1 / 16

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Assignment Brief – BTEC (RQF)
Higher National Diploma in
Computing
HỌ VÀ TÊN / MÃ SINH VIÊN
Nguyễn Hải Bằng/B9213
TÊN MÔN HỌC
PROGRAMMNG
NĂM HỌC
2022
ĐỀ TÀI SỐ
1
TÊN ĐỀ TÀI
INFORMATION AND
NGÀY NỘP
31/10/2022
NGÀY NHẬN ĐỀ TÀI
17/10/2022
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
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Partial preview of the text

Download Assignment 1 Programming and more Exams C programming in PDF only on Docsity!

Assignment Brief – BTEC (RQF)

Higher National Diploma in Computing

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

INFORMATION AND

NGÀY NỘP 31/10/
NGÀY NHẬN ĐỀ TÀI 17/10/

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 :

  • Định nghĩa thuật toán, đặc điểm của thuật toán kèm theo giải thích và ví dụ
  • Xác định các tiêu chí để đo lường một thuật toán tốt. Giải thích cách đo nó với ví dụ
  • Giải thích 7 bước xây dựng một ứng dụng - Xác định các bước được thực hiện từ viết mã đến thực thi
  • Đánh giá mối quan hệ giữa thuật toán đã viết và mã code NỘI DUNG 2 :
  • Giới thiệu / giải thích các mô hình thủ tục, hướng đối tượng và hướng sự kiện là gì; đặc điểm của chúng.
  • Đánh giá mã nguồn của một ứng dụng triển khai các mô hình lập trình, về cấu trúc và đặc điểm của mã. NỘI DUNG 3 :
  • Phân tích các tính năng phổ biến mà nhà phát triển có quyền truy cập trong IDE (VSCODE).

1. ND

Thuật toán là gì

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

Đặc điểm của một thuật toán

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

  • Bước 1: Xác định mục tiêu của ứng dụng Lập trình viên nên bắt đầu với một ý tưởng rõ ràng về những gì người dùng muốn. Suy nghĩ về thông tin mà chương trình cần thiết, những kỳ công trong tính toán và thao tác mà chương trình cần thực hiện và thông tin mà chương trình phải báo cáo lại. Ở cấp độ lập kế hoạch này, lập trình viên nên suy nghĩ về các thuật ngữ chung, không phải về một số ngôn ngữ máy tính cụ thể.
  • Bước 2: Thiết kế chương trình Sau khi có được một bức tranh khái niệm về những gì chương trình phải làm, lập trình viên nên quyết định chương trình sẽ diễn ra như thế nào. Giao diện người dùng phải như thế nào? Chương trình nên được tổ chức như thế nào? Người dùng mục tiêu sẽ là ai? Lập trình viên có bao nhiêu thời gian để hoàn thành chương trình? Lập trình viên cũng cần phải quyết định cách thể hiện dữ liệu trong chương trình và, có thể, trong các tệp phụ trợ và sử dụng phương pháp nào để xử lý dữ liệu. Chọn một cách tốt để biểu diễn thông tin thường có thể làm cho việc thiết kế chương trình và xử lý dữ liệu dễ dàng hơn.
  • Bước 3: Viết code Lập trình viên đã có một thiết kế rõ ràng cho chương trình của mình và có thể bắt đầu triển khai nó bằng cách viết mã. Lập trình viên dịch chương trình của mình sang ngôn ngữ C. Đây là nơi lập trình viên thực sự phải trang bị kiến thức về C để làm việc. Lập trình viên có thể phác thảo ý tưởng của mình trên giấy và cuối cùng phải nhập code vào máy tính.
  • Bước 4: Biên dịch Trình biên dịch là một chương trình có công việc là chuyển đổi mã nguồn thành mã thực thi. Mã thực thi là mã bằng ngôn ngữ gốc hoặc máy tính của máy tính của lập trình viên. Các máy

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 ()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.

  • Bước 5: Chạy chương trình Theo truyền thống, tệp thực thi là một chương trình có thể chạy được. Để chạy chương trình trong nhiều môi trường phổ biến, bao gồm UNIX và MS-DOS, chỉ cần nhập tên của tệp thực thi. Các môi trường khác, chẳng hạn như VMS trên VAX, có thể yêu cầu lệnh chạy hoặc một số cơ chế khác. Môi trường phát triển tích hợp (IDE), chẳng hạn như những môi trường được cung cấp cho môi trường Windows và Macintosh, cho phép bạn chỉnh sửa và thực thi chương trình C của mình từ bên trong IDE bằng cách chọn các lựa chọn từ menu hoặc bằng cách nhấn các phím đặc biệt.
  • Bước 6: Kiểm tra và gỡ lỗi chương trình Việc chương trình chạy là một dấu hiệu tốt, nhưng có thể nó chạy không chính xác. Do đó, lập trình viên nên kiểm tra xem chương trình có thực hiện những gì nó phải làm hay không. Lập trình viên sẽ thấy rằng một số chương trình của mình có bug. Gỡ lỗi là tìm và sửa lỗi chương trình.
  • Bước 7: Duy trì và sửa đổi chương trình Khi lập trình viên tạo một chương trình cho chính mình hoặc cho người khác, chương trình đó có thể được sử dụng rộng rãi. Nếu có, lập trình viên có thể sẽ tìm thấy lý do để thực hiện các thay đổi trong đó. Có lẽ có một lỗi nhỏ chỉ xuất hiện khi ai đó nhập tên bắt đầu bằng Zz hoặc lập trình viên có thể nghĩ ra cách tốt hơn để thực hiện điều gì đó trong chương trình. Tất cả các nhiệm vụ này được đơn giản hóa rất nhiều nếu lập trình viên ghi lại chương trình một cách rõ ràng và nếu tuân theo các phương pháp thiết kế hợp lý.

Các bước thực hiện từ viết mã đến 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.

Định nghĩa

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.

Đặc điểm của lập trình hướng đối tượng

  • Đóng gói - Đóng gói là thu thập dữ liệu và giữ nó một cách an toàn và bảo mật khỏi các giao diện bên ngoài.
  • Kế thừa- Đây là quá trình mà một lớp có thể được dẫn xuất từ một lớp cơ sở với tất cả các tính năng của lớp cơ sở và một số tính năng của riêng nó. Điều này làm tăng khả năng tái sử dụng mã.
  • Tính đa hình- Đây là khả năng tồn tại ở nhiều dạng khác nhau. Ví dụ, một toán tử có thể được nạp chồng để thêm hai số nguyên và hai số thực.
  • Tính trừu tượng - Khả năng biểu diễn dữ liệu ở mức độ khái niệm mà không có bất kỳ chi tiết nào.

Lập trình hướng sự kiện

Định nghĩa

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.

Đặc điểm của lập trình hướng sự kiện

  • Định hướng dịch vụ Lập trình tập trung vào dịch vụ là một khía cạnh quan trọng của lập trình hướng sự kiện, được sử dụng để thiết kế các chương trình cho các dịch vụ và không làm chậm máy tính. Hướng dịch vụ chỉ sử dụng một phần nhỏ sức sống của điều khiển máy tính và các dịch vụ thường được thực thi trong nền của hệ điều hành.
  • Theo thời gian Code hoạt động tại một thời điểm cụ thể, có thể là một lần một giờ, một lần một tuần hoặc một lần một tháng. Điều này ngụ ý thực hiện hoạt động từ một danh sách được thiết lập trước.
  • Chức năng kích hoạt Trong mã hóa theo hướng sự kiện, các hàm kích hoạt là các hàm xác định mã nào sẽ thực thi khi một sự kiện nhất định xảy ra. Khi một sự kiện nhất định xảy ra, lập trình viên sử dụng các hàm này để chọn bộ xử lý sự kiện để sử dụng cho hàm.
  • Sự kiện Chuột, bàn phím máy tính và giao diện người dùng là những ví dụ về các sự kiện phải được kích hoạt trong phần mềm này. Điều này có nghĩa là người dùng phải tương tác với một mục trong phần mềm này, chẳng hạn như nhấp vào nút bằng chuột, chọn nút bằng bàn phím máy tính, v.v.
  • Sự đơn giản Lập trình hướng sự kiện đơn giản và dễ lập trình hơn nhiều so với các loại lập trình khác vì nó rất thẩm mỹ. Ví dụ: bạn có thể đặt một nút bằng cách chọn nó và đặt nó vào một biểu mẫu và viết mã cho việc này. Việc phát triển theo hướng sự kiện cũng giúp người dùng dễ dàng đặt một đoạn mã viết sẵn vào một ứng dụng hiện có. Nó cho phép người dùng tạm dừng mã trong khi chạy. Điều này làm cho việc mở rộng bằng cách sử dụng lập trình hướng sự kiện trở nên dễ dàng

Sự khác biệt giữa các mô hình

Để 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.

  • Class: Phần mềm có 1 class để quản lý sách và các tác vụ trên menu. Class có nhiều nhiều hàm như ( addBook để thêm mới sách, edit để sửa thông tin sách có sẵn, showInfo để hiển thị thông tin sách hiện có, sortPriceASC để sếp sách theo giá tăng dần, v.v)

3.ND

IDE là gì

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 của IDE

  • Chỉnh sửa mã nguồn Viết mã là một phần quan trọng của lập trình. Lập trình viên bắt đầu với một tệp trống, viết một vài dòng mã, và một chương trình được sinh ra. IDE hỗ trợ quá trình này với các tính năng như đánh dấu cú pháp và tự động hoàn thành.
  • Đánh dấu cú pháp Một IDE biết cú pháp ngôn ngữ của lập trình viên có thể cung cấp các dấu hiệu trực quan. Các từ khóa, những từ có ý nghĩa đặc biệt như class trong Java, được tô sáng bằng các màu khác nhau. Đánh dấu cú pháp giúp code dễ đọc hơn bằng cách làm rõ các element khác nhau của cú pháp một cách trực quan.
  • Tự động hoàn thành Khi IDE biết ngôn ngữ lập trình của bạn, IDE có thể đoán trước những gì lập trình viên sẽ nhập tiếp theo. Việt tự động hoàn thiện code chỉ bằng từ khóa giúp tiết kiệm các lần gõ phím để lập trình viên có thể tập trung vào logic trong mã của họ.
  • Xây dựng các tệp thực thi Java là một ngôn ngữ biên dịch. Trước khi chương trình chạy, mã nguồn của tệp .java phải được trình biên dịch chuyển đổi thành .class có thể thực thi. Sau khi được biên dịch, chương trình có thể được chạy từ thiết bị đầu cuối. IDE cung cấp các quy trình xây dựng tự động cho các ngôn ngữ, do đó, hành động biên dịch và thực thi mã được trừu tượng hóa.
  • Gỡ lỗi Khi một chương trình chạy không chính xác, IDE cung cấp các công cụ gỡ lỗi cho phép các lập trình viên kiểm tra các biến khác nhau và kiểm tra code của chúng một cách có chủ ý. IDE cũng cung cấp các gợi ý trong khi mã hóa để ngăn ngừa lỗi trước khi biên dịch.
  • Code trên máy tính của bạn Lợi ích lớn nhất khi sử dụng IDE là nó cho phép bạn viết code và chạy các chương trình trên máy tính của riêng lập trình viên.

Visual Studio Code

Một số chức năng phổ biến của Visual Studio Code :

  • Hỗ trợ đa ngôn ngữ lập trình: Các ngôn ngữ lập trình như CSS, C + +, C #, HTML, F#… được Visual Studio Code dễ dàng nhận diện và đưa ra cảnh báo nếu chương trình bị lỗi.
  • Hỗ trợ tính năng đa dạng trên các nền tảng:

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/