Máy tính cần cấp phát bao nhiêu bộ nhớ cho các biến trong khai báo sau

a) có 4 biến : M, N, I J kiểu integer 

1 interger = 2 byte => 4 biến cần 8 byte ( 4 x 2 )

b) có 4 biến : P, A, B, C kiêureal

1 real= 6 byte => 4 biến cần 24 byte ( 4 x 6 )

c) có 1 biến : X kiểu extended 

1 extended= 10 byte => cần 10 byte

d) H, K cần 4 byte ( 1 word = 2 byte )

  • Tải app VietJack. Xem lời giải nhanh hơn!

Câu 1: 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;

B. 24 byte

C. 22 byte

D. 18 byte

Hiển thị đáp án

Trả lời:

Kiểu Interger bộ nhớ lưu trữ một giá tri là 2 byte → 3 biến M, N, P cần 3 x 2= 6 byte

Kiểu Real  bộ nhớ lưu trữ một giá tri là 6 byte → 2 biến A. B cần 2 x 6 = 12 byte

Kiểu Longint  bộ nhớ lưu trữ một giá tri là 4 byte → 1 biến C cần 1 x 4 = 4 byte

→ Vậy cần cấp 6+ 12+ 4 = 22 byte bộ nhớ cho các biến.

Đáp án: C

Câu 2: 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?

A. Longint

B. Integer

C. Word

D. Real

Hiển thị đáp án

Trả lời:

X thuộc kiểu nguyên (byte, integer, word, longint) nằm trong đoạn [-300 ; 300], kiểu dữ liệu phù hợp nhất để khai báo biến x là kiểu integer vì kiểu này nằm trong đoạn [-32768; 32767].

Đáp án: B

Câu 3: 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

Hiển thị đáp án

Trả lời:

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

Câu 4: 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;

A. 12

B. 14

C. 11

D. 13

Hiển thị đáp án

Trả lời:

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

Câu 5: 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?

A. Char

B. LongInt

C. Integer

D. Word

Hiển thị đáp án

Trả lời:

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

Câu 6: 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?

A. Var X,,Y: byte;

B. Var X, Y: real;

C. Var X: real; Y: byte;

D. Var X: byte; Y: real;

Hiển thị đáp án

Trả lời:

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

Câu 7: 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

Hiển thị đáp án

Trả lời: 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

Câu 8: 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?

A. Byte

B. Longint

C. Word

D. Integer

Hiển thị đáp án

Trả lời:

+ 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

Câu 9: Phạm vi giá trị của kiểu integer thuộc:

A. Từ 0 đến 255

B. Từ -215 đến 215 -1

C. Từ 0 đến 216 -1

D. Từ -231 đến 231 -1

Hiển thị đáp án

Trả lời:

Phạm vi giá trị của kiểu integer Từ -215  (= -32768)  đến 215 -1 (=32767).

Đáp án: B

Câu 10: 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?

A. Var M, N: integer;

B. Var M: Real; N: Word;

C. Var M, N: Longint;

D. Var M: Word; N: Real;

Hiển thị đáp án

Trả lời:

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

Xem thêm các bài Câu hỏi trắc nghiệm Tin học 11 chọn lọc, có đáp án khác:

Giới thiệu kênh Youtube VietJack

  • Hỏi bài tập trên ứng dụng, thầy cô VietJack trả lời miễn phí!

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Nhóm học tập facebook miễn phí cho teen 2k5: fb.com/groups/hoctap2k5/

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Nếu thấy hay, hãy động viên và chia sẻ nhé! Các bình luận không phù hợp với nội quy bình luận trang web sẽ bị cấm bình luận vĩnh viễn.

03/09/2020 2,249

Câu hỏi Đáp án và lời giải

Đáp án và lời giải

đáp án đúng: C

Trong khai báo trên, chương trình dịch Pascal sẽ cấp phát 22 byte bộ nhớ cho các biến

Hoàng Việt (Tổng hợp)

  • 19 Tháng Một, 2022
  • Nguyễn Trường Thọ
  • Tin học 11

Trắc nghiệm: 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;

A. 20 byte

B. 24 byte

C. 22 byte

D. 18 byte

Trả lời:

Đáp án đúng: C. 22 byte

Giải thích:

