Đề thi đáp án lập trình visual basic sư phạm kỹ thuật

5 1 0
Đề thi đáp án lập trình visual basic  sư phạm kỹ thuật

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

Thông tin tài liệu

Bài 4a. (1 điểm) Viết hàm kiểm tra số nguyên n. Nếu n là số nguyên tố hàm trả về giá trị True còn ngược lại hàm trả về giá trị False.Function SNT(ByVal n As Integer) As BooleanDim i As IntegerIf n (UBound(a) LBound(a) + 1) ThenIn_SNT_k = Khong co so nguyen to kExit FunctionEnd Ifm = 0For i = LBound(a) To UBound(a)If m = k Then Exit ForIf SNT(a(i)) ThenIn_SNT_k = a(i)m = m + 1End IfNext iIf m < k Then In_SNT_k = Khong co so nguyen to kEnd FunctionBài 5. (1 điểm) Viết hàm trả về câu dài nhất cuối cùng dạng chuẩn hóa có trong chuỗi s. Câu là 1 dãy ký tự kết thúc bằng dấu chấm. Hàm trả về “Chuoi rong” nếu s là chuỗi rỗng hoặc chuỗi s chỉ có 1 dấu chấm.VD: s = “Di dau. Di về dau . O noi dau ”. Hàm trả vê câu “O noi dau”

