Bài tập + đáp án visual foxpro cho ngành công nghệ thông tin, thực hành foxpro đáp án cho IT, bài tập thực hành foxpro cơ bản đến nâng cao, Bài tập +đáp án visual foxpro cho người mới bắt đầu học, bài tập thực hành foxpro có đáp án hay, hướng dẫn chi tiết thực hành foxpro bài tập có đáp án.
BÀI TẬP Câu 1: Sử dụng bảng nhanvien.dbf tạo buổi 1, thực công việc sau: - Mở bảng nhanvien.dbf (Sử dụng lệnh Use?) - Xem toàn danh sách bảng (Sử dụng lệnh Brow) - Sử dụng lệnh Go n tới ghi thứ 2, sau thực phép gán giá trị cho biến sau: (Chú ý: ghi ta lại khai báo lại toàn biến) + Ho = Hodem + Ten = TenNV + MNV = MaNV + DC = DiaChi + NS = NgaySinh + GT = GioiTinh + Luong = Luongcoban - Xem lại giá trị biến nhận lệnh: ? tên_biến - Hiển thị hình thông tin: MaNV, HoNV, TenNV, NgaySinh, GioiTinh, Luongcb người thứ với điều kiện loại bỏ ký tự trống bị thừa ?manv-honv-tennv… - Hiển thị thông tin HoNV TenNV với tất ký tự chữ in hoa ?upper(ho),upper(ten) - Hiển thị ngày sinh theo dạng: Ngày sinh: 12/05 ?”ngày sinh:”,day(ns),"/",month(ns) ?left(dtoc(ns),5) - Hiển thị địa theo dạng: Địa chỉ: 165, Cầu Giấy, Hà Nội ?”Địa chỉ:”,dc - Hiển thị đầy đủ thông tin người thứ theo mẫu: “Mã nhân viên: 02 – Họ tên: NGUYỄN VÂN ANH – ngày sinh: 12/05 – Địa chỉ: 165, Cầu Giấy, Hà Nội - Lương bản: 1,800,000 VNĐ” ?"ma nhan vien:",manv,"-","hnv:",honv,"-","ten:",tennv,"-","n/s:",ngaysinh,"-","d/c:",diachi ?"M· nh©n viªn: ",mnv," - ",ho," ",ten," - ",ns," - ",dc," - ",luong," VN§" - Cho biết mã nhân viên người thứ bảng nhanvien.dbf có kí tự ? ?len(alltrim(mnv)) - In hình giới tính nhân viên thứ hai với yêu cầu: giới tính nhân viên F hiển thị “Nữ” giới tính nhân viên T hiển thị “Nam” ?iif(gt=.T.,”Nam”,”Nữ”) Câu 2: Tới ghi thứ 3, gán biến NS = NgaySinh, sau thực yêu cầu sau: - Cho biết tuổi nhân viên đó? ?year(date())-year(ns) - Nhân viên sinh vào thứ tuần? ?cdow(ns) - Cho biết nhân viên sinh vào tháng ? ?month(ns) - Đưa ngày sinh dạng French (dd/mm/yyyy) Set date french ?NS - Kết hợp hàm Cdow, Cmonth, Year, Day, Str hiển thị ngày sinh theo kiểu: “Wednesday, 02, May, 1979” ?cdow(ns),",",day(ns),",",cmonth(ns),",",year(ns) Câu 3: Tới ghi thứ 5, gán giá trị cho biến: CL = calam, LCB = luongcb Sau thực yêu cầu sau: Use ? Brow Go Cl=calam Lcb=luongcb - Cho biết số tiền bảo hiểm nhân viên phải đóng với : BH = 9.5% * luongcb bh=9.5/100*lcb ?bh - Cho biết số tiền phụ cấp(PC) mà nhân viên nhận: Nếu ca làm PC = 200,000, ca làm PC = 250,000, ca làm PC = 350,000 Pc=iif(ca=1,200,iif(ca=2,250,350)) ?pc brow - Cho biết lương thực lĩnh nhân viên đó: Thuclinh = LCB + PC - BH Thuclinh=lcb+pc+bh ?thuclinh Câu 4: - Gán biến a, b, c tương ứng với trường luongcb ghi thứ 1,2,3 bảng nhanvien.dbf Thực yêu cầu: Use ? Brow Go A=luongcoban Go B=luongcoban Go C=luongcoban ▪ Hiển thị tổng luongcb ba nhân viên? Tongluongcb=a+b+c ?tongluongcb ▪ In trung bình luongcb ba nhân viên? trungbinhluongcb=tongluongcb/3 ?trungbinhluongcb ▪ In luongcb cao (thấp nhất) ba nhân viên đó? ?max(a,b,c) ?min(a,b,c) - Cho biết tổng lương phải trả cho toàn nhân viên? Go D=luongcoban Go5 E=luongcoban Tongluongcb_full=a+b+c+d+e - Trung bình lương toàn nhân viên bao nhiêu? Trungbinhluongcb_full=tongluongcb_full/5 ?Trungbinhluongcb_full Câu 5: ❖ Gán giá trị cho số a, b, c, sau thực yêu cầu: A=10 B=13 C=0 - Kiểm tra a số chẵn, số lẻ hay số in thông báo lên hình A=10 kt=iif(a=0,"bang 0", iif(a % =0,"chan","le")) ?kt hoac A=10 ? iif(a=0,"so khong",iif(mod(a,2)=0,”chan”,”le”)) - Tìm số lớn nhất, bé ba số thông báo kết lên hình ?max(a,b,c) ?min(a,b,c) - In tổng trung bình ba số, kết lấy phần nguyên ?int (a+b+c)/3 hoac ?round((a+b+c)/3,0) ❖ Giải phương trình bậc hai: ax2 + bx + c = Yêu cầu: dựa vào kết tính DELTA (d) để in kết luận sau: + Phương trình vô nghiệm + Phương trình có nghiệm kép: x = -b/(2*a) + Phương trình có hai nghiệm phân biệt : a=3 b=5 c=-7 delta=b*b-4*a*c X12=-b/(2*a) X1=-b-sqrt(delta)/(2*a) X2=-b+sqrt(delta)/(2*a) ketqua=iif(delta>0,"2 nghiem",iif(delta=0,"nghiem kep","vo nghiem")) ?ketqua ?x1 ?x2 Bài tập Câu : A Mở Project tạo buổi ❖ Tên Project : QUANLY_TENSV.PJX ❖ Tạo Database : QUANLYBANHANG.DBC ❖ Tạo Table: KHACHHANG.DBF, HOADON.DBF, SANPHAM.DBF, CHITIETHOADON.DBF Cấu trúc Table sau: KHACHHANG (Khách hàng) Name MaKH HoTenKH DiaChi DienThoa i Email Type Character Width Character Character Character 40 50 14 Character 50 Format Input mark = (999) 99999999 Caption Mã khách hàng Họ tên khách hàng Địa Điện thoại E-Mail HOADON (Hoá đơn) Name MaHD MaKH Type Character Width Character Format Caption Mã hoá đơn Mã khách hàng MaNV NgayLapH D Character Date 8 Input mark = 00/00/00 Rule = NgayLapHD=0 Message = "Số lượng hàng không âm" Caption Mã sản phẩm Tên sản phẩm Số lượng tồn Đơn vị tính Mô tả sản phẩm CHITIETHD (Chi tiết hoá đơn) Name MaHD MaSP SoLuongBa n Type Character Character Numeric Width 8 10 DonGia Currency Format Rule = soluongban>0 and soluongban0 Message = "Đơn giá phải dương" Caption Mã hoá đơn Mã sản phẩm Số lượng bán Đơn giá Yêu cầu sinh viên thao tác công việc sau: (em đề xuất thêm phần này) - Remove bảng NHANVIEN.DBF khỏi Project Add thêm bảng NHANVIEN.DBF vào CSDL QUANLYBANHANG.DBC Sử dụng bảng NHANVIEN.DBF (sử dụng lệnh Use?) Modify Stru sửa bảng nhân viên theo cấu trúc sau NHANVIEN (Nhân viên) Name MaNV HoNV TenNV GioiTinh NgaySinh Type Character Width Character Character Logical Date 30 12 Format Format = ! Input mark = 00/00/00 Rule = (YEAR(DATE())YEAR(NgaySinh))>=18 AND (YEAR(DATE())YEAR(NgaySinh))=1 AND CaLam=1991 THANGSINH>=6 brow font "vntime",14 for year(ngaysinh)>=1991 and month(ngaysinh)>=6 ● Hiện thông tin nhân viên có PHAI F sinh năm 1980 brow font "vntime",14 for year(ngaysinh)>=1980 and phai=.f 2.2 Sử dụng bảng CHITIETHOADON.dbf thực yêu cầu sau: ● Thêm vào cột THANHTIEN lệnh MODI STRU ● Dùng lệnh List để điều kiện sau: + Hiện thông tin sản phẩm với MASP= “SS7560” list for masp="SS7560" + Hiện thông tin sản phẩm gồm MaHD, MaSP, DonGia có SOLUONGBAN>=50 list masp,mahd,dongia for soluongban>=50 + Hiện đầy đủ thông tin nhân viên thứ list record + Hiện thông tin gồm: MaNV, HoNV, TenNV, DienThoai, CaLam nhân viên từ thứ đến (go 2, list next 4) + Hiện thông tin gồm: MaNV, HoNV, TenNV, DienThoai, CaLam từ thứ đến hết tệp (go 3, list rest fields manv,honv) 2.3 Hãy thực lại lệnh BROWSE lệnh EDIT phần 2.1 edit font "vntime",14 for manv="NV02" edit font "vntime",14 for year(ngaysinh)>=1991 and month(ngaysinh)>=6 edit font "vntime",14 for year(ngaysinh)>=1980 and phai=.f 2.4 Sử dụng bảng Khách hàng Dùng lệnh Append để ghép thêm khách hàng append 2.5 Sử dụng bảng CHITIETHOADON ● Đánh dấu xóa hoá đơn có Soluongban * Dongia nhỏ 30,000,000 vnđ go top, delete for dongia*soluongban=3000000 to a, ?a) 2.7 Thống kê xem có sản phẩm bán với SOLUONG>=50(count for soluong>50 to b, ?b) 2.8 Hãy dùng lệnh Replace để tính cột THANHTIEN(repla all thanhtien with soluongban*dongia) 2.9 Kết hợp lệnh COUNT lệnh SUM để tính trung bình THANHTIEN 2.10 Dùng lệnh Average để tính trung bình cột THANHTIEN(average dongia to f) 2.11 Dùng lệnh SORT để xếp cột SOLUONGBAN theo chiều tăng dần(sort on soluongban/a to sx1, use sx1, brow) 2.12 Hãy chèn ghi trắng bảng CHITIETHOADON.dbf sau ghi thứ (Lệnh Insert Blank) go insert blank 2.13 Hãy chèn thêm ghi trước ghi thứ bảng CHITIETHOADON.dbf (Lệnh Insert Before) go insert before 2.14 Sử dụng ToTal để tính tổng SOLUONGBAN theo MASP total on masp to thongke12 field soluongban use thongke12 brow 2.15 Hãy dùng lệnh Replace để giảm giá 5% THANHTIEN>=100,000,000 vnđ 10 2.16 Hãy dùng lệnh Replace để điền LuongCB cho nhân viên với LuongCB = 1,050,000 vnđ (repla all luongcb with 1050000) 2.17 Hãy dùng lệnh Replace để tính cột TONGLUONG: ● Nếu CaLam hoac TongLuong = LuongCB ● Neu CaLam=3 thi TongLuong = LuongCB + PhuCap với PhuCap = 10% LuongCB repla all tongluong with iif(calam=3,luongcb+0.1*luongcb,luongcb) BÀI TẬP THỰC HÀNH SỐ A Phần thực hành Câu 1: Hãy tạo Project sau: + Tên Project: QUANLY.pjx + Tên Database: QLDIEM.dbc + Tên Table gồm: SINHVIEN.dbf, DIEM.dbf, DMLOP.dbf Cấu trúc bảng sau: a SINHVIEN.dbf: NAME TYPE WIDT FORMAT CAPTION H MASV C Mã Sinh viên HODEM C 30 Họ đệm TEN C 10 Tên NGAYSINH D Input mask: 00/00/00 Ngày sinh GIOITINH L Giới tính NAMNH N Rule:NamNH=0 Môn and Mon =12, THANGSINH =9 sinh sau năm 1993 brow font "vntime",14 field MASV,HOVATEN for day(ngaysinh)>=12 and month(ngaysinh)=9 and year(ngaysinh)=1993 Đưa hình gồm MASV, HOVATEN với liệu trường MASV xếp theo thứ tự tăng dần (0.5đ) Chèn thêm sinh viên vào cuối tệp (0.5đ) Use? Appen * Sử dụng bảng DIEM thực yêu cầu sau: Hiện liệu theo ghi với Font = “.Vntime”, Size 14 thỏa mãn điều kiện môn học 5.0 (0.5đ) Use? Chon bang DIEM brow font "vntime",14 for ĐTB >=5 Xóa sinh viên từ sinh viên thứ đến cuối tệp (0.5đ) Use? Go delete rest Cập nhật liệu vào cột DTB (0.5đ) Replace all DTB with (MON1+MON2+MON3)/3 12 Điền thông tin vào cột xếp loại cho sinh viên: Nếu DTB >= loại “giỏi”,