1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài tập + đáp án visual foxpro

14 2,8K 7

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 14
Dung lượng 97,71 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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.

Trang 1

BÀI TẬP 1 Câu 1: Sử dụng bảng nhanvien.dbf đã tạo ở buổi 1, thực hiện các công việc sau:

(Chú ý: mỗi bản ghi ta lại khai báo lại toàn bộ biến)

+ Ho = Hodem

+ Ten = TenNV

+ MNV = MaNV

+ DC = DiaChi

+ NS = NgaySinh

+ GT = GioiTinh

+ Luong = Luongcoban

- Xem lại giá trị của các biến nhận được bằng lệnh: ? tên_biến.

người thứ 2 với điều kiện loại bỏ các ký tự trống bị thừa

?manv-honv-tennv…

- Hiển thị thông tin của HoNV và TenNV với tất cả các ký tự là 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 chỉ theo dạng: Địa chỉ: 165, Cầu Giấy, Hà Nội.

?”Địa chỉ:”,dc

NGUYỄN VÂN ANH – ngày sinh: 12/05 – Địa chỉ: 165, Cầu Giấy, Hà Nội - Lương cơ 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 của người thứ 2 trong bảng nhanvien.dbf có bao nhiêu kí tự ?

?len(alltrim(mnv))

hiển thị “Nữ” còn nếu giới tính của nhân viên là T thì hiển thị “Nam”

Trang 2

?iif(gt=.T.,”Nam”,”Nữ”)

Câu 2: Tới bản ghi thứ 3, gán biến NS = NgaySinh, sau đó thực hiện các yêu cầu sau:

?year(date())-year(ns)

?cdow(ns)

?month(ns)

Set date french

?NS

02, May, 1979”.

?cdow(ns),",",day(ns),",",cmonth(ns),",",year(ns)

Câu 3: Tới bản ghi thứ 5, gán giá trị cho các biến: CL = calam, LCB = luongcb Sau đó thực

hiện các yêu cầu sau:

Use ?

Brow

Go 5

Cl=calam

Lcb=luongcb

bh=9.5/100*lcb

?bh

PC = 200,000, ca làm là 2 thì PC = 250,000, ca làm là 3 PC = 350,000.

Pc=iif(ca=1,200,iif(ca=2,250,350))

?pc

Trang 3

brow

Thuclinh=lcb+pc+bh

?thuclinh Câu 4:

nhanvien.dbf Thực hiện các yêu cầu:

Use ? Brow

Go 1 A=luongcoban

Go 2 B=luongcoban

Go 3 C=luongcoban

Tongluongcb=a+b+c

?tongluongcb

trungbinhluongcb=tongluongcb/3

?trungbinhluongcb

?max(a,b,c)

?min(a,b,c)

Go 4 D=luongcoban Go5

E=luongcoban

Trang 4

Tongluongcb_full=a+b+c+d+e

Trungbinhluongcb_full=tongluongcb_full/5

?Trungbinhluongcb_full

Câu 5:

A=10

B=13

C=0

A=10 kt=iif(a=0,"bang 0", iif(a % 2 =0,"chan","le"))

?kt hoac A=10

? iif(a=0,"so khong",iif(mod(a,2)=0,”chan”,”le”))

?max(a,b,c)

?min(a,b,c)

?int (a+b+c)/3 hoac

?round((a+b+c)/3,0)

in ra một trong các kết luận sau:

Trang 5

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 2 Câu 1 :

A Mở Project đã tạo ở buổi một

❖ Tên Project : QUANLY_TENSV.PJX

❖ Tạo Database : QUANLYBANHANG.DBC

❖ Tạo các Table: KHACHHANG.DBF, HOADON.DBF, SANPHAM.DBF, CHITIETHOADON.DBF

Cấu trúc của các Table trên như sau:

KHACHHANG (Khách hàng)

DienThoa

HOADON (Hoá đơn)

Trang 6

NgayLapH

D

Rule = NgayLapHD<=Date() Message = "Hoá đơn lập trước hoặc bằng ngày hiện tại"

Ngày lập hoá đơn

SANPHAM (Sản phẩm)

Message = "Số lượng hàng không âm"

Số lượng tồn

CHITIETHD (Chi tiết hoá đơn)

SoLuongBa

n

Numeric 10 Rule = soluongban>0 and

soluongban<=Sanpham.soluong Message = "Số hàng bán ra phải nhỏ hơn hoặc bằng số hàng hiện có"

Số lượng bán

Rule = dongia>0 Message = "Đơn giá phải dương"

Đơn giá

Yêu cầu sinh viên hãy thao tác các công việc sau: (em đề xuất thêm phần này).

- Remove bảng NHANVIEN.DBF ra 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 và sửa bảng nhân viên theo cấu trúc sau

