Nội dung bài học Một số kiểu dữ liệu chuẩn dưới đây sẽ giúp các em biết được các kiểu dữ liệu chuẩn dùng để làm gì?, bộ lưu trữ một giá trị và phạm vi sử dụng của một số kiểu dữ kiệu chuẩn như kiểu số nguyên, kiểu số thực, kiểu kí tự, kiểu logic. Mời các em cùng theo dõi bài học.
Kiểu dữ liệu chuẩn là một tập hữu hạn các giá trị. Mỗi kiểu dữ liệu cần một dung lượng bộ nhớ cần thiết để lưu trữ và xác định các phép toán có thể tác động lên dữ liệu. Một số kiểu dữ liệu thường dùng cho biến đơn như sau:
Kiểu nguyên dùng để khai báo các đại lượng nhận giá trị là các số nguyên.
Kiểu | Bộ nhớ lưu trữ một giá trị | Phạm vi giá trị |
Byte | 1 byte | Từ 0 đến 255 |
Integer | 2 byte | Từ -215 đến 215-1 |
Word | 2 byte | Từ 0 đến 216-1 |
Longint | 4 byte | Từ -231 đến 231-1 |
Bảng 1. Bộ nhớ lưu trữ một giá trị và phạm vi giá trị của kiểu nguyên
Kiểu thực dùng để khai báo các đại lượng nhận giá trị là các số thực.
Kiểu | Bộ nhớ lưu trữ một giá trị | Phạm vi giá trị |
Real | 6 byte | 0 hoặc có giá trị tuyệt đối nằm trong phạm vi từ 10-38 đến 1038 |
Extended | 10 byte | 0 hoặc có giá trị tuyệt đối nằm trong phạm vi từ 10-4932 đến 104932 |
Bảng 2. Bộ nhớ lưu trữ một giá trị và phạm vi giá trị của kiểu thực
Kiểu kí tự (kiểu có thứ tự, đếm được): là tập giá trị các kí tự trong bộ mã ASCII. Được dùng khi thông tin là các kí tự, xâu (string).
Kiểu | Bộ nhớ lưu trữ một giá trị | Phạm vi giá trị |
Char | 1 byte | 256 kí tự trong bộ mã ASCII |
Bảng 3. Bộ nhớ lưu trữ một giá trị và phạm vi giá trị của kiểu kí tự
Kiểu lôgic (kiểu thứ tự đếm được): được dùng khi kiểm tra một điều kiện hoặc tìm giá trị của một biểu thức lôgic.
Kiểu | Bộ nhớ lưu trữ một giá trị | Phạm vi giá trị |
Boolean | 1 byte | True hoặc False |
Bảng 1. Bộ nhớ lưu trữ một giá trị và phạm vi giá trị của kiểu logic
Chương trình dịch Pascal sẽ cấp phát bao nhiêu Byte bộ nhớ cho khai báo sau:
Var x : Integer;
y, z : Real;
c : Char;
Gợi ý làm bài:
Vậy cần cấp phát 15 byte bộ nhớ cho khai báo trên.
Sau khi học xong bài này các em cần ghi nhớ các nội dung:
Các em có thể hệ thống lại nội dung kiến thức đã học được thông qua bài kiểm tra Trắc nghiệm Tin học 11 Bài 4 cực hay có đáp án và lời giải chi tiết.
Chương trình dịch Pascal sẽ cấp phát bao nhiêu byte bộ nhớ cho các biến trong khai báo sau?
VAR M, N, P : Integer;
A, B: Real;
C: Longint;
Biến x nhận giá trị nguyên trong đoạn [-300 ; 300], kiểu dữ liệu nào sau đây là phù hợp nhất để khai báo biến x?
Trong ngôn ngữ lập trình Pascal, giả sử x:= a/b; thì x phải khai báo kiểu dữ liệu nào?
Câu 4-10: Mời các em đăng nhập xem tiếp nội dung và thi thử Online để củng cố kiến thức về bài học này nhé!
Trong quá trình học tập nếu có thắc mắc hay cần trợ giúp gì thì các em hãy comment ở mục Hỏi đáp, Cộng đồng Tin học DapAnHay sẽ hỗ trợ cho các em một cách nhanh chóng!
Chúc các em học tập tốt và luôn đạt thành tích cao trong học tập!
-- Mod Tin Học 11 DapAnHay
Chương trình dịch Pascal sẽ cấp phát bao nhiêu byte bộ nhớ cho các biến trong khai báo sau?
VAR M, N, P : Integer;
A, B: Real;
C: Longint;
Biến x nhận giá trị nguyên trong đoạn [-300 ; 300], kiểu dữ liệu nào sau đây là phù hợp nhất để khai báo biến x?
Trong ngôn ngữ lập trình Pascal, giả sử x:= a/b; thì x phải khai báo kiểu dữ liệu nào?
Bộ nhớ sẽ cấp phát cho các biến dưới đây tổng cộng bao nhiêu byte?
Var x,y:integer;
c:char;
ok:boolean;
z: real;
Biến x có thể nhận các giá trị -5, 100, 15, 20. Hãy chọn kiểu dữ liệu phù hợp với biến x?
Biến X có thể nhận các giá trị 1; 100; 150; 200 và biến Y có thể nhận các giá trị 1; 0.2; 0.3; 10.99. Khai báo nào trong các khai báo sau là đúng nhất?
Biến X nhận giá trị là 0.7. Khai báo nào sau đây là đúng?
Trong ngôn ngữ lập trình Pascal, kiểu dữ liệu nào trong các kiểu sau có miền giá trị lớn nhất?
Phạm vi giá trị của kiểu integer thuộc:
Trong 1 chương trình, biến M có thể nhận các giá trị: 10, 15, 20, 30, 40, và biến N có thể nhận các giá trị: 1.0 , 1.5, 2.0, 2.5 , 3.0. Khai báo nào trong các khai báo sau là đúng?
Họ và tên
Tiêu đề câu hỏi
Nội dung câu hỏi
Trong ngôn ngữ lập trình Pascal, giả sử x:= a/b; thì x phải khai báo kiểu dữ liệu nào?
A. Longint
B. integer
C. word
D. real
Câu trả lời của bạn
X:=a/b; thì x phải khai báo kiểu số thực Real vì a có thể chia hết hoặc không chia hết cho b. Còn các kiểu Longint, word, integer là kiểu số nguyên nên không được.
Đáp án: D
A. 12
B. 14
C. 11
D. 13
Câu trả lời của bạn
Kiểu Interger bộ nhớ lưu trữ một giá tri là 2 byte → 2 biến x, y cần 2 x 2= 4 byte
Kiểu Real bộ nhớ lưu trữ một giá tri là 6 byte → 1 biến z cần 1 x 6 = 6 byte
Kiểu char bộ nhớ lưu trữ một giá tri là 1 byte → 1 biến C cần 1 x 1 = 1 byte
Kiểu boolean bộ nhớ lưu trữ một giá tri là 1 byte → 1 biến ok cần 1 x 1 = 1 byte
Vậy cần cấp 6 + 4 + 1 + 1 = 12 byte bộ nhớ cho các biến.
Đáp án: A
A. Char
B. LongInt
C. Integer
D. Word
Câu trả lời của bạn
Các số -5, 100, 15, 20 là các số nguyên → kiểu dữ liệu của x là kiểu nguyên. Trong x có giá trị -5 → chỉ có thể là kiểu integer, longint (vì chứa giá trị âm). Vì các giá trị này có giá trị nhỏ nên kiểu dữ liệu phù hợp với biến x là integer (longint sẽ chiếm bộ nhớ lớn).
Đáp án: C
A. Var X,,Y: byte;
B. Var X, Y: real;
C. Var X: real; Y: byte;
D. Var X: byte; Y: real;
Câu trả lời của bạn
Các giá trị 1; 100; 150; 200 là các số nguyên→ kiểu dữ liệu của X là byte,
Các giá trị 1; 0.2; 0.3; 10.99 là các số thực → kiểu dữ liệu của Y là real.
Đáp án: D
Biến X nhận giá trị là 0.7. Khai báo nào sau đây là đúng?
A. var X: Boolean;
B. var X: real;
C. var X: char;
D. A và B đúng
Câu trả lời của bạn
Biến X nhận giá trị là 0.7 (là số thực)→ X nhận kiểu thực (real).
Đáp án: B
A. Byte
B. Longint
C. Word
D. Integer
Câu trả lời của bạn
+ Byte có miền giá trị từ 0 đến 255.
+ Integer có miền giá trị từ -32768 đến 32767
+ Word có miền giá trị từ 0 đến 65535
+ Longint có miền giá trị từ -2147483648 đến 2147483647
Đáp án: B
A. Từ 0 đến 255
B. Từ -215 đến 215 -1
C. Từ 0 đến 216 -1
D. Từ -231 đến 231 -1
Câu trả lời của bạn
Phạm vi giá trị của kiểu integer Từ -215 (= -32768) đến 215 -1 (=32767).
Đáp án: B
A. Var M, N: integer;
B. Var M: Real; N: Word;
C. Var M, N: Longint;
D. Var M: Word; N: Real;
Câu trả lời của bạn
Trong 1 chương trình, biến M có thể nhận các giá trị: 10, 15, 20, 30, 40⇒ Biến M kiểu nguyên và biến N có thể nhận các giá trị: 1.0 , 1.5, 2.0, 2.5 , 3.0 ⇒ Biến N kiểu thực.
Đáp án: D
Câu trả lời của bạn
Dữ liệu là thông tin đã mã hóa trong máy tính. Dữ liệu sau khi tập hợp lại và xử lý sẽ cho ta thông tin.
Câu trả lời của bạn
- Một số kiểu dữ liệu chuẩn thường dùng cho các biến chẵn trong Pascal, đó là:
+ Kiểu nguyên: Các kiểu nguyên được lưu trữ và kết quả tính toán là số nguyên nhưng có hạn chế về miền giá trị. Tập số nguyên là vô hạn là có thứ tự, đếm được
+ Kiểu thực: Các kiểu thực được lưu trữ và kết quả tính toán chỉ là gần đúng với sai số không đáng kể, nhưng miền giá trị được mở rộng hơn so với kiểu nguyên. Số thực tromg máy tính rời rạc và hữu hạn. Phép toán chia các toán hạng gồm cả kiểu nguyên và kiểu thực sẽ cho két quả là kiểu thực.
+ Kiểu kí tự: Kiểu kí tự có tập hợp giá trị là các kí tự trong bảng mã ASCII, được dùng khi thông tin là các kí tự, xâu (string). Kiểu kí tự là kiểu có thứ tự, đếm được. Kí tự đặc biệt dùng để thể hiện sự ngăn cách giữa hai từ viết liên tiếp trong các văn bản, là dấu cách.Kiểu lôgíc: Kiểu lôgíc trong Pascal chi có hai giá trị là true và false, được dùng khi kiểm tra một điều kiện hoặc tìm giá trị cùa một biểu thức lôgíc. Kiểu lôgíc cũng là kiểu thứ tự đếm được.
Câu trả lời của bạn
Sau 2 lần thì như thế này: duyệt tuần tự trong lần đầu tiên, lưu độ dài vào một biến đếm, và lần thứ hai thì duyệt với độ dài bằng một nửa lần 1.
Không ít lập trình viên bối rối khi họ chỉ được giới hạn trong 1 lần duyệt duy nhất.
Mẹo để giải quyết câu hỏi này: thay vì dùng 2 lần với 1 con trỏ, hãy dùng 2 con trỏ trong 1 lần duyệt. Con trỏ 1 duyệt tuần tự từng nút, con trỏ 2 duyệt nhảy cóc 2 nút một lần. Như vậy, khi con trỏ 1 dừng lại, con trỏ 2 sẽ duyệt đến phần tử ở giữa linked list.
Câu trả lời của bạn
Với 2 con trỏ có bước nhảy khác nhau, ta có thể xác định được một danh sách liên kết có phải là danh sách liên kết vòng hay không.
Khi 2 con trỏ có bước nhảy khác nhau (một nút và hai nút), nếu sau một số lượt duyệt nhất định, chúng trỏ tới cùng một nút thì danh sách đó là danh sách liên kết vòng
Câu trả lời của bạn
2
Tính tổng của cả dãy, rồi trừ đi tổng các số từ 1 đến 100, phần chệnh lệch sẽ là giá trị cần tìm. Với lựa chọn này, độ phức tạp còn O(n).
Câu trả lời của bạn
Cấu trúc dữ liệu là cách lưu trữ, tổ chức dữ liệu có thứ tự, có hệ thống để dữ liệu có thể được sử dụng một cách hiệu quả.
Dưới đây là hai khái niệm nền tảng hình thành nên một cấu trúc dữ liệu:
- Interface: Mỗi cấu trúc dữ liệu có một Interface. Interface biểu diễn một tập hợp các phép tính mà một cấu trúc dữ liệu hỗ trợ. Một Interface chỉ cung cấp danh sách các phép tính được hỗ trợ, các loại tham số mà chúng có thể chấp nhận và kiểu trả về của các phép tính này.
- Implementation (có thể hiểu là sự triển khai): Cung cấp sự biểu diễn nội bộ của một cấu trúc dữ liệu. Implementation cũng cung cấp phần định nghĩa của giải thuật được sử dụng trong các phép tính của cấu trúc dữ liệu.
Câu trả lời của bạn
- Chính xác: Sự triển khai của Cấu trúc dữ liệu nên triển khai Interface của nó một cách chính xác.
- Độ phức tạp về thời gian (Time Complexity): Thời gian chạy hoặc thời gian thực thi của các phép tính của cấu trúc dữ liệu phải là nhỏ nhất có thể.
- Độ phức tạp về bộ nhớ (Space Complexity): Sự sử dụng bộ nhớ của mỗi phép tính của cấu trúc dữ liệu nên là nhỏ nhất có thể
Câu trả lời của bạn
Ngày nay, các ứng dụng ngày càng phức tạp và lượng dữ liệu ngày càng lớn với nhiều kiểu đa dạng. Việc này làm xuất hiện 3 vấn đề lớn mà mỗi lập trình viên phải đối mặt:
- Tìm kiếm dữ liệu: Giả sử có 1 triệu hàng hóa được lưu giữ vào trong kho hàng hóa. Và giả sử có một ứng dụng cần để tìm kiếm một hàng hóa. Thì mỗi khi thực hiện tìm kiếm, ứng dụng này sẽ phải tìm kiếm 1 hàng hóa trong 1 triệu hàng hóa. Khi dữ liệu tăng lên thì việc tìm kiếm sẽ càng trở lên chậm và tốn kém hơn.
- Tốc độ bộ vi xử lý: Mặc dù bộ vi xử lý có tốc độ rất cao, tuy nhiên nó cũng có giới hạn và khi lượng dữ liệu lên tới hàng tỉ bản ghi thì tốc độ xử lý cũng sẽ không còn được nhanh nữa.
- Đa yêu cầu: Khi hàng nghìn người dùng cùng thực hiện một phép tính tìm kiếm trên một Web Server thì cho dù Web Server đó có nhanh đến mấy thì việc phải xử lý hàng nghìn phép tính cùng một lúc là thực sự rất khó.
Để xử lý các vấn đề trên, các cấu trúc dữ liệu là một giải pháp tuyệt vời. Dữ liệu có thể được tổ chức trong cấu trúc dữ liệu theo một cách để khi thực hiện tìm kiếm một phần tử nào đó thì dữ liệu yêu cầu sẽ được tìm thấy ngay lập tức.
Câu trả lời của bạn
Có 3 trường hợp thường được sử dụng để so sánh thời gian thực thi của các cấu trúc dữ liệu khác nhau:
- Trường hợp xấu nhất (Worst Case): là tình huống mà một phép tính của cấu trúc dữ liệu nào đó tốn thời gian tối đa (thời gian dài nhất). Ví dụ với ba số 1, 2, 3 thì nếu sắp xếp theo thứ tự giảm dần thì thời gian thực thi sẽ là dài nhất (và đây là trường hợp xấu nhất); còn nếu sắp xếp theo thứ tự tăng dần thì thời gian thực thi sẽ là ngắn nhất (và đây là trường hợp tốt nhất).
- Trường hợp trung bình (Average Case): miêu tả thời gian thực thi trung bình một phép tính của một cấu trúc dữ liệu.
- Trường hợp tốt nhất (Best Case): là tình huống mà thời gian thực thi một phép tính của một cấu trúc dữ liệu là ít nhất. Ví dụ như trên.
Câu trả lời của bạn
Dữ liệu: Dữ liệu là các giá trị hoặc là tập hợp các giá trị.
Phần tử dữ liệu: Phần tử dữ liệu là một đơn vị đơn lẻ của giá trị.
Các phần tử nhóm: Phần tử dữ liệu mà được chia thành các phần tử con thì được gọi là các phần tử nhóm.
Các phần tử cơ bản: Phần tử dữ liệu mà không thể bị chia nhỏ thành các phần tử con thì gọi là các phần tử cơ bản.
Thuộc tính và Thực thể: Một thực thể là cái mà chứa một vài thuộc tính nào đó, và các thuộc tính này có thể được gán các giá trị.
Tập hợp thực thể: Các thực thể mà có các thuộc tính tương tự nhau thì cấu thành một tập hợp thực thể.
Trường: Trường là một đơn vị thông tin cơ bản biểu diễn một thuộc tính của một thực thể.
Bản ghi: Bản ghi là một tập hợp các giá trị trường của một thực thể đã cho.
File: Là một tập hợp các bản ghi của các thực thể trong một tập hợp thực thể đã cho.
Câu trả lời của bạn
Nếu bạn muốn cài đặt môi trường lập trình C, bạn cần hai công cụ phần mềm sau đây trên máy tính của bạn:
- Trình soạn thảo văn bản.
- Trình biên dịch C/C++.
Câu trả lời của bạn
Mảng (Array) là một trong các cấu trúc dữ liệu quan trọng nhất. Mảng có thể lưu giữ một số phần tử cố định và các phần tử này nền có cùng kiểu. Hầu hết các cấu trúc dữ liệu đều sử dụng mảng để triển khai giải thuật.
0 Bình luận
Để lại bình luận
Địa chỉ email của hạn sẽ không được công bố. Các trường bắt buộc được đánh dấu *