Số siêu nguyên tố là số nguyên tố có ít nhất 2 chữ số mà khi bỏ một số tuỳ ý các chữ số bên phải của nó thì phần còn lại vẫn tạo thành một số nguyên tố. Viết chương trình tìm các sô [r]
(1)BDHSG TIN HOC THCS PHÚ MỸ CHỦ ĐỀ 6:
CHƯƠNG TRÌNH CON 1/ Khái niệm:
Chương trình dãy lệnh mơ tả số thao tác định thực (được gọi) từ nhiều vị trí chương trình
2/ Hàm (Function):
a/ Cấu trúc chung:
FUNCTION <Tên hàm> (<Tham số hình thức> : <Kiểu>): <Kiểu kết quả>; {Các khai báo}
Begin
{câu lệnh}
<Tên hàm> := <Kết trả về>; End;
b/ Ví dụ:
Xây dựng hàm tính tổng n số nguyên dương Function ktnt(n:integer):Boolean;
Var i:integer; Begin
i:=2;
While (i<n) and (n mod I <>0) i:=i+1;
If i<n then ktnt:=false Else ktnt:=true;
End;
Function tongnt(n:integer):integer; Var I,s,d:integer;
Begin
I:=1; s:=0; d:=0; While d<n
Begin
If ktnt(i) then Begin
S:=s+i D:=d+1; End;
I:=i+1; Tongnt:=s; End;
3/ Thủ tục (Procedure):
Gồm loại: Thủ tục không tham số thủ tục có tham số Thủ tục có tham số sử dụng nhiều thủ tục không tham số
a/ Cấu trúc chung:
PROCEDURE <Tên thủ tục> (<Tham số hình thức> : <Kiểu>);
(2)BDHSG TIN HOC THCS PHÚ MỸ {Các khai báo}
Begin
{Câu lệnh} End;
b/ Ví dụ:
Xây dựng thủ tục nhập mảng chiều gồm n phần tử kiểu số nguyên Type mang=array[1 100] of integer;
Procedure nhap(Var a:mang; n:integer); Var i:integer;
Begin
For i:=1 to n Begin
Write(‘Nhap phan tu thu ‘, i , ‘:’); Readln(a[i]);
End; End;
BÀI TẬP ÁP DỤNG 1/ Viết chương trình tính tổng dãy N số nguyên
2/ Viết chương trình nhập in ma trận M dòng, N cột 3/ Hàm đổi chuỗi từ thường sang hoa
4/ Hàm đổi chuỗi từ hoa sang thường
5/ Hàm cắt khoảng trắng thừa bên trái chuỗi 6/ Hàm cắt khoảng trắng thừa bên phải chuỗi 7/ Hàm cắt tất khoảng trắng thừa chuỗi
8/ Hàm tính lũy thừa N số Lthua(so,N) (N nguyên) 9/ Hàm cho kết tổng dãy N số nguyên Tong(a,N)
10/ Hàm tạo chuỗi cách lập lại N lần kí tự Replicate(ki_tu,N) 11/ Thủ tục nhập dãy N số nguyên
12/ Thủ tục xuất dãy N số nguyên
13/ Thủ tục xếp dãy N số nguyên theo thứ tự tăng dần 14/ Thủ tục xếp dãy N số nguyên theo thứ tự giảm dần 15/ Thủ tục xóa phần tử vị trí pos dãy N số nguyên
16/ Thủ tục thêm phần tửcó giá trị X vào vị trí pos N số nguyên 17/ Viết chương trình tìm USCLN số nguyên dương
18/ Viết chương trình tối giản phân số
CHƯƠNG TRÌNH CON VÀ BÀI TẬP
BÀI TẬP:
Bài 1./ Tính tổng nghịch đảo giai thừa S 1 1
2! 3! n!
Hướng dẫn:
Function gt(i:integer):logint;
Cần biến để nhớ thao tác cần ghi lại (j(1->i)
Trong thân chương trình cần xác định tính tổng sối hạng, (n), cho vòng lặp chạy sử dụng biến nhớ chạy k(1->n), biến để ghi tính tổng (S)
Bài 2./ Tạo thủ tục có tham số x y Thực việc truyền tham số, tham số x truyền giá trị số y truyền tham biến (quy chiếu, xuất sau từ khóa Var) Hướng dẫn:
(3)BDHSG TIN HOC THCS PHÚ MỸ Prrocedure TT(x:integer; Var y:integer);
Begin ……….end
Chương trình nhập vào số, gọi tên thủ thục TT(a,b); Bài 3./ Viết chương trình tính tổng sau:
a./
S n
x x x
b./
2 x
S
2! 3! n!
n
x x
BÀI TẬP TỔNG HỢP Câu 1.
Nhập vào ba số nguyên từ bàn phím Hãy viết chương trình in hình a/ Số lớn nhất, số nhỏ
b/ Trường hợp số nhập vào có hai số u cầu nhập lại khơng có hai số
c/ Tổng, tích ba số vừa nhập Câu
Nhập vào số nguyên n In số nguyên tố gần n Nếu có hai số nguyên tố cách n in hai
Ví dụ: Nhập : 10
50 In: So nguyen to gan 10 la : 11 So nguyen to gan 50 la : 47, 53. Câu
Nhập vào số nguyên có chữ số In cách đọc số Ví dụ :
Nhập : 56439 In : Nam sau nghin bon tram ba muoi chin. Câu
Cho trước xâu kí tự, có chữ số Hãy loại bỏ số kí tự khỏi xâu cho kí tự cuối cịn lại theo thứ tự tạo nên số lớn
Ví dụ : Nếu cho xâu ‘24d5n4r05f704n652z393’ số lớn cịn lại 7693.
Hãy lập chương trình giải tốn
Câu 5. Dãy liên tiếp tăng dài nhất
Hãy tạo dãy gồm 10 số nguyên tạo ngẫu nhiên từ n (1≤n≤15) Viết chương trình tìm dãy liên tiếp tăng dài Kết ghi vào tệp DAYCON.OUT phần tử dãy tìm
(nếu có nhiều dãy dài ghi ln phần tử dãy vào têp ở dịng tiếp theo)
Ví dụ:
Dãy số DAYCON.OUT
1 10 1
5 101
Câu Xâu đối xứng
(4)BDHSG TIN HOC THCS PHÚ MỸ Một xâu kí tự gọi đối xứng có khơng ký tự ta đọc từ trái sang phải từ phải sang trái giống nhau( khơng phân biệt hoa thường)
Hãy đếm có bao nhiễu xâu đối xứng xâu cho Dữ liệu vào: từ tệp XAU.INP xâu kí tự in hoa
Kết quả: Được ghi vào tệp XAU.OUT số nguyên số lượng xâu đối xứng Ví dụ:
XAU.INP XAU.OUT
ABANHOONA 11
Câu Siêu nguyên tố
Số siêu ngun tố số ngun tố có chữ số mà bỏ số tuỳ ý chữ số bên phải phần lại vẫn tạo thành số nguyên tố Viết chương trình tìm sơ siêu ngun tố
Dữ liệu vào từ tệp NGUYENTO.INP số nguyên dương N( 2≤N<10)
Dữ liệu ghi vào tệp NGUYENTO.OUT chứa số siêu nguyên tố có độ dài Ví dụ:
NGUYENTO.INP NGUYENTO.OUT
2 79
77 71 59 53 37 31 29 23 19 17 13 11 Có văn chương trình pascal sau: Program vi_du;
Var tu, mau, d: word;
function UCLN(var a, b: word): word; Begin
While a <> b Do
If a > b Then a:=a-b Else b:=b-a;
UCLN:=a; End;
BEGIN
Write('Cho tu so: '); Readln(tu); Write('Cho mau so: '); Readln(mau); d:=UCLN(tu,mau);
Write('Dang toi gian cua phan so la:',tu div d,'/',mau div d); Readln;
END