Chuyên mục: Tài Liệu Ôn Thi HSG TIN HỌC  
Ngày đưa tin: 04/11/2009    

ĐỀ CƯƠNG ÔN THI HSG TIN HỌC CẤP TRƯỜNG

BÀI TẬP ÔN THI HỌC SINH GIỎI CẤP TRƯỜNG

 

Câu 1: cho số nguyên dương N(N>=10000). Hãy lập trình nhập vào số N và thông báo ra màn hinh chữ số hàng chục nghìn, hàng nghìn, hàng trăm, hàng chục, hàng đơn vị của N.

Câu 2: Xét dãy số nguyên A0, A1,.....,An. Trong đó

            -A0=p.

            -A1=q.

                        An-2+p Nếu n chẵn.

-An=   

                         An-2+q Nếu n lẻ.

 

Viết chương trình An với n được nhập vào từ bàn phím.

Câu 3: Dãy số Fibonacci là dãy có tính chất sau:

            F0=F1=1.

            Fn=Fn-1+Fn-2

Hãy viết chương trình nhập vào số n rồi thông báo ra màn hình giá trị của Fn.

(VD: n=4 khi đó F4=5.)

Câu 4: Viết chương trình nhập vào mảng 2 chiều. In ra màn hình mảng vừa nhập theo cách đảo dòng thành cột.

VD:  mảng nhập vào là:  1  4   7        In ra là :   1  2  4

                                         2  5   2                        4  5  7         

                                         4  7   3                         7  2  3

Câu 5: Cho một bảng A gồm N x N số nguyên ( N ≤ 100), các dòng được đánh số từ trên xuống dưới bắt đầu từ 1, các cột được đánh số từ trái qua phải cũng bắt đầu từ 1. Mỗi số trong bảng có giá trị tuyệt đối không vượt quá 30000. Bảng B được tạo ra từ bảng A với quy tắc sau:

            Phần tử của B nằm ở dòng I, cột j có giá trị bằng tổng của các số nằm trong ô (i,j) và các số kề nó trong bảng A: Bij=Aij+A(i+1)j+A (i-1)j+Ai(j-1)+Ai(j-1)

Chú ý: Các phần tử nằm ngoài bảng được xem như có giá trị bằng 0.

Câu 6: Dãy số nguyên gồm N phần tử N<=100.(giá trị các phần tử có trị tuyệt đối<=32767) Viết chương trình nhập vào dãy số nguyên sau đó in ra màn hình phần tử có giá trị nhỏ nhất và phần tử có giá trị nhỏ nhì.

Câu 7: Dãy số nguyên gồm N phần tử N<=100.(giá trị các phần tử có trị tuyệt đối<=32767). Viết chương trình nhập vào số nguyên N và dãy N số nguyên sau đó tiến hành hoán đổi vị trí cho phần tử có giá trị nhỏ nhất và phần tử có giá trị lớn nhất rồi in ra mảng vừa hoán đổi.

Câu 8: Viết chương trình nhập vào số nguyên dương N<=100(N ở hệ thập phân) rồi in ra màn hình số nhị phân tương ứng.(VD: N=7 khi đó in ra N ở dạng nhị phân là 111).

Câu 9: Viết chương trình nhập vào số thập phân N<=300 rồi inra màn hình số N ở hệ hexa.

(VD: N=127 khi đó in ra số N là: 7F ).

Câu 10: Viết chương trình nhập vào số nguyên dương N<=100 sau đó in ra màn hình tích N thành tích các thừa số nguyên tố. Nếu N là nguyên tố thì thông báo không phân tích được nữa.

(VD: N=12 khi đó in ra màn hình kết quả phân tích là: 2*2*3).

Câu 11: Viết chương trình nhập vào hai mảng một chiều gồm các số nguyên có số lượng phần tử <=100. Sau đó sắp xếp hai mảng đó theo thứ tự không tăng, tiến hành tạo ra mảng thứ 3 bằng cách hoà hai mảng vừa nhập thành một sao cho mảng hoà được vẫn có thứ tự không giảm.

