Google Play badge

nguyên thủy và không nguyên thủy


Kiểu dữ liệu nguyên thủy và không nguyên thủy

Bài học này sẽ giúp bạn hiểu hai loại dữ liệu quan trọng trong lập trình máy tính: dữ liệu nguyên thủy và dữ liệu không nguyên thủy. Các loại dữ liệu giống như các hộp khác nhau. Một số nhỏ và đơn giản, một số lớn hơn và được tạo ra bằng cách ghép các hộp nhỏ lại với nhau. Mặc dù chúng ta đang học các ý tưởng về máy tính, bạn có thể nghĩ về chúng như những thứ bạn sử dụng hàng ngày. Bài học này giải thích chúng là gì, chúng khác nhau như thế nào và đưa ra các ví dụ dễ hiểu mà bạn có thể liên hệ.

Kiểu dữ liệu là gì?

Trong máy tính, một kiểu dữ liệu cho máy tính biết loại thông tin nào được lưu trữ. Nó cho máy tính biết thông tin là số, chữ cái hay thậm chí là thứ gì khác. Hãy tưởng tượng bạn có nhiều hộp khác nhau ở nhà. Một hộp có thể đựng bút chì, hộp khác đựng đồ chơi và hộp khác đựng bút màu. Mỗi hộp được tạo ra để đựng một loại thứ. Tương tự như vậy, các kiểu dữ liệu giữ các loại thông tin tương tự lại với nhau.

Kiểu dữ liệu giúp máy tính biết cách làm việc với thông tin. Chúng cho máy tính biết cần bao nhiêu dung lượng để lưu trữ dữ liệu. Chúng cũng giúp máy tính hiểu phải làm gì nếu bạn cần cộng các số lại với nhau hoặc sắp xếp các chữ cái theo thứ tự. Điều này rất quan trọng để tạo ra các chương trình hoạt động tốt và an toàn.

Kiểu dữ liệu nguyên thủy

Kiểu dữ liệu nguyên thủy là loại kiểu dữ liệu đơn giản nhất. Chúng được xây dựng trong ngôn ngữ máy tính. Chúng không thể bị chia nhỏ thành các phần nhỏ hơn. Hãy nghĩ về chúng như các khối xây dựng của dữ liệu. Mỗi kiểu dữ liệu nguyên thủy giữ một giá trị duy nhất.

Số nguyên: Số nguyên là số nguyên. Nó không có dấu thập phân. Ví dụ, khi bạn đếm số quả táo trong hộp cơm trưa của mình, đó là số nguyên. Nếu bạn có 4 quả táo, số 4 là số nguyên.

Ví dụ: Hãy tưởng tượng bạn nói, "Tôi có 4 món đồ chơi." Ở đây, 4 là một số nguyên, vì vậy nó là một số nguyên.

Số dấu phẩy động (Float): Số float là số có dấu thập phân. Nó có thể biểu diễn số nguyên và một phần số. Ví dụ, nếu bạn đo một đoạn dây dài 3,5 inch, thì số 3,5 là số float.

Ví dụ: Nếu bạn nghe ai đó nói "Chai chứa 1,25 lít nước", thì số 1,25 là số thập phân.

Ký tự: Ký tự là một chữ cái, số hoặc ký hiệu đơn lẻ. Nó chứa một đoạn văn bản nhỏ. Ví dụ, chữ A hoặc số 7 khi chỉ có một chữ số là ký tự.

Ví dụ: Hãy tưởng tượng bạn có một nhãn dán có chữ B trên đó. Nhãn dán đó thể hiện một nhân vật.

Boolean: Boolean giữ một giá trị chân lý đơn giản. Nó có thể là đúng hoặc sai . Điều này giống như trả lời một câu hỏi có hoặc không. Ví dụ, "Ngoài trời có mưa không?" có thể có câu trả lời là đúng hoặc sai.

Ví dụ: Khi bạn quyết định có muốn chơi ngoài trời không, bạn có thể nói "Có" (đúng) hoặc "Không" (sai). Trong máy tính, điều này được xử lý bằng boolean.

Kiểu dữ liệu nguyên thủy rất quan trọng vì chúng là thành phần cơ bản để xây dựng dữ liệu phức tạp hơn. Chúng luôn sẵn sàng để sử dụng và hoạt động rất nhanh trong máy tính.

Kiểu dữ liệu không nguyên thủy

