Trong Pascal cấu trúc lệnh nhập dữ liệu từ bàn phím nào sau đây la đúng

Trả lời: Trong Pascal để nhập giá trị cho biến từ bàn phím ta dùng lệnh Read() hoặc Readln(). Trong ngoặc là danh sách các biến được cách nhau bởi dấu phảy. Đáp án: C

Các nội dung chính

Việc nhập xuất dữ liệu là đều luôn phải làm ở bất cứ chương trình nào! Ở Pascal, việc nhập xuất dữ liệu sẽ gồm các loại:

  • Xuất dữ liệu ra màn hình.
  • Nhập dữ liệu từ bàn phím.
  • Xuất dữ liệu ra tập tin.
  • Nhập dữ liệu từ tập tin.

Ở phần này, chúng ta cùng tìm hiểu các nhập xuất dữ liệu thông qua 2 thành phần cơ bản của máy tính là bàn phím và màn hình. Phần nhập xuất qua tập tin các bạn có thể xem tại đây

Xuất dữ liệu

Các bạn còn nhớ chương trình sau đây chứ?

Program Hello_World; Uses CRT; Begin Writeln('Hello, World!'); Readkey; End.

Ở chương trình trên lệnh Writeln(‘Hello, World!’); dùng để viết dòng chữ Hello, World! ra màn hình. Writeln là lệnh dùng để xuất dữ liệu trong Pascal với cú pháp như sau:

Writeln(<nội dung cần viết>);

Ngoài ra còn có Write cũng cùng chức năng với Writeln. Writeln viết xong sẽ viết thêm dấu xuống dòng, còn Write thì không.

Write(<nội dung cần viết>);

Với <nội dung cần viết> là các giá trị sẽ được in ra màn hình, nếu có nhiều nội dung cần viết thì chúng được ngăn cách với nhau bởi dấu phẩy ,. Có các loại sau:

Văn bản

Văn bản cần được viết ra giống y như trong câu lệnh. Đây được gọi là các chuỗi kí tự và phải bắt đầu và kết thúc với một dấu trích dẫn đơn (dấu nháy đơn) '.

Ví dụ: Writeln(‘Hello, I am Pascal!’); sẽ viết ra Hello, I am Pascal!.

Nội dung các biến

result := 5; Writeln (result);

Sẽ viết ra màn hình 5

Giá trị của biểu thức

a := 5; b := 3; Writeln (a + b);

Sẽ viết ra màn hình 8

Một lệnh Writeln có thể kết hợp cả 2 hay 3 loại. Ví dụ:

result := 5; Writeln('The Result is: ', result); { The Result is: 5 } index := 3; Writeln('A[', index, '] = ', result); { A[3] = 5 } a := 3; b := 5; c:= 7; Writeln('A[', index, '] = ', a + b + c); { A[3] = 8 }

Khi giá trị của một biến hoặc một biểu thức là một số thực thì mặc định nó được ghi ra dưới dạng dấu phẩy động, ta cần định dạng lại số thực như sau:

Writeln('The Result is: ', 4 / 3); { The Result is: 7.5000000000000000E-001 } Writeln('The Result is: ', 4 / 3 :0:2); { The Result is: 0.75 }

:0:2 là dùng để định dạng số. Trong đó :0 là chừa 0 khoảng trống để in phần nguyên và :2 là in 2 chữ số ở phần thập phân. Muốn 4 số phần thập phân thì dùng :0:4

Lệnh Writeln có thể được dùng mà không cần chỉ định các giá trị cần được in ra! Khi không chỉ định các giá trị cần in ra thì lệnh Writeln sẽ in ra 1 dấu xuống dòng

Nhập dữ liệu

Nhập dữ liệu tức là đưa một thông tin nào đó vào chương trình. Cú pháp cơ bản để nhập dữ liệu từ bàn phím vào Pascal như sau:

Trong đó <Danh sách biến> là danh sách các biến cần được nhập dữ liệu từ bàn phím và được ngăn cách với nhau vởi dấu phẩy , Lệnh Read xử lý đầu vào dưới dạng một chuỗi các kí tự với các dòng ngăn cách nhau bởi một kí tự kết thúc dòng. Các biến được đọc bằng Read có thể nằm trên 1 hoặc nhiều dòng, miễn sau chúng được ngăn cách nhau bởi dấu cách trắng, dấu Tab hay dấu xuống dòng là được.

Pascal còn có lệnh Readln để đọc dữ liệu đầu vào mà mỗi biến nằm riêng trên 1 dòng. Nếu có nhiều giá trị nằm chung 1 dòng thì lệnh Readln sẽ chỉ đọc giá trị đầu tiên. Readln có cú pháp như sau:

