Trang 1
ĐỀ CƯƠNG ÔN TẬP MÔN TIN HỌC ỨNG DỤNG (Tham khảo) MỤC LỤC Trang PHẦN I: CÁC VẤN ĐỀ CƠ BẢN VỀ FOXPRO 2 1. Một số khái niệm 2 2. Một số hàm cơ bản 3 3. Một số lệnh cơ bản 4 PHẦN II: CÁC DẠNG BÀI TẬP VỀ FOXPRO 11 PHẦN III: BÀI TẬP VỀ FOXPRO 14 Bài 1 14 Bài 2 15 Bài 3: Bài thực hành số 1 16 Bài 4: Bài thực hành số 2 20 Bài 5: Bài thực hành số 2 23 Bài 6 27 Bài 7: Đề kiểm tra điều kiện 29 Bài 8: Đề thi tự luận (5) 31 Bài 9: Đề kiểm tra điều kiện (12) 32 Bài 10: Đề thi tự luận (4) 34 Bài 11: Đề kiểm tra điều kiện (3) 35 Bài 12: Đề kiểm tra điều kiện (5) 37 Bài 13: Đề kiểm tra điều kiện (11) 39 Bài 14: Đề thi tự luận (1) 41 Bài 15: Đề thi tự luận (2) 42 I. ThiNganHang.comBài 16PHCâu hẦN IV: Mỏ: Đi tổềng hthi tỘợT Sựp tluừỐận (3)đCÂU Hề thi ỎI TRẮC NGHIỆM TỔNG HỢP 434545 II. Đề thi trắc nghiệm số 26 (30 câu) 48 III. Đề thi trắc nghiệm số 16 (24 câu) 55 IV. Trắc nghiệm Foxpro 60 V. Trắc nghiệm Powerpoint 67 VI. Trắc nghiệm Thương mại điện tử 77 ThiNganHang.com
Trang 2
PHẦN I: CÁC VẤN ĐỀ CƠ BẢN VỀ FOXPRO 1. Một số khái niệm Bản ghi: dòng Trường: cột Các đặc trưng của trường: - Tên trường: dùng để đặt tên cho các tiêu thức. Quy định: Không quá 10 ký tự. Không phân biệt chữ hoa hay thường. Không bắt đầu từ chữ số Không chứa các ký tự đặc biệt: /, \, space,… - Kiểu trường: Dùng để xác định loại thông tin chứa trong trường. Foxpro sử dụng 1 số kiểu sau: Kiểu số: N - Numeric: điểm, khối lượng, số lượng, thành tiền, đơn giá,… Kiểu ký tự: C - Character: họ tên, mã hàng, số phiếu,… Kiểu ngày: D - Date: ngày sinh, ngày nhập, xuất,… Kiểu logic: L - Logical: giới tính - Độ rộng: Xác định số ký tự nhiều nhất được ghi trong trường. Quy định: Kiểu C ≤ 254 Kiểu N ≤ 20 Kiểu D = 8 Kiểu L = 1 - Phần thập phân: Quy định số chữ số thập phân được dùng (áp dụng đối với các trường kiểu số - N) Phạm vi: Foxpro sử dụng các phạm vi sau: ALL: tất cả các bản ghi. ThiNganHang.comNEXT n: n bRECORD n: chản ghi kỉ gồm bế tiảến ghi thp từ bảứn ghi hin. ện thời. REST: Tất cả các bản ghi còn lại kể từ bản ghi hiện thời. Sơ đồ mô tả: ThiNganHang.com 2
Trang 3
Ghép xâu (Kiểu C + Kiểu C): Dùng dấu (+) hoặc (-), trong đó phép (-) sẽ xóa bỏ ký tự trắng ở giữa. Ví dụ: “AB”+“˽˽cd” = “AB˽˽cd” “AB”- “˽˽cd” = “ABcd” Biểu thức logic: gồm .NOT. (phủ định), .AND. (và), .OR. (hoặc). Trình tự thực hiện: () .NOT. .AND. .OR. Ví dụ: .NOT.(year(ngaysinh)>1993): tức là năm sinh không vượt quá 1993. Year(ngaysinh)>1993 .AND. year(ngaysinh)<2009: tức 1993 < năm sinh < 2009 2. Một số hàm cơ bản LEN(tên trường cần lấy): N: trả về kết quả là số ký tự của từng bản ghi trong trường đó hoặc độ dài 1 xâu ký tự. - Ví dThiNganHang.comụ: ?LEN(“Ha˽Noi”)?LEN(“123” + “1”) = LEN(“1231”) = 4= 6 LEFT(tên trường cần lấy, số ký tự cần lấy): C: trả về kết quả là ký tự cần lấy tính từ bên trái. - Ví dụ: Lấy phiếu nhập: SP MAVT TENVT NGAY KL DG TT PN001 S01 SẮT 01 05/28/2010 5000 30000 ?LEFT(sp, 2) = “PN” RIGHT: tương tự như LEFT nhưng tính từ bên phải sang. ThiNganHang.com 3
Trang 4
SUBSTR(tên trường cần lấy, vị trí cần lấy, số ký tự cần lấy): C: trả về kết quả là ký tự cần lấy tính từ vị trí cần lấy (giống hàm MID trong Excel). - Ví dụ: ?SUBSTR(“123456”, 3, 2) = 34 LTRIM, RTRIM(tên trường): C: Loại bỏ phần thừa bên trái hoặc bên phải của các bản ghi trong trường. - Ví dụ: LTRIM(“˽˽˽˽˽˽˽Ha Tinh”) = Ha Tinh RTRIM(“Ha Tinh˽˽˽˽˽˽˽”) = Ha Tinh ALLTRIM(tên trường): C: loại bỏ phần thừa 2 bên. - Ví dụ: ALLTRIM(“˽˽˽˽˽˽Ha Tinh˽˽˽˽˽˽˽”) = Ha Tinh * Mục đích của LTRIM, RTRIM, ALLTRIM là cắt bỏ những phần thừa để sử dụng hàm LEFT, RIGHT, SUBSTR được chính xác. Ví dụ: LEFT(“˽˽Ha Tinh”, 2) = ˽˽ LEFT(LTRIM(“˽˽Ha Tinh”, 2) = Ha LOWER(tên trường): C: Chuyển tất cả ký tự sang chữ thường. Ví dụ: VD1 phần (4), mục 3. UPPER(tên trường): C: Chuyển tất cả ký tự sang chữ in hoa. Ví dụ: VD1 phần (4), mục 3. VAL(biểu thức kiểu C): Chuyển từ kiểu ký tự sang kiểu số (kiểu C kiểu N). Ví dụ: Câu 1 bài 10 phần III. STR(biểu thức số, độ rộng, số lượng phần thập phân): Chuyển từ kiểu số sang kiểu xâu (kiểu N kiểu C). Ví dụ: VD3 phần (5), mục 3. Hàm ngày, tháng, năm: - DATE(năm, tháng, ngày): Trả về ngày tháng năm + Có 3 cách hiển thị ngày tháng năm. Ví dụ: ngày 10/04/1993 được biểu diễn như sau: DATE(2014,04,10) hoặc {^1993-04-10} hoặc {^1993/04/10} + Có th+ Tính tuThiNganHang.com?DATE(2013,07,16) - {^2013-07-13} = 3ể trổi: YEAR(DATE()) - 1993ừ 2 ngày tháng năm với nhau. Ví dụ: - DAY, MONTH, YEAR(trường ngày): Trả về kết quả là ngày, tháng, năm của bản ghi. * Lưu ý: Chỉ có DATE() mới trả về ngày tháng năm của ngày hiện tại. 3. Một số lệnh cơ bản * Foxpro cho phép viết tắt 4 ký tự đầu của tên lệnh. Ví dụ: REPL (REPLACE), AVER (AVERAGE),… ThiNganHang.com 4
Trang 5
(1) Lệnh mở tệp: USE tên tệp Nếu không có tên tệp thì đó là lệnh đóng tệp đang mở. Nếu có tên tệp thì máy sẽ mở tệp đó. Nếu mở tệp mới thì sẽ đóng tệp đang mở. Ví dụ: USE qlsv USE qlvt Lúc này tệp đang mở là qlvt (2) Lệnh di chuyển (GOTO, SKIP): GOTO n (n: vị trí cần di chuyển): dùng để di chuyển con trỏ bản ghi tới 1 vị trí thứ n. - Trường hợp đặc biệt: GOTO˽top/bottom: di chuyển lên đầu hoặc cuối bản ghi. SKIP n (n: số lượng cần di chuyển): dùng để di chuyển n bản ghi kể từ bản ghi hiện thời. Trong đó: n>0: chuyển về phía cuối tệp (xuống dưới), n<0: chuyển về phía đầu tệp (lên trên). Ví dụ: - VD1: Xem 5 bản ghi đầu tiên trong tệp: GO TOP LIST NEXT 5 - VD2: Xem 5 bản ghi cuối cùng trong tệp GO BOTTOM SKIP -4 LIST NEXT 5 * Vì sao có NEXT xem lại phần phạm vi ở mục 1 và cấu trúc hàm LIST. (3) Lệnh hiển thị (LIST, DISPLAY): dùng để hiển thị các bản ghi của tệp đang mở ra màn hình (hoặc máy in). LIST [phThiNganHang.comạm vi] [FIELDS tên trường cần hiển thị] [FOR điều kiện] [TO PRINTER] DISPLAY: cấu trúc tương tự. * Lưu ý: - Những phần được ghi trong dấu [ ] có nghĩa là có thể có hoặc không cần ghi cũng được. Ví dụ: + Nếu chỉ dùng LIST tức là: hiển thị ra máy tính tất cả các trường của tất cả các bản ghi mà không có điều kiện gì. + Nếu đầy đủ các thông tin trên lệnh LIST tức là: hiển thị ra máy in những trường cần hiển thị trong 1 phạm vi nào đó thỏa mãn 1 hoặc nhiều điều kiện. ThiNganHang.com 5
Trang 6
- Phạm vi: xem lại mục 1. - Điểm khác nhau cơ bản giữa LIST và DISPLAY: Nếu DISPLAY không có điều kiện (FOR) và phạm vi thì chỉ hiện thị bản ghi hiện thời. Các trường hợp còn lại đều hiển thị tất cả các bản ghi nếu không viết phạm vi cụ thể. Ví dụ: - VD1: Liệt kê các sinh viên khóa 49: LIST ALL FIELDS hodem,ten,khoa,lop FOR khoa=“49” - VD2: Liệt kê các sinh viên nam lớp 49/01.01: DISPLAY ALL FIELDS hodem,ten,gioitinh,khoa,lop FOR gt=.F. AND (khoa=“49” AND lop=“01.01”) - VD3: Xem danh sách sinh viên không phải thi lại 3 môn: DISPLAY FIELDS hodem,ten,d1,d2,d3 FOR d1>=4 AND d2>=4 AND d3>=4 - VD4: In danh sách sinh viên thi lại ít nhất 1 môn: LIST FOR d1<4 OR d2<4 OR d3<4 TO PRINTER - VD5: Xem danh sách sinh viên thi lại đúng 1 môn: LIST FOR (d1<4 AND d2>=4 AND d3>=4) OR (d2<4 AND d1>=4 AND d3>=4) OR (d3<4 AND d1>=4 AND d2>=4) - VD6: Hiển thị sinh nhật tháng 4 và 20 tuổi: LIST FIELDS hodem,ten,ngaysinh FOR month(ngaysinh) = 4 AND (year(date()) - year(ngaysinh) = 20) (4) Lệnh chỉnh sửa (REPLACE): dùng để sửa (hay thay thế) nội dung các bản ghi trong dữ liệu. Mục đích dùng để tính toán các trường như tính đơn giá, thuế, thành tiền,… Dạng lệnh: REPLACE [phạm vi] trường cần thay thế hoặc tính toán WITH nộThiNganHang.comi dung thay thế hoặc công thức tính toán [FOR điều kiện] Ví dụ: - VD1: Chuyển quê quán từ Hà Tây sang Hà Nội: REPLACE ALL quequan WITH “Ha Noi” FOR upper(quequan)=“HA TAY” Hoặc: REPLACE ALL quequan WITH “Ha Noi” FOR lower(quequan)=“ha tay” * Lưu ý: Ở đây phải dùng thêm UPPER hoặc LOWER vì trong trường quê quán có những bản ghi không hiển thị đúng Hà Tây mà có thể là HÀ Tây hoặc Hà TÂy,… do lỗi đánh máy nên phải chuyển đổi sang cùng 1 kiểu in hoa hoặc thường để hiển thị đúng. ThiNganHang.com 6
Trang 7
- VD2: Tính điểm trung bình 3 môn trên trường dtb: REPLACE ALL dtb WITH (d1 + d2 + d3)/3 - VD3: Phân loại học tập trên trường phanloai dựa vào trường dtb vừa tính được: Cách 1: REPLACE ALL phanloai WITH “Gioi” FOR dtb>=8 REPLACE ALL phanloai WITH “Kha” FOR dtb>=7 REPLACE ALL phanloai WITH “TB” FOR dtb<7 Cách 2: REPLACE ALL phanloai WITH IIF(dtb>=8, “Gioi”, IIF(dtb>=7, “Kha”, “TB”) * Lưu ý: Hàm IIF sử dụng giống hàm IF trong Excel: có bao nhiêu điều kiện thì có (n-1) hàm IIF lồng nhau. IIF(điều kiện hoặc biểu thức logic, kết quả đúng, kết quả sai) - VD4: 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%. REPLACE ALL tt WITH sl*dg*1.1 REPLACE tt WITH sl*dg*1.1*1.03 FOR month(ngay)=10 or month(ngay)=12 * Lưu ý: Nếu lệnh REPLACE có FOR mà không ghi phạm vi thì chỉ các bản ghi làm biểu thức logic đúng (.T.) mới được thay thế. (5) Lệnh sắp xếp (INDEX): Tạo ra 1 tệp chỉ dẫn để sắp xếp các tệp đang mở theo thứ tự tăng dần. Dạng lệnh: INDEX ON trường cần sắp xếp TO tên tệp chỉ dẫn[.idx] [FOR điều kiện] Ví dụ: - VD1: Sắp xếp theo dtb tăng dần: ThiNganHang.comINDEX ON dtb TO vd1.idx - VD2: Sắp xếp theo dtb giảm dần: INDEX ON -dtb TO vd2.idx Hoặc: INDEX ON 1/dtb TO vd2.idx - VD3: Sắp xếp theo lớp có điểm trung bình tăng dần: INDEX ON lop+str(dtb,5,2) TO vd3 * Lưu ý: + Để ghép xâu ta dùng dấu + và phải cùng tiêu thức kiểu C mới ghép xâu được. + Giải thích hàm STR(dtb,5,2): vì điểm trung bình tối đa là 10.00 có độ rộng là 5 ký tự, số lượng phần thập phân thường là 2. ThiNganHang.com 7
Trang 8
- VD4: Sắp xếp theo lớp có điểm trung bình giảm dần: INDEX ON lop+str(10 - dtb, 5, 2) TO vd4 - VD5: Sắp xếp theo ngày sinh tăng dần: INDEX ON ngaysinh TO vd5 - VD6: Sắp xếp theo ngày sinh giảm dần: INDEX ON date() - ngaysinh TO vd6 - VD7: Sắp xếp theo lớp và ngày sinh tăng dần với các trường lop, ns: INDEX ON lop+str(year(ns),4)+str(month(ns),2)+str(day(ns),2) TO vd7 - VD8: Sắp xếp cùng lớp và ngày sinh có năm sinh vào 1993: INDEX ON lop+dtoc(ns) TO vd8 FOR year(ns)=1993 * Trường hợp này dùng được hàm DTOC vì so sánh tháng đúng theo tăng dần. Đa số dùng DTOC là không chính xác nếu ghép xâu. (6) Các lệnh tính toán trên tệp dữ liệu: * Lưu ý: Sau khi tính toán muốn hiển thị kết quả ta dùng dấu ? a, Lệnh đếm số lượng bản ghi: COUNT TO tên biến nhớ [FOR điều kiện] Ví dụ: Tệp qlsv có 39 bản ghi, trong đó có 16 bản ghi có giới tính nam (quy ước nam là .T. trên trường giới tính) COUNT TO a ?“Số lượng sinh viên trong lớp là:”, a COUNT TO b FOR gt=.T. ?“Số lượng sinh viên nam trong lớp là:”, b b, Lệnh tính tổng (SUM), trung bình cộng (AVERAGE): Dùng để tính tổng, trung bình cộng của các bản ghi trong trường số. Dạng lệnh: SUM/AVERAGE [trường cần tính tổng hoặc tính trung bình cộng] TO tên biến nhớ [FOR điều kiện] * Lưu ý:ThiNganHang.com + Nếu không có tên các trường cần tính tổng hoặc tính TBC thì ngầm định là tính trên mọi trường số của tệp đang mở. + Tính trung bình cộng giản đơn (liên quan đến 1 trường) thì dùng AVERAGE (hoặc SUM/COUNT) + Tính số bình quân gia quyền (liên quan đến 2 trường trở lên) thì không dùng AVERAGE. Ví dụ: ĐTB học tập (vì bao gồm điểm từng môn, số tín chỉ), đơn giá (nhập, xuất, bán) bình quân, lương sản phẩm bình quân,… Ví dụ: ThiNganHang.com 8
Trang 9
- VD1: Tính điểm trung bình của môn 1 các sinh viên nữ trong lớp (quy ước nữ là .F. trên trường giới tính): Cách 1: AVERAGE d1 TO a FOR gt=.F. ?a hoặc ?“Diem trung binh mon 1 của sinh vien nu la:”, a Cách 2: SUM d1 TO b FOR gt=.F. COUNT TO c FOR gt=.F. ?“Diem trung bình mon 1 cua sinh vien nu la:”, b/c - VD2: Tính khối lượng tồn của S01 đến hết ngày 15/07/2010 (giả sử số dư đầu kỳ = 0) Ta có: Khối lượng tồn = Tổng nhập - Tổng xuất + Tổng nhập: SUM kl TO a FOR mavt=“S01” AND left(sp,2)=“PN” AND ngay<={^2010-07-15} + Tổng xuất: SUM kl TO b FOR mavt=“S01” AND left(sp,2)=“PX” AND ngay<={^2010-07-15} ?“Khối lượng tồn của S01 là:”, a-b - VD3: Tính đơn giá xuất bình quân của mã S02? SUM tt,kl TO tongtt, tongkl FOR mavt=“S02” AND left(sp,2)=“PX” ?“Đơn giá xuất bình quân là:”, tongtt / tongkl Lưu ý: Có thể viết ghép được khi có điều kiện (FOR) giống nhau. c, Lệnh tính tổng theo nhóm (TOTAL): dùng để tính tổng các trường số trên từng nhóm bản ghi. Nhóm: kế tiếp nhau cùng tiêu thức phân nhóm. Ví dụ: cùng mã vật tư là S02. * Lưu ý: Khi sử dụng lệnh TOTAL, bắt buộc phải sắp xếp dữ liệu theo tiêu thức ta muốn phân nhóm để Foxpro hiểu được đúng trong dữ liệu có bao nhiêu nhóm. Ví dThiNganHang.comụ: S01 S01 S01 S02 4 nhóm S02 3 nhóm S01 3 nhóm S01 S02 S02 S03 S03 S03 Dạng lệnh: TOTAL ON tiêu thức phân nhóm TO tệp kết quả[.dbf] [FIELDS các trường cần tính tổng theo nhóm] [FOR điều kiện] Trong đó: + Nếu không có FIELDS thì máy ngầm hiểu là tính tổng theo nhóm ở tất cả các trường. ThiNganHang.com 9
Hiển thị 9 trang đầu. Tải tài liệu để xem đầy đủ.
Bình luận (0)
Chưa có bình luận nào. Hãy là người đầu tiên!