Kiểu Interger bộ nhớ lưu trữ một giá tri là 2 byte → 3 biến M, N, P cần 3 x 2= 6 byte

Kiểu Real  bộ nhớ lưu trữ một giá tri là 6 byte → 2 biến A. B cần 2 x 6 = 12 byte

Kiểu Longint  bộ nhớ lưu trữ một giá tri là 4 byte → 1 biến C cần 1 x 4 = 4 byte

→ Vậy cần cấp 6 + 12 + 4 = 22 byte bộ nhớ cho các biến.

Cùng Top tài liệu tìm hiểu về lập trình Pascal nhé!

Pascal (phiên âm tiếng Việt: Pát-xcan) là một ngôn ngữ lập trình cho máy tính thuộc dạng mệnh lệnh và thủ tục, do giáo sư Niklaus Writh – Trường Đại Học Kỹ Thuật Zurich – Thụy Sĩ đề xuất năm 1970 và đặt tên là Pascal để tưởng nhớ nhà toán học, triết học nổi tiếng người Pháp: Blaise Pascal. Pascal là ngôn ngữ lập trình đặc biệt thích hợp với kiểu lập trình cấu trúc và cấu trúc dữ liệu.

Pascal được phát triển theo khuôn mẫu của ngôn ngữ ALGOL 60. Wirth đã phát triển một số cải tiến cho ngôn ngữ này như một phần của các đề xuất ALGOL X, nhưng chúng không được chấp nhận do đó ngôn ngữ Pascal được phát triển riêng biệt và phát hành vào năm 1970.

Bất cứ một ngôn ngữ lập trình nào cũng được xây dựng từ một số hữu hạn các ký hiệu. Trong ngôn ngữ Pascal được xây dựng từ các ký hiệu:

Begin, end, var, while, do, {, }, ;, …

Và các kí tự a, b, c, d, …, A, B, C, D, …, 1, 2, 3, 4, …

Ngôn ngữ Pascal không dùng các ký hiệu của bộ chữ Hy Lạp.

Để xây dựng thành chương trình, các ký hiệu phảI tuân theo những quy ước về ngữ pháp và ngữ nghĩa quy định của Pascal.

a) Danh hiệu (identifiler)

Trong Pascal, để đặt tên cho các biến, hằng, kiểu, chương trình con, ta dùng danh hiệu (indentifiler). Danh hiệu trong Pascal quy định bắt đầu phảI là một chữ cái, sau đó có thể là chữ cái, chữ số hau là dấu gạch dướI “_”.

Ví dụ:

Tam X PT_bac_1 Delta

Z200

Ví dụ: các biến sau không phảI là danh hiệu

2bien n!

Bien x

Trong Pascal danh hiệu không phân biệt chữ thường và chữ hoa.

Ví dụ: y vớI Y là một. Thanh_Da và THANH_dA là một.

Chú ý: Chúng ta không nên đặt danh hiệu trùng vớI danh hiệu của ngôn ngữ và nên dùng danh hiệu có tính gợI nhớ để dễ viết và kiểm tra chương trình, người đọc cũng cảm thấy dễ hiểu.

Ví dụ: Write, Writeln, read, readln, sqrt, integer, real …

b) Từ khoá (key word)

Trong ngôn ngữ có những từ được dành riêng như là những phần tử tạo nên ngôn ngữ. Do đó chúng ta không được đặt những danh hiệu trùng với những từ dành riêng này. Người ta thường gọi những từ này là từ khoá (key word).

Ví dụ:

And  External   Mod   Shr  Array  File   Nil  String  Begin  For   Not   Then  Case   Function  Object  To  Const   Goto  Of  Type Constructor   If   Or  Unit  Div   Implementation   Packed   Until  Do   In   Procedure   Uses  Downto   Inline   Program  Var  Else   Interface Record   Virtual  End   Label   Repeat   While  Set   Shl   With   Xor

Từ dành riêng này cũng không phân biệt chữ thường và chữ hoa.

c) Khoảng trắng, dấu chấm phẩy, dấu móc, dấu nháy đơn, toán tử, toán hạng.

– Khoảng trắng “ “: Dùng để cách biệt 2 từ trong chuỗi.