Readln(<Danh sách biến>);

Giả sử khi chạy chương trình người ta nhập dữ liệu đầu vào như sau: 45 97 3

1 2 3

Ví dụ như a, b, c, d đều là số nguyên thì các lệnh ReadReadln sẽ đọc được nội dung như sau:

Read(a); { a = 45 } Read(b); { b = 97 }

Readln(a); { a = 45 } Read(b); { b = 1 }

Read(a, b, c, d); { a = 45, b = 97, c = 3, d = 1 }

Readln(a, b); {a = 45, b = 97 } Readln(c, d); { c = 1, d = 2 }

Khi đọc bằng số nguyên, tất cả các khoảng trống được bỏ qua cho đến khi tìm thấy một số. Sau đó, tất cả các số tiếp theo sẽ được đọc, cho đến khi chạm tới một ký tự không phải số.

Ví dụ người dùng nhập: 8352.38

Khi một số nguyên được đọc từ đầu vào ở trên, giá trị của nó sẽ là 8352. Nếu ngay sau đó, bạn đọc một ký tự, giá trị sẽ là . Vì đầu đọc đã dừng lại ở ký tự không phải chữ số.

Giả sử ta cố gắng đọc hai số nguyên. Điều đó sẽ không thực hiện được, bởi vì khi máy tính tìm dữ liệu để lấp đầy biến thứ hai, nó sẽ thấy . Và dừng lại vì nó không thể tìm thấy bất kỳ số nào để đọc.

Với các giá trị thực, máy tính cũng bỏ qua các khoảng cách (cách trắng hoặc Tab) và sau đó đọc vào nhiều nhất có thể. Tuy nhiên, nhiều trình biên dịch Pascal đặt một hạn chế bổ sung: nếu là số N0 < N < 1 thì nó phải có dạng 0.xxx. Vì vậy, .678 là không đọc được, nhưng 0.678 là đọc bình thường.

Hãy chắc chắn rằng tất cả các định danh trong danh sách đối số phải là các biến! Hằng không thể gán một giá trị.

Trong Pascal để nhập giá trị cho biến từ bàn phím ta dùng lệnh Read[] hoặc Readln[]. Trong ngoặc là danh sách các biến được cách nhau bởi dấu phảy.


Đáp án: C

Câu 1:  Để nhập dữ liệu từ bàn phím  ta dùng lệnh:

A. Readln[x];     B. X:= ‘dulieu’;      C. Write[‘Nhap du lieu’];        D. Clrscr;

Câu  2:  Để xoá màn hình ta dùng lệnh:

A. End.      B. Clrscr;                    C. Begin ;                     D. readln ;

Câu  3:  Lệnh nào sau đây cho biết chương trình đã kết thúc

A. End.            B. Begin                    C. Uses                     D. var

Câu 4 :  Trong pascal, khai báo nào sau đây là đúng ?

A. Var X: = 100;          B. Var tb: real;           C. Conts X: integer;        D. Var R=15;

Câu 5:  Trong pascal, từ khoá nào sau đây viết sai ?

A. End.        B. Begin           C. Pro_gram                             D. Uses

Câu 6:  Trong các từ sau, từ nào không  là từ khoá?

A. Program         B. End             C. Begin                      D. Write

Câu 7:  Ngôn ngữ lập trình là:

A. ngôn ngữ dùng để viết chương trình  máy tính.            B. một thuật toán.

C. chương trình máy tính.                                                D. môi trường lập trình.

Câu 8:   Khi ta khai báo biến x có kiểu là Real thì phép gán nào sau đây là hợp lệ?

            A. x:= 5000000              B. x:= 200              C. x:= 1.23         D. x:= ‘tin_hoc’

Câu 9:   Khi ta khai báo biến x có kiểu là String thì phép gán nào sau đây là hợp lệ?

            A. x:= ‘tin_hoc’       B. x:= 200          C. x:= 1.23         D. x:= 5000000

Câu 10:   Cấu trúc chung của chương trình gồm mấy phần?   

A. 4 phần       B. 3 phần    C. 1 phần            D. 2 phần

Câu 11:  Để khai báo biến x thuộc kiểu số thực ta khai báo:

A. Var x: Char;     B. Var x: String;     C. Var x: Real;        D. Var x: integer;

Câu 12:  Để khai báo biến x thuộc kiểu số xâu ta khai báo:

A. Var x: Real;      B. Var x: integer;

C. Var x: Char;      D. Var x: String

Câu 13:  Để khai báo biến x thuộc kiểu số kí tự ta khai báo:

