<< Chapter < Page Chapter >> Page >

Tổng quan

Mục tiêu

Sau khi học xong chương này, sinh viên cần phải nắm:

  • Khái niệm về kiểu dữ liệu sơ cấp.
  • Đặc tả và phương pháp cài đặt kiểu dữ liệu sơ cấp trong các ngôn ngữ lập trình.
  • Một số kiểu dữ liệu sơ cấp cụ thể như: kiểu số, ký tự, logic…

Nội dung cốt lõi

  • Kiến thức tổng quan về kiểu dữ liệu sơ cấp.
  • Một vài kiểu dữ liệu sơ cấp: kiểu số, liệt kê, logic, ký tự.

Kiến thức cơ bản cần thiết

Kiến thức và kĩ năng lập trình căn bản, kiến thức chương 2.

Ðịnh nghĩa kiểu dữ liệu sơ cấp

Kiểu dữ liệu sơ cấp là một kiểu dữ liệu mà các ÐTDL của nó là các ÐTDL sơ cấp.

Nói chung các ngôn ngữ lập trình đều có các kiểu dữ liệu sơ cấp sau: số nguyên (integer, int…), số thực (real, float, double…), ký tự (char, character…), logic (bool, boolean…) và kiểu liệt kê.

Sự ðặc tả các kiểu dữ liệu sơ cấp

Thuộc tính của kiểu dữ liệu sơ cấp

Thuộc tính cơ bản nhất của bất kỳ một ÐTDL sơ cấp nào chính là kiểu dữ liệu của nó. Ðối với một số kiểu dữ liệu cụ thể thì có thể có thêm các thuộc tính bổ sung để đặc trưng cho kiểu đó.

Giá trị của kiểu dữ liệu sơ cấp

Tập hợp các giá trị của một kiểu dữ liệu sơ cấp luôn là một tập hợp có thứ tự và có một giá trị nhỏ nhất và một giá trị lớn nhất.

Chính nhờ tính chất có thứ tự của tập giá trị sơ cấp nên trong thao tác sắp xếp dữ liệu, khóa sắp xếp thường thuộc kiểu dữ liệu sơ cấp.

Ví dụ kiểu dữ liệu integer là một tập hợp hữu hạn các số nguyên (dĩ nhiên là có thứ tự), từ một số nguyên nhỏ nhất đến một số nguyên lớn nhất. Số nguyên nhỏ nhất và số nguyên lớn nhất là các số nguyên tương ứng với các giá trị nguyên nhỏ nhất và lớn nhất có thể biểu diễn một cách thuận tiện trong bộ nhớ của máy tính.

Phép toán trên kiểu dữ liệu sơ cấp

Do tập giá trị sơ cấp có thứ tự, nên trong tất cả các kiểu dữ liệu sơ cấp đều có các phép toán quan hệ. Ngoài ra còn có các phép toán nhận vào một số đối số thuộc kiểu sơ cấp và trả về một giá trị sơ cấp cùng kiểu. Tuy nhiên cần hết sức lưu ý rằng tập các giá trị sơ cấp có giá trị nhỏ nhất và giá trị lớn nhất, cho nên đôi khi giá trị trả về của phép toán không nằm trong giới hạn của tập giá trị sơ cấp, điều này sẽ gây ra sự sai sót trong chương trình.

Cài ðặt các kiểu dữ liệu sơ cấp

Tổ chức dữ liệu trong bộ nhớ

Người ta thường sử dụng việc tổ chức dữ liệu dưới phần cứng của máy tính để biểu diễn cho các giá trị dữ liệu của kiểu dữ liệu sơ cấp.

Lý do của việc lựa chọn này rất đơn giản: Nếu biểu diễn bộ nhớ của phần cứng được sử dụng thì các phép toán cơ bản trên dữ liệu của kiểu này có thể được thực hiện bởi các phép toán do phần cứng cung cấp. Mà các phép toán được thiết kế bởi phần cứng sẽ có tốc độ thực hiện nhanh. Ngược lại, nếu ta sử dụng sự biểu diễn bởi phần mềm thì phải sử dụng các phép toán mô phỏng bởi phần mềm mà tốc độ thực hiện sẽ chậm hơn.

Tuy nhiên, việc sử dụng biểu diễn bởi phần cứng cũng có yếu điểm là tập các giá trị sẽ bị hạn chế.

Ví dụ để biểu diễn một số nguyên trong bộ nhớ, ta có thể sử dụng hai phương pháp:

1.- Sử dụng cách biểu diễn một số nguyên của phần cứng, chẳng hạn sử dụng 16 bit để biểu diễn cho một số nguyên. Với phương pháp này thì ta có thể sử dụng luôn các phép tính số học trên số nguyên (+, -, *, DIV, MOD) đã được thiết kế cho phần cứng. Ưu điểm của phương pháp này là các phép tính số học có tốc độ thực hiện nhanh. Nhược điểm của phương pháp là tập giá trị các số nguyên chỉ có 65535 số (từ -32768 đến 32767).

Questions & Answers

how to create a software using Android phone
Wiseman Reply
how
basra
what is the difference between C and C++.
Yan Reply
what is software
Sami Reply
software is a instructions like programs
Shambhu
what is the difference between C and C++.
Yan
yes, how?
Hayder
what is software engineering
Ahmad
software engineering is a the branch of computer science deals with the design,development, testing and maintenance of software applications.
Hayder
who is best bw software engineering and cyber security
Ahmad
Both software engineering and cybersecurity offer exciting career prospects, but your choice ultimately depends on your interests and skills. If you enjoy problem-solving, programming, and designing software syste
Hayder
what's software processes
Ntege Reply
I haven't started reading yet. by device (hardware) or for improving design Lol? Here. Requirement, Design, Implementation, Verification, Maintenance.
Vernon
I can give you a more valid answer by 5:00 By the way gm.
Vernon
it is all about designing,developing, testing, implementing and maintaining of software systems.
Ehenew
hello assalamualaikum
Sami
My name M Sami I m 2nd year student
Sami
what is the specific IDE for flutter programs?
Mwami Reply
jegudgdtgd my Name my Name is M and I have been talking about iey my papa john's university of washington post I tagged I will be in
Mwaqas Reply
yes
usman
how disign photo
atul Reply
hlo
Navya
hi
Michael
yes
Subhan
Show the necessary steps with description in resource monitoring process (CPU,memory,disk and network)
samuel Reply
What is software engineering
Tafadzwa Reply
Software engineering is a branch of computer science directed to writing programs to develop Softwares that can drive or enable the functionality of some hardwares like phone , automobile and others
kelvin
if any requirement engineer is gathering requirements from client and after getting he/she Analyze them this process is called
Alqa Reply
The following text is encoded in base 64. Ik5ldmVyIHRydXN0IGEgY29tcHV0ZXIgeW91IGNhbid0IHRocm93IG91dCBhIHdpbmRvdyIgLSBTdGV2ZSBXb3puaWFr Decode it, and paste the decoded text here
Julian Reply
what to do you mean
Vincent
hello
ALI
how are you ?
ALI
What is the command to list the contents of a directory in Unix and Unix-like operating systems
George Reply
how can i make my own software free of cost
Faizan Reply
like how
usman
hi
Hayder
The name of the author of our software engineering book is Ian Sommerville.
Doha Reply
what is software
Sampson Reply
the set of intruction given to the computer to perform a task
Noor
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Ngôn ngữ lập trình. OpenStax CNX. Jul 29, 2009 Download for free at http://cnx.org/content/col10783/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Ngôn ngữ lập trình' conversation and receive update notifications?

Ask