TUYỂN TẬP ĐỀ THI TIN CÓ ĐÁP ÁN

37 2.8K 0
TUYỂN TẬP ĐỀ THI TIN CÓ ĐÁP ÁN

Đ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

TUYỂN TẬP ĐỀ THI TIN CÓ ĐÁP ÁN

Sinh viên: Trần Văn Khôi-Khoan khai thác B K57-Email: pakercandy@gmail.com Page | 1 ĐỀ THI TIN HỌC ĐẠI CƯƠNG (SỐ 1) Thời gian 60 phút 1/ Viết chương trình nhập vào một dãy số nguyên dương       (n < 100), sau đó tìm các phần tử   vừa là sô chẵn vừa chia hết cho 13, nếu không phần tử   nào như vậy thì in ra thông báo ? Bài giải Private Sub Command1_Click() Dim x%(100), i As Byte, n As Byte, kq As String, kq1 As String, dem As Byte Const xd = vbCrLf dem = 0 kq = "Day nhap vao la: " & xd kq1 = "Cac phan tu vua la so chan vua chia het cho 13 la: " & xd Do n = InputBox("Nhap so luong phan tu") Loop Until n > 0 And n < 100 For i = 1 To n Do x(i) = InputBox("Nhap phan tu thu " & i) Loop Until x(i) > 0 kq = kq & x(i) & " " If x(i) Mod 2 = 0 And x(i) Mod 13 = 0 Then dem = dem + 1 kq1 = kq1 & x(i) & " " End If Next Print kq If dem = 0 Then MsgBox "Khong co phan tu nao thoa man" Else Print kq1 End If End Sub Sinh viên: Trần Văn Khôi-Khoan khai thác B K57-Email: pakercandy@gmail.com Page | 2 2/ Viết chương trình nhập vào số nguyên dương n, sau đó kiểm tra xem tích các chữ số của n phải là số chia hết cho 3 và 2 chữ số không ? Bài giải Private Sub Command1_Click() Dim n%, s$, i As Byte, tich% Do n = InputBox("Nhap so nguyen duong n") Loop Until n > 0 Print "So ban nhap vao la: " & n s = CStr(n): tich = 1 For i = 1 To Len(s) tich = tich * Mid(s, i, 1) Next If tich Mod 3 = 0 And Len(tich) = 2 Then Print "So vua nhap co tich cac chu so vua co 2 chu so vua chia het cho 3" Else Print "So vua nhap khong thoa man" End If End Sub ĐỀ THI TIN HỌC ĐẠI CƯƠNG (SỐ 2) Thời gian 60 phút 1/ Xây dựng chương trình nhập số liệu từ tệp “DAYSO.DAT” vào một dãy số nguyên       gồm n phần tử. Hãy in ra vị trí của phần tử âm đầu tiên của dãy. Nếu không phần tử âm thì đưa ra thông báo. Ví dụ: Dãy nhập vào là :    vậy phần tử âm đầu tiên trong dãy là 3. Bài giải Private Sub Command1_Click() Dim n%, x%(500), i%, dem% Open App.Path & "\DAYSO.DAT " For Input As #21 Input #21, n For i = 1 To n Input #21, x(i) If x(i) < 0 Then dem = i Exit For End If Next Close #21 If dem = 0 Then MsgBox "Khong co phan tu am nao trong day." If dem > 0 Then Print "Phan tu am dau tien trong day o vi tri thu: " & dem End Sub Sinh viên: Trần Văn Khôi-Khoan khai thác B K57-Email: pakercandy@gmail.com Page | 3 2/ Xây dựng chương trình cho phép nhập vào một số nguyên dương n. Hãy tách n thành 2 số nguyên dương a, b (n = a + b), sao cho tích P = a*  đạt cực đại. Bài giải Private Sub Command1_Click() Dim n%, i%, j%, p% Do n = InputBox("Nhap so nguyen duong n") Loop Until n > 0 Print "So nguyen duong nhap vao la: " & n p = 0 For i = 1 To n - 1 For j = n - 1 To 1 Step -1 If i + j = n And i * (j ^ 2) > p Then a = i: b = j: p = i * (j ^ 2) End If Next j Next i Print "So " & n; " bang tong cua " & a & " + " _ & b; " va tich " & a & " * " & "(" & b & " ^ 2) lon nhat" End Sub Sinh viên: Trần Văn Khôi-Khoan khai thác B K57-Email: pakercandy@gmail.com Page | 4 ĐỀ THI TIN HỌC ĐẠI CƯƠNG (SỐ 3) Thời gian 60 phút 1/ Viết chương trình nhập vào một số nguyên dương n, sau đó tính biểu thức sau: S      .       ) , trong đó j!! =    Bài giải Private Sub Command1_Click() Dim n%, i%, j%, k%, kq$, bt2!, bt3!, gtc% Const xd = vbCrLf Do n = InputBox("Nhap so nguyen duong n") Loop Until n > 0 Print "So nguyen duong nhap vao la: " & n kq = "Gia tri cua bieu thuc voi n = " & n & " la: " & xd bt2 = 0: bt3 = 0: gtc = 1 For i = 1 To n For j = 1 To i If j Mod 2 = 0 Then For k = 1 To j If k Mod 2 = 0 Then gtc = gtc * k Next k Else For k = 1 To j If k Mod 2 = 1 Then gtc = gtc * k Next k End If bt3 = bt3 + 1 / gtc gtc = 1 Next j bt2 = bt2 + Tan(i) * bt3 Next i kq = kq & bt2 Print kq End Sub Sinh viên: Trần Văn Khôi-Khoan khai thác B K57-Email: pakercandy@gmail.com Page | 5 2/ Viết chương trình nhập vào một số nguyên dương n, sau đó chèn chữ số nhỏ nhất của n vào sau các chữ số chẵn của n. Ví dụ: n = 4123, chữ số nhỏ nhất là 1, chèn 1 vào sau các chữ số chẵn của n sẽ được số 411213. Bài giải Private Sub Command1_Click() Dim n%, s$, i%, j%, min$, s1$ Do n = InputBox("Nhap so nguyen duong n") Loop Until n > 0 Print "So nguyen duong n: " & n s = CStr(n): min = Mid(s, 1, 1) For i = 1 To Len(s) If Mid(s, i, 1) < min Then min = Mid(s, i, 1) Next Print "Chu so nho nhat cua n la: " & min s1 = "" For i = 1 To Len(s) If Mid(s, i, 1) Mod 2 = 1 Then s1 = s1 & Mid(s, i, 1) Else s1 = s1 & Mid(s, i, 1) & min End If Next i Print "Ket qua sau khi chen la: " & Val(s1) End Sub ĐỀ THI TIN HỌC ĐẠI CƯƠNG (SỐ 4) Thời gian 60 phút 1/ Xây dựng chương trình nhập vào họ tên của một người. Sau đó in ra xâu họ tên với ký tự đầu tiên của các từ được đổi thành chữ hoa, các ký tự còn lại là chữ thường. Ví dụ: Họ tên nhập vào là “trAN VAN hUng” xâu sau khi in ra sẽ là “Tran Van Hung”. Bài giải Private Sub Command1_Click() Dim s$, i%, kq$ Const xd = vbCrLf s = InputBox("Nhap ho va ten cua mot nguoi") s = LCase(Trim(s)) Do While InStr(s, " ") >= 2 s = Replace(s, " ", " ") Loop For i = 1 To Len(s) Mid(s, 1, 1) = UCase(Mid(s, 1, 1)) If Mid(s, i, 1) = " " Then Mid(s, i + 1, 1) = UCase(Mid(s, i + 1, 1)) Next Print "Ho va ten da xu ly la: " & xd & s End Sub Sinh viên: Trần Văn Khôi-Khoan khai thác B K57-Email: pakercandy@gmail.com Page | 6 2/ Xây dựng chương trình nhập vào tọa độ (x;y) của hai điểm, tính và hãy kiểm tra xem hai điểm đó đối xứng nhau qua gốc tọa độ hay không ? Bài giải Private Sub Command1_Click() Dim xa%, ya%, xb%, yb% xa = hoanhdo1.Text: ya = tungdo1.Text: xb = hoanhdo2.Text: yb = tungdo2.Text If xa = -xb And ya = -yb Then Print "Hai diem nhap vao doi xung voi nhau qua O" Else Print "Hai diem nhap vao khong doi xung qua O" End If End Sub ĐỀ THI TIN HỌC ĐẠI CƯƠNG (SỐ 5) Thời gian 60 phút 1/ Xây dựng chương trình cho phép nhập vào 1 số nguyên dương n. Hãy kiểm tra xem số đó phải số chính phương và chia hết cho 2 hay không ? (Số chính phương là số nguyên giá trị bằng bình phương của một số nguyên khác, ví dụ 25 =   ). Bài giải Private Sub Command1_Click() Dim n%, i%, a As Byte Do n = InputBox("Nhap so nguyen duong n") Loop Until n > 0 a = 0 For i = 1 To n / 2 If i * i = n Then a = 1 Next If n Mod 2 = 0 And a = 1 Then Print "So " & n & " vua la so chinh phuong vua chia het cho 2" If n Mod 2 = 0 And a <> 1 Then Print "So " & n _ & " la so chan nhung khong phai la so chinh phuong" If n Mod 2 = 1 And a = 1 Then Print "So " & n _ & " la so chinh phong nhung khong chia het cho 2" End Sub Sinh viên: Trần Văn Khôi-Khoan khai thác B K57-Email: pakercandy@gmail.com Page | 7 2/ Xây dựng chương trình nhập vào một danh sách cán bộ gồm họ tên, ngày sinh, đơn vị. Hãy in ra thông tin của những cán bộ mang họ “Trần”. Bài giải Private Type canbo hoten As String ngaysinh As Date donvi As String End Type ______________________________________________________________________________ Private Sub Command1_Click() Dim cb(100) As canbo, i As Byte, kq$, kq1$ Const xd = vbCrLf Do n = InputBox("Nhap so luong can bo") Loop Until n > 0 kq = "Danh sach can bo nhap vao: " & xd kq1 = "Danh sach can bo co ho Tran la: " & xd For i = 1 To n cb(i).hoten = InputBox("Nhap ho ten can bo thu " & i) cb(i).ngaysinh = InputBox("Nhap ngay sinh can bo thu " & i) cb(i).donvi = InputBox("Nhap don vi cua can bo thu " & i) Next For i = 1 To n kq = kq & "Ho ten: " & cb(i).hoten & _ ". Ngay sinh: " & cb(i).ngaysinh & ". Don vi: " & cb(i).donvi & xd Next Print kq For i = 1 To n If Mid(cb(i).hoten, 1, 4) = "Tran" Then kq1 = kq1 & "Ho ten: " & cb(i).hoten & _ ". Ngay sinh: " & cb(i).ngaysinh & ". Don vi: " & cb(i).donvi & xd Next If kq1 = "Danh sach can bo co ho Tran la: " & xd Then Print "Trong danh sach khong co nguoi nao ho Tran" Else Print kq1 End If End Sub Sinh viên: Trần Văn Khôi-Khoan khai thác B K57-Email: pakercandy@gmail.com Page | 8 ĐỀ THI TIN HỌC ĐẠI CƯƠNG (SỐ 6) Thời gian 60 phút 1/ Viết chương trình nhập vào một số thực a (a 0) và một số nguyên dương n, sau đó tính: S =                   Bài giải Private Sub Command1_Click() Dim a!, n%, i%, s! Do a = InputBox("Nhap so thuc a") n = InputBox("Nhap so nguyen duong n") Loop Until n > 0 And a <> 0 Print "So thuc a = " & a & ", so nguyen duong n = " & n a = Abs(a) s = 0 For i = n To 1 Step -1 s = Sqr(s + a ^ (-i)) Next Print "Gia tri cua bieu thuc bang: " & xd & s End Sub 2/ Nhập vào hai số nguyên dương a và b, xét xem tổng các chữ số của (a + b) phải là số chẵn không ? Bài giải Private Sub Command1_Click() Dim a%, b% Do a = InputBox("Nhap so nguyen duong thu nhat") b = InputBox("Nha so nguyen duong thu 2") Loop Until a > 0 And b > 0 Print "So thu nhat la: " & a: Print "So thu hai la: " & b If (a + b) Mod 2 = 0 Then Print "Tong " & a & " + " & b & " chia het cho 2" Else Print "Tong " & a & " + " & b & " khong chia het cho 2" End If End Sub Sinh viên: Trần Văn Khôi-Khoan khai thác B K57-Email: pakercandy@gmail.com Page | 9 ĐỀ THI TIN HỌC ĐẠI CƯƠNG (SỐ 7) Thời gian 60 phút 1/ Viết chương trình nhập vào một dãy số nguyên       (0 < n <100), sau đó đếm các phần tử   là số chẵn và nằm trong khoảng (-1000, 1000). Bài giải Private Sub Command1_Click() Dim x%(100), i As Byte, dem% Do n = InputBox("Nhap so luong phan tu") Loop Until n > 0 And n < 100 dem = 0 For i = 1 To n x(i) = InputBox("Nhap phan tu thu " & i) If x(i) Mod 2 = 0 And x(i) > -1000 And x(i) < 1000 Then dem = dem + 1 Next If dem = 0 Then Print "Khong co phan tu nao chia het cho 2 vao thuoc (-1000,1000)" Else Print "So phan tu chia het cho 2 va thuoc khoang (-1000,1000) la: " & dem & " so." End If End Sub 2/ Viết chương trình nhập vào một số nguyên dương n và tính giá trị sau: S = ln( n + ln((n – 1) + ln((n – 2) + + ln(2 + ln(1)) ) Bài giải Private Sub Command1_Click() Dim n%, i%, s! Do n = InputBox("Nhap so nguyen duong n") Loop Until n > 0 s = 0 For i = 1 To n s = Log(s + i) Next Print "Gia tri cua bieu thuc bang: " & s End Sub Sinh viên: Trần Văn Khôi-Khoan khai thác B K57-Email: pakercandy@gmail.com Page | 10 ĐỀ THI TIN HỌC ĐẠI CƯƠNG (SỐ 8) Thời gian 60 phút 1/ Viết chương trình nhập vào một dãy số nguyên dương       (n < 100), kiểm tra xem phần tử max của dãy số này phải là số lẻ và chia hết cho 7 không ? Bài giải Private Sub Command1_Click() Dim x%(100), i As Byte, max%, n As Byte Do n = InputBox("Nhap so luong phan tu") Loop Until n > 0 And n < 100 For i = 1 To n x(i) = InputBox("Nhap phan tu thu " & i) Next max = x(1) For i = 2 To n If x(i) > max Then max = x(i) Next Print "Gia tri lon nhat cua day so la: " & max If max Mod 2 = 1 And max Mod 7 = 0 Then Print max & " vua la so le vua chia het cho 7" If max Mod 2 = 1 And max Mod 7 <> 0 Then Print max & " la so le nhung khong chia het cho 7" If max Mod 2 <> 1 And max Mod 7 = 0 Then Print max & " khong la so le nhung chia het cho 7" If max Mod 2 <> 1 And max Mod 7 <> 0 Then Print max & " khong la so le va cung khong chia het cho 7" End Sub 2/ Viết chương trình nhập vào một số thực dương a và một số nguyên dương n , tính giá trị sau: S =                   Bài giải Private Sub Command1_Click() Dim a!, n%, s!, i% Do a = InputBox("Nhap so thuc duong a") n = InputBox("Nhap so nguyen duong n") Loop Until n > 0 And a > 0 Print "So thuc a = " & a & ", so nguyen n = " & n s = 0 For i = n To 1 Step -1 s = Sqr(s + 1 / (a ^ i)) Next Print "Gia tri cua bieu thuc bang: " & s End Sub [...]... Next u = u + (x ^ i) / gt gt = 1 Next Print "Gia tri cua bieu thuc bang: " & u End Sub Page | 12 Sinh viên: Trần Văn Khôi-Khoan khai thác B K57-Email: pakercandy@gmail.com ĐỀ THI TIN HỌC ĐẠI CƯƠNG (SỐ 10) Thời gian 60 phút 1/ n người thi chạy nhanh , hãy nhập dãy thời gian chạy x1 , x2 , … , xn (n < 100) của những người đó , sau đó tìm ra thời gian của người chạy nhanh nhất ? Bài giải Private Sub Command1_Click()... End If End Sub Page | 35 Sinh viên: Trần Văn Khôi-Khoan khai thác B K57-Email: pakercandy@gmail.com ĐỀ THI TIN HỌC ĐẠI CƯƠNG (SỐ 25) Thời gian 60 phút 1/ Viết chương trình nhập vào một só nguyên dương n, sau đó kiểm tra xem các chữ số của n đều là số chẵn hay không? Ví dụ n = 2440, các chữ số 2,4,4,0 đều là số chẵn Bài giải Private Sub Command1_Click() Dim n%, s$, i As Byte, dem As Byte Do n = InputBox("Nhap... thuc hien xong, vui long kiem tra tep" End Sub Page | 29 Sinh viên: Trần Văn Khôi-Khoan khai thác B K57-Email: pakercandy@gmail.com ĐỀ THI TIN HỌC ĐẠI CƯƠNG (SỐ 22) Thời gian 60 phút 1/ Viết chương trình nhập vào một xâu ký tự, sau đó kiểm tra xem ký tự cuối của xâu này phải là chữ cái hay không ? (không phân biệt chữ hoa, chữ thường) Bài giải Private Sub Command1_Click() Dim s$ s = InputBox("Nhap... n = " & n s=0 For i = 1 To n s = s + Log(Abs((x ^ i) * i)) Next Print "Gia tri cua bieu thuc bang: " & s End Sub Page | 14 Sinh viên: Trần Văn Khôi-Khoan khai thác B K57-Email: pakercandy@gmail.com ĐỀ THI TIN HỌC ĐẠI CƯƠNG (SỐ 12) Thời gian 60 phút 1/ Giải bất phương trình -7𝑥 2 + bx + c > 0, với các giá trị thực b và c nhập vào từ bàn phím ? Bài giải Private Sub Command1_Click() Dim b!, c!, delta!,... s1 = 0 For i = 1 To n s1 = s1 + Abs(x(i)) Next Print "Gia tri cua bieu thuc bang: " & Round(Log(s1), 3) End Sub Page | 15 Sinh viên: Trần Văn Khôi-Khoan khai thác B K57-Email: pakercandy@gmail.com ĐỀ THI TIN HỌC ĐẠI CƯƠNG (SỐ 13) Thời gian 60 phút 1/ Viết chương trình nhập vào một số nguyên dương n, tìm tích các chữ số chẵn của nó ? Bài giải Private Sub Command1_Click() Dim n%, tich%, s$, i% Do n =... trung binh cong cua day so." Else Print "Co " & dem & " phan tu lon hon trung binh cong cua day so." End If End Sub Page | 16 Sinh viên: Trần Văn Khôi-Khoan khai thác B K57-Email: pakercandy@gmail.com ĐỀ THI TIN HỌC ĐẠI CƯƠNG (SỐ 14) Thời gian 60 phút 1/ Viết chương trình nhập vào một dãy số thực x1 , x2 , … , xn (0 < n < 100), sau đó tính và in ra giá trị của biểu thức: 𝑛 𝑛 S = (∑ 𝑖=1 𝑥 𝑖 )2 (∑ 𝑖=1 𝑥... " & c; " + " & d & " khong chia het cho " _ & "| " & a & " - " & b & " - " & c; " - " & d & " |" End If End Sub Page | 18 Sinh viên: Trần Văn Khôi-Khoan khai thác B K57-Email: pakercandy@gmail.com ĐỀ THI TIN HỌC ĐẠI CƯƠNG (SỐ 15) Thời gian 60 phút 1/ Viết chương trình nhập vào một dãy số thực x1 , x2 , … , xn (0 < n < 100), sau đó tính trung bình cộng các phần tử 𝑥 𝑖 (i = 1,2, n) vừa là số âm vừa nằm... > 0 Print "Ta co: x = " & x & ", n = " & n s = 0: gt = 1 For i = 1 To n For j = 1 To n - i gt = gt * j Next s = s + gt / ((Abs(x)) ^ i) gt = 1 Next Print "Gia tri cua bieu thuc bang: " & s End Sub ĐỀ THI TIN HỌC ĐẠI CƯƠNG (SỐ 16) Thời gian 60 phút 1/ Viết chương trình tìm các họ nghiệm nguyên dương (x , y) của phương trình sau: 3x + 5y = 535 Bài giải Private Sub Command1_Click() Dim x%, y%, i%, j%,... + x(i) End If Next If dem = 0 Then Print "Khong co phan tu nao la so chan va nho hon 1000" Else Print "Trung binh cong cua cac phan tu la so chan va nho hon 1000 la: " & _ tong / dem End If End Sub ĐỀ THI TIN HỌC ĐẠI CƯƠNG (SỐ 17) Thời gian 60 phút 1/ Viết chương trình nhập số thực x và một số nguyên dương n , sau đó tính và in ra giá trị của biểu thức: S = 1 – x + 𝑥 2 - 𝑥 3 + + (−1) 𝑛 𝑥 𝑛 Bài giải... thuoc doan -10;10" Else Print "Trung binh cong cua cac phan tu thuoc doan -10;10 bang: " & tong / dem End If End Sub Page | 22 Sinh viên: Trần Văn Khôi-Khoan khai thác B K57-Email: pakercandy@gmail.com ĐỀ THI TIN HỌC ĐẠI CƯƠNG (SỐ 18) Thời gian 60 phút 1/ Viết chương trình nhập vào một dãy số thực x1 , x2 , … , xn (n < 100), và nhập vào một số nguyên dương i với điều kiện 0 < i < n, sau đó đổi chỗ phần . < 1000 Then dem = dem + 1 Next If dem = 0 Then Print "Khong co phan tu nao chia het cho 2 vao thuoc (-1000,1000)" Else Print "So phan tu chia het cho 2 va thuoc khoang. nhập vào là “trAN VAN hUng” xâu sau khi in ra sẽ là “Tran Van Hung”. Bài giải Private Sub Command1_Click() Dim s$, i%, kq$ Const xd = vbCrLf s = InputBox("Nhap ho va ten cua mot nguoi"). ? Bài giải Private Sub Command1_Click() Dim x%(100), i As Byte, n As Byte, kq As String, kq1 As String, dem As Byte Const xd = vbCrLf dem = 0 kq = "Day nhap vao la: " &

Ngày đăng: 23/05/2014, 11:45

Từ khóa liên quan

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

Tài liệu liên quan