NHẬP MÔN VỀ MÁY TÍNH VÀ LẬP TRÌNH
/5214/03/13 Chương 0: Nhập môn . 1 C0: NHẬP MÔN VỀ MÁY TÍNH VÀ LẬP TRÌNH 1. Phần cứng và phần mềm 2. Các ngôn ngữ lập trình 3. Giải vấn đề và phát triển phần mềm 4.Giải thuật 5.Ôn tập /5214/03/13 Chương 0: Nhập môn . 2 1. Phần cứng và phần mềm a. Máy tính b. Phần cứng c. Phần mềm /5214/03/13 Chương 0: Nhập môn . 3 a. Máy tính Máy tính, cũng gọi là máy vi tính hay điện toán, là những thiết bị hay hệ thống dùng để tính toán hay kiểm soát các hoạt động mà có thể biểu diễn dưới dạng số hay quy luật lôgic. Khoa học nghiên cứu về lý thuyết, thiết kế và ứng dụng của máy tính được gọi là khoa học máy tính, hay khoa học điện toán. Từ "máy tính" ( computers ), đầu tiên, được dùng cho những người tính toán số học, có hoặc không có sự trợ giúp của máy móc, nhưng hiện nay nó có nghĩa là máy móc hoàn toàn. Đầu tiên máy tính chỉ giải các bài toán số học, nhưng các máy tính hiện đại làm được nhiều hơn thế. /5214/03/13 Chương 0: Nhập môn . 4 a. Máy tính (tt) Các nguyên lý cơ bản Máy tính có thể làm việc thông qua sự chuyển động của các bộ phận cơ khí, electron, photon, hạt lượng tử hay các hiện tượng vật lý khác đã biết. Mặc dù máy tính được xây dựng từ nhiều công nghệ khác nhau song gần như tất cả các máy tính hiện nay là máy tính điện tử. Trong phần lớn các máy tính ngày nay, trước hết, mọi vấn đề sẽ được chuyển thành các yếu tố toán học bằng cách diễn tả mọi thông tin liên quan thành các số theo hệ nhị phân. Sau đó, mọi tính toán trên các thông tin này được tính toán bằng đại số Bool ( Boolean algebra ). /5214/03/13 Chương 0: Nhập môn . 5 a. Máy tính (tt) Phân loại máy tính (Theo mục đích sử dụng) Siêu máy tính Siêu máy tính cỡ nhỏ Mainframe Máy chủ doanh nghiệp Máy tính mini Máy trạm ( workstation ) Máy tính cá nhân (PC) Máy tính để bàn ( Desktop ) Máy tính xách tay ( Laptop ) Máy tính bảng con Thiết bị hỗ trợ kỹ thuật số cá nhân (PDA) Máy tính tháo lắp /5214/03/13 Chương 0: Nhập môn . 6 a. Máy tính (tt) Khả năng lập trình Khả năng lập trình của máy tính ( programmability ), nghĩa là cung cấp cho nó một tập hợp các chỉ thị để thực hiện mà không có sự điều khiển vật lý đối với nó, là một đặc trưng thiết kế nền tảng của phần lớn các máy tính. Đặc trưng này là một sự mở rộng đáng kể khi các máy tính đã được phát triển đến mức nó có thể kiểm soát động luồng thực hiện của chương trình. Điều này cho phép máy tính kiểm soát được thứ tự trong sự thực thi các chỉ lệnh trong chương trình dựa trên các dữ liệu đã được tính ra. /5214/03/13 Chương 0: Nhập môn . 7 b. Phần cứng: Còn gọi là cương liệu (Anh ngữ: hardware ), là các cơ phận (vật lý) cụ thể của máy tính hay hệ thống máy tính như là màn hình, chuột, bàn phím, máy in, máy quét, vỏ máy tính, đơn vị vi xử lý CPU, bo mạch chủ, các loại dây nối, loa, ổ mềm, ổ cứng, ổ CDROM, . /5214/03/13 Chương 0: Nhập môn . 8 b. Phần cứng (tt): Các thành phần chính của máy tính cá nhân để bàn. 1: màn hình, 2: bo mạch chủ, 3: CPU, 4: chân cắm ATA, 5: RAM, 6: các thẻ cắm mở rộng chức năng cho máy, 7: nguồn điện, 8: ổ CD/DVD, 9: ổ cứng, 10: bàn phím, 11: chuột /5214/03/13 Chương 0: Nhập môn . 9 b. Phần cứng (tt): Dựa trên chức năng và cách thức hoạt động người ta còn phân biệt phần cứng ra thành: Nhập hay đầu vào ( Input ): Các bộ phận thu nhập dữ liệu hay mệnh lệnh như là bàn phím, chuột . Xuất hay đầu ra ( Output ): Các bộ phận trả lời, phát tín hiệu, hay thực thi lệnh ra bên ngoài như là màn hình, máy in, loa, . /5214/03/13 Chương 0: Nhập môn . 10 b. Phần cứng (tt): Ngoài các bộ phận nêu trên liên quan tới phần cứng của máy tính còn có các khái niệm quan trọng sau đây: Bus: chuyển dữ liệu giữa các thiết bị phần cứng. BIOS: còn gọi là hệ thống xuất nhập cơ bản nhằm khởi động, kiểm tra, và cài đặt các mệnh lệnh cơ bản cho phần cứng và giao quyền điều khiển cho hệ điều hành CPU: bộ phân vi xử lý điều khiển toàn bộ máy tính Kho lưu trữ dữ liệu: lưu giữ, cung cấp, thu nhận dữ liệu [...]... giản Hạn chế và khó khăn của sử dụng ngôn ngữ lập trình 14/03/13 Chương 0: Nhập môn 24/52 3 Giải vấn đề và phát triển phần mềm Quá trình giải vấn đề và xây dựng phần mềm lập trình có 2 hướng phát triển: Lập trình có cấu trúc Lập trình hướng đối tượng 14/03/13 Chương 0: Nhập môn 25/52 Lập trình cấu trúc Phân chia vấn đề lớn thành các vấn đề con độc lập, từ đó xây dựng thành thủ tục và hàm Đặc... mềm trò chơi, chương trình tiện ích, hay các loại phần mềm ác tính 14/03/13 Chương 0: Nhập môn 13/52 Sản phẩm phần mềm được phân loại như sau: Các phần mềm chuyển dịch mã bao gồm trình biên dịch và trình thông dịch: các loại chương trình này sẽ đọc các câu lệnh từ các mã nguồn được viết bởi các lập trình viên bằng một ngôn ngữ lập trình và dịch nó sang dạng ngôn ngữ máy mà máy tính có thể hiểu đưọc,... chương trình cho máy tính Hàng trăm ngôn ngữ lập trình khác nhau Những quy định về cú pháp (syntax) & ngữ nghĩa (semantic) Máy tính có thể hiểu được 14/03/13 Chương 0: Nhập môn 19/52 b Phân nhóm Ngôn ngữ máy - Machine languages Ngôn ngữ duy nhất của máy tính - CPU Hợp ngữ - Assembly languages Ngôn ngữ cấp cao - High-level languages 14/03/13 Chương 0: Nhập môn 20/52 Ngôn ngữ máy - Machine... Bộ môn này nghiên cứu các phương pháp tổ chức, cách thức sử dụng nguồn tài nguyên, vòng quy trình sản xuất, cùng với các mối liên hệ với thị trường, cũng như liên hệ giữa các yếu tố này với nhau 14/03/13 Chương 0: Nhập môn 17/52 2 Các ngôn ngữ lập trình a Ngôn ngữ lập trình b Phân nhóm c Học ngôn ngữ lập trình 14/03/13 Chương 0: Nhập môn 18/52 a Ngôn ngữ lập trình: Phương tiện để viết chương trình. .. máy bằng các chương trình dịch trước khi thực thi Source code & Executed code Được phân làm nhiều lớp Lập trình goto Lập trình cấu trúc – Structured Lập trình hướng đối tượng – Object Oriented Các dạng khác 14/03/13 Chương 0: Nhập môn 23/52 c Học ngôn ngữ lập trình Học ngữ pháp Quy tắc ngữ pháp Từ vựng Cấu trúc câu Ngữ nghĩa của các lệnh Các “thành ngữ” Học ngôn ngữ lập trình. .. thì không quan trọng Nền tảng của lập trình có cấu trúc: sự trừu tượng hoá chức năng (functional abstraction) Phương pháp viết chương trình chặt chẽ, rõ ràng, dễ thử nghiệm và sửa lỗi, dễ thay đổi Phương pháp viết chương trình theo kỹ thuật top – down 14/03/13 Chương 0: Nhập môn 26/52 Lập trình cấu trúc (tt) Hạn chế của lập trình cấu trúc: Khi chương trình lớn hơn, ta khó quản lý Dữ liệu... Thuật toán có vai trò quan trọng trong khoa học máy tính vì: Máy tính chỉ giải quyết được vấn đề khi đã có hướng dẫn rõ ràng và đúng Trong khoa học máy tính thuật toán được định nghĩa là một dãy hữu hạn các bước không mập mờ và có thể thực thi được, quá trình hành động theo các bước này phải dừng và cho kết quả như mong muốn 14/03/13 Chương 0: Nhập môn 32/52 Vậy thuật toán là: Thuật toán, còn... tệp khả thi và các khối lệnh đó làm thành một phần mềm Một phần mềm thông thường sẽ tương thích với một hay vài hệ điều hành, tùy theo cách thiết kế, cách viết mã nguồn và ngôn ngữ lập trình được dùng 14/03/13 Chương 0: Nhập môn 16/52 Tóm tắt quá trình tạo nên một phần mềm Sản xuất và phát triển phần mềm Việc phát triển và đưa ra thị trường của một phần mềm là đối tượng nghiên cứu của bộ môn kỹ nghệ... thay đổi tất cả các công việc và các hàm liên quan đến dữ liệu đó Không thể phân chia các phần trong chương trình sao cho không xem xét được từ những phần khác Trọng tâm của lập trình truyền thống: dựa trên các chi tiết của việc thực hiện Lối suy nghĩ của con người: các thực thể hay đối tượng, các thuộc tính và hoạt động của chúng 14/03/13 Chương 0: Nhập môn 27/52 Lập trình hướng đối tượng Phân... b)/a 14/03/13 Chương 0: Nhập môn 34/52 Bài tập: Anh (Chị) xây dựng thuật toán cho các bài toán sau: Thuật toán tìm số nhỏ nhất trong 2 số Thuật toán tìm số lớn nhất trong 3 số Tìm số X trong dãy gồm N số 14/03/13 Chương 0: Nhập môn 35/52 4.2 Tính chất của thuật toán Tính chính xác: để đảm bảo kết quả tính toán hay các thao tác mà máy tính thực hiện được là chính xác Tính rõ ràng: Thuật toán . /5214/03/13 Chương 0: Nhập môn ... 1 C0: NHẬP MÔN VỀ MÁY TÍNH VÀ LẬP TRÌNH 1. Phần cứng và phần mềm 2. Các ngôn ngữ lập trình 3. Giải vấn đề và phát triển phần. nhân (PDA) Máy tính tháo lắp /5214/03/13 Chương 0: Nhập môn ... 6 a. Máy tính (tt) Khả năng lập trình Khả năng lập trình của máy tính ( programmability