Ý nghĩa của lệnh read là gì


Hai cách viết read và readln có ý nghĩa như nhau về tác dụng nhập dữ liệu, chỉ khác là

sau khi thực hiện xong chức năng này thì lệnh readln sẽ ñưa con trỏ về ñầu dòng tiếp theo,

còn lệnh read thì không.

Ngoài 2 cách viết trên còn có thủ tục readln; không có tham số cho phép dừng chương

trình chờ gõ một phím bất kì trước khi tiếp tục.

Chú ý: Khi vào dữ liệu cho biến kí tự hoặc biến xâu kí tự ta dùng thủ tục Readln[..] và

mỗi biến trong một thủ tục.

Ví dụ: ðầu chương trình khai báo các biến

Var t: string; p: char; i,j,k : integer;

Trong thân chương trình vào dữ liệu cho các biến trên có thể viết như sau:

Readln[t]; readln[p]; readln[i,j,k];

2.2. Các thủ tục ra dữ liệu

Có 2 cách viết dữ liệu ra màn hình:

write[ các mục cần ghi ra ];

writeln[ các mục cần ghi ra ];

- ý nghĩa: ñưa ra màn hình các kết quả tính toán trong chương trình, giá trị các biến, hay

tất cả những gì nằm giữa cặp dấu nháy ' ... '

- Ví dụ: write[x,y];

In ra màn hình các giá trị x và y, kết quả trên màn hình là 36

Có thể viết thành

write[x]; write[y];

hay rõ hơn

write['x=',x];write['y=',y]; thì kết quả là x=3 y=6

các kí tự 'x=' và 'y=' nằm trong cặp dấu ngoặc chỉ có tác dụng trình bày, làm phân biệt rõ

các giá trị ñược viết ra.

Hai cách viết trên có ý nghĩa như nhau về việc thể hiện dữ liệu ra màn hình, tuy nhiên thủ

tục writeln sẽ chuyển con trỏ xuống ñầu dòng tiếp theo sau khi thực hiện, con thủ tuc write

giữ nguyên vị trí con trỏ.

Ngoài 2 dạng trên còn có thủ tục writeln; không có tham số chỉ có tác dụng ñưa ra một

dòng trắng không chứa gì.

2. 3. Kết hợp read, readln và write, writeln ñể nhập dữ liệu

Ta có thể kết hợp các thủ tục trên ñể tạo ra dạng nhập dữ liệu sáng sủa và ñẹp mắt theo mẫu:

write[' câu nhắc nhập dữ liệu ']; readln[biến];

Ví dụ:

write[ ' Hãy nhập dữ liệu cho biến x:']; hay write['x='];

readln[x];

readln[x];

kết quả sẽ là:

Hãy nhập dữ liệu cho biến x:[ ta gõ ] 3

hay x= [ ta gõ ] 3

nên viết câu dẫn nhập gợi ý biến sẽ ñược nhập vào, không nên bỏ qua hoặc viết

writeln[ ' Hãy nhập dữ liệu cho biến x:']; hay

writeln['x='];

read[x];

read[x];

vì như thế khi chạy chương trình con trỏ nhập sẽ nhảy xuống dòng dưới dòng hướng dẫn, nhìn

không ñẹp mắt thế này

Hãy nhập dữ liệu cho biến x:

hay x=

[ ta gõ ] 3

[ ta gõ ] 3

125



Trường ðại học Nông nghiệp 1 - Giáo trình Tin học ñại cương --------------------------------------------- 125



2.4. Viết ra dữ liệu có quy cách

Một trong những yêu cầu khi trình bày dữ liệu ra màn hình là phải sáng sủa, ñúng quy cách,

dễ ñọc, dễ hiểu. TURBO PASCAL có các quy ñịnh cho các kiểu dữ liệu như sau

*. Viết ra kiểu số nguyên

write[i:n]; hoặc writeln[i:n];

trong ñó I là số nguyên cần ghi ra, n là số chỗ dành ñể viết ra số nguyên ñó trên màn hình,

máy sẽ bố trí số nguyên từ phải sang trái, nếu thừa sẽ bỏ trống bên trái.