NHANVIEN (Nhân viên)

Rule = (YEAR(DATE())-YEAR(NgaySinh))>=18 AND

(YEAR(DATE())-YEAR(NgaySinh))<=60 Message = "Tuổi của nhân viên từ 18 đến 60"

Ngày sinh

Trang 7

DienThoa

i

CaLam Numeric 1 Rule = CaLam>=1 AND CaLam<=3

Message = "Ca làm việc chỉ có thể là 1 hoặc 2 hoặc 3"

Default value = 1

Ca làm (1,2,3)

B Thiết lập mối quan hệ (Relationships) cho các bảng như hình sau:

Đặt điều kiện ràng buộc dữ liệu cho các bảng theo bảng sau:

Trang 8

C Nhập dữ liệu cho các bảng theo thứ tự như sau:

Khách Hàng

KH01 Trần Xuân Trường Đống Đa, Hà Nội 0984339456 tranxuantruong@yahoo.com KH02 Phạm Văn Long Tây Hồ, Hà Nội 0988678999 longpvg@ gmail.com

KH03 Bùi Thanh Tuấn Long Biên, Hà Nội 0904040999 thanhtuan@yahoo.com

KH04 Lê Thành Long Cầu Giấy, Hà Nội 0904543999 thanhlongle@gmail.com

Hoá Đơn

Sản Phẩm

MaSP TenSP SoLuong DonViTinh MoTa

SS7560

Samsung Galaxy Trend

Điện thoại Smart phone, Android 2.3.6, ARMv6 830 MHz, RAM 290 MB

NL520B Nokia Lumia 520

Lumia 520, Điện thoại Smart phone, Windows Phone 8 Apollo, Dual-core 1 GHz

Trang 9

SC6902 Sony C6902 – Xperia Z1 White 380 Cái Smart phone C6902, Android 4.2, Quad-core 2.2 Ghz,RAM 2GB

HTC720 HTC One X S720E White

16g

Quad-core 1.2 GHz Cortex-A5,Ram 1G IP0006 Iphone 5 White – 16g 300 Cái I-Phone 5, Smart phone, IOS 6, Apple A6

Chi tiết hoá đơn

Câu 2: Thực hiện các yêu cầu sau:

- Hãy thoát khỏi chương trình Visual Foxpro

- Khởi động lại VF và thực hiện các lệnh dưới đây từ của sổ COMMAND

- Mở Database QUANLYBANHANG.DBC bằng lệnh Open database

- Sử dụng bảng NHANVIEN.dbf Dùng lệnh MODI STRU:

● Sửa tên trường GioiTinh thành Phai

● Thêm vào trường LuongCB, TongLuong

2.1 Dùng lệnh Browse có FONT = “.Vntime” và cỡ FONT là 14 hiện thông tin với các điều kiện sau :

● Hiện các thông tin của nhân viên có MaNV=”NV02” brow font "vntime",14 for manv="NV02"

● Hiện các thông tin của các nhân viên có NAMSINH>=1991 và THANGSINH>=6

brow font "vntime",14 for year(ngaysinh)>=1991 and month(ngaysinh)>=6

● Hiện các thông tin của các nhân viên có PHAI là F và sinh năm 1980

brow font "vntime",14 for year(ngaysinh)>=1980 and phai=.f

2.2 Sử dụng bảng CHITIETHOADON.dbf và thực hiện các yêu cầu sau:

● Thêm vào cột THANHTIEN bằng lệnh MODI STRU

● Dùng lệnh List để hiện các điều kiện sau:

+ Hiện các thông tin của sản phẩm với MASP= “SS7560” list for masp="SS7560"

+ Hiện thông tin của 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 của nhân viên thứ 5 list record 5

Trang 10

+ Hiện các thông tin gồm: MaNV, HoNV, TenNV, DienThoai, CaLam của các nhân viên

từ thứ 2 đến 5 (go 2, list next 4)

+ Hiện các thông tin gồm: MaNV, HoNV, TenNV, DienThoai, CaLam từ thứ 3 đến hết

tệp (go 3, list rest fields manv,honv) 2.3 Hãy thực hiện lại các lệnh của BROWSE bằng 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 5 khách hàng append

2.5 Sử dụng bảng CHITIETHOADON

● Đánh dấu xóa những hoá đơn có Soluongban * Dongia nhỏ hơn 30,000,000 vnđ

go top, delete for dongia*soluongban<3000000

● Về bản ghi đầu tiên và đánh dấu xóa từ bản ghi thứ 1 đến hết go top delete rest

● Hãy phục hồi những bản ghi bị đánh dấu (Lệnh Recall) recall all

● Tới bản ghi số 5 Hãy xóa bản ghi thứ 5 (Lệnh Delete và lệnh Pack) go 5 delete record 5 pack

