BÀI 01: TỔNG QUAN VỀ MÁY TÍNH VÀ LẬP TRÌNH Nội dung 1. Tổng quan về máy tính 2. Các khái niệm cơ bản về lập trình: 3. Các ngôn ngữ lập trình 4.
Giới thiệu ngôn ngữ C++, chương trình C++. Ví dụ minh họa về chương trình C++ và chạy thử. Một số quy tắc cần nhớ khi viết chương trình 2 1. Tổng quan về máy tính a) Máy tính là gì? b) Cấu trúc tổng quan của máy tính? c) Các thiết bị nội vi, ngoại vi máy tính? d) Phần mềm máy tính? e) Thông tin được biểu diễn và đo lường trên máy tính? f) Máy tính xử lý được thông tin? 3 1.
a) Máy tính (Computer) là gì ? CPU (Central Processing Unit) Motherboard Memory Secondary Storage 4 1. a) Máy tính (Computer) là gì ? ❖ Máy tính là những thiết bị hay hệ thống dùng để tính toán hoặc kiểm soát các hoạt động mà có thể biểu diễn dưới dạng số hoặc qui luật logic 5 1. b) Cấu trúc tổng quan của máy tính ❖ Cấu trúc tổng quan của máy tính 6 1. c) Các thiết bị nội vi, ngoại vi ❖ Các thiết bị nhập, xuất Thiết bị nhập (Input Unit): nhận dữ liệu từ người dùng hoặc từ các chương trình khác Đơn vị xuất (Output Unit): hiển thị kết quả cho người dùng hoặc cho các chương trình khác.
c) Các thiết bị nội vi, ngoại vi ❖ Phần cứng máy tính 8 1. c) Các thiết bị nội vi, ngoại vi ❖ Phần cứng máy tính 9 1. c) Các thiết bị nội vi, ngoại vi ❖ Các thiết bị nội nội vi. CPU (Central Processing Unit): Đọc các chỉ thị từ bộ nhớ chính và thực thi các chỉ thị.
Main Memory: lưu trữ các chương trình đang thực thi và các dữ liệu liên quan Secondary Storage: lưu trữ chương trình và các tập tin chứa dữ liệu. c) Các thiết bị nội vi, ngoại vi ❖ Các thiết bị nội vi thường được hiểu là các thiết bị được chứa đựng bên trong thùng máy: CPU, RAM, HDD, Mainboard,… 11 1. c) Các thiết bị nội vi, ngoại vi ❖ Các thiết bị nội ngoại vi chỉ các thiết bị bên ngoài thùng máy được gắn kết với máy tính thông qua các cổng giao tiếp như máy in, máy scan, màn hình, loa… 12 1. c) Các thiết bị nội vi, ngoại vi ❖ Các cổng giao tiếp của máy tính được thiết kế trên bản mạch chính có nhiệm vụ kết nối các thiết bị ngoại vi nhằm tương tác với máy tính.
c) Các thiết bị nội vi, ngoại vi ❖ Các cổng giao tiếp của máy tính. 14 c) Các thiết bị nội vi, ngoại vi ❖ Các cổng giao tiếp của máy tính. c) Các thiết bị nội vi, ngoại vi ❖ Các thành phần cơ bản của máy tính. d) Phần mềm máy tính ❖Phần mềm máy tính (Computer Software): là một tập hợp những câu lệnh hoặc chỉ thị (Instruction) được viết bằng một hoặc nhiều ngôn ngữ lập trình theo một trật tự xác định, và các dữ liệu hay tài liệu liên quan nhằm tự động thực hiện một số nhiệm vụ hay chức năng hoặc giải quyết một vấn đề cụ thể nào đó.
d) Phần mềm máy tính ❖Phần mềm thực hiện các chức năng của nó bằng cách gửi các chỉ thị trực tiếp đến phần cứng (hay phần cứng máy tính, Computer Hardware) hoặc bằng cách cung cấp dữ liệu để phục vụ các chương trình hay phần mềm khác. ❖Phần mềm là một khái niệm trừu tượng, nó khác với phần cứng ở chỗ là "phần mềm không thể sờ hay đụng vào", và nó cần phải có phần cứng mới có thể thực thi được. d) Phần mềm máy tính ❖ Các loại phần mềm. d) Phần mềm máy tính ❖Phân loại phần mềm máy tính: phân loại dựa trên tính chất của phần mềm (phần mềm hệ thống, phần mềm ứng dụng), dạng cung cấp phần mềm (phần mềm mã mở, phần mềm mã nguồn đóng), hoặc chi phí sử dụng phần mềm (phần mềm thương mại, phần mềm dùng thử, phần mềm miễn phí) 20 1.
d) Phần mềm máy tính ❖Phần mềm hệ thống (System Software): bao gồm hệ điều hành (có nhiệm vụ quản lý hoạt động của phần cứng, phần mềm trên máy) và các trình điều khiển thiết bị (driver) như: Microsoft Windows 7, Linux, driver máy in, driver máy quét. d) Phần mềm máy tính ❖Phần mềm ứng dụng (Application Software): phục vụ cho một mục đích cụ thể của người dùng như: MS Word, MS Excel, Windows Media Player, Skype, … 22 1. d) Phần mềm máy tính ❖Phần mềm nguồn mở (Open Source Software): là phần mềm với mã nguồn được công bố và sử dụng một giấy phép nguồn mở. Giấy phép này cho phép ai cũng có thể nghiên cứu, thay đổi và cải tiến phần mềm, … 23 1.
d) Phần mềm máy tính ❖Phần mềm nguồn đóng (Closed Source Software): là phần mềm mà mã nguồn không được công bố. Muốn sử dụng phần mềm nguồn đóng, người dùng phải bỏ chi phí sử dụng. Các hình thức bẻ khóa, phổ biến phần mềm nguồn đóng được xem là bất hợp pháp 24 1. d) Phần mềm máy tính ❖Phần mềm thương mại (Commercial Software): là phần mềm được sản xuất nhằm mục đích thương mại.
Người dùng phải bỏ một khoản phí nhất định để sử dụng phần mềm 25 1. e) Thông tin được biểu diễn và đo lường Thông tin được biểu diễn và đo lường trên máy tính: bằng hệ đếm nhị phân còn gọi là bit. Có 2 trạng thái 0 hoặc 1 gọi (có 4 hệ số đo). ❖ Hệ nhị phân (0 hoặc 1 ) ❖ Hệ thập phân ( 0-9) ❖ Hệ bát phân (0-7) ❖ Hệ thập lục (0-9 và A-F) 26 1.
e) Thông tin được biểu diễn và đo lường ❖Hệ nhị phân (0 hoặc 1 ): Để lượng hóa lưu trữ thông tin trên bộ nhớ. ❖Bit (b): trạng thái lưu trữ máy tính hai giá trị 0 và 1. ❖Byte (B): tập hợp 8 bit, biểu đạt một ký tự trong ngôn ngữ tự nhiên. Các bội số của Byte còn có KiloByte, MegaByte, GigaByte, TeraByte, PetaByte, …với độ chênh đơn vị là một bội số của 210 = 1024 27 1.
e) Thông tin được biểu diễn và đo lường ❖ Bảng quy đổi hệ nhị phân. e) Thông tin được biểu diễn và đo lường ❖ Các đơn vi đo lương dữ liệu 29 1. e) Thông tin được biểu diễn và đo lường ❖ Bảng quy đổi hệ số thập phân sang nhị phân 30 1. e) Thông tin được biểu diễn và đo lường ❖ Bảng quy đổi hệ số bát phân (cơ số 8) sang nhị phân 31 1.
e) Thông tin được biểu diễn và đo lường ❖ Bảng quy đổi hệ thập lục(cơ số 16) sang nhị phân 32 1. f) Máy tính xử lý thông tin ❖ Quá trình xử lý thông tin trên máy tính? 33 2. Các khái niệm cơ bản về lập trình a) Lập trình máy tính, lập trình viên b) Chương trình máy tính, mã nguồn, mã máy c) Ngôn ngữ lập trình. d) Chương trình dịch: Trình biên dịch, trình thông dịch, 34 2.a) Lập trình máy tính, lập trình viên ❖ Lập trình máy tính (programming): Là kỹ thuật cài đặt một hoặc nhiều thuật toán trừu tượng có liên quan với nhau bằng một hoặc nhiều ngôn ngữ lập trình để tạo ra một chương trình máy tính.
❖ Lập trình viên (programmer): Lập trình viên (người lập trình hay thảo chương viên điện toán) là người viết ra các chương trình máy tính.a) Lập trình máy tính, lập trình viên ❖ The first computer programmer 36 2. b) Chương trình máy tính, mã nguồn, mã máy ❖ Chương trình máy tính là tập hợp các câu lệnh thực hiện một tác vụ cụ thể khi được máy tính thực thi. Hầu hết các thiết bị máy tính yêu cầu các chương trình để hoạt động đúng. Một chương trình máy tính thường được viết bởi một lập trình viên máy tính bằng ngôn ngữ lập trình 37 2.
b) Chương trình máy tính, mã nguồn, mã máy ❖ Chương trình máy tính là một cách giao tiếp với máy tính và được viết bằng ngôn ngữ lập trình. Con người giao tiếp với nhau Con người giao tiếp với máy tính 38 2. b) Chương trình máy tính, mã nguồn, mã máy ❖ Mã nguồn (source code) là một bộ luật quy định cách viết code của một chương trình mà các lập trình viên bắt buộc phải tuân theo khi tham gia viết chương trình. (Ví dụ: đạt tên hàm, thuộc tính, khai báo sử dụng biến, chi chú trong mã nguồn… ❖ Mã máy (machine code) là một loại mã sử dụng để viết các chỉ dẫn mà CPU máy tính có thể hiểu và thực thi (Run) được một cách trực tiếp.
Mã máy được viết sử dụng các số trong hệ nhị phân binary (chỉ gồm 2 số 0 và 1 hoặc hệ cơ số 16 hexadecimal) 39 2. b) Chương trình máy tính, mã nguồn, mã máy ❖ Mã nguồn, mã máy: 40 2. c) Ngôn ngữ lập trình (Programming Language) ❖ Ngôn ngữ lập trình là ngôn ngữ dùng để viết các chương trình cho máy tính. Cũng như các ngôn ngữ thông thường, ngôn ngữ lập trình cũng có từ vựng, cú pháp và ngữ nghĩa.
Nguồn: https://en.org/wiki/Introduction_to_Programming/About_Programming 41 2. d) Chương trình dịch ❖ Chương trình dịch là chương trình đặc biệt có chức năng chuyển đổi chương trình được viết bằng ngôn ngữ lập trình bậc cao thành chương trình thực hiện được trên máy tính. d) Chương trình dịch ❖ Trình thông dịch (interpreter): Kiểm tra tính đúng đắn của câu lệnh chuyển đổi thành ngôn ngữ máy và thực thi câu lệnh đó. ❖ Trình biên dịch (compiler): Duyệt, kiểm tra rồi dịch toàn bộ chương trình để thực thi trên máy hoặc lưu để sự dung sau.
Các ngôn ngữ lập trình a) Vai trò của NNLT đối với công nghệ lập trình. b) Ngôn ngữ lập trình cấp thấp c) Ngôn ngữ lập trình cấp cao d) Một vài ngôn ngữ lập trình thông dụng 44 3. a) Vai trò của ngôn ngữ lập trình Mô hình phát triển phần mềm Biểu diễn bằng: Xác định vấn đề • Ngôn ngữ tự nhiên - bài toán • Lưu đồ - Sơ đồ Lựa chọn khối • Mã giả phương pháp giải Xây dựng thuật toán/ thuật giải Cài đặt chương trình Lỗi cú pháp Hiệu chỉnh Lỗi ngữ nghĩa chương trình Thực hiện chương trình 45 3. b) Ngôn ngữ cấp thấp ❖ Ngôn ngữ máy (machine language) là các chỉ thị dưới dạng nhị phân, can thiệp trực tiếp vào trong các mạch điện tử.
Chương trình được viết bằng ngôn ngữ máy thì có thể được thực hiện ngay không cần qua bước trung gian nào. Machine Language Language directly understood by the computer …….b) Ngôn ngữ cấp thấp ❖Ví dụ: Tuy nhiên chương trình viết bằng ngôn ngữ máy dễ sai sót, cồng kềnh và khó đọc, khó hiểu vì toàn những con số 0 và 1. b) Ngôn ngữ cấp thấp ❖Hợp ngữ (assembly language) được thiết kế để máy tính trở nên thân thiện hơn với người sử dụng.