ĐẠI HỌC SƯ PHẠM KỸ THUẬT TPHCM KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN: HỆ THỐNG THÔNG TIN - ĐÁP ÁN LẬP TRÌNH VISUAL BASIC HỌC KỲ II NĂM HỌC 2017-2018 MÃ MÔN HỌC: VBPR131085 Thời gian: 75 phút Đề thi có: 08 trang Sinh viên làm trực tiếp đề thi (được sử dụng tài liệu giấy viết tay, tờ A4) Chữ ký Giám thị Chữ ký Giám thị STT: Mã số sinh viên (MaSV): Họ tên thí sinh: Điểm Cán chấm thi Cán chấm thi Bài (1.5 điểm): Căn vào đoạn code bên trái Trả lời câu hỏi điền vào chỗ trống ( ) cột bên phải Function F1(ByVal s As String) As Boolean Dim i As Integer, d As Integer d=0 F1 = False For i = Len(s) To Step -1 If Mid(s,i,1) space(1) Then d=d+1 End If Next i If d Mod = then F1 = True End Function Số hiệu: BM1/QT-KĐ-RĐTV/00 Cho biết đoạn mã bên trái làm gì? Nếu số ký tự khác khoãng trắng s số chẵn hàm trả True, ngược lại hàm trả False Viết lại đoạn mã bên trái Function F1(ByVal s As String) As Boolean Dim i As Integer, d As Integer F1 = False d=0 i = Len(s) Do While i >= If Mid(s,i,1) Space(1) Then d=d+1 End If i=i-1 Loop If d Mod = then F1 = True End Function Trang Bài (2.5 điểm) Cho lưu đồ: Bắt đầu n n< Đ S s=0 i=2 S i = s=0 For i = To n \ If n Mod i And i Mod Then s = s + i Next i MsgBox s End Sub Số hiệu: BM1/QT-KĐ-RĐTV/00 Trang Bài 4a (1 điểm) Viết hàm kiểm tra số nguyên n Nếu n số nguyên tố hàm trả giá trị True ngược lại hàm trả giá trị False Function SNT(ByVal n As Integer) As Boolean Dim i As Integer If n (UBound(a) - LBound(a) + 1) Then In_SNT_k = "Khong co so nguyen to " & k Exit Function End If m=0 Chú ý : cho sử dụng cách in trực For i = LBound(a) To UBound(a) tiếp thay cho cách sử dụng tên hàm để trả lại trị, If m = k Then Exit For thông báo If SNT(a(i)) Then In_SNT_k = a(i) m=m+1 End If Next i If m < k Then In_SNT_k = "Khong co so nguyen to " & k End Function Bài (1 điểm) Viết hàm trả câu dài cuối dạng chuẩn hóa có chuỗi s Câu dãy ký tự kết thúc dấu chấm Hàm trả “Chuoi rong” s chuỗi rỗng chuỗi s có dấu chấm VD: s = “Di dau Di dau O noi dau ” Hàm trả vê câu “O noi dau” Số hiệu: BM1/QT-KĐ-RĐTV/00 Trang Function CauDaiNhat(ByVal s As String) As String Dim i As Integer, d As Integer If Len(s) = Then Chú ý : cho câu trả dạng không CauDaiNhat = "Chuoi rong" chuẩn hóa Exit Function End If s = Trim(s) i = InStr(s, Space(2)) Do While i > s = Replace(s, Space(2), Space(1)) i = InStr(s, Space(2)) Loop If Right(s, 1) "." Then s = s & "." d=0 CauDaiNhat = "" i = InStr(s, ".") Do While i > If Len(Left(s, i - 1)) >= d Then CauDaiNhat = Left(s, i - 1) s = Mid(s, i + 1) i = InStr(s, ".") Loop CauDaiNhat = Trim(CauDaiNhat) If Len(CauDaiNhat) = Then CauDaiNhat = "Chuoi rong" End Function Bài (1 điểm) Viết hàm đếm số ký tự đặc biệt có chuỗi s Ký tự đặc biệt ký tự chữ, số khoãng trắng VD: s=”Dai hoc ## SPKT@ co **43 Lop hoc $@#!” Hàm cho kết Function SoKTDB(ByVal s As String) As Integer Dim i As Integer SoKTDB = For i = To Len(s) Select Case Mid(s, i, 1) Case "a" To "z", "A" To "Z", "0" To "9", Space(1) Case Else SoKTDB = SoKTDB + End Select Next i End Function Số hiệu: BM1/QT-KĐ-RĐTV/00 Trang Bài (1 điểm) Cho hai chuỗi s=”a1a2 an” t=”b1b2 bn” có số ký tự khác rỗng Hãy viết hàm trả chuỗi có nội dung i j với i vị trí mà  bi j vị trí cuối mà aj  bj Ví dụ s = “ABBCDEFI” , t = “ABCAEBFI” , hàm cho chuỗi “3, 6” Nếu hai chuỗi giống hàm trả “0, 0” Cách Function DauCuoi(ByVal s As String, ByVal t As String) As String Dim i As Integer, vt1 As Integer, vt2 As Integer If s t Then For i = To Len(s) If Mid(s, i, 1) Mid(t, i, 1) Then vt1= i : Exit For End If Next i For i = Len(s) To Step -1 If Mid(s, i, 1) Mid(t, i, 1) Then vt2= i : Exit For End If Next i DauCuoi = vt1 & “, “ & vt2 Else DauCuoi = ”0, 0” End If End Function Cách Hai vịng lặp For hàm bên thay hai vòng lặp Do While sau (phần lại giữ nguyên): n = Len(s) i=1 j=n Do While Mid(s, i, 1) = Mid(t, i, 1) i=i+1 Loop Do While Mid(s, j, 1) = Mid(t, j, 1) j=j-1 Loop DauCuoi = i & “, “ & j Bài (1 điểm) Cho a mảng gồm số thực Viết hàm (Function) trả mảng số nguyên b có số phần tử với mảng a b(i) có giá trị số nguyên bé  a(i) Ví dụ: với mảng a gồm giá trị {-1.3, -2.6, 3.2, 4.3, 5} hàm trả mảng b {-1, -2, 4, 5, 5} Function MangChanTren(a() As Double) As Long() Dim b() As Long Redim b(LBound(a) To UBound(a)) For i= LBound(a) To UBound(a) b(i) = Round(a(i)) If b(i) < a(i) Then b(i) = b(i) + Next i MangChanTren = b End Function Số hiệu: BM1/QT-KĐ-RĐTV/00 Trang

Ngày đăng: 24/07/2023, 12:37

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan