Networks Business Online Việt Nam & International VH2

các bài tập mẫu TIN học 11 cơ bản – Tài liệu text

Đăng ngày 26 June, 2022 bởi admin

các bài tập mẫu TIN học 11 cơ bản

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (91.81 KB, 9 trang )

24 BÀI TẬP MẪU TIN HỌC 11- (CHƯƠNG 1, 2, 3)
Bài tập 1: Viết chương trình nhập vào một số nguyên và kiểm tra xem số
vừa nhập là số chẵn hay số lẻ.
Program Kiemtratinhchanle;
Uses crt;
Var x:integer;
Begin
Write(‘Nhap vao mot so nguyen : ‘); Readln(x);
If (x MOD 2=0) Then
Writeln(‘So vua nhap vao la so chan’)
Else
Writeln(‘So vua nhap vao la so le’);
Readln;
End.
Bài tập 2: Viết chương trình giải phương trình bậc nhất ax+b=0
Program Giaiptb1;
Uses Crt;
Var a,b,x : real;
Begin
Write(‘a = ‘); Readln(a);
Write(‘b = ‘); Readln(b);
If (a = 0) Then { Nếu a bằng 0 }
If (b = 0) Then { Trường hợp a = 0 và b = 0 }
Writeln(‘Phuong trinh co vo so nghiem’)
0 }≠Else { Trường hợp a=0 và b
Writeln(‘Phuong trinh vo nghiem’)
0 }≠Else { Trường hợp a
Begin
x:= -b/a;
Writeln(‘Phuong trinh co nghiem la :’,x:6:2);
End;

Readln;
End.
1
Bài tập 3: Viết chương trình tính tổng S = 1+2+ +N.
Cách 1: Dùng vòng lặp FOR.
Program TinhTong;
Uses crt;
Var N,i,S:integer;
Begin
Clrscr;
Write(‘Nhap vao gia tri cua N :’); Readln(N);
S:=0;
For i:=1 to N do S:=S+i;
Writeln(‘Ket qua la :’,S);
Readln;
End.
Cách 2: Dùng vòng lặp WHILE.
Program TinhTong;
Uses crt;
Var N,i,S:integer;
Begin
Clrscr;
Write(‘Nhap vao gia tri cua N :’); Readln(N);
S:=0; i:=1;
While i<=N Do
Begin
S:=S+i;
i:=i+1;
End;
Writeln(‘Ket qua la :’,S);

Readln;
End.
Bài tập 4: Viết chương trình nhập vào N số nguyên từ bàn phím. Hãy tính
và in ra màn hình tổng của các số vừa được nhập vào.
Ý tưởng: Dùng phương pháp cộng dồn. Cho vòng lặp FOR chạy từ 1 tới N,
ứng với lần lặp thứ i, ta nhập vào số nguyên X và đồng thời cộng dồn X vào
biến S.
2
Program Tong;
Uses crt;
Var N,S,i,X : Integer;
Begin
Clrscr; S:=0;
For i:=1 To n Do
Begin
Write(‘Nhap so nguyen X= ‘); Readln(X);
S:=S+X;
End;
Writeln(‘Tong cac so duoc nhap vao la: ‘,S);
Readln;
End.
Bài tập 5: Viết chương trình tính số Pi với độ chính xác Epsilon, biết:
Pi/4 = 1-1/3+1/5-1/7+
Ý tưởng: Ta thấy rằng, mẫu số là các số lẻ có qui luật: 2*i+1 với i=1, ,n.
Do đó ta dùng i làm biến chạy. Vì tính số Pi với độ chính xác Epsilon nên
không biết trước được cụ thể số lần lặp, do đó ta ≤phải dùng vòng lặp WHILE
. Có nghĩa là phải lặp cho tới khi t=4/(2*i+1) Epsilon thì dừng.
Program Tinh_tong_Pi;
Uses Crt;
Const Epsilon=1E-4;

Var Pi,t:real;
i,s:Integer;
Begin
Pi:=4; i:=1; s:=-1;
t:=4/(2*i+1);
While t>Epsilon Do
Begin
Pi:=Pi+s*t;
s:=-s; i:=i+1;
t:=4/(2*i+1);
End;
Writeln(‘So Pi = ‘,Pi:0:4);
3
Readln;
End.
Bài tập 6: Viết chương trình nhập vào số nguyên N. In ra màn hình tất cả
các ước số của N.
Ý tưởng: Cho biến i chạy từ 1 tới N. Nếu N MOD i=0 thì viết i ra màn hình.
Uses Crt;
Var N,i : Integer;
Begin
Clrscr;
Write(‘Nhap so nguyen N= ‘); Readln(N);
For i:=1 To N Do
If N MOD i=0 Then Write(i:5);
Readln;
End.
Bài tập 7: Viết chương trình tìm USCLN và BSCNN của 2 số a, b được nhập
vào từ bàn phím.
Ý tưởng:

– Tìm USCLN: Lấy số lớn trừ số nhỏ cho đến khi a=b thì dừng. Lúc đó:
USCLN=a.
– BSCNN(a,b) = a*b DIV USCLN(a,b).
Program Tim_USCLN_BSCNN;
Uses crt;
Var a,b, m,n:integer;
Begin
Write(‘Nhap a : ‘); Readln(a);
Write(‘Nhap b : ‘); Readln(b);
m:=a; n:=b;
While (m<>n) Do
Begin
If (m>n) Then m:=m-n Else n:=n-m;
End;
Writeln(‘USCLN= ‘,m);
4
Writeln(‘BSCNN= ‘,a*b DIV n);
Readln;
End.
Bài tập 8: Viết chương trình tìm các số có 3 chữ số sao cho: = a3 + b3 +
c3.
Ý tưởng:
Dùng phương pháp vét cạn. Ta biết rằng: a có 9. Ta→9 (vì a là số hàng
trăm), b,c có thể có giá trị từ 0→thể có giá trị từ 1 sẽ dùng 3 vòng lặp FOR
lồng nhau để duyệt qua tất cả các trường hợp của a,b,c.
Ứng với mỗi bộ abc, ta sẽ kiểm tra: Nếu 100.a + 10.b + c = a3 + b3 + c3
thì in ra bộ abc đó.
Program Timgiatri_abc;
Uses crt;
Var a,b,c : Word;

Begin
For a:=1 To 9 Do
For b:=0 To 9 Do
For c:=0 To 9 Do
If (100*a + 10*b + c)=(a*a*a + b*b*b + c*c*c) Then Writeln(a,b,c);
Readln;
End.
Bài tập 9: Viết chương trình nhập vào số tự nhiên N rồi thông báo lên màn
hình số đó có phải là số nguyên tố hay không.
Ý tưởng: N là số nguyên tố nếu N không có ước số N div 2. Từ định nghĩa
này ta đưa ra giải thuật:→nào từ 2
– Đếm số ước số N div 2 lưu vào biến d.→của N từ 2
– Nếu d=0 thì N là số nguyên tố.
Uses crt;
Var N,i,d : Word;
Begin
If N<2 Then Writeln(N,’ khong phai la so nguyen to’)
Else
5
Begin
d:=0;
For i:=2 To N div 2 Do
If (N MOD i=0) Then d:=d+1;
If d=0 Then Writeln(N,’ la so nguyen to’)
Else Writeln(N,’ khong phai la so nguyen to’);
End;
Readln;
End.
Bài tập 10: Viết chương trình nhập tính diện tích tam giác, nhập độ dài cạnh
a,b,c từ bàn phím. Công thức tính Diện tích là, p là nửa chu vi

Program Tam_Giac;
Var
a,b,c: Integer;
p,s: Real;
Begin
Writeln(‘CHUONG TRINH TINH DIEN TICH TAM GIAC’);
Write(‘Cho biet canh thu nhat = ‘); Readln(a);
Write(‘Cho biet canh thu hai = ‘); Readln(b);
Write(‘Cho biet canh thu ba = ‘); Readln(c);
p := 0.5 * (a + b + c);
s := sqrt(p*(p-a)*(p-c)*(p-c));
Writeln(‘+Dien tich hinh tam giac = ‘,s:6:2,’ met vuong’);
Readln
End.
BÀI TẬP Thực hành
Bài tập 1:
Viết chương trình giải phương trình bậc hai: ax2 + bx + c = 0, a≠0.
Gợi ý:
– Tính Delta=b*b-4*a*c.
– Biện luận:
6
Delta<0: Phương trình vô nghiệm.
Delta=0: Phương trình có nghiệm kép: x = -b/(2*a).
Delta>0: Phương trình có 2 nghiệm phân biệt:
SQRT(Delta))/(2*a).±x1,2 = (-b
Bài tập 2: Viết chương trình nhập vào từ bàn phím: giờ, phút, giây. Cọng
thêm một số giây cũng được nhập từ bàn phím. Hãy in ra kết quả sau khi
cọng xong.
Gợi ý:
– Gọi số giây được cộng thêm là: ss. Gán giây:=giây+ss.

60 thì: phút:=phút + giây DIV 60 và≥- Nếu giây giây:=giây MOD 60.
60 thì: giờ:=giờ + phút DIV 60 và phút:=phút≥- Nếu phút MOD 60.
Bài tập 3: Viết chương trình tìm Max, Min của 4 số: a, b, c, d.
Bài tập 4: Viết chương trình in ra màn hình các giá trị của bảng 255.→mã
ASCII từ 0
Gợi ý:
255. In ra màn hình i và→Cho biến i chạy từ 0 CHR(i).
Bài tập 5: Viết chương trình in ra màn hình các số nguyên từ 1 đến 100 sao
cho cứ 10 số thì xuống dòng.
Gợi ý:
→Cho biến i chạy từ 1 100. In ra màn hình i và kiểm tra:
nếu i MOD 10=0 thì WRITELN.
Bài tập 6: Viết chương trình in ra màn hình bảng cữu chương.
Gợi ý:
Dùng 2 vòng lặp FOR lồng nhau: i là số bảng cữu chương (2 9), j là số thứ
tự trong từng bảng cữu chương (1 10).
For i:=2 To 9 Do
For j:=1 To 10 Do Writeln(i,’x’,j,’=’,i*j);
Bài tập 7: Viết chương trình tính các tổng sau:
7
S0 = n! = 1*2* *n {n giai thừa}
S1 = 1 + 1/2 + + 1/n
S2 = 1 + 1/2! + + 1/n!
S3 = 1 + x + x2/2! + x3/3! + + xn/n!
S4 = 1 – x + x2/2! – x3/3! + + (-1)nxn/n!
S5 = 1 + sin(x) + sin2(x) + + sinn(x).
Bài tập 8: Viết chương trình để tìm lời giải cho bài toán sau:
“Trong giỏ vừa thỏ vừa gà,
Một trăm cái cẳng bốn ba cái đầu.
Hỏi có mấy gà mấy thỏ?”

Bài tập 9: Viết chương trình để tìm lời giải cho bài toán sau:
Trăm trâu trăm bó cỏ
Bó lại cho tròn
Trâu đứng ăn năm
Trâu nằm ăn ba
Năm con trâu già
Mỗi con ăn một.
Hỏi có bao nhiêu trâu đứng, trâu nằm, trâu già?
Bài tập 10: Viết chương trình nhập vào một số nguyên dương. Hãy thông
báo lên màn hình số đó có bao nhiêu chữ số và tổng các chữ số của số đó.
Gợi ý:
Dùng vòng lặp WHILE. Trong khi N>0 thì: lấy ra chữ số cuối cùng của N để
tính bằng phép toán MOD 10, sau đó bỏ bớt đi chữ số cuối cùng của N bằng
phép toán DIV 10.
Bài tập 11: Viết chương trình in ra màn hình tất cả các số nguyên tố từ 2
đến N. Với N được nhập từ bàn phím.
Bài tập 12: Viết chương trình phân tích một số ra thừa số nguyên tố. Ví dụ:
N=100 sẽ in ra màn hình:
100 | 2
8
50 | 2
25 | 5
5 | 5
1 |
Bài tập 13: Số hoàn thiện là số tự nhiên có tổng các ước của nó (không kể
chính nó) bằng chính nó. Viết chương trình kiểm tra xem một số được nhập
vào từ bàn phím có phải là số hoàn thiện hay không? Ví dụ: 6, 28 là các số
hoàn thiện.
Gợi ý:
– Tính N div 2 lưu vào biến S.→tổng các ước số của N: từ 1

– Nếu S=N thì N là số hoàn thiện.
Bài tập 14: Viết chương trình in ra các số nguyên từ 1 đến N2 theo hình
xoắn ốc với N được nhập vào từ bàn phím.
Ví dụ, với N=5 ta có:
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
9
Readln ; End. Bài tập 3 : Viết chương trình tính tổng S = 1 + 2 + + N.Cách 1 : Dùng vòng lặp FOR.Program TinhTong ; Uses crt ; Var N, i, S : integer ; BeginClrscr ; Write ( ‘ Nhap vao gia tri cua N : ‘ ) ; Readln ( N ) ; S : = 0 ; For i : = 1 to N do S : = S + i ; Writeln ( ‘ Ket qua la : ‘, S ) ; Readln ; End. Cách 2 : Dùng vòng lặp WHILE.Program TinhTong ; Uses crt ; Var N, i, S : integer ; BeginClrscr ; Write ( ‘ Nhap vao gia tri cua N : ‘ ) ; Readln ( N ) ; S : = 0 ; i : = 1 ; While i < = N DoBeginS : = S + i ; i : = i + 1 ; End ; Writeln ( ' Ket qua la : ', S ) ; Readln ; End. Bài tập 4 : Viết chương trình nhập vào N số nguyên từ bàn phím. Hãy tínhvà in ra màn hình hiển thị tổng của những số vừa được nhập vào. Ý tưởng : Dùng chiêu thức cộng dồn. Cho vòng lặp FOR chạy từ 1 tới N, ứng với lần lặp thứ i, ta nhập vào số nguyên X và đồng thời cộng dồn X vàobiến S.Program Tong ; Uses crt ; Var N, S, i, X : Integer ; BeginClrscr ; S : = 0 ; For i : = 1 To n DoBeginWrite ( ' Nhap so nguyen X = ' ) ; Readln ( X ) ; S : = S + X ; End ; Writeln ( ‘ Tong cac so duoc nhap vao la : ‘, S ) ; Readln ; End. Bài tập 5 : Viết chương trình tính số Pi với độ đúng mực Epsilon, biết : Pi / 4 = 1-1 / 3 + 1/5 - 1/7 + Ý tưởng : Ta thấy rằng, mẫu số là những số lẻ có qui luật : 2 * i + 1 với i = 1, , n. Do đó ta dùng i làm biến chạy. Vì tính số Pi với độ đúng mực Epsilon nênkhông biết trước được đơn cử số lần lặp, do đó ta ≤ phải dùng vòng lặp WHILE. Có nghĩa là phải lặp cho tới khi t = 4 / ( 2 * i + 1 ) Epsilon thì dừng. Program Tinh_tong_Pi ; Uses Crt ; Const Epsilon = 1E-4 ; Var Pi, t : real ; i, s : Integer ; BeginPi : = 4 ; i : = 1 ; s : = - 1 ; t : = 4 / ( 2 * i + 1 ) ; While t > Epsilon DoBeginPi : = Pi + s * t ; s : = – s ; i : = i + 1 ; t : = 4 / ( 2 * i + 1 ) ; End ; Writeln ( ‘ So Pi = ‘, Pi : 0 : 4 ) ; Readln ; End. Bài tập 6 : Viết chương trình nhập vào số nguyên N. In ra màn hình hiển thị tất cảcác ước số của N.Ý tưởng : Cho biến i chạy từ 1 tới N. Nếu N MOD i = 0 thì viết i ra màn hình hiển thị. Uses Crt ; Var N, i : Integer ; BeginClrscr ; Write ( ‘ Nhap so nguyen N = ‘ ) ; Readln ( N ) ; For i : = 1 To N DoIf N MOD i = 0 Then Write ( i : 5 ) ; Readln ; End. Bài tập 7 : Viết chương trình tìm USCLN và BSCNN của 2 số a, b được nhậpvào từ bàn phím. Ý tưởng : – Tìm USCLN : Lấy số lớn trừ số nhỏ cho đến khi a = b thì dừng. Lúc đó : USCLN = a. – BSCNN ( a, b ) = a * b DIV USCLN ( a, b ). Program Tim_USCLN_BSCNN ; Uses crt ; Var a, b, m, n : integer ; BeginWrite ( ‘ Nhap a : ‘ ) ; Readln ( a ) ; Write ( ‘ Nhap b : ‘ ) ; Readln ( b ) ; m : = a ; n : = b ; While ( m < > n ) DoBeginIf ( m > n ) Then m : = m-n Else n : = n-m ; End ; Writeln ( ‘ USCLN = ‘, m ) ; Writeln ( ‘ BSCNN = ‘, a * b DIV n ) ; Readln ; End. Bài tập 8 : Viết chương trình tìm những số có 3 chữ số sao cho : = a3 + b3 + c3. Ý tưởng : Dùng chiêu thức vét cạn. Ta biết rằng : a có 9. Ta → 9 ( vì a là số hàngtrăm ), b, c hoàn toàn có thể có giá trị từ 0 → thể có giá trị từ 1 sẽ dùng 3 vòng lặp FORlồng nhau để duyệt qua tổng thể những trường hợp của a, b, c. Ứng với mỗi bộ abc, ta sẽ kiểm tra : Nếu 100. a + 10. b + c = a3 + b3 + c3thì in ra bộ abc đó. Program Timgiatri_abc ; Uses crt ; Var a, b, c : Word ; BeginFor a : = 1 To 9 DoFor b : = 0 To 9 DoFor c : = 0 To 9 DoIf ( 100 * a + 10 * b + c ) = ( a * a * a + b * b * b + c * c * c ) Then Writeln ( a, b, c ) ; Readln ; End. Bài tập 9 : Viết chương trình nhập vào số tự nhiên N rồi thông tin lên mànhình số đó có phải là số nguyên tố hay không. Ý tưởng : N là số nguyên tố nếu N không có ước số N div 2. Từ định nghĩanày ta đưa ra giải thuật : → nào từ 2 – Đếm số ước số N div 2 lưu vào biến d. → của N từ 2 – Nếu d = 0 thì N là số nguyên tố. Uses crt ; Var N, i, d : Word ; BeginIf N < 2 Then Writeln ( N, ’ khong phai la so nguyen to ’ ) ElseBegind : = 0 ; For i : = 2 To N div 2 DoIf ( N MOD i = 0 ) Then d : = d + 1 ; If d = 0 Then Writeln ( N, ’ la so nguyen to ’ ) Else Writeln ( N, ’ khong phai la so nguyen to ’ ) ; End ; Readln ; End. Bài tập 10 : Viết chương trình nhập tính diện tích quy hoạnh tam giác, nhập độ dài cạnha, b, c từ bàn phím. Công thức tính Diện tích là, p là nửa chu viProgram Tam_Giac ; Vara, b, c : Integer ; p, s : Real ; BeginWriteln ( ' CHUONG TRINH TINH DIEN TICH TAM GIAC ' ) ; Write ( ' Cho biet canh thu nhat = ' ) ; Readln ( a ) ; Write ( ' Cho biet canh thu hai = ' ) ; Readln ( b ) ; Write ( ' Cho biet canh thu ba = ' ) ; Readln ( c ) ; p : = 0.5 * ( a + b + c ) ; s : = sqrt ( p * ( p-a ) * ( p-c ) * ( p-c ) ) ; Writeln ( ' + Dien tich hinh tam giac = ', s : 6 : 2, ' met vuong ' ) ; ReadlnEnd. BÀI TẬP Thực hànhBài tập 1 : Viết chương trình giải phương trình bậc hai : ax2 + bx + c = 0, a ≠ 0. Gợi ý : - Tính Delta = b * b-4 * a * c. - Biện luận : Delta < 0 : Phương trình vô nghiệm. Delta = 0 : Phương trình có nghiệm kép : x = - b / ( 2 * a ). Delta > 0 : Phương trình có 2 nghiệm phân biệt : SQRT ( Delta ) ) / ( 2 * a ). ± x1, 2 = ( – bBài tập 2 : Viết chương trình nhập vào từ bàn phím : giờ, phút, giây. Cọngthêm 1 số ít giây cũng được nhập từ bàn phím. Hãy in ra hiệu quả sau khicọng xong. Gợi ý : – Gọi số giây được cộng thêm là : ss. Gán giây : = giây + ss. 60 thì : phút : = phút + giây DIV 60 và ≥ – Nếu giây giây : = giây MOD 60.60 thì : giờ : = giờ + phút DIV 60 và phút : = phút ≥ – Nếu phút MOD 60. Bài tập 3 : Viết chương trình tìm Max, Min của 4 số : a, b, c, d. Bài tập 4 : Viết chương trình in ra màn hình hiển thị những giá trị của bảng 255. → mãASCII từ 0G ợi ý : 255. In ra màn hình hiển thị i và → Cho biến i chạy từ 0 CHR ( i ). Bài tập 5 : Viết chương trình in ra màn hình hiển thị những số nguyên từ 1 đến 100 saocho cứ 10 số thì xuống dòng. Gợi ý : → Cho biến i chạy từ 1 100. In ra màn hình hiển thị i và kiểm tra : nếu i MOD 10 = 0 thì WRITELN.Bài tập 6 : Viết chương trình in ra màn hình hiển thị bảng cữu chương. Gợi ý : Dùng 2 vòng lặp FOR lồng nhau : i là số bảng cữu chương ( 2 9 ), j là số thứtự trong từng bảng cữu chương ( 1 10 ). For i : = 2 To 9 DoFor j : = 1 To 10 Do Writeln ( i, ’ x ’, j, ’ = ’, i * j ) ; Bài tập 7 : Viết chương trình tính những tổng sau : S0 = n ! = 1 * 2 * * n { n giai thừa } S1 = 1 + 50% + + 1 / nS2 = 1 + 50% ! + + 1 / n ! S3 = 1 + x + x2 / 2 ! + x3 / 3 ! + + xn / n ! S4 = 1 – x + x2 / 2 ! – x3 / 3 ! + + ( – 1 ) nxn / n ! S5 = 1 + sin ( x ) + sin2 ( x ) + + sinn ( x ). Bài tập 8 : Viết chương trình để tìm lời giải cho bài toán sau : “ Trong giỏ vừa thỏ vừa gà, Một trăm cái cẳng bốn ba cái đầu. Hỏi có mấy gà mấy thỏ ? ” Bài tập 9 : Viết chương trình để tìm lời giải cho bài toán sau : Trăm trâu trăm bó cỏBó lại cho trònTrâu đứng ăn nămTrâu nằm ăn baNăm con trâu giàMỗi con ăn một. Hỏi có bao nhiêu trâu đứng, trâu nằm, trâu già ? Bài tập 10 : Viết chương trình nhập vào 1 số ít nguyên dương. Hãy thôngbáo lên màn hình hiển thị số đó có bao nhiêu chữ số và tổng những chữ số của số đó. Gợi ý : Dùng vòng lặp WHILE. Trong khi N > 0 thì : lấy ra chữ số sau cuối của N đểtính bằng phép toán MOD 10, sau đó bỏ bớt đi chữ số ở đầu cuối của N bằngphép toán DIV 10. Bài tập 11 : Viết chương trình in ra màn hình hiển thị toàn bộ những số nguyên tố từ 2 đến N. Với N được nhập từ bàn phím. Bài tập 12 : Viết chương trình nghiên cứu và phân tích 1 số ít ra thừa số nguyên tố. Ví dụ : N = 100 sẽ in ra màn hình hiển thị : 100 | 250 | 225 | 55 | 51 | Bài tập 13 : Số triển khai xong là số tự nhiên có tổng những ước của nó ( không kểchính nó ) bằng chính nó. Viết chương trình kiểm tra xem một số ít được nhậpvào từ bàn phím có phải là số triển khai xong hay không ? Ví dụ : 6, 28 là những sốhoàn thiện. Gợi ý : – Tính N div 2 lưu vào biến S. → tổng những ước số của N : từ 1 – Nếu S = N thì N là số hoàn thành xong. Bài tập 14 : Viết chương trình in ra những số nguyên từ 1 đến N2 theo hìnhxoắn ốc với N được nhập vào từ bàn phím. Ví dụ, với N = 5 ta có : 1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9

Source: https://vh2.com.vn
Category: Tin Học