1. Trang chủ
  2. » Cao đẳng - Đại học

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

37 2,8K 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Đề Thi Tin Học Đại Cương
Tác giả Trần Văn Khôi
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Tin Học
Thể loại Đề Thi
Định dạng
Số trang 37
Dung lượng 681,33 KB

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

Nội dung

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

Trang 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 x1, x2, … , xn (n < 100), sau đó tìm các phần tử xi vừa là sô chẵn vừa chia hết cho 13, nếu không có phần tử xi 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

Trang 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 có

phải là số chia hết cho 3 và có 2 chữ số không ?

Bài giải

Private Sub Command1_Click()

Dim n%, s$, i As Byte, tich%

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"

Private Sub Command1_Click()

Dim n%, x%(500), i%, dem%

Open App.Path & "\DAYSO.DAT " For Input As #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

Trang 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*b2 đạt cực đại

Print "So " & n; " bang tong cua " & a & " + " _

& b; " va tich " & a & " * " & "(" & b & " ^ 2) lon nhat"

End Sub

Trang 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 = ∑𝑛𝑖=1( 𝑡𝑔𝑖 ∑ 1

𝑗‼

𝑖 𝑗=1 ) , trong đó j!! = {1.3.5 … 𝑗 𝑛ế𝑢 𝑗 𝑙ẻ

Print "So nguyen duong nhap vao la: " & n

kq = "Gia tri cua bieu thuc voi n = " & n & " la: " & xd

Trang 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$

Trang 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

đó có đố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"

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 có giá trị bằng bình phương của một số nguyên khác, ví dụ 25 = 52)

Bài giải

Private Sub Command1_Click()

Dim n%, i%, a As Byte

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

Trang 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”

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

Trang 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 = √|𝑎|−1 + √|𝑎| −2 + ⋯ + √|𝑎| −𝑛

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 = 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

Trang 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 x1, x2, … , xn (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

Trang 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 x1, x2, … , xn (n < 100), kiểm tra xem phần tử max của dãy số này có 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

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"

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

Trang 11

ĐỀ THI TIN HỌC ĐẠI CƯƠNG (SỐ 9)

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), tìm trung bình cộng của các phần tử của dãy nằm trong đoạn [−100; 100] ?

Bài giải

Private Sub Command1_Click()

Dim x!(100), i As Byte, n As Byte, tong!, dem%, kq$

Do

n = InputBox("Nhap so luong phan tu")

Loop Until n > 0 And n < 100

tong = 0: dem = 0: kq = "Day nhap vao: " & vbCrLf

For i = 1 To n

x(i) = InputBox("Nhap phan tu thu " & i)

kq = kq & x(i) & " "

If x(i) >= -100 And x(i) <= 100 Then

tong = tong + x(i)

Trang 12

2/ Viết chương trình nhập số thực x và một số nguyên dương n , tính và in ra giá trị sau:

Private Sub Command1_Click()

Dim x!, n%, i%, u!, j%, gt%

Trang 13

ĐỀ THI TIN HỌC ĐẠI CƯƠNG (SỐ 10)

Thời gian 60 phút 1/ Có 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()

Dim x(100) As Date, n As Byte, i As Byte, max As Date, kq$

Do

n = InputBox("Nhap so nguoi chay")

Loop Until n > 0 And n < 100

kq = "Thoi gian chay cua " & n & " nguoi la: " & vbCrLf

For i = 1 To n

x(i) = InputBox("Nhap thoi gian chay cua nguoi thu " & i)

kq = kq & "So " & i & ": " & Hour(x(i)) & " gio " & Minute(x(i)) _

& " phut " & Second(x(i)) & " giay" & vbCrLf Next

Print kq: max = x(1)

For i = 2 To n

If Hour(x(i)) < Hour(max) Then max = x(i)

If Hour(x(i)) = Hour(max) And Minute(x(i)) < Minute(max) Then max = x(i)

If Hour(x(i)) = Hour(max) And Minute(x(i)) = Minute(max) _

And Second(x(i)) < Second(max) Then max = x(i) Next

Print "Thoi gian cua nguoi chay nhanh nhat la: " & Hour(max) & " gio " _

& Minute(max) & " phut " & Second(max) & " giay"

End Sub

2/ Viết chương trình nhập vào một số nguyên dương n và một số thực dương a , sau đó tính:

S = √𝑎 + √𝑎2 + √𝑎 3 + ⋯ + √𝑎 𝑛

Bài giải

Private Sub Command1_Click()

Dim a!, n%, i%, s!

Do

a = InputBox("Nhap so thuc duong a")

n = InputBox("Nhap so nguyen duong n")

Loop Until a > 0 And n > 0

Trang 14

ĐỀ THI TIN HỌC ĐẠI CƯƠNG (SỐ 11)

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 x1, x2, … , xn (0 < n < 100), sau đó tính tổng các phần tử 𝑥𝑖 (i = 1,2, n) là số lẻ và lớn hơn 99 ?

Bài giải

Private Sub Command1_Click()

