ĐỀ THI và đáp án môn lập TRÌNH VISUAL BASIC, đại học SPKT TPHCM

11 5.3K 11
ĐỀ THI và đáp án môn lập TRÌNH VISUAL BASIC, đại học SPKT TPHCM

Đ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

ĐẠI HỌC SƯ PHẠM KỸ THUẬT TPHCM ĐỀ THI CUỐI KỲ NĂM HỌC 2013-2014 KHOA CÔNG NGHỆ THÔNG TIN MÔN: LẬP TRÌNH VISUAL BASIC BỘ MÔN: HỆ THỐNG THÔNG TIN MÃ MÔN HỌC: VBPR131085 - Thời gian: 75 phút Không sử dụng tài liệu Đề thi có: 02 trang Câu 1: (1.5 điểm) Cho hàm tính tổng TinhS sau: Function TinhS ( ByVal n As Integer ) As Long Dim i As Integer Dim kq, giaithua as Long kq = giaithua = For i = To n giaithua = giaithua * i kq = kq + giaithua Next i TinhS = kq End Function Hãy viết lại hàm TinhS sử dụng vòng lặp Do while…Loop Câu 2: (2 điểm) Một chương trình có hai thủ tục sau, thủ tục CmdVidu_Click gọi, trình bày chạy bước chương trình giấy Private Sub P ( ByVal x As Integer, ByRef y As Integer ) y=y+x x=x–2 MsgBox "x = " & x & Space(5) & "y = " & y Trang End Sub Private Sub CmdVidu_Click ( ) Dim a As Integer Dim b As Integer a = 10 b=5 MsgBox "a = " & a & Space(5) & "b = " & b P b, a ‘ Lời gọi thủ tục P MsgBox "a = " & a & Space(5) & "b = " & b End Sub Câu 3: (2.5 điểm) Viết chương trình: txtN cmdNhap lblNhap cmdTim lblKQ cmdSapXep a (0.5đ) Nhập N số phần tử mảng số nguyên Nhấp nút NHAP MANG InputBox để nhập mảng Xuất mảng vừa nhập nhãn (label) có tên lblNhap b (0.5đ) Khi nhấp nút TIM, tìm vị trí số lẻ mảng vừa nhập Xuất kết MsgBox Nếu mảng số lẻ xuất “Khong co” Trang c (1đ) Khi nhấp nút SAP XEP, đổi chổ số lẻ mảng với cho số lẻ có giá trị tăng dần từ trái sang phải, đổi chổ số chẵn mảng với cho số chẵn có giá trị giảm dần từ trái sang phải d (0.5đ) Xuất mảng vừa xếp nhãn (lablel) có tên lblKQ Câu 4: (2.5 điểm) Viết chương trình nhập số nguyên dương N M (giả sử M nhỏ số ký số (chữ số) N) Tính in tổng M ký số (chữ số) cuối số N theo mẫu giao diện sau: (Trong ví dụ: kết 21 7+6+8=21) Chú ý: Sinh viên sử dụng kiểu chuỗi cho N Câu 5: (1.5 điểm) Có ba loại giấy bạc: 1.000, 2.000 5.000 Viết chương trình xuất số phương án kết hợp từ ba loại giấy bạc để có 100.000 Xuất kết MsgBox Ví dụ: tờ 1.000 + 40 tờ 2.000 + tờ 5.000 = 100.000 phương án tờ 1.000 + tờ 2.000 + 19 tờ 5.000 = 100.000 phương án Giả sử có tất phương án Dùng MsgBox xuất số Ghi chú: Cán coi thi không giải thích đề thi Ngày 28 tháng năm 2014 Trưởng BM ĐÁP ÁN GỢI Ý Trang Chú ý: với câu viết chương trình, sinh viên làm theo cách khác miễn Câu Function TinhS ( ByVal n As Integer ) As Long Dim i As Integer Dim kq, giaithua As Long kq = giaithua = i=1 Do While i a(j) Then temp = a(i) a(i) = a(j) a(j) = temp Trang End If If a(i) Mod = And a(j) Mod = And a(i) < a(j) Then ‘ sv ghi chỗ Else mà điều kiện -> sai temp = a(i) a(i) = a(j) a(j) = temp End If Next Next For i = To n ‘xuất mảng s = s & a(i) & Space(2) Next lblKQ = s ‘sv xuất theo cách lblNhap.Caption End Sub *Sinh viên xếp mảng theo cách hiểu khác: phần tử lẻ di chuyển đầu mảng tăng dần, phần tử chẵn di chuyển cuối mảng giảm dần: khuyến khích cho em tròn điểm làm Private Sub cmdSapXep_Click() (c Châu) For i = To n - For j = i + To n If A(i) Mod Then If A(j) Mod Then If A(i) > A(j) Then tmp = A(i) A(i) = A(j) A(j) = tmp End If Trang End If Else If A(j) Mod Then tmp = A(i) A(i) = A(j) A(j) = tmp ElseIf A(i) < A(j) Then tmp = A(i) A(i) = A(j) A(j) = tmp End If End If Next j Next i For i = To n s = s & A(i) & Space(2) Next lblKQ = s End Sub Câu 4: (Thang điểm: nhập (0,5 điểm), xử lý (1.5 điểm), xuất liệu (0,5 điểm) Private Sub cmdTim_Click() Dim M, N As Integer Dim Tong As Integer N = Val(txtN.Text) M = Val(txtM.Text) Tong = For i = To M Trang Tong = Tong + N Mod 10 N = N \ 10 Next i LblKQ = "Tong " + Str(M) + " ky so cuoi cua " _ + txtN.Text + " la " + Str(Tong) ‘sv xuất cách khác LblKQ.Caption = …vẫn ; sv xuất giá trị Tong mà không xuất câu 0.25đ End Sub *Cách dùng Do while … Loop Private Sub cmdTim_Click() Dim N, M, i, s As Integer i=1 N = Val(txtN.Text) M = Val(txtM.Text) Do While i s = s + N Mod 10 i=i+1 N = N \ 10 Loop LblKQ = "Tong " + Str(M) + " ky so cuoi cua " _ + txtN.Text + " la " + Str(s) ‘sv xuất cách khác LblKQ.Caption = …vẫn ; sv xuất giá trị Tong mà không xuất câu 0.25đ End Sub * Sinh viên xử lý theo chuỗi ( N kiểu String) : Private Sub cmdTim_Click() Dim Tong, M As Integer Dim N As String Trang N = txtN.Text M = Val(txtM.Text) Tong = For i = To M Tong = Tong + Val(Right(N, 1)) N = Left(N, Len(N) - 1) Next i If Len(N) = Then M = Len(txtN.Text) LblKQ = "Tong " + Str(M) + " ky so cuoi cua " _ + txtN.Text + " la " + Str(Tong) ‘sv xuất cách khác LblKQ.Caption = …vẫn ; sv xuất giá trị Tong mà không xuất câu 0.25đ End Sub Câu Dim dem As Integer For i = To 93 ‘nếu sv chạy tới 93 Viết ba vòng for: 1đ đúng, vd: For i=1 To 100 For j = To 47 ‘nếu sv chạy tới 47 đúng, vd: For i=1 To 100 For k = To 19 ‘nếu sv chạy tới 19 đúng, vd: For i=1 To 100 If i * 1000 + j * 2000 + k * 5000 = 100000 Viết điều kiện này: 0.5đ Then dem = dem + End If Next Next Trang 10 Next MsgBox dem *Nếu sv làm theo cách không cần phải kết hợp đủ loại giấy bạc, nghĩa đến loại giấy bạc mặt: tròn điểm: Dim dem As Integer For i = To 100 ‘nếu sv chạy tới 100 Viết ba vòng for: 1đ đúng, vd: For i=0 To 150 For j = To 50 ‘nếu sv chạy tới 50 đúng, vd: For i=0 To 100 For k = To 20 ‘nếu sv chạy tới 20 đúng, vd: For i=0 To 100 If i * 1000 + j * 2000 + k * 5000 = 100000 Viết điều kiện này: 0.5đ Then dem = dem + End If Next Next Next MsgBox dem Trang 11

Ngày đăng: 25/11/2016, 07:03

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan