Tải bản đầy đủ (.pdf) (23 trang)

Bài giảng Ngôn ngữ lập trình Pascal: Chương 4 - Thủ tục vào ra dữ liệu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (54.25 KB, 23 trang )

Chương
Thủ tục vào - ra dữ liệu
I. Các thủ tục viết dữ liệu ra màn hình:
Write và Writeln;
II. Thủ tục vào dữ liệu: Read và Readln;

4.1


Khái niệm về
thủ tục (procedure)
và hàm (function)


Thủ tục là các chương trình con, có thể gọi
ra dùng như một câu lệnh độc lập.
 Hàm là các chương trình con, khi gọi sẽ
cho ta một giá trị vô hướng thông qua tên
hàm. Hàm xuất hiện trong các biểu thức và
hàm không thể gọi ra dùng độc lập như một
câu lệnh.
4.2


I. Các thủ tục viết dữ liệu ra màn hình:
Write và Writeln;
Có 3 mẫu viết
 WRITE(Item1, Item2,..., ItemN);
 WRITELN(Item1, Item2,..., ItemN);
(đọc là WRITE LINE)
 WRITELN;


+ Các Item có thể là biến, hàm, biểu thức, hằng,
các giá trị vô hướng, xâu kí tự ...
 Sự khác nhau giữa các câu lệnh trên là ?

4.3


Màn hình
1


80 cột kí tự

80

Màn hình: văn bản và đồ hoạ
 Màn hình văn bản: thường được chia thành
80 cột x 25 hàng kí tự. Đơn vị tính là kí tự.
(Con trỏ màn hình, cursor)
 Mỗi một kí tự cấu tạo bởi một ma trận các
điểm: thí dụ 8x14, nên số điểm chiều ngang
là 8x80=640 điểm, số điểm chiều dọc là
14x25=350 điểm.
25  Màn hình đồ hoạ: đơn vị tính là điểm. 4.4
1
2


 Thủ tục
WRITE(Item1, Item2,...,ItemN);


tương đương
Begin
WRITE(Item1);
WRITE(Item2);
....
WRITE(ItemN);
End;
4.5


 WRITELN(Item1, Item2, ..., ItemN);

tương đương
Begin
WRITE(Item1, Item2, ...,ItemN);
WRITELN;
End;
 WRITELN;

4.6


1. Viết ra kiểu số nguyên
Cách viết không qui cách
Var
I:integer;
Begin
I:=123;
Writeln(I);

Writeln(-30567);
Readln;
End.

Màn hình kết quả
123
-30567

4.7


Cách viết có qui cách
Var I: integer;
Begin
Writeln('12345678');
I:=123;
Writeln(I:8);
Writeln(-30567:8);
Readln;
End.

12345678
123
-30567

4.8


Var
I: integer;

Begin
Writeln('1234567812345678');
I:=123;
Write(I:8);
Writeln(-30567:8);
Readln;
1234567812345678
End.

123

-30567

4.9


2. Viết ra kiểu số thực
Cách viết không qui cách
Var
1.2345600000E+02
R: Real;
3.1400000000E+00
Begin
R:=123.456;
Writeln(R);
Write(3.14);
End.

Hai dấu cách ở đầu


4.10


Cách viết có qui cách của số thực R:
 Mẫu 1:
R: <số chỗ cho cả số thực> : <số chỗ cho phần thập phân>

 Mẫu 2:
R:<số chỗ cho cả số thực viết dưới dạng E mũ>

 xin xem thí dụ dễ hiểu hơn
4.11


Cách viết có qui cách: mẫu 1
Writeln(73.123456789:12:6);
Writeln(R:12:6) ;
Writeln(3.14:12:6);

123456789012
73.123457
123.456000
3.140000
4.12


Cách viết có qui cách: mẫu 2
Write(73.123456789:12);

cho ra kết quả (lưu ý có làm trịn):

7.312346E+01

4.13


3. Viết ra kiểu kí tự
ABC
Const Bell=#7;
Var
Y
Ch:Char;
Y
Begin
ABC
Writeln('ABC');
I’m Paul
Ch:='Y';
Writeln(ch);
Writeln(ch:4);
Writeln('ABC':5);
Write('I''m Paul',#7, chr(7), Bell);
4.14
End.


4. Viết ra kiểu Boolean
Var
OK: Boolean;
Begin
OK := 3 < 5;

TRUE
Writeln(OK);
TRUE
Writeln(OK:7);
FALSE
Writeln(3 > 5);
End.

4.15


5. In ra máy in
USES PRINTER;
Var ...
Begin
Writeln(Lst, I:5, J:8,
R:12:5, OK);
End.
Lst là phần phải thêm vào để in sang

máy in.

4.16


6. Các thủ tục trình bầy
màn hình
 GotoXY(X, Y); và biến WhereX, WhereY
 ClsScr;
 ClrEol;

 TextColor(Color: Byte);
 TextBackGround(Color: byte);
 Bảng mầu: 16 mầu, đã có tên định nghĩa sẵn
hoặc gọi theo số
4.17


USES CRT;
Var
PASCAL
X, Y: byte;
Begin
PASCAL
TextBackGround(Black);
PASCAL
ClrScr; X :=10; Y:=2;
GotoXY(X, Y);
PASCAL
TextColor(Red);
Write('PASCAL');
GotoXY(X-4,Y+1);
TextColor(Green); Write('PASCAL');
GotoXY(X+2,Y+2);
TextColor(LightBlue + Blink);
Write('PASCAL');
GotoXY(X, Y+3); TextColor(14);
Writeln('PASCAL');
4.18
End.



II. Thủ tục vào dữ liệu:
Read và Readln;
Có 3 mẫu viết
 Read(Biến1, Biến2,..., BiếnN);
 ReadLn(Biến1, Biến2,..., BiếnN);
 ReadLn;
 Chỉ có các Biến là tham số.
 Sự khác nhau giữa các câu lệnh trên là ?
4.19


Var
I, J: integer;
XX, ZZZ: Real;
Begin
Readln(I, XX, ZZZ, J);
...
End.
5 1.25
85.2 33

4.20


Begin
Readln(I);
Readln(XX);
Readln(ZZZ);
Readln(J);

End;
5

1.25 
85.2 
33 

4.21


Kết hợp Write và Readln để đối thoại
Write(' I = ');
Write(' XX = ');

Readln(I);
Readln(XX);

I = 5 
XX = 1.25 

Một số hàm nhập kí tự
Hàm ReadKey
Ch:=ReadKey;
Hàm KeyPressed phát hiện ấn phím

 xin xem kĩ ví dụ ở chương sau.

4.22



Câu hỏi ơn tập tại lớp
1. Có thể dùng Readln để đọc một hằng được
khơng ?
2. Readln có qui cách khơng ?
Ví dụ : Readln(I: 4);
3. Trong thực tế, có thể viết
writeln(' Hai nghiệm thực : '); ?
4. Hãy viết ra màn hình một kí tự, sau đó là mã số
ASCII của nó theo dạng sau:
'0': 48
4.23



×