Đề cương ôn tập môn tin học ứng dụng học viện tài chính 21 trang Đề cương ôn tập môn tin học ứng dụng học viện tài chính 21 trang Đề cương ôn tập môn tin học ứng dụng học viện tài chính 21 trang Đề cương ôn tập môn tin học ứng dụng học viện tài chính 21 trang Đề cương ôn tập môn tin học ứng dụng học viện tài chính 21 trang Đề cương ôn tập môn tin học ứng dụng học viện tài chính 21 trang
Trang 1Học viện Tài chính
ĐỀ CƯƠNG ÔN TẬP MÔN TIN HỌC ỨNG DỤNG
(Tham khảo)
PHẦN I: CÁC DẠNG BÀI TẬP VỀ FOXPRO Dạng 1: Nhập dữ liệu và chỉ ra các trường phải nhập? Vì sao?
Ví dụ: Nhập dữ liệu Quản lí vật tư
USE Qlvt
APPEND
Các trường cần phải nhập là: số phiếu, mã vật tư, sản lượng, đơn giá Trườngthành tiền không phải nhập vì thành tiền được tính thông qua khối lượng và đơngiá
Dạng 2: In, liệt kê theo điều kiện
Sử dụng lệnh: LIST FOR (DK) TO PRINTER
Ví dụ 1: In các phiếu nhập kho trong quý 4/2010
LIST FOR tkno="152" AND (MONTH(ngay)>=10) AND(YEAR(ngay)=2010) TO PRINTER
Ví dụ 2: Hiển thị những người sinh nhật tháng 11 và trên 20 tuổi
LIST FIELDS hodem,ten,ngaysinh FOR MONTH(ngaysinh)=11 AND(YEAR(date())-YEAR(ngaysinh)>20)
Dạng 3: In và liệt kê theo trình tự
Sử dụng 2 lệnh: INDEX và LIST TO PRINTER
Ví dụ: In các phiếu nhập trong năm 2010 theo trình tự từng loại vật tư và thành
Note: - Nếu có FOR thì ko cần viết ALL
- Cách dùng lệnh IIF giống hàm IF trong Excel
Ví dụ 1: Tính điểm trung bình và phân loại học tập:
- Tính điểm trung bình: REPLACE ALL dtb WITH (d1+d2+d3)/3
1
Trang 2- Phân loại học tập: REPLACE ALL phanloai WITH IIF(dtb>=8.0, “Gioi”,IIF(dtb>=7.0, “Kha”, “TB”))
Dạng 5: Tăng, giảm, sửa trường nào đó
Sử dụng lệnh: REPLACE
Ví dụ 1: Giảm đơn giá xuất 12% trong ngày 10/04/2013 cho tất cà các vật tư
REPLACE dg WITH dg*0.88 FOR (tkco = "152") AND 10}
ngay={^2013-04-Ví dụ 2: Chuyển quê quán từ Hà Nội -> Hà Tĩnh
REPLACE ALL quequan WITH “Ha Tinh” FOR UPPER(quequan)=“HA NOI”
Dạng 6: Xóa và phục hồi
Sử dụng lệnh: DELETE (xóa tạm thời), PACK (xóa hoàn TOàn), ZAP (xóa
tất cả bản ghi) và RECALL (phục hồi)
Ví dụ: Xóa hoàn toàn các phiếu mua mặt hàng có mã phiếu bắt đầu là chữ H và
Ví dụ: Tính đơn giá xuất bình quân của mã vật tư S15 trong quý II/2011
SUM kl,tt TO T1,T2 FOR (Tkco="152") AND (mavt="S15") ANDMONTH(ngay)>=4 AND MONTH(ngay)<=6 AND YEAR(NGAY)=2011
? "Đơn giá xuất bình quân của mã vật tư S15 trong quý II/2011 là:", T2/T1
Note: Bài này không được dùng lệnh AVERAGE.
Dạng 8: Tính tổng theo từng nhóm
Sử dụng lệnh: TOTAL
Ví dụ 1: Tính tổng tiền xuất của từng loại vật tư năm 2010
- Bước 1: Phân nhóm: Sắp xếp theo mã vật tư (Tiêu thức phân nhóm là mavt) INDEX ON mavt TO sx.idx (ko có đuôi idx cũng đc) FOR (Tkco="152")AND (YEAR(ngay)=2010)
Trang 3Ví dụ 2: Hãy cho biết có bao nhiêu tháng kể từ năm 2009 tới nay tổng doanh
thu bán hàng vượt 10 tỉ?
- Bước 1: Sắp xếp theo từng năm và từng tháng
INDEX ON STR(YEAR(ngay),4)+STR(MONTH(ngay),2) TO sx1.idxFOR(tkco="156" AND YEAR(ngay)>=2009
COUNT TO vd2 FOR tt>10000000000 (Viết số ko đc viết 10 tỉ)
?"Số tháng kể từ năm 2009 tới nay tổng doanh thu bán hàng vượt 10 tỉlà:",vd2
Ví dụ 3: Lập báo cáo tồn kho của từng loại vật tư
- Bước 1: Chuyển dấu khối lượng của các phiếu bán hàng sang dấu âm:
REPLACE kl WITH -kl FOR tkco= "152"
- Bước 2: Chọn tiêu thức phân nhóm: mavt
INDEX ON mavt TO sx2.idx
- Bước 3: Tính tổng theo nhóm:
TOTAL ON mavt TO kq2 FIELDS kl
- Bước 4: Mở bảng để xem hoặc in:
USE kq2
LIST mavt,kl [TO PRINTER]
- Bước 5: Chuyển lại dấu:
USE Qlvt
REPLACE kl WITH - kl FOR tkco ="152"
Trang 4PHẦN II: BÀI TẬP VỀ FOXPRO Bài 1: Để quản lý bán hàng người ta sử dụng các phiếu bán hàng, trên các phiếu
có các thông tin sau:
MaNB C(6) Mã người bán (3 ký tự đầu chỉ mã đại lý)
1 Tính thành tiền biết: TT=SL*DG + TT*10%VAT Nếu bán trong tháng 10
và 12 thì đơn giá tăng 3%
2 In danh sách người bán của đại lý có mã hàng HN1 và HN2
3 In các phiếu bán mặt hàng MH01 trong tháng 9 năm 2010 theo thứ tự giảmdần về số lượng
4 Tính tổng số tiền bán được của từng nhân viên trong năm 2010 và cho biết 3nhân viên có doanh thu bán hàng cao nhất
5 Tính đơn giá bình quân của mặt hàng MH02 trong quý 2 năm 2010
Bài làm
1 REPLACE ALL tt WITH sl*dg*1.1
REPLACE tt WITH sl*dg*1.1 FOR month(ngay)=10 or month(ngay)=12
2 LIST FILEDS tennb,mh FOR left(manb,3)=“HN1” OR left(manb,3)=“HN2”
TO PRINTER
3 INDEX ON -sl TO cau3 FOR mh=“MH01” AND month(ngay)=9 AND
year(ngay)=2010
LIST TO PRINTER
4 INDEX ON tennb TO cau4a FOR year(ngay)=2010
TOTAL ON tennb TO tst FIELDS tt
USE tst
INDEX ON -tt TO cau4b
Trang 5GO TOP
LIST NEXT 3 tennb,tt
5 SUM tt TO tongtt FOR mh=“MH02 AND ngay>={^2010-04-01} AND ngay<={^2010-06-30}
SUM sl TO tongsl FOR mh=“MH02 AND ngay>={^2010-04-01} AND ngay<={^2010-06-30}
?“Đơn giá bình quân của mặt hàng MH02 trong quý 2 năm 2010 là:”,tongtt/tongsl
Bài 2: Để quản lí thu chi tiền mặt ở 1 đơn vị, người ta lưu trữ các phiếu thu và
phiếu chi trong 1 tệp, gồm các thông tin: số phiếu (sp - C), ngày lập (ngay - D),nội dung (nd - C), số tiền (st - N), tài khoản ghi Nợ (tkno - C), tài khoản ghi Có(tkco - C)
(Phiếu thu ghi Nợ TK 111, phiếu chi ghi Có TK 111 Tài khoản 111 có các TKchi tiết để ghi cho từng đối tượng thu chi bằng cách bổ sung 3 kí hiệu, ví dụ tk
111001 để theo dõi thu và chi của đối tượng có mã 001)
Yêu cầu:
1 Nhập thông tin vào tệp
2 In các phiếu chi trong quý 1 năm 2010 có số tiền trên 5 triệu trở lên, đã xếptheo ngày, cùng ngày theo mã đối tượng
3 Sửa lại số tiền trên phiếu số 2772/TT thành 10 triệu đồng
4 In 1 danh sách tổng tiền chi của từng đối tượng trong tháng 4 năm 2010
5 Lập 1 thông báo về tổng chênh lệch thu chi của từng đối tượng trong đơn vị
Bài làm
1 CREATE qltt
USE qltt
APPEND
2 INDEX ON STR(year(ngay),4)+STR(month(ngay),2)+STR(day (ngay),2)+
RIGHT(alltrim(tkco),3) TO cau2 FOR left(alltrim(tkco),3)=“111” ANDmonth(ngay)<=3 AND year(ngay)=2010
TOTAL ON STR(YEAR(ngay),4)+STR(MONTH(ngay),2)+STR(DAY(ngay), 2)+RIGHT(alltrim(tkco),3) TO kq2 FIELDS st
USE kq2
LIST FOR st>=5000000 TO PRINTER
3 REPLACE st WITH 10000000 FOR SP=“2772/TT”
Trang 64 INDEX TO cau4 ON RIGHT(Alltrim(tkco),3) FOR left( (tkco),3)=“111”
TOTAL ON st TO kq FOR MONTH(ngay)=4 AND YEAR(ngay)=2010USE kq
LIST TO PRINTER
5 Lập 1 thông báo về tổng chênh lệch thu chi của từng đối tượng trong đơn vị
- Bước 1: Gán số tiền chi ra dấu âm đằng trước:
REPLACE st WITH -st FOR left(tkco,3)=“111”
- Bước 2: Phân nhóm: Tiêu thức phân nhóm: Từng đối tượng trong đơn vị
INDEX ON IIF(left(tkno,3)=“111”, substr(tkno,4,3), substr(tkco,4,3)) TOsx.idx
REPLACE st WITH -st FOR left(tkco,3)='111'
Bài 3: Tạo tệp QLVT với cấu trúc như sau:
SP C 6 Số phiếu
MAVT C 4 Mã vật tư
TENVT C 15 Tên vật tư
NGAY D 8 Ngày xuất nhập
Đơn vị tính quy chuẩn theo Kg.
2 Nhập dữ liệu như sau:
Trang 7Số phiếu bắt đầu là PN thì là phiếu nhập, bắt đầu là PX thì là phiếu xuất.
Mã vật tư có ký tự đầu tiên chỉ loại mặt hàng.
REPLACE tt WITH KL*DG*1.05 FOR LEFT(MAVT,1)="X"
REPLACE tt WITH KL*DG*1.1 FOR LEFT(MAVT,1)<>"X"
LIST FIELDS SP,MAVT,NGAY,KL,DG,TT
Hoặc
REPLACE ALL tt WITH kl*dg*IIF(LEFT(mavt,1)="X",1.05,1.1)
LIST FIELDS SP,MAVT,NGAY,KL,DG,TT
Các dòng phiếu xuất vật tư có mã S01 theo trình tự khối lượng tăng dần?giảm dần?
Trang 8INDEX ON kl TO cd1 FOR mavt="S01" AND LEFT(SP,2)=”PX”
LIST FIELDS SP,MAVT,NGAY,KL,DG,TT
INDEX ON -kl TO cd2 FOR mavt="S01" AND LEFT(SP,2)=”PX”
LIST FIELDS SP,MAVT,NGAY,KL,DG,TT
Các dòng phiếu xuất vật tư theo trình tự số phiếu, cùng số phiếu thì theo
5 Tính toán, sửa dữ liệu
Sửa đơn giá X03 trên phiếu xuất PX002 thành 22 nghìn
USE qlvt
REPLACE dg WITH 22000 FOR sp="PX002" AND mavt="X03"
REPLACE tt WITH kl*dg*IIF(LEFT(mavt,1)="X",1.05,1.1) FOR sp="PX002"
Giảm 5% đơn giá nhập Sắt trong tháng 5 và tháng 7
REPLACE dg WITH dg*0.95 FOR LEFT(mavt,1)="S" AND (MONTH(ngay)=5 OR MONTH(ngay)=7) AND LEFT(SP,2)=”PN”
REPLACE tt WITH kl*dg*1.1 FOR LEFT(mavt,1)="S" AND (MONTH(ngay)=5
OR MONTH(ngay)=7) AND LEFT(SP,2)=”PN”
6 Hãy cho biết
Tổng số tiền trên phiếu xuất PX003?
SUM tt TO tongp1 FOR sp="PX003"
?"TOng thanh tien tren phieu xuat PX003 la:",tongp1
Tổng số tiền nhập Xi măng trong tháng 5 và 6?
SUM tt TO tongp2 FOR LEFT(mavt,1)="X" AND (MONTH(ngay)=5 OR MONTH(ngay)=6) AND LEFT(SP,2)=”PN”
?"TOng tien nhap xi mang trong thang 5 va 6 la:",tongp2
Khối lượng còn lại của S01 tính đến hết ngày 15/7/2010?
Trang 9- Tính khối lượng tồn = Tổng nhập - Tổng xuất
?“Khối lượng tồn của S01 là:”, tn - tx
Đơn giá xuất bình quân của S01?
- Bước 1: Tính tổng thành tiền:
SUM tt TO tongtt FOR mavt=“S02” AND left(sp,2)=“PX”
- Bước 2: Tính tổng khối lượng:
SUM kl TO tongkl FOR mavt=“S02” AND left(sp,2)=“PX”
- Bước 3: Tính đơn giá xuất bình quân = Tổng thành tiền / Tổng khối lượng
?“Đơn giá xuất bình quân là:”, tongtt / tongkl
INDEX ON mavt TO cd4 FOR LEFT(sp,2)="PN"
TOTAL ON mavt TO tongvt FIELDS kl,tt
USE tongvt
LIST FIELDS mavt,kl,tt
o Vật tư nào có tổng tiền nhập cao nhất?
USE tongvt INDEX ON -tt TO cd44
?"Vat tu co tong tien nhap cao nhat la:"
GO TOP DISPLAY FIELDS mavt,tenvt,tt
o Có bao nhiêu vật tư có tổng khối lượng nhập vượt 10000?
Lập báo cáo về tổng tiền xuất của từng loại mặt hàng (sắt, xi măng…)trong từng tháng?
Trang 10 Cho biết tháng nào của năm 2010 có tổng tiền xuất cao nhất?
INDEX ON month(ngay) TO cau7d FOR year(ngay)=2010 AND
left(sp,2)=“PX”
TOTAL ON month(ngay) TO kq FIELDS tt
USE kq
GO BOTTOM
LIST FIELDS month(ngay),tt
Bài 4: Tạo tệp QLBH với cấu trúc như sau:
6 - Mã hàng hóa (2 kí tự đầu chỉ mã loại hàng, 2 kí tự kế
tiếp chỉ mã nhà cung cấp)
10 - Ngày lập phiếu (được viết theo dạng 2 kí tự đầu chỉ
ngày, 2 kí tự tiếp theo chỉ tháng, 4 kí tự tiếp chỉ năm)
(Người ta phân biệt phiếu mua/bán qua tài khoản 156 Tài khoản 156 được
chia chi tiết dưới dạng 156xxx trong đó xxx là mã cửa hàng)
Yêu cầu:
1 Tính thành tiền theo công thức TT=DG*KL+VAT(10%) nếu bán trong
tháng 12 khuyến mãi 10%
2 Đổi dvt của các phiếu có dvt là tấn sang kg
3 Xóa các phiếu có dvt là tec
4 Tăng đơn giá của các phiếu bán mã hàng DTSN02 của cửa hàng ACB
trong tháng 1 lên 10%
5 In các phiếu bán mặt hàng DTSN01 trong năm 2013
Trang 116 In các phiếu bán mặt hàng DTSN01 trong năm 2013 theo trình tự thờigian lập phiếu
7 In các phiếu mua hàng của nhà cung cấp TC trong năm 2013
8 In các phiếu mua hàng của nhà cung cấp TC trong năm 2013 theo trình tựgiảm dần của thành tiền
9 In các phiếu mua trong năm 2013 sắp xếp theo mã hàng, cùng mã theokhối lượng mua giảm dần
10.In các phiếu mua trong năm 2013 sắp xếp theo mã hàng, cùng mã theongày mua
11.Tính tổng số lượng mua hàng của cửa hàng ABG trong tháng 1/201312.Tính đơn giá mua bình quân của mặt hàng DTSN01và DTSN02
13.Đếm số phiếu bán có thành tiền trên một triệu
14.In ra báo cáo về tổng số tiền mua của các cửa hàng trong năm 2013
15.In ra báo cáo về tổng số tiền bán của các cửa hàng trong năm 2013 Chobiết 5 cửa hàng có doanh thu cao nhất
16.In ra báo cáo về tổng khối lượng mua từng mặt hàng của từng cửa hàngtrong quý I /2013
17.In ra báo cáo về khối lượng tồn của từng mặt hàng ở các cửa hàng tínhđến ngày hiện tại (giả sử ban đầu tồn các mặt hàng là 0)
Bài làm
1 USE qlbh
REPLACE tt WITH dg*kl*iif(substr(ngaylap,3,2)=“12”,1.1,1)
2 REPLACE dvt WITH “kg”, kl WITH kl*1000,dg WITH dg/1000 FOR
dvt=“tan”
REPLACE ALL tt WITH dg*kl
3 DELETE FOR dvt=“tec”
4 REPLACE dg WITH dg*1.1 FOR mahh=“DTSN02” AND
substr(ngaylap,3,2)=“01” AND tkco=“156ACB”
5 LIST FOR mahh=“DSTN01” AND left(tkco,3)=“156” AND
substr(ngaylap,5,4)=“2013” TO PRINTER
6 INDEX ON substr(ngaylap,3,2)+left(ngaylap,2) TO cau6 FOR mahh=
“DTSN01” AND substr(ngaylap,5,4)=“2013” AND left(tkco,3)=“156”
LIST TO PRINTER
Trang 127 LIST FOR substr(mahh,3,2)=“TC” AND left(tkno,3)=“156” AND
10 INDEX ON mahh+substr(ngaylap,3,2)+left(ngaylap,2) TO cau10 FOR
left(tkno,3)=“156” AND right(ngaylap,5,4)=“2013”
LIST TO PRINTER
11 SUM kl TO cau11 FOR tkno=“156ABG” AND substr (ngaylap,3,6)
=“012013”
?”Tổng số lượng mua hàng cửa hàng ABG tháng 1/2013 là:”, cau11
12 SUM tt TO tongtt FOR left(tkno,3)=“156” AND (mahh=“DTSN01” OR
mahh=“DTSN02”)
SUM kl TO tongkl FOR left(tkno,3)=“156” AND (mahh=“DTSN01” ORmahh=“DTSN02”)
?“Đơn giá mua bình quân của DTSN01 và DTSN02 là:”, tongtt/tongkl
13 COUNT TO cau13 FOR left(tkco,3)=“156” AND tt>1000000
?“Số phiếu bán có thành tiền trên 1 triệu là:”, cau13
14 INDEX ON right(alltrim(tkno),3) TO cau14 FOR left(tkno),3)= “156” AND
substr(ngaylap,5,4)=“2013”
TOTAL ON right(alltrim(tkno),3) TO kq14 FIELDS tt
USE kq14
LIST right(alltrim(tkno),3),tt TO PRINTER
15 Tương tự như câu 14 nhưng thay “tkno” thành “tkco”
- Cho biết 5 cửa hàng có doanh thu cao nhất:
USE kq15
INDEX ON -tt TO dtcn
GO TOP
LIST NEXT 5 FIELDS right(alltrim(tkno),3),tt
16 INDEX ON tenhh+right(tkno,3) TO cau16 FOR substr(ngaylap,5,4)=
"2013" AND VAL(substr(ngaylap,3,2))<=3 AND left(tkno,3)="156"
Trang 13TOTAL ON tenhh+right(tkno,3) TO kq FIELDS kl
USE kq
LIST FIELDS tenhh,right(tkno,3),kl TO PRINTER
17 In báo cáo k h ố i lư ợ n g t ồ n của t ừ n g m ặt h à n g ở các c ử a h à n g tính đến n g ày hi
ệ n t ạ i ? (Khối lượng tồn = KL nhập (phiếu thu) - KL xuất (phiếu bán)
- Bước 1: Chuyển dấu khối lượng của các phiếu bán hàng sang dấu âm:
REPLACE kl WITH -kl FOR left(tkco,3)=“156”
- Bước 2: Tiến hành phân nhóm: Tiêu thức phân nhóm: mặt hàng+cửa hàngINDEX ON mahh+IIF(left(tkno,3)=“156”, substr(tkno,4), substr(tkco,4)) TOcau17
- Bước 3: Tính tổng theo nhóm:
TOTAL ON mahh+ IIF(left(tkno,3)=“156”,substr(tkno,4),substr(tkco,4)) TOklt
USE klt
LIST mahh,kl,tkno,tkco TO PRINTER
- Bước 4: Chuyển lại dấu:
USE qlbh
REPLACE kl WITH -kl FOR left(tkco,3)=“156”
Bài 5: Để quản lý lương của các cán bộ tại một đơn vị, người ta sử dụng tệp
CSDL QLLCB.DBF với cấu trúc sau:
NLL D 8 - Ngày lên lương
PCAT N 6 0 Phụ cấp ăn trưa
BHXH N 6 0 Trừ bảo hiểm xã hội
BHYT N 6 0 Trừ bảo hiểm y tế
TSTDL N 7 0 Tổng số tiền được lĩnh trong tháng
Yêu cầu:
Trang 141 Tạo tệp và nhập dữ liệu với cấu trúc đã xây dựng.
2 Đóng tệp
3 Mở tệp và xem lại cấu trúc của tệp
4 Xem HODEM, TEN, MPCT của các cán bộ nam
5 Xem HODEM, TEN, MPCT của các cán bộ nam thuộc phòng có mã
‘P01’
6 Xem HODEM, TEN, MPCT của các cán bộ về hưu trong năm 2012 (Biếtrằng: tiêu chuẩn về hưu là: nam tính đến tuổi 60, nữ tính đến tuổi 55)
7 Xem 5 bản ghi đầu tiên trong tệp
8 Xem 5 bản ghi cuối cùng trong tệp
9 Xem các cán bộ nam có chức vụ
10 Xem bản ghi số hiệu 3
11 Tạo tệp LL2012 để lưu bản ghi của các cán bộ được lên lương trong năm
2012 (Biết rằng: Nếu HSL<3 thì 3 năm được lên lương một lần; NếuHSL>=3 thì 4 năm được lên lương một lần)
12 Mở tệp LL2012 và cho xem họ tên và mã phòng của các cán bộ được lênlương trong năm 2012
13.Mở lại tệp QLLCB Sửa giá trị của bản ghi số hiệu 3 trên trường MPCTthành ‘P01’
14.Tính PCAT, BHXH, BHYT, và TSTDL cho từng cán bộ theo công thức:
- PCAT = 800.000 - BHYT = 1% x Lương chính
- BHXH = 5% x Lương chính - Lương chính = 830.000xHSL
- TSTDL = Lương chính + PCAT - BHXH - BHYT
15 Đánh dấu xoá bản ghi số hiệu 3 Sau đó phục hồi lại bản ghi số 3
16 Đánh dấu xoá 5 bản ghi cuối cùng
17 Phục hồi lại 5 bản ghi cuối cùng
18 Xoá hẳn 5 bản ghi cuối cùng