Ví dụ: với I=23, j=234 thì writeln[i];writeln[i:5]; writeln[j:5]; sẽ cho

23

_ _ 23

_ 234

Như vậy viết không có quy cách sẽ căn lề trái, trong khi viết có quy cách sẽ căn phải.

*- Viết ra kiểu số thực

mẫu 1:

write[r:m:n]; hoặc writeln[r:m:n];

trong ñó r là số thực cần ghi ra, m là số chỗ dành cho cả số thực [ kể cả dấu chấm ngăn cách

phần nguyên và phần lẻ, nếu có] n là số chỗ dành cho phần lẻ thập phân.

mẫu 2:

write[r:n];

trong ñó n là số chỗ cho cả số thực viết dưới dạng e-mũ

Ví dụ: với r=123.45

thì writeln[r]; writeln[r:8:3]; writeln[r:7]; sẽ cho kết quả

1.234500000E+02

[ 10 chữ số dành cho phần lẻ ]

123.450

1.2E+00

[ có làm tròn ]

*- Viết ra kiểu kí tự

Với kiểu kí tự, viết không quy cách sẽ cho ra kí tự bình thường, mỗi kí tự chiếm một chỗ, còn

viết có quy cách thì các kí tự sẽ ñược bố trí từ phải sang trái, thêm các dấu khoảng cách vào

bên trái nếu thừa chỗ.

Ví dụ: với t='Y' thì

writeln[t]; writeln[t:3]; writeln['PASCAL']; writeln['PASCAL':8];

sẽ cho

Y

Y

PASCAL

PASCAL

*- Viết ra kiểu boolean

kiểu boolean với 2 giá trị là TRUE và FALSE cũng ñược viết ra theo dạng

write[ok]; hoặc writeln[ok:n];

trong ñó ok là biến kiểu boolean, n là số chỗ ñể viết ra biến ok.

e- In ra máy in

Các thủ tục write và writeln cũng dùng ñể ñưa dữ liệu ra máy in. Muốn vậy, ở ñầu chương

trình phải có lời gọi chương trình chuẩn USES PRINTER; ở ñầu chương trình và phải có

thành phần Lst và dấu phảy [,] ñứng trước nội dung cần in ra.

Ví dụ: writeln[Lst, 'kết qủa là', S:8:2];

126



Trường ðại học Nông nghiệp 1 - Giáo trình Tin học ñại cương --------------------------------------------- 126



*- Các thủ tục trình bày màn hình của TURBO PASCAL

ðây là những thủ tục có sẵn của TURBO PASCAL phục vụ cho việc trình bày màn hình.

Muốn dùng các thủ tục này phải có lời gọi chương trình chuẩn USES CRT; ở ñầu chương

trình. Các thủ tục ñó là:

CLRSCR; xoá toàn bộ màn hình, chuyển con trỏ về góc trên bên trái của màn hình.

CLREOF; xoá các kí tự bên phải vị trí con trỏ hiện thời

GOTOXY[x,y]; chuyển con trỏ màn hình ñến ñiểm có toạ ñộ [x,y] [ màn hình văn bản có 25

dòng, 80 cột, trong thủ tục này x là toạ ñộ cột, y là toạ ñộ dòng ]

TEXTCOLOR[Mau]; thiết lập màu cho văn bản, Mau là số nguyên có thể nhận giá trị từ 0 trở

lên, giá trị lớn nhất của Mau phụ thuộc loại màn hình của máy. Ta có thể chỉ ñịnh Mau bằng

một chữ cái tiếng Anh chỉ màu [ xem bảng ]

Số nguyên chỉ màu

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15



Tên màu

Black

Blue

Green

Cyan

Red

Magenta

Brown

LightGrey

DarkGrey

LightBlue

LightGreen

LightCyan

LightRed

LightMagenta

Yellow

White



TEXTBACKGROUND[Mau]; xác lập màu nền cho văn bản.

Ví dụ: ñoạn lệnh chương trình in dòng chữ THU DO HA NOI màu xanh trên nền vàng lên

màn hình

uses CRT;

textbackground[14];

textcolor[blue];

write[' THU DO HA NOI'];

2.5. Các chương trình ứng dụng những lệnh ñã học

