<< 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ề trừu tượng hóa, kiểu dữ liệu do người lập trình định nghĩa.
  • Mục đích của việc định nghĩa kiểu dữ liệu.
  • Phân biệt các hình thức xác định sự tương đương giữa các kiểu dữ liệu

Nội dung cốt lõi

  • Trừu tượng hoá
  • Kiểu dữ liệu do người dùng định nghĩa.
  • Xác định sự tương đương giữa các kiểu dữ liệu

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

Sự phát triển của khái niệm kiểu dữ liệu

Sự phát triển của khái niệm kiểu dữ liệu là sự phát triển chủ yếu của ngôn ngữ lập trình trong những năm 70. Trong những ngôn ngữ cũ như FORTRAN và COBOL đã bắt đầu có khái niệm về kiểu.

Ý niệm đầu tiên về sự định nghĩa kiểu là một tập hợp các giá trị mà một biến có thể nhận. Kiểu dữ liệu trong các ngôn ngữ cũ này luôn luôn gắn liền với các biến riêng lẻ, do đó mỗi một phép khai báo biến phải đặt tên cho một biến và định nghĩa kiểu của nó. Do đó nếu một chương trình sử dụng nhiều biến có kiểu giống nhau thì mỗi một biến phải được khai báo riêng.

Bước tiếp theo của sự phát triển khái niệm kiểu được nghiên cứu trong Pascal. Trong đó cho phép đặt tên cho một kiểu, tức là một tập giá trị nào đó. Phép khai báo biến chỉ cần tên biến và tên kiểu đã định nghĩa chứ không cần định nghĩa lại kiểu.

Bước cuối cùng của sự phát triển khái niệm kiểu là: Kiểu không chỉ là một tập hợp các đối tượng dữ liệu mà còn là một tập hợp các phép toán có thể thao tác trên các đối tượng dữ liệu này.

Trừu tượng hóa

Khái niệm trừu tượng hóa

Trừu tượng hóa là một phương pháp giúp người lập trình biết cách tập trung vào những vấn đề, những thuộc tính bản chất của chương trình mà bỏ qua các thuộc tính không cần thiết. Nó là một vũ khí chống lại độ phức tạp của chương trình, mục đích của nó là đơn giản hóa quá trình lập trình.

Có hai loại trừu tượng hóa cơ bản trong ngôn ngữ lập trình là trừu tượng hóa quá trình và trừu tượng hóa dữ liệu.

Trừu tượng hóa quá trình

Trừu tượng hóa quá trình là việc phân chia chương trình thành những chương trình con. Mỗi chương trình con đảm nhiệm một tác vụ nào đó và được đặc trưng bởi một cái tên.

Ở cấp độ chương trình chính chúng ta chỉ gọi thực hiện các chương trình con, thông qua các tên chương trình con, để thực hiện các tác vụ mà chương trình con đó đảm trách. Như vậy, ở chương trình chính, chúng ta chỉ quan tâm đến kết quả của chương trình con mang lại mà không cần biết chi tiết cài đặt bên trong chương trình con đó.

Ví dụ để viết một chương trình quản lý, ta có thể viết theo hai cách, cách thứ nhất không phân chia thành các chương trình con và cách thứ hai có sử dụng chương trình con.

Đối với phương pháp thứ nhất, ta thấy toàn bộ chương trình được viết trong chương trình chính, điều này làm cho chương trình chính rất rườm rà, khó đọc hiểu, khó kiểm soát, khó sửa lỗi,...

Đối với phương pháp thứ hai, trong chương trình chính ta chỉ thấy tên các chương trình con (nhap_du_lieu, xu_ly_du_lieu, xuat_du_lieu) và thông qua các tên này ta biết rõ chương trình chính làm những việc gì còn bản thân các việc ấy được làm như thế nào thì ta không cần biết.

Questions & Answers

How we are making nano material?
LITNING Reply
what is a peer
LITNING Reply
What is meant by 'nano scale'?
LITNING Reply
What is STMs full form?
LITNING
scanning tunneling microscope
Sahil
what is Nano technology ?
Bob Reply
write examples of Nano molecule?
Bob
The nanotechnology is as new science, to scale nanometric
brayan
nanotechnology is the study, desing, synthesis, manipulation and application of materials and functional systems through control of matter at nanoscale
Damian
Is there any normative that regulates the use of silver nanoparticles?
Damian Reply
what king of growth are you checking .?
Renato
What fields keep nano created devices from performing or assimulating ? Magnetic fields ? Are do they assimilate ?
Stoney Reply
why we need to study biomolecules, molecular biology in nanotechnology?
Adin Reply
?
Kyle
yes I'm doing my masters in nanotechnology, we are being studying all these domains as well..
Adin
why?
Adin
what school?
Kyle
biomolecules are e building blocks of every organics and inorganic materials.
Joe
anyone know any internet site where one can find nanotechnology papers?
Damian Reply
research.net
kanaga
sciencedirect big data base
Ernesto
Introduction about quantum dots in nanotechnology
Praveena Reply
what does nano mean?
Anassong Reply
nano basically means 10^(-9). nanometer is a unit to measure length.
Bharti
do you think it's worthwhile in the long term to study the effects and possibilities of nanotechnology on viral treatment?
Damian Reply
absolutely yes
Daniel
how to know photocatalytic properties of tio2 nanoparticles...what to do now
Akash Reply
it is a goid question and i want to know the answer as well
Maciej
characteristics of micro business
Abigail
for teaching engĺish at school how nano technology help us
Anassong
How can I make nanorobot?
Lily
Do somebody tell me a best nano engineering book for beginners?
s. Reply
there is no specific books for beginners but there is book called principle of nanotechnology
NANO
how can I make nanorobot?
Lily
what is fullerene does it is used to make bukky balls
Devang Reply
are you nano engineer ?
s.
fullerene is a bucky ball aka Carbon 60 molecule. It was name by the architect Fuller. He design the geodesic dome. it resembles a soccer ball.
Tarell
what is the actual application of fullerenes nowadays?
Damian
That is a great question Damian. best way to answer that question is to Google it. there are hundreds of applications for buck minister fullerenes, from medical to aerospace. you can also find plenty of research papers that will give you great detail on the potential applications of fullerenes.
Tarell
what is the Synthesis, properties,and applications of carbon nano chemistry
Abhijith Reply
Mostly, they use nano carbon for electronics and for materials to be strengthened.
Virgil
is Bucky paper clear?
CYNTHIA
carbon nanotubes has various application in fuel cells membrane, current research on cancer drug,and in electronics MEMS and NEMS etc
NANO
how did you get the value of 2000N.What calculations are needed to arrive at it
Smarajit Reply
Privacy Information Security Software Version 1.1a
Good
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get the best Algebra and trigonometry course in your pocket!





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