A. Var x: Char;    B. Var x: Real;     C. Var x: String;      D. Var x: integer;

Câu 14:  Hãy cho biết kết quả xuất ra màn hình sau khi thực hiện câu lệnh Writeln[16*2-3];

A. 16*2-3=      B. 16*2-3=29       C. 29                D. 16*2-3

Câu 15:  Câu lệnh cho phép ta đọc giá trị của a ra màn hình là:

A. readln[a];      B. Writeln[‘a’];    C. Write[‘nhap gia tri cua a:’];      D. Writeln[a];

Câu 16:  Sau 2 câu lệnh x:=5; x:=x+x; Giá trị của biến x là:

A. 15       B. 25        C. 10      D. 5

Câu 17:  Để gán giá trị 2 cho biến x ta dùng lệnh:

A. x:2;                   B. x = 2;

C. x =: 2;               D. x:= 2;

Câu 18:  Máy tính có thể có thể hiểu trực tiếp ngôn ngữ nào trong các ngôn ngữ dưới đây ?

A. Ngôn ngữ tự nhiên                          B. Ngôn ngữ lập trình

C. Ngôn ngữ máy                                 D. Tất cả các ngôn ngữ trên.

Câu 19:  Để thoát chương trình ta dùng tổ hợp phím:

A. Ctrl + F9      B. Alt + X              C. Alt + F9                    D. Ctrl + X

Câu 20:  Trong các tên chương trình sau, tên nào viết đúng ?

A.     Lop.8A      B. Tu giac                   C. 1Lơp8A                 D. tu_giac

Câu lệnh gán [:=]: <Tên biến>:=<Biểu thức>;

- Các lệnh xuất nhập dữ liệu: READ/READLN, WRITE/WRITELN.

- Lời gọi hàm, thủ tục.

1.2. Câu lệnh có cấu trúc

- Câu lệnh ghép: BEGIN ... END;

- Các cấu trúc điều khiển: IF.., CASE..., FOR..., REPEAT..., WHILE...

1.3. Các lệnh xuất nhập dữ liệu

1.3.1. Lệnh xuất dữ liệu

Để xuất dữ liệu ra màn hình, ta sử dụng ba dạng sau:

  1. WRITE[<tham số 1> [, <tham số 2>,...]];
  2. WRITELN[<tham số 1> [, <tham số 2>,...]];
  3. WRITELN;

Các thủ tục trên có chức năng như sau:

  1. Sau khi xuất giá trị của các tham số ra màn hình thì con trỏ không xuống dòng.
  2. Sau khi xuất giá trị của các tham số ra màn hình thì con trỏ xuống đầu dòng tiếp theo.
  3. Xuống dòng.

Các tham số có thể là các hằng, biến, biểu thức. Nếu có nhiều tham số trong câu lệnh thì các tham số phải được phân cách nhau bởi dấu phẩy.

Khi sử dụng lệnh WRITE/WRITELN, ta có hai cách viết: không quy cách và có qui cách:

Viết không quy cách: dữ liệu xuất ra sẽ được canh lề ở phía bên trái. Nếu dữ liệu là số thực thì sẽ được in ra dưới dạng biểu diễn khoa học.

Ví dụ:

WRITELN[x]; WRITE[sin[3*x]];

Viết có qui cách: dữ liệu xuất ra sẽ được canh lề ở phía bên phải.

Ví dụ:

WRITELN[x:5];

WRITE[sin[13*x]:5:2];

Câu lệnh

Kết quả trên màn hình

Writeln['Hello'];

Writeln['Hello':10];

Writeln[500];

Writeln[500:5];

Writeln[123.457]

Writeln[123.45:8:2]

Hello

     Hello

500

  500

1.2345700000E+02

  123.46

1.3.2. Nhập dữ liệu

Để nhập dữ liệu từ bàn phím vào các biến có kiểu dữ liệu chuẩn [trừ các biến kiểu BOOLEAN], ta sử dụng cú pháp sau đây:

READLN[<biến 1> [,<biến 2>,...,<biến n>]];

Chú ý: Khi gặp câu lệnh READLN; [không có tham số], chương trình sẽ dừng lại chờ người sử dụng nhấn phím ENTER mới chạy tiếp. 

1.3.4. Các hàm và thủ tục thường dùng trong nhập xuất dữ liệu

  • Hàm KEYPRESSED: Hàm trả về giá trị TRUE nếu như có một phím bất kỳ được nhấn, nếu không hàm cho giá trị là FALSE.
  • Hàm READKEY: Hàm có chức năng đọc một ký tự từ bộ đệm bàn phím.
  • Thủ tục GOTOXY[X,Y:Integer]: Di chuyển con trỏ đến cột X dòng Y.
  • Thủ tục CLRSCR: Xoá màn hình và đưa con trỏ về góc trên bên trái màn hình.
  • Thủ tục CLREOL: Xóa các ký tự từ vị trí con trỏ đến hết dòng.
  • Thủ tục DELLINE: Xoá dòng tại vị trí con trỏ và dồn các dòng ở phía dưới lên.
  • Thủ tục TEXTCOLOR[color:Byte]: Thiết lập màu cho các ký tự. Trong đó color 

    Î

     [0,15].
  • Thủ tục TEXTBACKGROUND[color:Byte]: Thiết lập màu nền cho màn hình.

Viết chương trình tính chu vi và diện tích của hình chữ nhật có chiều dài hai cạnh là a, b [được nhập từ bàn phím].

Hướng dẫn:

- Nhập hai cạnh vào hai biến a, b.

- Chu vi hình chữ nhật bằng 2*[a+b]; Diện tích hình chữ nhật bằng a*b.

Bài tập 1.2:

Viết chương trình tính chu vi, diện tích hình vuông có cạnh a [được nhập từ bàn phím].

Hướng dẫn:

- Nhập cạnh vào biến canh.

- Chu vi hình vuông bằng 4*canh; Diện tích hình vuông bằng canh*canh.

Bài tập 1.3:

Viết chương trình tính chu vi và diện tích hình tròn có bán kính r [được nhập từ bàn phím].

Hướng dẫn:

- Nhập bán kính vào biến r.

- Chu vi đường tròn bằng 2*p*r.

- Diện tích hình tròn bằng p*r*r.

Bài tập 1.4:

Viết chương trình tính diện tích của tam giác có ba cạnh là a,b,c [được nhập từ bàn phím]

Hướng dẫn:

- Nhập ba cạnh của tam giác vào ba biến a,b,c.

- Nửa chu vi của tam giác p = [a+b+c]/2.

- Diện tích của tam giác: s =.

Bài tập 1.5:

Viết chương trình cho phép tính trung bình cộng của bốn số.

Hướng dẫn:

- Nhập bốn số vào bốn biến a, b, c, d

- Trung bình cộng của a, b, c, d bằng [a + b + c + d]/4.

Bài tập 1.6:

Viết chương trình cho phép tính trung bình cộng của bốn số với điều kiện chỉ được sử dụng hai biến.

Hướng dẫn:

- Dùng một biến S có giá trị ban đầu bằng 0.

- Dùng một biến để nhập số.

- Sau khi nhập một số cộng ngay vào biến S.

Bài tập 1.7:

Viết chương trình cho phép tính trung bình nhân của bốn số với điều kiện chỉ được sử dụng hai biến.

Hướng dẫn:

- Dùng một biến S có giá trị ban đầu bằng 1.

- Dùng một biến để nhập số.

- Sau khi nhập một số nhân ngay vào biến S.

- Trung bình nhân bốn số là căn bậc 4 tích của chúng [Dùng hai lần căn bậc hai].

Bài tập 1.8:

Viết chương trình nhập hai số, đổi giá trị hai số rồi in ra hai số.

Hướng dẫn:

- Dùng các biến a, b để lưu hai số được nhập từ bàn phím;

- Gán cho biến tam giá trị của a.

- Gán giá trị của b cho a. [Sau lệnh  này a có giá trị của b].

- Gán giá trị của tạm cho cho b [Sau lệnh này b có giá trị của tam = a].

Bài tập 1.9:

Giải bài tập 1.8 mà chỉ được sử dụng hai biến [Tức không được dùng thêm biến tạm].

Hướng dẫn:

- Cộng thêm b vào a. [Giá trị hai biến sau lệnh này là: a+b, b]

- Gán b bằng tổng trừ đi b [Sau lệnh này b có giá trị bằng a];

- Gán giá trị a bằng tổng trừ đi b mới [Sau lệnh này a có giá trị bằng b].

Bài tập 1.10:

Viết chương trình cho biết chữ số hàng trăm, hàng chục, hàng đơn vị của một số có ba chữ số. Ví dụ khi nhập số 357 thì máy in ra:

- Chữ số hàng trăm: 3.

- Chữ số hàng chục: 5.

- Chữ số hàng đơn vị: 7.

Hướng dẫn:

Sử dụng hàm mov để lấy số dư. Khi chia cho 10 để lấy số dư ta được chữ số hàng đơn vị. Sử dụng DIV để lấy phần nguyên. Khi chia cho 10 để lấy phần nguyên ta đã bỏ đi chữ số hàng đơn vị để số có ba chữ số còn số có hai chữ số.