* Bài toán 1: Tính diện tích và chu vi của hình tròn.

Phân tích bài toán :Trong bài toán này biến vào là R; biến ra là: s [diện tích], cv [ chu vi];

các biến ñều có kiểu số thực.

Tính toán theo công thức sau:

s = 3.14* R2 ;

cv = 2* 3.14 * R.

127



Trường ðại học Nông nghiệp 1 - Giáo trình Tin học ñại cương --------------------------------------------- 127



Chương trình ñược viết như sau:

Program Dien_tich_chu_vi_hinh_tron;

Uses crt;

Var cv, s, r : real;

Begin

Clrscr;

Write[' hay nhap vao ban kinh r: '];

Readln[r];

S:= 3.14 * r*r;

Cv:=2*3.14*r;

Writeln[' Dien tich = ', s:8:2];

Writeln[' Chu vi = ', cv:8:2];

Readln;

End.

* Bài toán 2: Bài toán tính lương, bảo hiểm xã hội, bảo hiểm y tế và tiền lĩnh của cán bộ công

chức nhà nước. Theo quy ñịnh hiện nay thì lương = hệ số lương * 350000;

bảo hiểm xã hội = 5% * lương ; bảo hiểm y tế = 1% * lương;

tiền lĩnh = lương - bảo hiểm xã hội - bảo hiểm y tế.

Phân tích bài toán: Trong bài toán này các biến vào là Ht [ họ và ten] kiểu xâu kí tự và biến

HS [hệ số lương] kiểu số thực. Các biến ra là Ht, HS, luong, BHXH [ bảo hiểm xá hội] kiểu

thực, BHYT [ bảo hiểm y tế] kiểu thực, TL [ tiền lĩnh ] kiểu thực.

Tính toán theo các công thức ñã cho ở trên.

Trong chương trình có sử dung các câu lệnh trình bày màn hình.

Chương trình như sau:

Program Tinh_luong;

Uses

Crt;

Var

HT:string[25]; LUONG, HS, BHXH, BHYT, TL:Real;

Begin

Clrscr;

Textcolor[red];

Textbackground[Blue];

Gotoxy[10,5];

Write[' Nhap ho va ten: ']; Readln[HT];

Write[' Nhap he so luong ']; Readln[HS];

LUONG:= HS * 350000;

HBXH:= LUONG * 0.05;

BHYT:= LUONG * 0.01;

TL:= LUONG-BHXH-BHYT;

WRITELN[HT:25,HS:6:2,LUONG:10:1,BHXH:10:1,BHYT:10:1,TL:10:1];

READLN;

END.



128



Trường ðại học Nông nghiệp 1 - Giáo trình Tin học ñại cương --------------------------------------------- 128



3. Các lệnh ñiều kiện

Phần này ta sẽ nghiên cứu các lệnh cho phép chương trình rẽ nhánh thực hiện một

công việc dựa trên giá trị một ñiều kiện nào ñó. Có 2 dạng lệnh ñiều kiện là câu lệnh ñiều kiện

[cho phép rẽ tối ña 2 nhánh] và câu lệnh lựa chọn [cho phép rẽ nhiều nhánh].



3.1. Câu lệnh ñiều kiện

a. Dạng lệnh

Dạng ñơn giản

IF THEN < lệnh >;

trong ñó

là một biểu thức ñiều kiện liên hệ bởi các toán tử: =, < , > , = và

[hoặc] các phép toán logic NOT, AND, OR

< lệnh > có thể là một câu lệnh ñơn giản hoặc phức hợp.

- ý nghĩa : khi gặp lệnh này, trước tiên máy sẽ kiểm tra , nếu là ñúng

thì sẽ cho thực hiện < lệnh >, còn nếu sai thì máy sẽ bỏ qua < lệnh > và chuyển

sang công việc tiếp theo.

Dạng tổng quát

IF < ñiều kiện > THEN < lệnh2 > ELSE < lệnh2 >;

- ý nghĩa : khi gặp lệnh này, trước tiên máy cũng sẽ kiểm tra , nếu là

ñúng thì sẽ cho thực hiện < lệnh2 >, còn trái lại là sai thì máy sẽ thực hiện

Video liên quan

Chủ Đề