1. THÔNG BÁO TUYỂN ADMIN DIỄN ĐÀN 2013
    Tìm kiếm nhà trọ - Ở ghép
    THÔNG BÁO BÁN ÁO SPKT.NET CHO THÀNH VIÊN DIỄN ĐÀN


    HÃY TÌM KIẾM Ở ĐÂY TRƯỚC KHI ĐẶT CÂU HỎI
    {xen:phrase loading}

đề thi và đáp án visual basic 2009

Thảo luận trong 'Visual Basic' bắt đầu bởi Ngọc Bình, 15 Tháng ba 2011.

  1. Ngọc Bình New Member

    Số bài viết: 61
    Đã được thích: 0
    Điểm thành tích: 0
    ĐẠI HỌC SƯ PHẠM KỸ THUẬT TPHCM
    KHOA CÔNG NGHỆ THÔNG TIN



    ĐỀ THI: NHẬP MÔN TIN HỌC
    Mã môn học:1081020
    Đề thi có 01 trang.
    Thời gian: 75 phút
    Không được sử dụng tài liệu
    --------------------------------------------------


    I. Sub tt()
    Dim a As Integer
    Dim b As Integer
    a = 3 : b = 4
    Call p(a, a)
    MsgBox "a= " & a & vbCrLf & "b= " & b
    Call p(b, a - b)
    MsgBox "a= " & a & vbCrLf & "b= " & b
    End Sub


    PHẦN CHUNG: (Cả 2 đối tượng đều làm)

    Câu 1: (2 điểm)
    Sub p(a As Integer, b As Integer)
    a = a + b
    b = a + b
    End Sub

    Giả sử thủ tục tt được gọi thực thi. Hãy chạy từng bước và cho kết quả 2 thủ tục trên.
    Câu 2: (5 điểm)
    Name:Txtkq

    Name:Txtnhap


    Name:CmdchenX

    Name:Cmdthoat

    Name:cmdnhap

    Name:Cmdtongsnt





    Cho trước 1 form theo mẫu trên (tên của các đối tượng đã được cho như trên)
    Hãy viết các thủ tục xử lý biến cố click cho các nút command trên form theo yêu cầu sau:
    a. Nhập mảng: Nhập dữ liệu vào mảng A có n phần tử (2<= n<=100) là các số tự nhiên. Khi nhập phải kiểm tra dữ liệu nhập lớn hơn 1. Nếu sai thì xóa đi và nhập lại. Kết quả nhập xuất hiện tại txtnhap (1.5 điểm)
    b. Tổng SNT: Tính Tổng và In ra các các giá trị cùng với chỉ số phần tử của mảng là số nguyên tố. Kết quả xuất ra Msgbox.(1.5 điểm).
    c. Chèn X: Chèn thêm 1 phần tử vào mảng (bằng Inputbox) có thứ tự sao cho mảng vẫn còn có thứ tự tăng dần. Thông báo kết quả kiểm tra bằng txtkq.(1.5 điểm ).
    d. Thoát: Thoát chương trình (0.5 điểm )
    II. PHẦN RIÊNG: Sinh viên khóa 2008 trở về trước làm câu 3a, Sinh viên khóa 2009 làm câu 3b. Nếu làm sai câu không chấm điểm.
    Câu 3a (3 điểm) (Dành cho Sinh viên khóa 2008 trở về trước):
    Cho 1 form có 2 đối tượng Textbox (name:txtcau và txtkq) và 2 nút Command (name: cmdchuanhoa và cmddaonguoc). Nhập vào đối tượng Textbox (txtcau) một chuỗi tùy ý rồi chuẩn hóa chuỗi đó sao cho giữa các từ chỉ có 01 khoảng trắng và 02 bên của câu không có khoảng trắng. Kết quả xuất ra txtkq. Sau khi chuẩn hóa tiến hành đảo ngược chuỗi và xuất ra txtkq.
    Câu 3b (3 điểm) (Dành cho Sinh viên khóa 2009): Cho giao diện Form như hình bên dưới, tên của đối tượng tự đặt. Các chức vụ và lương tương ứng cho trong bảng bên cạnh. Hãy viết các thủ tục sự kiện đáp ứng mỗi thao tác Click trên mỗi đối tượng theo yêu cầu sau:
    Chức vụ
    Lương
    Giam Doc
    8000000
    Pho Giam doc
    6000000
    Truong Phong
    4000000
    Nhan vien
    2000000
    Thu Quy
    3000000



    • (1 điểm ): Khi chạy chương trình (Load) các chức vụ và lương được nạp vào combobox chức vụ
    • (0.5 điểm): Khi click chọn một chức vụ, lương tương ứng chức vụ được chọn sẽ hiển thị ở textbox lương.
    • (0.5 điểm): Khi click chọn nút lệnh “Nhập NV” thì Họ tên, chức vụ và lương tương ứng sẽ được thêm vào trong List1 như trong hình, đồng thời tổng lương trong List1 sẽ hiện ở textbox tổng lương.
    • (0.5 điểm): Click nút “Kết thúc” để kết thúc chương trình.
    • (1 điểm): Giả sử một họ tên trong List1 đã được chọn, khi Click vào nút “Xóa nhân viên” thì họ tên cùng thông tin liên quan của họ tên đó sẽ bị xóa khỏi chương trình và cập nhật lại tổng lương trong List1(7 ký tự cuối).

    Yêu cầu: Tất cả các biến sử dụng trong chương trình phải được khai báo tường minh
    Ghi chú:
    · Cán bộ coi thi không được giải thích đề thi
    Ngày .... tháng... năm 2009
    Bộ Môn








    ĐÁP ÁN
    Câu 1: Sau khi thực hiện từng bước 2 chương trình trên ta có kết quả sau: (2 điểm)

    - a=3
    - b=4
    - call p(a=3,a=3) => sub p(a=3, b=3)
    o a=a+b=12
    o b=b+a=12 (vì a, b được truyền byrel bởi a, b thực chất chỉ là a)
    - a=12
    - b=4 (vì biến b không tham gia vào quá trình nên lấy giá trị ban đầu).
    - call p(b=4, a-b=8) => sub p(a=4, b= 8)
    o a=a+b=12
    o b=a+b=12
    - a=12 (vì biến b không tham gia vào quá trình nên lấy giá trị ban đầu).
    - b=12 (vì a trong thủ tục sub p truyền cho b).

    Kết quả:
    A=12
    B=12

    A=12
    B=4







    Câu 2:
    a. Phần khai báo General:
    Dim a(1 to 100) as integer
    Dim n as integer
    --=================
    Private Sub cmdnhap_Click() (1,5 điểm)
    Dim i As Integer
    Dim s As String
    Dim s1 As String
    Do
    s1 = InputBox("Nhap so phan tu cua mang")
    Loop Until Val(s1) >= 2 And Val(s1) <= 100
    n = Val(s1)
    For i = 1 To n - 1
    Do
    s = InputBox("A(" + Str(i) + ")=")
    Loop Until Val(s) > 1
    a(i) = Val(s)
    Next i
    For i = 1 To n - 1
    txtnhap = txtnhap + Str(a(i)) + " "
    Next i
    End Sub
    -========================
    b/ (1.5 điểm )
    Private Sub cmdtongsnt_Click()
    Dim i As Integer
    Dim j As Integer
    Dim s As String
    Dim vt As String
    Dim tong As Long
    For i = 1 To n - 1
    j = 2
    Do While j < a(i) And a(i) Mod j <> 0
    j = j + 1
    Loop
    If j = a(i) Then
    tong = tong + a(i)
    s = s + Str(a(i)) + " "
    vt = vt + Str(i) + " "
    End If
    Next i
    MsgBox "Tong cac phan tu la SNT = " & tong & vbCrLf & "Cac phan tu la SNT: " & s & vbCrLf & "Vi tri cac phan tu la SNT : " & vt
    End Sub
    -==========================
    c/ (2 điểm )
    Private Sub cmdchenX_Click()
    Dim i As Integer
    Dim x As Integer
    Dim j As Integer
    Dim temp As Integer
    x = InputBox("chen phan tu x")
    For i = 1 To n - 2
    For j = i + 1 To n - 1
    If a(i) > a(j) Then
    temp = a(i)
    a(i) = a(j)
    a(j) = temp
    End If
    Next j
    Next i
    'Chen day tang
    j = 1
    Do While x > a(j)
    j = j + 1
    Loop
    For i = n - 1 To j Step -1
    a(i + 1) = a(i)
    Next i
    a(j) = x
    txtkq.Text = ""
    For i = 1 To n
    txtkq.Text = txtkq.Text + Str(a(i)) + " "
    Next i
    End Sub
    -=============================
    d/ (0.5 điểm )
    Private Sub cmdthoat_Click()
    Unload Me
    'End
    End Sub
    -=================
    Câu 3a:
    Private Sub cmdchuanhoa_Click() (1.5 điểm)
    Dim s, s1, s2 As String
    Dim d, i As Integer

    d = Len(s)
    i = InStr(s, " ")
    Do While (i < d) And (i <> 0)
    s1 = s1 + " " + Left(s, i - 1)
    s1 = Trim(s1)
    s = Right(s, d - i)
    d = Len(s)
    i = InStr(s, " ")
    Loop
    Text1.Text = s1 + " " + s
    End Sub
    -=====================
    Private Sub Cmddaonguoc_Click() (1.5 điểm)
    Dim s, s1, s2 As String
    Dim d, i As Integer
    i = InStr(s, " ")
    Do While (i < d) And (i <> 0)
    s1 = Left(s, i - 1) + " " + s1
    s = Right(s, d - i)
    d = Len(s)
    i = InStr(s, " ")
    Loop
    Text1.Text = s + " " + s1
    End Sub
    -======================
    Câu 3b:
    a. (1 điểm )
    Private Sub Form_Load()
    Dim i As Integer
    Combo1.AddItem "Giam Doc"
    Combo1.AddItem "Pho Giam Doc"
    Combo1.AddItem "Truong phong"
    Combo1.AddItem "Thu quy"
    Combo1.AddItem "Nhan vien"
    For i = 0 To 4
    Combo1.ItemData(i) = i
    Next i
    End Sub
    -========================
    b. (0.5 điểm )
    Private Sub Combo1_Click()
    Select Case Combo1.ListIndex
    Case 0
    txtluong = 8000000
    Case 1
    txtluong = 5000000
    Case 2
    txtluong = 3500000
    Case 3
    txtluong = 1500000
    Case 4
    txtluong = 1300000
    End Select
    End Sub
    -========================
    c. (0.5 điểm )
    Private Sub nhap_Click()
    List1.AddItem txthoten.Text & " - " & txtluong
    tong = Val(tong) + Val(txtluong)
    End Sub
    -========================
    d. (0.5 điểm )
    Private Sub ketthuc_Click()
    Unload me hoặc la End
    End Sub
    ==================
    e. (1 điểm )
    Private Sub xoa_Click()
    Dim i As Integer
    If List1.ListIndex <> -1 Then
    List1.RemoveItem List1.ListIndex
    tong = 0
    For i = 0 To List1.ListCount - 1
    tong = Val(tong) + Val(Right(List1.List(i), 7))
    Next
    Else
    MsgBox "Phai chon gia tri can xoa"
    End If
    End Sub
    -==========================

Chia sẻ trang này