Các kiểu dữ liệu không nguyên thủy không được tích hợp vào ngôn ngữ. Chúng được tạo ra bằng cách kết hợp các kiểu dữ liệu nguyên thủy. Hãy nghĩ về chúng như một tập hợp hoặc hộp chứa nhiều hộp nhỏ. Chúng giúp chúng ta nhóm nhiều giá trị lại với nhau.

Một kiểu dữ liệu không nguyên thủy phổ biến là mảng . Mảng giống như một hàng tủ khóa, trong đó mỗi tủ khóa chứa một giá trị. Ví dụ, nếu bạn có danh sách năm màu yêu thích, bạn có thể lưu trữ tất cả chúng trong một mảng.

Ví dụ: Hãy tưởng tượng bạn có một hộp đựng một quả bóng đỏ, một quả bóng xanh và một quả bóng xanh lá cây. Hộp giống như một mảng vì nó chứa nhiều quả bóng (giá trị) với nhau.

Một ví dụ khác về kiểu dữ liệu không nguyên thủy là danh sách . Danh sách tương tự như một mảng. Nó lưu trữ nhiều giá trị ở một nơi và bạn có thể thêm hoặc xóa các mục khỏi danh sách. Hãy nghĩ về nó như cặp sách của bạn, trong đó bạn có hộp đựng bút chì, một cuốn sách và hộp đựng đồ ăn trưa được giữ cùng nhau.

Ví dụ: Hãy xem xét danh sách các loại trái cây bao gồm "táo", "chuối" và "anh đào". Danh sách này nhóm tên các loại trái cây vào một bộ sưu tập để dễ truy cập.

Chuỗi cũng được coi là kiểu dữ liệu không nguyên thủy trong nhiều ngôn ngữ lập trình. Chuỗi là một tập hợp các ký tự được ghép lại với nhau. Mặc dù một chữ cái là một ký tự (kiểu nguyên thủy), toàn bộ một từ hoặc câu là một chuỗi vì nó là một nhóm ký tự.

Ví dụ: Từ "Hello" là một chuỗi ký tự được tạo thành từ các ký tự H, e, l, l và o.

Các kiểu dữ liệu không nguyên thủy khác có thể bao gồm các đối tượng, bản ghi và bộ sưu tập. Chúng được các lập trình viên xây dựng để giải quyết các vấn đề lớn hơn. Chúng giúp sắp xếp dữ liệu theo cách có ý nghĩa đối với chương trình.

Sự khác biệt giữa các kiểu dữ liệu nguyên thủy và không nguyên thủy

Bây giờ chúng ta đã biết từng loại là gì, chúng ta có thể xem chúng khác nhau như thế nào. Sau đây là một số cách đơn giản để hiểu sự khác biệt:

Hãy nghĩ về các loại nguyên thủy như những cây bút chì màu đơn lẻ trong một hộp. Mỗi cây bút chì màu là một màu. Mặt khác, các loại không nguyên thủy giống như một bộ đồ vẽ có chứa nhiều cây bút chì màu, giấy và bút dạ. Cả hai đều hữu ích, nhưng chúng phục vụ các mục đích khác nhau.

Ví dụ minh họa các khái niệm

Hãy cùng xem những ý tưởng này hoạt động như thế nào với các ví dụ đơn giản. Chúng ta sẽ xem xét ba ví dụ cho thấy các kiểu dữ liệu nguyên thủy và không nguyên thủy có thể được sử dụng như thế nào trong các ý tưởng lập trình hàng ngày.

Ví dụ 1: Sử dụng số nguyên (Kiểu dữ liệu nguyên thủy)

Hãy tưởng tượng bạn muốn lưu trữ tuổi của mình trong một chương trình máy tính. Tuổi là một số nguyên, vì vậy bạn có thể sử dụng một số nguyên. Trong nhiều ngôn ngữ lập trình, bạn có thể viết:

int tuổi = 10;

Điều này yêu cầu máy tính lưu trữ số 10 trong biến có tên là age . Sau đó, máy tính biết rằng age là một số đơn giản. Đây là một ví dụ hay về kiểu dữ liệu nguyên thủy.

Giải thích từng bước:

Bước 1: Chúng ta tạo một biến có tên là age .

Bước 2: Ta gán số 10 cho nó.

Bước 3: Máy tính hiện biết rằng tuổi là một con số không có bất kỳ phần hoặc chữ cái nào. Nó sử dụng số nguyên này để thực hiện các phép tính nếu cần.

Ví dụ 2: Sử dụng Boolean (Kiểu dữ liệu nguyên thủy)