(VD: mảng A gồm các phần tử: 9; 7; 5; 4; 1. Mảng B gồm các phần tử: 6; 3; 2. Khi đó mảng C nhận được là: 9; 7; 6; 5; 4; 3; 2; 1.

Câu 12: Viết chương trình nhập vào mảng hai chiều gồm các phần tử là số nguyên. Thông báo ra màn hình số lượng phần tử không âm của mảng.

Câu 13: Viết chương trình nhập vào một xâu rồi thông báo ra màn hình số lương ký tự của xâu không thuộc bảng chữ cái.

Câu 14: Viết chương trình nhập vào hai xâu s1, s2 với chiều dài s1 nhỏ hơn s2. rồi thông báo ra màn hình số lần xuất hiện s1 trông s2.

(VD: s1 là ‘bc’ xâu s2 là ‘bcbcbabc’ kết quả là 3).

Câu 15: Viết chương trình nhập vào một xâu sau đó tạo một xâu mới từ xâu đã cho băng cách lấy kí tự ở vị trí lẻ rồi tiếp đến chẵn chẵn rồi lẻ rồi chẵn chẵn...

(VD: xâu đã cho là: ‘aanbndhcs’ xâu tạo được la ‘aabndcs’).

Câu 16: Viết chương trình nhập vào một xâu sau đó tiến hành loại bỏ các dấu cách thừa chỉ trừ lại một dấu cách ở giữa các từ.

(VD: cho xâu: ‘Ha Noi    Viet    Nam’ khi đó kết quả là: ‘Ha Noi Viet Nam’.

Câu 17: Viết chương trình nhập vào hai xâu có độ dài bằng nhau sau đó in ra màn hình các kí tự của hai xâu xen kẽ nhau.

(VD: xâu s1 là ‘abcd’ xâu s2 là ‘efgh’ khi đó kết quả là: ‘aebfcgdh’ hoặc ‘eafbgchd’.

Câu 18 :Xây dựng chương trình con dạng hàm theo mẫu khai báo sau

Function DemKyTu(s : String, c : char) : Integer;

Biết rằng hàm DemKyTu trả về số lần xuất hiện ký tự c trong xâu s. Sử dụng hàm đã xây dựng để lập trình chương trình sau:

Nhập liên tiếp từ bàn phím một số xâu ký tự. Quá trình nhập kết thúc khi người dùng nhập vào xâu rỗng. Sau đó đưa ra màn hình các thông tin sau đây

- Tổng số ký tự trong các xâu đã nhập (không tính dấu cách).

- Số lần xuất hiện của từng nguyên âm a, e, i, o, u, y.

- Cho biết nguyên âm nào xuất hiện nhiều nhất.

Câu 19  :Cho một xâu kí tự S . Hãy viết chương trình tính xem trong S có bao nhiêu loại kí tự khác nhau ( phân biệt chữ in hoa với chữ in thường ) . Ví dụ với S là “Pascal” ta có đáp số là 5 .

Câu 20:

Viết chương trình thực hiện lần lượt các công việc sau :

_ Lập thủ tục nhập ba số thực dương a , b , c từ bàn phím .

_ Lập thủ tục kiểm tra xem ba số trên có lập thành ba cạnh của tam giác hay không ?

_ Viết thủ tục tính diện tích của tam giác .

_ Viết thủ tục tính các trung tuyến của tam giác .

_ Viết hoàn thiện chương trình chính .

Bài 21 :

Viết thủ tục Compare ( S1 , S2 : String ; Var Kq : String ) thực hiện công việc sau : so sánh hai xâu S1 và S2 , tìm tất cả các kí tự có trong cả hai xâu trên . Xâu Kq sẽ chứa tất cả các kí tự đó , mỗi kí tự chỉ được nhớ một lần .

Bài 22 :

Viết hàm tính D (St1 , St2) , với U, V là hai xâu kí tự bất kì , là tổng số các kí tự không giống nhau trong hai xâu trên , mỗi loại kí tự chỉ được nhớ một lần . Ví dụ D (‘aabba’ , ‘bcdd’) = 2 vì chỉ có hai kí tự a và d là không giống nhau trong các xâu trên .

Câu  23- Số nguyên tố tương đương

Hai số tự nhiên được gọi là nguyên tố tường đương nếu chúng có chung các ước số nguyên tố. Ví dụ: Các số 75 và 15 là nguyên tố tương đương vì cùng có các ước nguyên tố là 3 và 5 cho trước 2 số tự nhiên N,M được đọc từ bàn phím. Hãy viết chương trình kiểm tra xem các số này có là nguyên tố tương đương với nhau hay không? và in kết quả ra màn hình.
Câu 24:  Nhập dãy A(N) gồm N số nguyên . Tìm giá trị nhỏ nhất  m và giá trị lớn nhất  M của dãy  Hiện các số nguyên theo thứ tự tăng dần thuộc đoạn [m,M] mà các số nguyên này không thuộc dãy và là bội của 10 .

 

Câu 25: Có N người sắp thành hàng theo thứ tự để mua hàng . Thời gian người bán hàng phục vụ người thứ i là Ti  ( i = 1,2,.., N ) .Nhập các số T1 , T2 ...,Tn  . Tìm thời gian mà người thứ i phải chờ để đến lượt mình mua hàng .

Câu 26:            Nhập ngẫu nhiên Mảng A(N) gồm N số nguyên ( N nhập từ bàn phím ) . Lần lượt xoá các  phần tử A[i] chia hết cho 3 ( i  tăng dần )  sau đó dồn các số đứng ngay sau A[i] về phía đầu dãy 1 vị trí và giữ nguyên thứ tự của chúng . Hiện mảng sau khi đã dồn .

 


Các tin khác :
  LIÊN KẾT WEBSITE

  ĐIỂM BÁO ONLINE
  TRUYỆN CƯỜI

 

   Số lượt truy cập

354603

Bản quyền thuộc về Trường THPT Ngô Gia Tự

Điện thoại :0583970633

Email : c3ngtu@khanhhoa.edu.vn

Admin: tcthu.c3ngtu@khanhhoa.edu.vn

THỂ HIỆN TỐT NHẤT  Ở TRÌNH DUYỆT FIREFOX TẢI VỀ TẠI ĐÂY