3.4. Nhập và xuất dữ liệu
a. Nhập dữ liệu
Cú pháp:
@ x,y Say <Thông báo> get <Biến> [Default <Bthức>] [Valid <Điều kiện>] [Error <Thông báo lỗi>]
Read
Trong đó: X là toạ độ dòng, Y là toạ độ cột, <Biến> là biến nhớ,
Valid <Điều kiện> dùng để kiểm tra giá trị nhập vào cho <biến>,
nếu không thoả mãn sẽ thông báo lỗi sau Error.
b. Xuất dữ liệu
Cú pháp: @ x,y Say <Bthức>
b. Dạng đầy đủ:
Cú pháp:
IF <Bthức L>
<các lệnh 1>
ELSE
<các lệnh 2>
ENDIF
Ví dụ: Dựa vào bảng nhanvien, hãy nhập vào một họ tên nhân viên, tìm xem có đúng là nhân viên của công ty hay không, nếu đúng thì thông báo năm sinh và năm làm việc, ngược lại thì thông báo là không phải nhân viên của công ty.
set talk off
clearclose all
use NHANVIEN
@10,10 say 'nhap ho ten nhan vien:' get bhoten defa space(30)
read
locate for HOTEN =bhoten
if found()
? ' ngay sinh là:', ngaysinh'
?'nam lam viec:', namlv
else
?'khong phai la nhan vien cua cong ty'
endif
set talk on
return
c. Lựa chọn một trong nhiều trường hợp
Cú pháp
DO CASE
CASE <Bthức L1>
<các lệnh 1>
CASE <Bthức L2>
<các lệnh 2>
......................
CASE <Bthức Ln>
<các lệnh n>
[OTHERWISE
<Các lệnh n+1>]
ENDCASE
Ví dụ: Viết chương trình nhập vào một năm (có 4 chữ số), sau đó nhập thêm một tháng, cho biết tháng này có bao nhiêu ngày.
set takl off
clear
@10,10 say 'nhap vao mot nam' get bnam defa 0
@11,10 say 'nhap vao mot thang' get bthang defa 0
read
do case
case bthang=4 or bthang = 6 or bthang = 9 or bthang=11
songay=30
case bthang=12
if (mod(bnam, 4)=0 and (mod(bnam, 100)<>0)
songay=29
else
songay=28
endif
otherwise
songay=31
endcase
? 'thang', bthang, 'nam', bnam, 'co', so ngay, 'ngay'
set talk on
return
3.6. Cấu trúc lặp
a. Cấu trúc DO WHILE
Cú pháp:
DO WHILE <Bthức L>
<các lệnh>
[LOOP]
[EXIT]
ENDDO
Ví dụ: Cho biết dang sáchhọ tên của các nhân viên trong công ty.
set takl off
clear
close all
use NHANVIEN
@5,5 say 'danh sach ho ten hoc vien la:'
do while !eof()
?HOTEN
skip
enddo
set talk on
return