ĐỀ 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.
ĐỀ CƯƠNG ÔN TẬP MÔN TIN HỌC ỨNG DỤNG (Tham khảo) MỤC LỤC I II III IV V VI PHẦN I: CÁC VẤN ĐỀ CƠ BẢN VỀ FOXPRO Một số khái niệm Một số hàm Một số lệnh PHẦN II: CÁC DẠNG BÀI TẬP VỀ FOXPRO PHẦN III: BÀI TẬP VỀ FOXPRO Bài Bài Bài 3: Bài thực hành số Bài 4: Bài thực hành số Bài 5: Bài thực hành số Bài Bài 7: Đề kiểm tra điều kiện Bài 8: Đề thi tự luận (5) Bài 9: Đề kiểm tra điều kiện (12) Bài 10: Đề thi tự luận (4) Bài 11: Đề kiểm tra điều kiện (3) Bài 12: Đề kiểm tra điều kiện (5) Bài 13: Đề kiểm tra điều kiện (11) Bài 14: Đề thi tự luận (1) Bài 15: Đề thi tự luận (2) Bài 16: Đề thi tự luận (3) PHẦN IV: MỘT SỐ CÂU HỎI TRẮC NGHIỆM TỔNG HỢP Câu hỏi tổng hợp từ đề thi Đề thi trắc nghiệm số 26 (30 câu) Đề thi trắc nghiệm số 16 (24 câu) Trắc nghiệm Foxpro Trắc nghiệm Powerpoint Trắc nghiệm Thương mại điện tử Trang 2 11 14 14 15 16 20 23 27 29 31 32 34 35 37 39 41 42 43 45 45 48 55 60 67 77 PHẦN I: CÁC VẤN ĐỀ CƠ BẢN VỀ FOXPRO Một số khái niệm Bản ghi: dòng Trường: cột Các đặc trưng trường: - Tên trường: dùng để đặt tên cho tiêu thức Quy định: Không 10 ký tự Không phân biệt chữ hoa hay thường Không chữ số Không chứa ký tự đặc biệt: /, \, space,… - Kiểu trường: Dùng để xác định loại thông tin chứa trường Foxpro sử dụng 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 ghi trường Quy định: Kiểu C ≤ 254 Kiểu N ≤ 20 Kiểu D = Kiểu L = - Phần thập phân: Quy định số chữ số thập phân dùng (áp dụng trường kiểu số - N) Phạm vi: Foxpro sử dụng phạm vi sau: ALL: tất ghi NEXT n: n ghi từ ghi thời RECORD n: gồm ghi thứ n REST: Tất ghi lại kể từ ghi thời Sơ đồ mô tả: Ghép xâu (Kiểu C + Kiểu C): Dùng dấu (+) (-), phép (-) xóa bỏ ký tự trắng 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 năm sinh không vượt 1993 Year(ngaysinh)>1993 AND year(ngaysinh)0: chuyển phía cuối tệp (xuống dưới), n=4 AND d2>=4 AND d3>=4 - VD4: In danh sách sinh viên thi lại mơn: LIST FOR d1=4) - VD6: Hiển thị sinh nhật tháng 20 tuổi: LIST FIELDS hodem,ten,ngaysinh FOR month(ngaysinh) = AND (year(date()) - year(ngaysinh) = 20) (4) Lệnh chỉnh sửa (REPLACE): dùng để sửa (hay thay thế) nội dung ghi liệu Mục đích dùng để tính tốn trường tính đơn giá, thuế, thành tiền,… Dạng lệnh: REPLACE [phạm vi] trường cần thay tính tốn WITH nội dung thay cơng thức tính tố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 ý: Ở phải dùng thêm UPPER LOWER trường q qn có ghi khơng hiển thị Hà Tây mà HÀ Tây Hà TÂy,… lỗi đánh máy nên phải chuyển đổi sang kiểu in hoa thường để hiển thị - VD2: Tính điểm trung bình mơn trường dtb: REPLACE ALL dtb WITH (d1 + d2 + d3)/3 - VD3: Phân loại học tập 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=8, “Gioi”, IIF(dtb>=7, “Kha”, “TB”) * Lưu ý: Hàm IIF sử dụng giống hàm IF Excel: có điều kiện có (n-1) hàm IIF lồng IIF(điều kiện biểu thức logic, kết đúng, kết sai) - VD4: Tính thành tiền biết: TT=SL*DG + TT*10%VAT Nếu bán tháng 10 12 đơ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 ghi làm biểu thức logic (.T.) thay (5) Lệnh xếp (INDEX): Tạo tệp dẫn để xếp tệp mở theo thứ tự tăng dần Dạng lệnh: INDEX ON trường cần xếp TO tên tệp dẫn[.idx] [FOR điều kiện] Ví dụ: - VD1: Sắp xếp theo dtb tăng dần: INDEX 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 + phải tiêu thức kiểu C ghép xâu + Giải thích hàm STR(dtb,5,2): điểm trung bình tối đa 10.00 có độ rộng ký tự, số lượng phần thập phân thường - 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 ngày sinh tăng dần với 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 lớp 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 dùng hàm DTOC so sánh tháng theo tăng dần Đa số dùng DTOC khơng xác ghép xâu (6) Các lệnh tính tốn tệp liệu: * Lưu ý: Sau tính tốn muốn hiển thị kết ta dùng dấu ? a, Lệnh đếm số lượng ghi: COUNT TO tên biến nhớ [FOR điều kiện] Ví dụ: Tệp qlsv có 39 ghi, có 16 ghi có giới tính nam (quy ước nam T trường giới tính) COUNT TO a ?“Số lượng sinh viên lớp là:”, a COUNT TO b FOR gt=.T ?“Số lượng sinh viên nam 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 ghi trường số Dạng lệnh: SUM/AVERAGE [trường cần tính tổng tính trung bình cộng] TO tên biến nhớ [FOR điều kiện] * Lưu ý: + Nếu tên trường cần tính tổng tính TBC ngầm định tính trường số tệp mở + Tính trung bình cộng giản đơn (liên quan đến trường) dùng AVERAGE (hoặc SUM/COUNT) + Tính số bình qn gia quyền (liên quan đến trường trở lên) khơng dùng AVERAGE Ví dụ: ĐTB học tập (vì bao gồm điểm mơn, số tín chỉ), đơn giá (nhập, xuất, bán) bình qn, lương sản phẩm bình qn,… Ví dụ: - VD1: Tính điểm trung bình mơn sinh viên nữ lớp (quy ước nữ F trường giới tính): Cách 1: AVERAGE d1 TO a FOR gt=.F ?a ?“Diem trung binh mon 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 cua sinh vien nu la:”, b/c - VD2: Tính khối lượng tồn 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