Dim x%(100), n As Byte, i As Byte, tong%, dem As Byte, kq$

Do

n = InputBox("Nhap so luong phan tu")

Loop Until n > 0 And n < 100

tong = 0: dem = 0: kq = "Cac chu so le va lon hon 99 la: " & vbCrLf

For i = 1 To n

x(i) = InputBox("Nhap phan tu thu " & i)

If x(i) Mod 2 = 1 And x(i) > 99 Then

tong = tong + x(i)

Trang 15

ĐỀ 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!, e!, d!

b = InputBox("Nhap so thuc b")

c = InputBox("Nhap so thuc c")

Print "Bat phuong trinh tuong ung la: " & vbCrLf & "7*x^2 - (" & b & ")x - (" & c & ") < 0"

If c = 0 And b <> 0 Then Print "Ngiem cua bat phuong trinh la: 0 < x < " & Round(b / 7, 2)

If b = 0 And c > 0 Then Print "Nghiem cua bat phuong trinh la: " & Round(-Sqr(c / 7), 2) _ & " <= x <= " & Round(Sqr(c / 7), 2)

If b = 0 And c <= 0 Then Print "Bat phuong trinh vo nghiem"

Private Sub Command1_Click()

Dim x!(100), n As Byte, i As Byte, s1!

Do

n = InputBox("Nhap so luong phan tu")

Loop Until n > 0 And n < 100

Trang 16

ĐỀ 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ó ?

Private Sub Command1_Click()

Dim x!(100), n As Byte, i As Byte, tong!, tbc!, dem As Byte

Do

n = InputBox("Nhap so luong phan tu")

Loop Until n > 0 And n < 100

tong = 0: kq = "Day so (" & n & " phan tu): "

For i = 1 To n

x(i) = InputBox("Nhap phan tu thu " & i)

tong = tong + x(i)

kq = kq & x(i) & Chr(9)

Trang 17

ĐỀ THI TIN HỌC ĐẠI CƯƠNG (SỐ 14)

Private Sub Command1_Click()

Dim x!(100), n As Byte, i As Byte, tong!, s!, s1!

Do

n = InputBox("Nhap so luong phan tu")

Loop Until n > 0 And n < 100

tong = 0: kq = "Day so (" & n & " phan tu): "

For i = 1 To n

x(i) = InputBox("Nhap phan tu thu " & i)

tong = tong + x(i)

kq = kq & x(i) & Chr(9)

Trang 18

2/ Viết chương trình nhập vào 4 số nguyên dương a, b, c, d; xác định xem (a + b +c +d) có chia

hết cho |𝑎 − 𝑏 − 𝑐 − 𝑑| không ? Nếu chia hết thì cho biết thương có bao nhiêu chữ số ?

Bài giải

Private Sub Command1_Click()

Dim a%, b%, c%, d%, s1%, s2%, e%

Do: a = InputBox("Nhap so nguyen duong a"): Loop Until a > 0

Do: b = InputBox("Nhap so nguyen duong b"): Loop Until b > 0

Do: c = InputBox("Nhap so nguyen duong c"): Loop Until c > 0

Do: d = InputBox("Nhap so nguyen duong d"): Loop Until d > 0

Print "Ta co: a = " & a & ", b = " & b & ", c = " & c & ", d = " & d

s1 = a + b + c + d: s2 = Abs(a - b - c - d)

If s1 Mod s2 = 0 Then

e = s1 / s2

Print "Tong " & a & " + " & b & " + " & c; " + " & d & " chia het cho " _

& "| " & a & " - " & b & " - " & c; " - " & d & " |" _

& ", va thuong bang: " & e & "-co " & Len(e) & " chu so"

Else

Print "Tong " & a & " + " & b & " + " & c; " + " & d & " khong chia het cho " _

& "| " & a & " - " & b & " - " & c; " - " & d & " |"

End If

End Sub

Trang 19

ĐỀ 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 trong khoảng (-1000 , -1)

Bài giải

Private Sub Command1_Click()

Dim x!(100), n As Byte, i As Byte, tong!, tbc!, dem As Byte

Do

n = InputBox("Nhap so luong phan tu")

Loop Until n > 0 And n < 100

tong = 0: dem = 0: kq = "Day so (" & n & " phan tu): "

For i = 1 To n

x(i) = InputBox("Nhap phan tu thu " & i)

If x(i) < -1 And x(i) > -1000 Then

tong = tong + x(i)

Trang 20

2/ Viết chương trình nhập vào số thực x ≠ 0 và một số nguyên dương n, tính và in ra giá trị sau:

n = InputBox("Nhap so nguyen duong n")

Loop Until x <> 0 And n > 0

Print "Ta co: x = " & x & ", n = " & n

3x + 5y = 535

Bài giải

Private Sub Command1_Click()

Dim x%, y%, i%, j%, a%, b%, s$

s = "Phuong trinh 3x + 5y = 535 co cac ho nghiem nguyen duong sau: " & vbCrLf

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

TỪ KHÓA LIÊN QUAN

w