Hãy tưởng tượng bạn đang quyết định xem hôm nay bạn có muốn ăn nhẹ không. Câu trả lời chỉ có thể là có hoặc không. Trong ngôn ngữ máy tính, chúng ta sử dụng boolean để lưu trữ lựa chọn này. Bạn có thể thấy một cái gì đó như thế này:

bool snackTime = đúng;

Điều này cho máy tính biết rằng câu trả lời cho câu hỏi "Tôi có giờ ăn nhẹ không?" là đúng (hoặc có). Đây là một kiểu dữ liệu rất đơn giản chứa một trong hai giá trị: đúng hoặc sai.

Giải thích từng bước:

Bước 1: Chúng ta tạo một biến có tên là snackTime .

Bước 2: Chúng ta gán giá trị true cho nó.

Bước 3: Bây giờ máy tính biết rằng tùy chọn thời gian ăn nhẹ đã được bật hoặc là chính xác.

Ví dụ 3: Sử dụng Mảng (Kiểu dữ liệu không nguyên thủy)

Giả sử bạn muốn nhớ ba màu yêu thích nhất của mình. Thay vì tạo ba biến riêng biệt, bạn có thể lưu trữ chúng trong một mảng. Mảng cho phép bạn giữ nhiều mục lại với nhau. Trong một số ngôn ngữ lập trình, bạn có thể viết:

Chuỗi màu[] = {"Đỏ", "Xanh lam", "Xanh lục"};

Ở đây, mảng colors chứa ba giá trị. Mỗi giá trị này là một chuỗi (một nhóm ký tự). Mảng này là một kiểu dữ liệu không nguyên thủy vì nó nhóm lại với nhau một số giá trị nguyên thủy (các ký tự tạo nên mỗi tên màu).

Giải thích từng bước:

Bước 1: Chúng ta khai báo một mảng có tên là colors để lưu trữ các chuỗi.

Bước 2: Chúng ta đặt ba tên màu vào trong mảng: "Đỏ", "Xanh lam" và "Xanh lục".

Bước 3: Bây giờ máy tính có thể sử dụng mảng màu để ghi nhớ tất cả các màu sắc yêu thích như một thông tin mặc dù chúng được tạo thành từ nhiều ký tự.

Máy tính sử dụng các loại dữ liệu này như thế nào

Máy tính sử dụng các kiểu dữ liệu để xử lý thông tin theo cách rất có tổ chức. Khi bạn cung cấp cho máy tính một số, nó biết chính xác cách cộng hoặc nhân số đó. Khi bạn cung cấp cho máy tính một chuỗi, nó biết rằng đó là một đoạn văn bản, giống như tên của bạn.

Máy tính cần biết sự khác biệt giữa một số đơn lẻ và một nhóm số. Ví dụ, nếu bạn yêu cầu máy tính cộng 23 , nó sẽ tính toán:

\(\textrm{2 + 3 = 5}\)

Hoạt động đơn giản này sử dụng các kiểu dữ liệu nguyên thủy. Máy tính hoạt động rất nhanh với các khối dữ liệu đơn giản này. Mặt khác, khi máy tính sử dụng kiểu dữ liệu không nguyên thủy như mảng, máy có thể cần phải xem nhiều số hoặc chữ cái để thực hiện công việc của mình. Ví dụ, nếu bạn có một mảng lưu trữ độ tuổi của tất cả các bạn cùng lớp, máy tính có thể duyệt qua danh sách để tìm độ tuổi trẻ nhất hoặc lớn nhất.

Hiểu đúng loại dữ liệu để sử dụng là rất quan trọng trong lập trình. Nếu bạn trộn lẫn các loại, máy tính có thể bị nhầm lẫn. Điều này tương tự như cố nhét một khối vuông vào một lỗ tròn. Khi bạn sử dụng đúng loại dữ liệu, mọi thứ hoạt động tốt hơn và nhanh hơn.

Ví dụ hàng ngày để hiểu các kiểu dữ liệu

Chúng ta hãy sử dụng một số ví dụ thực tế đơn giản để so sánh các kiểu dữ liệu nguyên thủy và không nguyên thủy.

Nguyên thủy (Vật phẩm đơn giản):

Hãy tưởng tượng bạn có một chiếc ô tô đồ chơi duy nhất. Chiếc ô tô này rất đơn giản. Nó là một đối tượng và bạn biết chính xác nó là gì. Trong thế giới của các kiểu dữ liệu, chiếc ô tô đồ chơi này giống như một số nguyên hoặc một boolean. Nó là một mảnh và chỉ làm một việc.

Phi nguyên thủy (Bộ sưu tập các vật phẩm):

Bây giờ, hãy tưởng tượng bạn có một hộp đồ chơi chứa đầy nhiều loại ô tô khác nhau. Một số màu đỏ, một số màu xanh lam và một số màu xanh lá cây. Hộp đồ chơi này giống như một mảng hoặc một danh sách. Hộp chứa nhiều ô tô đồ chơi nhỏ. Mặc dù mỗi chiếc ô tô đều đơn giản, nhưng việc lắp ráp chúng lại với nhau sẽ mang lại cho bạn nhiều lựa chọn hơn. Bạn có thể dễ dàng tìm thấy chiếc ô tô mình muốn hoặc chơi trò chơi với tất cả các ô tô.

Những ví dụ này cho thấy đôi khi bạn chỉ cần một phần dữ liệu đơn giản, và đôi khi bạn cần một tập hợp các phần tương tự. Cả hai loại đều rất hữu ích. Các kiểu dữ liệu nguyên thủy là những phần nhanh chóng và dễ dàng. Các kiểu dữ liệu không nguyên thủy là các nhóm giúp tổ chức và quản lý nhiều thông tin hơn.

Tại sao chúng ta sử dụng các kiểu dữ liệu khác nhau?

Sử dụng các kiểu dữ liệu khác nhau giúp chương trình rõ ràng hơn và dễ xây dựng hơn. Khi bạn quyết định một kiểu dữ liệu, bạn cho máy tính biết chính xác cách xử lý thông tin của bạn. Điều này ngăn ngừa lỗi và đảm bảo máy tính sử dụng đúng lượng bộ nhớ.

Ví dụ, nếu bạn muốn tính toán bằng số, bạn sử dụng các kiểu dữ liệu nguyên thủy như số nguyên hoặc số thực. Nhưng nếu bạn muốn hiển thị một câu trên màn hình, bạn sử dụng một chuỗi. Nếu bạn muốn nhớ một danh sách tên, bạn sử dụng một mảng hoặc danh sách. Điều này giúp máy tính biết những gì mong đợi.

Chọn đúng kiểu dữ liệu cũng giống như chọn đúng công cụ khi bạn đang xây dựng một cái gì đó. Nếu bạn đang xây một ngôi nhà chim nhỏ, một chiếc búa đơn giản sẽ đủ. Nhưng nếu bạn đang xây một ngôi nhà lớn, bạn có thể cần nhiều công cụ khác nhau. Trong lập trình, các kiểu dữ liệu nguyên thủy giống như các công cụ đơn giản và các kiểu dữ liệu không nguyên thủy giống như một hộp công cụ có nhiều công cụ khác nhau.

Ứng dụng và kết nối trong thế giới thực

Mặc dù những ý tưởng này xuất phát từ các chương trình máy tính, các khái niệm này lại liên quan đến cuộc sống hàng ngày. Khi bạn sắp xếp đồ chơi, bạn có thể để những đồ chơi tương tự vào một hộp. Khi bạn viết một câu chuyện, bạn sử dụng các chữ cái và từ kết hợp với nhau để tạo thành câu. Mỗi chữ cái có thể được coi là một phần tử nguyên thủy, trong khi câu là một nhóm không nguyên thủy gồm nhiều chữ cái.

Trong lớp học, giáo viên có thể yêu cầu bạn xếp hàng theo chiều cao. Chiều cao của mỗi học sinh giống như một số nguyên thủy. Nhưng khi giáo viên sắp xếp học sinh theo thứ tự, cô ấy đang lập một danh sách, đây là một kiểu dữ liệu không nguyên thủy. Danh sách giúp cô ấy biết ai cao nhất và ai thấp nhất.

Trong nhiều trò chơi máy tính, trò chơi theo dõi điểm số của người chơi (một số nguyên), tên người chơi (một chuỗi) và trạng thái của trò chơi (một boolean cho biết trò chơi đã kết thúc hay chưa). Đây đều là những ví dụ về việc sử dụng đúng kiểu dữ liệu cho đúng công việc. Kiểu dữ liệu nguyên thủy giúp trò chơi chạy nhanh, trong khi kiểu dữ liệu không nguyên thủy giúp sắp xếp các nhóm thông tin.

Đánh giá các khái niệm chính

Chúng ta hãy cùng xem lại những gì đã học trong bài học này:

Bằng cách hiểu cả kiểu dữ liệu nguyên thủy và không nguyên thủy, bạn sẽ biết cách máy tính suy nghĩ và lưu trữ thông tin. Mỗi kiểu có nhiệm vụ riêng. Kiểu dữ liệu nguyên thủy nhanh và đơn giản, trong khi kiểu không nguyên thủy hữu ích khi bạn cần sắp xếp các tập dữ liệu lớn hơn.

Tóm tắt các điểm chính

Sau đây là tóm tắt những điểm chính bạn cần nhớ trong bài học này:

Máy tính sử dụng những ý tưởng này để lưu trữ và quản lý thông tin. Mỗi loại có một vai trò, giống như mỗi công cụ trong hộp công cụ giúp bạn xây dựng một cái gì đó. Bằng cách tìm hiểu sự khác biệt giữa các kiểu dữ liệu nguyên thủy và không nguyên thủy, bạn đang thực hiện bước đầu tiên để hiểu cách máy tính hoạt động và cách cung cấp cho chúng các hướng dẫn rõ ràng.

Khi bạn khám phá thêm về máy tính và lập trình, bạn sẽ thấy các kiểu dữ liệu này được sử dụng trong nhiều chương trình. Chúng giúp tạo video, trò chơi và thậm chí là ứng dụng trên điện thoại của bạn. Mỗi khi bạn sử dụng máy tính, những ý tưởng này sẽ hoạt động ở chế độ nền để đảm bảo mọi thứ diễn ra suôn sẻ.

Bài học này đã chỉ cho bạn thấy rằng ngay cả những ý tưởng đơn giản cũng có tác động lớn đến cách thức hoạt động của các hệ thống phức tạp. Các kiểu dữ liệu nguyên thủy là những khối xây dựng đơn giản. Các kiểu dữ liệu không nguyên thủy kết hợp những khối đó lại với nhau để tạo ra những cấu trúc tuyệt vời. Cả hai đều cần thiết để tạo ra các chương trình máy tính có thể giải quyết vấn đề và hiển thị kết quả đẹp mắt trên màn hình của bạn.

Hãy nhớ rằng, giống như bạn chọn đúng đồ chơi để chơi, các lập trình viên chọn đúng kiểu dữ liệu cho từng công việc. Khi bạn thấy một số nguyên hoặc boolean, hãy nghĩ về chúng như những mục hàng ngày dễ hiểu. Khi bạn thấy một mảng hoặc một danh sách, hãy nhớ rằng chúng giống như một hộp chứa nhiều mục lại với nhau.

Bằng cách biết những khái niệm chính này, bạn đang học ngôn ngữ máy tính. Kiến thức này có thể giúp bạn hiểu các chủ đề nâng cao hơn sau này. Mỗi khi bạn lập trình một trò chơi đơn giản hoặc một dự án nhỏ, hãy nghĩ về cách bạn sử dụng các kiểu dữ liệu này để làm cho hướng dẫn của bạn rõ ràng và công việc của máy tính dễ dàng hơn.

Tiếp tục khám phá, tiếp tục đặt câu hỏi và hãy nhớ rằng mọi ý tưởng lớn đều bắt đầu bằng những bước đơn giản. Các kiểu dữ liệu nguyên thủy và không nguyên thủy là những khối xây dựng đầu tiên trong hành trình lập trình máy tính của bạn.

Bây giờ bạn đã tìm hiểu về các kiểu dữ liệu nguyên thủy và không nguyên thủy, bạn có thể thấy tầm quan trọng của từng kiểu. Cho dù bạn đang đếm số, viết từ hay nhóm các mục lại với nhau, bạn đều biết kiểu dữ liệu phù hợp để sử dụng. Đây là một kỹ năng mạnh mẽ cho bất kỳ ai muốn tìm hiểu thêm về máy tính và cách chúng hoạt động.

Tiếp tục khám phá và vui chơi với các khái niệm này. Chúng sẽ giúp bạn hiểu những ý tưởng phức tạp hơn khi bạn lớn lên. Sử dụng các ví dụ đơn giản trong cuộc sống hàng ngày của bạn để tham khảo lại các bài học này. Giống như việc sắp xếp đồ chơi hoặc sách của bạn, bạn đang học cách sắp xếp thông tin trong máy tính.

Cảm ơn bạn đã đọc bài học này về các kiểu dữ liệu nguyên thủy và không nguyên thủy. Hãy ghi nhớ những điểm này khi bạn tìm hiểu thêm về lập trình máy tính và tận hưởng việc tạo ra các dự án của riêng mình.

Download Primer to continue