– Dấu chấm phẩy “;”: Dùng sau tên chương trình, sau các câu lệnh.

– Dấu móc “{ }”: Trong Pascal những gì đặt trong hai dấu móc sẽ là phần ghi chú.

– Dấu nháy đơn “’”: Dùng để bao một chuỗi.

– Toán tử: Đặt giữa hai toán hạng. Ví dụ: x+2, y=8, 7>3, x<7, z>=y … vậy +, =, >, <, <= là các toán tử, còn hai bên sẽ là các toán hạng.

Cấu trúc một chương trình Pascal nói chung sẽ bao gồm một lệnh tiêu đề, phần khai báo và phần thực thi theo thứ tự đó. Cùng với việc học những hàm Pascal thì bạn cần nắm cấu trục một chương trình Pascal để áp dụng câu lệnh, hàm một cách hợp lý.

Cấu trúc một chương trình Pascal cơ bản bao gồm các phần dưới đây:

– Tên chương trình

– Sử dụng lệnh

– Kiểu khai báo

– Khai báo liên tục

– Khai báo biến

– Khai báo hàm

– Khai báo thủ tục

– Khối chương trình chính

– Báo cáo và biểu thức trong mỗi khối

– Comment

Định dạng dưới đây là cú pháp cơ bản của một chương trình Pascal:

program {name of the program}

uses {comma delimited names of libraries you use}

const {global constant declaration block}

var {global variable declaration block}

function {function declarations, if any}

{ local variables }

begin

end;

procedure { procedure declarations, if any}

{ local variables }

begin

end;

begin { main program block starts}

end. { the end of main program block }

a. Phép toán

Tương tự trong toán học, trong các ngôn ngữ lập trình đều có những phép toán số học như cộng, trừ, nhân, chia, …

Các phép toán bao gồm các phép toán số học, cá phép toán quan hệ, các phép toán logic.

Trong bài này ta sẽ kí hiệu như sau: Phép toán (Phép toán trong Pascal).

Ví dụ: Phép cộng (+) nghĩa là phép cộng trong pascal sử dụng kí hiệu + .

– Các phép toán số học:

+ Với các số nguyên: Cộng(+), Trừ(-), Nhân(*), Chia lấy nguyên(div), Chia lấy phần dư(mod).

+ Với các sô thực: Cộng(+), Trừ(-), Nhân(*), Chia(/).

– Các phép toán quan hệ:

+ Nhỏ hơn(<), Nhỏ hơn hoặc bằng(<=), Lớn hơn(>), Lớn hơn hoặc bằng(>=), Bằng(=), Khác(<>).

– Các phép toán logic:

+ Phủ định (not), Hoặc(or), Và(And).

Kết quả các phép toán quan hệ cho giá trị logic

Ví dụ: 5<6 cho giá trị đúng(TRUE).

5>6 cho giá trị sai (FALSE).

Các phép toán logic để tạo ra các biểu thưc phức tạp từ các quan hệ đơn giản.

Ví dụ: 5<x and 10 > = x (Biến 5 < x < = 10)

b) Biểu thức số học

Trong lập trình, biểu thức số học là một biến kiểu số, một hằng, các biến kiểu số, các hằng số liên kết với nhau bởi một số hữu hạn các phép toán, các dấu ngoặc tròn.

Các phép toán được thực hiện theo thứ tự:

+ Thực hiện các phép toán trong ngoặc trước, nếu không chứa ngoặc thì thực hiện từ trái qua phải, theo thứ tự các phép toán nhân (*) , chia (/), chia lấy nguyên (div), chia lấy dư (mod) thực hiện trước và các phép toán cộng (+), trừ (-), thực hiện sau.

Chú ý không bỏ dấu * trong tích

Ví dụ:

5a+6b chuyển sang pascal sẽ là 5*a+6*b.

chuyển sang pascal sẽ là x*y/z.

Ax2 chuyển sang pascal sẽ là A*x*x.

Note:

+ Nếu biểu thức chứa một hằng hay một biến kiểu thực thì giá trị của biểu thức cũng thuộc kiểu thực.

Ví dụ: A+B

Trong đó A là kiểu integer và B là kiểu thực thì giá trị của biểu thức A+B sẽ là kiểu thực.

Video liên quan

Chủ đề