Chương 1 - Nhập môn lập trình Các khái niệm căn bản về máy tính và lập trình 1. Mục tiêu ● Giải thích được tổng quan cách hoạt động của máy tính ● Phân biệt được phần cứng và phần mềm ● Liệt kê được một số phần cứng thông dụng ● Liệt kê được một số phần mềm thông dụng ● Biết được vai trò của phần cứng, phần mềm và người dùng ● Trình bày được tổng quan quá trình tạo ra một phần mềm ● Giải thích được vai trò và ý nghĩa của ngôn ngữ lập trình ● Biết được tổng quan quy trình sản xuất một phần mềm ● Phân biệt được các vai trò thông dụng trong một quy trình sản xuất phần mềm ● Giải thích được ý nghĩa của thuật toán ● Mô tả được thuật toán bằng mã giả ● Mô tả được thuật toán bằng lưu đồ ● Cài đặt được phần mềm để bắt đầu viết mã ● Tạo được ứng dụng phần mềm đầu tiên 2. Giới thiệu Trong chương đầu tiên của cuốn sách, chúng ta sẽ tìm hiểu về những khái niệm căn bản nhất về thế giới máy tính và lập trình. Đây là những khái niệm cơ bản nhất, cần thiết nhất trước khi bắt đầu viết những dòng mã đầu tiên.
Chúng ta sẽ tìm hiểu về những khái niệm liên quan đến máy tính, phần mềm, người dùng, công việc sản xuất phần mềm, các bước để làm ra phần mềm. Cuối cùng, chúng ta sẽ cài đặt môi trường và chuẩn bị cho việc tạo ra một phần mềm đầu tiên. Kết thúc chương này, chúng ta có thể bắt tay vào viết được những dòng mã đầu tiên để tạo ra các phần mềm. Máy tính hoạt động như thế nào? 3.
Định nghĩa máy tính Thuật ngữ máy tính thường được sử dụng để chỉ đến các thiết bị điện tử có khả năng xử lý dữ liệu và chuyển đổi dữ liệu thành những thông tin hữu ích. Máy tính có được các khả năng này là nhờ sự kết hợp giữa các vi mạch điện tử và các tập lệnh do các lập trình viên tạo nên.vn/ - 5 Có thể phân loại máy tính theo nhiều tiêu chí khác nhau, chẳng hạn như về mục đích sử dụng, kích thước, cấu tạo hoặc công nghệ. Một số loại máy tính thường được nhắc đến là: Máy tính tính lớn (mainframe), máy tính nhỏ (minicomputer), siêu máy tính (supercomputer), máy vi tính (microcomputer) hoặc máy tính cá nhân (personal computer), máy tính xách tay (laptop). Các thiết bị như điện thoại thông minh (smart phone) hoặc đồng hồ thông minh (smart watch) cũng là một dạng máy tính.
Thông thường, khi người ta nói đến một hệ thống máy tính thì bao gồm 3 thành phần là: Phần cứng, Phần mềm và Người dùng. Phần cứng Các thành phần vật lý kiến tạo lên máy tính được gọi là phần cứng. Phần cứng là bất cứ bộ phận nào của máy tính mà bạn có thể chạm tay vào được. Phần cứng máy tính bao gồm các thiết bị điện tử tích hợp với nhau được sử dụng để điều khiển các hoạt động nhập xuất và xử lí của máy tính.
Một số phần cứng cơ bản bao gồm bộ nguồn điện, CPU (Central Processing Unit - Bộ xử lý trung tâm), RAM (Random Access Memory – Bộ nhớ Truy xuất Ngẫu nhiên), Motherboard (Bảng mạch chính, còn gọi là Mainboard), một số card mở rộng, thiết bị ngoại vi và các thành phần khác.1: Các thành phần cấu tạo của máy tính ● Bảng mạch chính (Motherboard): Là bảng mạch quan trọng nhất, có nhiệm vụ kết nối các thành phần khác lại với nhau để hoạt động trong một thể thống nhất ● CPU – Bộ xử lý trung tâm: Có thể coi như bộ não của máy tính; thiết bị này tổ chức và thực hiện các chỉ thị của người dùng hoặc phần mềm /codegym.vn/ - 6 ● Bộ nhớ: Là một bảng mạch điện tử nhỏ bên trong máy tính. Chương trình chạy trên máy tính sẽ được nạp vào bộ nhớ và chạy từ đó. Bộ nhớ được phân thành hai loại là bộ nhớ sơ cấp và bộ nhớ thứ cấp. Bộ nhớ sơ cấp còn được gọi là bộ nhớ chính.
Chúng bao gồm RAM (Random Access Memory – Bộ nhớ Truy xuất Ngẫu nhiên) hoặc ROM (Read-Only Memory – Bộ nhớ Chỉ đọc). Bộ nhớ thứ cấp đề cập tới các bộ lưu trữ trong hoặc ngoài được sử dụng cho các dữ liệu bền vững như đĩa mềm, ổ băng từ, đĩa quang (CD) hoặc ổ USB, v. ● Thiết bị đầu vào: Cho phép nhận dữ liệu và các chỉ thị từ người dùng hoặc từ hệ thống máy tính khác. Chẳng hạn như: bàn phím, chuột, đầu đọc đĩa CD, camera, màn hình cảm ứng, v.
● Thiết bị đầu ra: Cho phép hiển thị kết quả thực thi các mệnh lệnh. Chẳng hạn như: màn hình, máy in, loa, máy chiếu, v. Phần mềm Phần mềm máy tính là tập hợp các chương trình máy tính và các dữ liệu có liên quan để cung cấp cho máy tính các chỉ dẫn cần thiết về những gì mà nó phải thực hiện. Trái ngược hẳn với phần cứng, phần mềm là một thứ vô hình, chúng ta không thể chạm được vào nó.
Bạn có thể liên tưởng rằng máy tính như một thực thể sống với phần xác (đó là phần cứng) và phần hồn (đó là phần mềm). Với phần cứng, bạn có thể lắp ráp thành một máy tính. Tuy nhiên, máy tính cần phải có phần mềm để thực hiện các nhiệm vụ của mình. Phần mềm máy tính có thể phân ra thành một số loại chính như phần mềm hệ thống, phần mềm ứng dụng và phần mềm lập trình.
● Phần mềm hệ thống: là những phần mềm máy tính được thiết kế để vận hành các thiết bị phần cứng và cung cấp, duy trì một nền tảng để chạy các phần mềm ứng dụng. Chẳng hạn như: Hệ điều hành, phần mềm diệt vi-rút, phần mềm quản lý mạng cho máy tính, v. ● Phần mềm ứng dụng (hoặc còn gọi tắt là ứng dụng): được thiết kế để giúp người dùng thực hiện một hay nhiều các công việc cụ thể nào đó. Ví dụ như các phần mềm doanh nghiệp, phần mềm kế toán, bộ phần mềm văn phòng, phần mềm xử lý ảnh và các phần mềm nghe nhạc, xem video, v.
● Phần mềm lập trình, những phần mềm này giúp các lập trình viên máy tính tạo ra các phần mềm khác. Ví dụ như phần mềm để viết mã nguồn, phần mềm để biên dịch, phần mềm để cài đặt, v. Hệ điều hành Hệ điều hành là một dạng phần mềm đặc biệt, trực tiếp được cài đặt lên các phần cứng để điều khiển chúng, cung cấp môi trường để các phần mềm khác có thể hoạt động, và đồng thời cũng cung cấp môi trường để người dùng tương tác với máy tính.2: Mối liên quan giữa Người dùng - Ứng dụng – Hệ điều hành – Phần cứng Có rất nhiều các hệ điều hành khác nhau được sử dụng cho các hệ thống máy tính, có thể kể đến như: Microsoft Windows, MacOS, các dòng Linux khác nhau (như Ubuntu, Debian, CentOS, Fedora…). Ngoài ra, còn có các hệ điều hành dành riêng cho các thiết bị di động, chẳng hạn như: Android, iOS, KaiOS,… Thậm chí, ngày nay, một số đơn vị đã nghĩ đến việc hợp nhất các hệ điều hành cho máy tính cá nhân với các hệ điều hành dành cho các thiết bị di động để gia tăng tính tương thích.
Người dùng Những người sử dụng máy tính để làm các công việc cụ thể nào đó được gọi là Người dùng (User). Do máy tính chỉ là các công cụ, cho nên chúng cần phải có người điều khiển thì mới đem lại các lợi ích cụ thể. Người dùng có thể được phân loại là power user (Người dùng quyền lực), đó là những người dùng hiểu biết về hệ thống máy tính, hoặc end user (Người dùng cuối), đó là những người dùng không cần có quá nhiều hiểu biết về máy tính, mà chỉ cần học cách sử dụng các phần mềm đã được tạo sẵn để xử lý các nghiệp vụ hằng ngày. Dữ liệu Dữ liệu bao gồm các sự việc độc lập hoặc các mẩu thông tin, bản thân chúng thường không mang lại ý nghĩa cho con người.
Máy tính đọc và lưu trữ dữ liệu ở dạng như văn bản, số liệu, hình ảnh hoặc âm thanh dưới cùng một dạng đó là các con số. Do đó, dữ liệu máy tính là dữ liệu số, nghĩa là chúng được tối giản xuống thành số. Nhìn chung, nghiệp vụ tính toán quan trọng nhất của máy tính là tập hợp dữ liệu (được gọi là đầu vào - input), xử lý chúng thành các dữ liệu đầu ra (output) hữu ích cho con người. Hầu hết các máy tính ngày nay đều sử dụng hệ thống số nhị phân, bao gồm 2 giá trị là 0 và 1.
Ngoại trừ một số máy tính rất đặc biệt khác, có thể có các dạng dữ liệu khác, /codegym.vn/ - 8 chẳng hạn như máy tính lượng tử. Ở trong máy tính, có thể sử dụng một số cơ chế khác nhau để biểu diễn giá trị 0 và 1, chẳng hạn cơ chế quang học (phản xạ thì là 1, không phản xạ là 0), cơ chế từ trường (nam thì 0, bắc thì 1), cơ chế hiệu điện thế (không có điện thế là 0, có điện thế là 1),… Mỗi một giá trị 0 hoặc 1 khi lưu trữ trong bộ nhớ thì được gọi là 1 bit. Một nhóm 8 bit thì được gọi là 1 byte. Byte là đơn vị lưu trữ nhỏ nhất mà máy tính sử dụng.
Sau byte còn có các đơn vị khác lớn hơn để biểu diễn độ lớn của dữ liệu, chẳng hạn như: kilobyte (kb), megabyte (MB), gigabyte (GB), terabyte (TB). Bảng chuyển đổi giữa các đơn vị đo lường bộ nhớ được mô tả dưới đây: Đơn vị Ký hiệu Giá trị xấp xỉ (byte) Giá trị chính xác (byte) Kilobyte KB 1 000 1024 Megabyte MB 1 000 000 1 048 576 Gigabyte GB 1 000 000 000 1073 741 824 Terabyte TB 1 000 000 000 000 1099 511 627 776 Bảng 1.1: Giá trị của các đơn vị đo độ lớn của dữ liệu 4. Phần mềm được tạo ra như thế nào? Phát triển phần mềm là một công việc bao gồm rất nhiều hoạt động khác nhau, đòi hỏi sự cộng tác, hợp tác giữa nhiều người với nhiều kỹ năng khác nhau. Có thể hình dung một cách đơn giản thì công việc này bao gồm các hoạt động như Định nghĩa yêu cầu, Thiết kế phần mềm, Lập trình, Sử dụng.3: Các công đoạn chính của việc phát triển phần mềm /codegym.vn/ - 9 ● Định nghĩa yêu cầu: Tìm hiểu, phân tích để nắm rõ nhu cầu của người dùng về phần mềm mà mình sắp phát triển.
● Thiết kế phần mềm: Dựa trên các thông tin đã thu thập được, chúng ta phân tích và đưa ra các cách để xử lý vấn đề của người dùng thông qua các tính năng của phần mềm.