● Tới bản ghi số 4 Hãy xóa từ bản ghi thứ 4 đến 6 go 4 delete next 3

2.6 Thống kê xem có bao nhiêu hoá đơn có Soluongban * Dongia lớn hơn 30,000,000(count for dongia*soluongban>=3000000 to a, ?a)

2.7 Thống kê xem có bao nhiêu 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 và lệnh SUM để tính trung bình của 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 để sắp 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 một bản ghi trắng trong bảng CHITIETHOADON.dbf sau bản ghi thứ 5 (Lệnh Insert Blank) go 5 insert blank

2.13 Hãy chèn thêm một bản ghi trước bản ghi thứ 4 trong bảng CHITIETHOADON.dbf (Lệnh Insert Before) go 4 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% nếu THANHTIEN>=100,000,000 vnđ

Trang 11

2.16 Hãy dùng lệnh Replace để điền LuongCB cho từng 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 bằng 1 hoac 2 thì 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Ố 3

A Phần thực hành

Câu 1: Hãy tạo một 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 3 bảng như sau:

a SINHVIEN.dbf:

H

Message: “năm nhập học phải nhỏ hơn hoặc bằng năm hiện tại”

Năm nhập học

b DIEM.dbf

and Mon 1 <=10 Message: “Hãy nhập lại điểm”

Môn 1

c DMLOP.dbf

Sau khi tạo xong cấu trúc bảng, sinh viên thực hiện các yêu cầu:

Trang 12

o MALOP của bảng DMLOP.dbf với MALOP trong bảng SINHVIEN.dbf.

o MASV trong bảng SINHVIEN.dbf với MASV trong bảng DIEM.dbf.

…,13005)

COMMAND

kiểu Currency

B Phần kiểm tra

Masv: Họ và Tên: Lớp:

Điểm cộng cho phần thực hành(1đ):

I Thực hiện các lệnh dưới đây từ cửa sổ COMMAND ( 7 điểm)

*.Sử dụng bảng SINHVIEN thực hiện các yêu cầu sau:

1 Ghép dữ liệu cột HODEM và TEN vào cột HOVATEN Chuyển HOVATEN thành chữ

in hoa (0.5đ)

Tạo trường HOVATEN

Replace all hovaten with honv+tennv

brow font "vntime",14 field MASV,HOVATEN,TENLOP for ten="ANH"

sau năm 1993

brow font "vntime",14 field MASV,HOVATEN for day(ngaysinh)>=12 and

month(ngaysinh)=9 and year(ngaysinh)=1993

tự tăng dần (0.5đ)

Use?

Appen

* Sử dụng bảng DIEM thực hiện các yêu cầu sau:

môn học nào dưới 5.0 (0.5đ)

Use? Chon bang DIEM

brow font "vntime",14 for ĐTB >=5

Use?

Go 4

delete rest

Replace all DTB with (MON1+MON2+MON3)/3

Trang 13

“khá”, 6 <= DTB < 7 loại “TB”, còn lại loại “kém” (1đ)

loại khá thì học bổng =150000, còn lại không có học bổng (0.5đ)

(0.5đ)

II Phần trắc nghiệm ( 2điểm)

Câu 1 Cho biết khối lệnh sau thực hiện công việc gì?

Use Sinhvien

Go bottom

INSERT BEFORE

Câu 2 Hãy chỉ ra dòng lệnh sai:

Use Sinhvien (1)

Go to 3 (2)

Delete rest (3)

a Dòng 1 c Dòng 1 và 2

b Dòng 2 d Dòng 3

Câu 3: Cho biết kết quả của lệnh sau:

? date()-{^2009/08/20}

a 1573 c 1357

b 1537 d 1735

Câu 6: Đối tượng Table thuộc thành phần nào quản lý trong cửa sổ của Project Manager

a Database c From, Data

Câu 4: Cho bảng Sinhvien có 10 bản ghi Cho biết kết quả của đoạn lệnh sau:

Use Sinhvien

Go 4

Count rest to a

?a

a 5 c 7

b 6 d 4

Câu 5: Cho biết kết quả của đoạn lệnh sau:

A = "Truong "

B = "KD & CN "

Trang 14

Câu 7: Để hiển thị toàn bộ dữ liệu trong bảng SINHVIEN với phông chữ vntimeH và cỡ chữ

14 ta chọn:

a Browse field font = ''.vntimeH'',14 c Browse all font ''.vntimeH'',14

b Browse all font ''.vntimeH'',size=14 d Browse field font ''.vntimeH'' 14

Câu 8 : Ký tự A trong khuôn dạng InputMask có ý nghĩa gì ?

Ngày đăng: 22/03/2017, 09:21

TỪ KHÓA LIÊN QUAN

w