Một số bài tập vẽ kĩ thuật Crocodile ICT 605 gồm cơ bản, nâng cao, xử lí số, mảng 1 chiều, mảng 2 chiều và một số thuật toán tham khảoỞ phía cuối file có một số ví dụ về ICT, những sơ đồ thuật toán ví dụ ngắn gọn, đẹp, chính xác như tách số nguyên tố, tổng 2 số nguyên tố, dãy đan xen dấu và các ví dụ khác
Trang 1MỘT SỐ THUẬT TOÁN TRONG ICT
floor(a/b) Chia lấy phần nguyên (câu lệnh này tương tự
như div trong pascal
Add x to n Thêm x giá trị vào biến n
Gán giá trị cho một biến nào đó với dữ liệu nhập từ bàn phím
Xuất một giá trị biến nào đó ra màn hình Ngoài ra còn có một số thuật toán khác như giai thừa, làm tròn,… trong ict Đa số các thuật toán này chỉ hỗ trợ cho chúng ta, khiến bài vẽ ngắn gọn hơn (như thuật toán tính giai thừa) Không có thuật toán này, bạn vẫn có thể tự làm bằng nhiều thuật toán khác ghép lại Để tìm hiểu chuyên sâu, bạn nên mua sách tham khảo lập trình dành cho học sinh khối 8
Lưu ý: trong ICT không hỗ trợ phần CHUỖI, XÂU
BÀI TẬP ÔN LUYỆN CROCODILE ICT
1) Cho một dãy số A0, A1, … , An Xuất phần tử lớn thứ 2 trong mảng A
a. VD: A=[1,2,3 10, 6, 8, 0,4] Phần tử lớn thứ hai là: 8
2) Cho một dãy số A0, A1, … , An Tìm phần tử xuất hiện nhiều nhất trong mảng A, và đếm số lần xuất hiện của nó
a. Vd: A=[1,5,7,2,6,2,5,2,2] Phần tử số 2 xuất hiện nhiều nhất và xuất hiện 4 lần
3) Tìm Bội số chung nhỏ nhất của 2 số a, b
4) Tìm số nguyên tố nhỏ nhất nhưng lớn hơn N
5) Cho một dãy số A0, A1, … , An Kiểm tra dãy đó là dãy tăng, dãy giảm hay dãy hỗn hợp
6) Dãy Bibonaci được định nghĩa như sau: an=an-1+an-2 (với a1=1, a2=1) Nhập vào 1 số nguyên n Hãy xác định giá trị an
a. Vd: n=10 KQ: 55 (vì 1 1 2 3 5 8 13 21 34 55).
7) *** (bài tập cấp TP) Cho một dãy N giá trị nguyên và hai số nguyên dương K 1 và K 2
với K1<K2<=N Xác định tổng của hai số tại vị trí K1 và K2 của dãy đã được sắp
Trang 2tăng Trường hợp K1, K2>N thì lấy Ki=N.
Vd1: A:1, 3, 8, 6, 5 và K1=2, K2=3 KQ:8
Vd2: A: 1, 3, 9, 6, 5 và K1=3, K2=8 KQ:14
8) Vẽ sơ đồ phân tích n thành các thừa số nguyên tố (vd: n=9 3*3)
9) Vẽ sơ đồ tìm số tự nhiên nhỏ hơn hoặc bằng n mà sau khi làm phép phân tích ra thừa
số nguyên tố có nhiên nhân tử nhất (vd: n=9 kq=8=2*2*2)
10)Nhập vào một số nguyên N kiểm tra xem số vừa nhập có phải là số chính phương hay không?
11)Vẽ sơ đồ tách số nguyên thành tổng 2 số nguyên tố (vd: n=9 7+2)
12)Vẽ sơ đồ kiểm tra xem dãy vừa nhập có đan xen dấu hay không?
Vd: 2 -1 3 -9 6 Dãy đan xen dấu; 9 6 -4 5 -6 Dãy không đan xen dấu
13)Cho một dãy gồm N số nguyên n
a a a a
a1, 2, 3, 4,
mỗi số có giá trị torng đoạn Hãy tìm số lần xuất hiện của số âm lớn nhất có trong dãy đã cho Trường hợp không có lời giải hãy ghi ra số -1
14)SOAM.INP 15)SOAM.OUT
16)-4
17)3
18)2
19)-5
20)7
21)1
22)-1
23)5
24)-6
25)-1
26)5
27)2
28)Dãy FIBONACI là dãy được xác định như sau:
F(0) = 0 ; F(1) = 1 và F(n) = F(n-1)+F(n-2)
Trang 3Hãy viết chương trình tìm số FIBONACI lớn nhất là số nguyên tố và nhỏ hơn M
(2<M<2000000000)
Ví dụ: Với M=10 thì số FIBONACI nhỏ hơn M là: 0, 1, 1, 2, 3, 5, 8 Trong đó số 5 là
số nguyên tố lớn nhất trong các số FIBONACI nhỏ hơn M Vậy số cần tìm là: 5
29)Vẽ sơ đồ tính tổng S theo công thức sau:
! 6
! 4
! 2 1
6 4 2
+
− +
−
S
30)Vẽ sơ đồ giải bài toán sau:
) 3 )(
2 (
) 1 (
4 3
3 2 4
.
3
2
.
1
+ +
+ +
+ +
=
n n
n n
S n
CÁC DẠNG BÀI TẬP KHÁC
PHẦN I: XỬ LÝ SỐ
1. Nhập 1 số nguyên n Cho biết n là số chẳn, số lẽ hay số 0
2. Nhập 1 số nguyên n có 3 chữ số Cho biết các chữ số hàng đơn vị, hàng chục, hàng trăm của n
3. Nhập 2 hệ số a, b của phương trình bậc nhất ax + b = 0 Cho biết nghiệm của phương trình
4. Nhập 1 số nguyên n Cho biết tổng các chữ số từ 1 đến n
5. Nhập 1 số nguyên n Cho biết tổng các chữ số chẳn, tổng các chữ số lẽ từ 1 đến n
6. Nhập 3 số nguyên a, b, c Cho biết số lớn nhất, nhỏ nhất trong 3 số vừa nhập
7. Nhập 3 số nguyên a, b, c là chiều dài 3 cạnh của 1 tam giác Cho biết a, b, c có tạo thành tam giác hay không
8. Nhập 1 số nguyên n Cho biết tổng các ước số của n
Trang 49. Nhập 1 số nguyên n Cho biết n có là số nguyên tố hay không?
10. Nhập 1 số nguyên n Cho biết có bao nhiêu số nguyên tố và tổng các số nguyên tố từ 1 đến n
11. Nhập vào 2 số nguyên a và n Tính biểu thức sau: S = 1a– 2a+ 3a– 4a+ +na
12. Số hoàn thiện là số có tổng các ước số nhỏ hơn nó, bằng chính nó
13. Nhập 1 số nguyên n, in ra số hoàn thiện nhỏ nhất nhưng lớn hơn n
14. Nhập 2 số nguyên a, b(a<b) Cho biết có bao nhiêu số và tính tổng các số lớn a nhỏ hơn b mà chia hết cho a
15. Một số nguyên n được gọi là số đẹp khi tổng các chữ số của n là ước số của n Nhập 1
số nguyên n Cho biết n có là số đẹp hay không (vd: 12 là số đẹp do 1+2=3, 3 là us của 12)
16. Nhập vào một số n, đếm xem từ 1 đến n có bao nhiêu số đẹp?
17. Nhập vào 2 số nguyên a,b tìm USCLN và BSCLN của hai số a, b (BSCNN(a,b)=a*b div USCLN(a,b))
18. Nhập vào ba cạnh của một tam giác, kiểm tra xem 3 cạnh vừa nhập có tạo thành một tam giác hay không? Nếu được thì xuất ra diện tích, chu vi hình tam giác đó, ngược lại xuất ra “3 cạnh này không thuộc tam giác)
19. Xét dãy số nguyên gồm n số hạng a1,a2,a3,…,an (n được gọi là độ dài của dãy) được xác định như sau: a1=a2=1;an=an-1+an-2 (Với n>2)
Vd: n=55, in ra là 10
Trang 520. Nhập vào một số nguyên dương n (0<n<=3200) Hãy cho biết số nguyên này là bội của tổng tất cả các chữ số của nó hay không? Nếu không thì tìm một số nguyên dương m nhỏ hơn nhưng gần n nhất để cho m thỏa mãn tính chất trên Vd (Nhập n=12số 12 là bội số của 1+2; Nhập n=25số 25 không là bội số của 2+5, số nguyên dương nhỏ hơn gần nhất số 25 là số 24 thỏa mãn tính chất trên, vì 24 là bội của 2+4)
21. Giả thiết N là số nguyên dương Số nguyên M là tổng của N với các chữ số của nó N được gọi là số nguồn của M Ví dụ: N=245, khi đó M=245+2+4+5=256, như vậy nguồn của 256 là 245 Cho số nguyên M hãy tìm số nguồn nhỏ nhất của nó Nếu M không có nguồn thì đưa ra số 0
22. Số nguyên tố cùng nhau: Nhập vào hai số nguyên dương Kiểm tra xem hai số đó có phải là hai số nguyên tố cùng nhau hay không? (hai nguyên tố được gọi là cùng nhau khi chúng có ước chung lớn nhất là 1) Vd: 3,8 là hai số nguyên tố cùng nhau vì có UCLN là 1 (2,8 không phải là số nguyên tố cùng nhau)
23. Hãy tìm tất cả các số tự nhiên có 3 chữ số sao cho khi đảo ngược lại số đó ta được một
số nguyên tố cùng nhau với số đã cho Ví dụ: 103 và 301;
24. Viết chương trình tính S=1.2.3…n
25. Viết chương trình tính tổng S=1+1.2+1.2.3+1.2.3.4+…+1.2.3 n
26. Viết chương trình tính tổng S=1-2+3-4+…+n
27. Viết chương trình tính tổng S=1+1/2+1/3+…+1/n
28. Viết chương trình nhập vào một số nguyên n, kiểm tra n có phải là số đơn điệu hay không? (số đơn điệu là số mà các chữ số của nó luân phiên nhau tăng hoặc giảm) ví dụ
4546 là số đơn điệu; 454633 không phải là số đơn điệu)
Trang 6PHẦN II: XỬ LÝ MẢNG MỘT CHIỀU
1) Tính tổng mảng, tổng chẳn, tổng lẻ
2) Tính tổng các SNT có trong mảng
3) Tính tổng các số chia hết cho 2 và 3
4) Nhập 1 số n là số phần tử của dãy số nguyên Tìm phần tử lớn nhất, nhỏ nhất trong dãy số
5) Nhập 1 số n là số phần tử của dãy số nguyên Tính tổng các số nguyên tố trong dãy số
6) Nhập 1 số n là số phần tử của dãy số nguyên Tính tổng các phần tử là số chẳn, số lẽ,
số nguyên tố trong dãy số
7) In phần tử lớn nhất/nhỏ nhất có trong mảng
8) Nhập vào 1 mảng A và 1 số x, xuất ra số lần xuất hiện của phần tử x trong mảng A
9) Nhập vào 1 mảng A và 2 số x, y Thay thế các số trong mảng A có giá trị bằng x bằng một giá trị là y
10)Xuất ra thông báo mảng vừa nhập là mảng tăng, mảng giảm hay mảng không tăng không giảm
11)Viết chương trình tính tổng các số chính phương có trong mảng (số chính phương là số
có căn bậc hai là một số nguyên)
12)Một số nguyên gọi là Palindrom nếu nó đọc từ trái sang cũng bằng đọc từ phải sang Vd: 121 là một số palindrom Nhập vào một dãy n phần tử nguyên dương từ bàn phím, 5<=n<=20 và các phần tử có 2 đến 4 chữ số In ra các số là palindrom trong dãy
13)Nhập vào dãy số thực a, Tìm và in các số của dãy bằng tổng 2 số khác trong dãy Vd: 6
9 4 2 số 6 (vì 4+2=6)
Trang 714)Nhập vào dãy số thực a và số k Xét xem trong dãy có k số dương đứng cạnh nhau hay không? Vd: A: -1 2 3 4 -2 -4 4 5 -3 4 5 6; k=3 có 3 số dương đứng cạnh nhau (2 3 4)
15)Nhập vào một dãy A có N số tự nhiên (N<40) và một số K Hãy xuất ra các phần tử có
số lần xuất hiện trong dãy A từ K lần trở lên (mỗi số chỉ xuất hiện một lần) Vd: A:1 2
3 3 4 6 6 ; k=2 2 6
16)Một dãy tuyến tính là một bộ 3 có số thứ tự (s1,s2,s3) thỏa mãn s2-s1=s3-s2, đếm xem trong dãy có bao nhiêu dãy tuyến tính và in chúng ra
17)Nhập vào một dãy kiểm tra dãy vừa nhập có đan dấu nhau hay không (vd: 9 -3 6 -5 7 -1 10)
PHẦN III: MẢNG 2 CHIỀU
- Nhập ma trận A, n*m
1. Tính tổng các phần tử theo từng dòng/cột của mảng
2. Tìm dòng có tổng giá trị lớn nhất
3. Đếm số lần xuất hiện của x trong a và vị trí của chúng
4. Tính tổng các phần tử lớn nhất ở mỗi dòng
5. Sắp xếp các phần tử trên mỗi dòng đợc sắp xếp theo thứ tự giảm dần
6. Sắp xếp các phần tử trên mỗi cột theo thứ tự tăng dần
7. Đếm xem có bao nhiêu phần tử A[i,j] chia hết cho (i+j) và tính tổng của chúng Đưa
ra mảng B và các kết quả tính toán ra màn hình
Trang 8- Nhập ma trận A, n*m.
1. Tính tổng các phần tử trên đường chéo chính (dấu huyền)
2. Tính tổng các phần tử trên đường chép phụ (dấu sắc)
3. Kiểm tra tính đối xứng của ma trận qua đường chéo chính
4. Cho biết mảng vừa nhập có 2 hàng nào trùng nhau hay không, nếu có thì cho biết là hai hàng nào?
5. Nhập ma trận vuông cấp N chứa các ký tự In lên màn hình
các chuỗi tạo ra bằng việc duyệt theo hàng, duyệt theo cột
mảng này
Vd: Ma trận vuông cấp N=3 Kết quả theo hàng: CUC, ANH,
ONE; kết quả theo cột: CAO, UNN, CHE
MỘT SỐ VÍ DỤ VỀ ICT
Trang 9Bài 1: Vẽ sơ đồ phân tích n thành các thừa số nguyên tố.
Bài 2: Vẽ sơ đồ tìm số tự nhiên nhỏ hơn hoặc bằng n mà sau khi làm phép phân tích ra thừa
số nguyên tố có nhiều nhân tử nhất
Trang 10Bài 3: Nhập vào số nguyên n kiểm tra xem số vừa nhập có phải là số chính phương hay
không?
Bài 4: Vẽ sơ đồ tách số nguyên thành tổng 2 số nguyên tố?
Trang 11Bài 5: Vẽ sơ đồ kiểm tra xem dãy vừa nhập có đan xen dấu hay không?