//
you're reading...
00 - Chủ đề chung, Bài tập huấn luyện, Dùng cho cấp THCS, Dùng cho cấp THPT

Bài giảng về hàm (FUNCTION)

CHƯƠNG TRÌNH CON: HÀM (FUNCTION)

Bài tập 3.11: 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ào từ 2 -> N div 2. Từ định nghĩa này ta đưa ra giải thuật:
– Đếm số ước số của N từ 2 -> N div 2 lưu vào biến d.
– Nếu d=0 thì N là số nguyên tố.

 

Bài giải thông thường

Uses Crt;
Var N,i,d : Word;
Begin
Write(‘Nhap N= ’);
Readln(N);
If N<2 Then Writeln(N,’ khong phai la so nguyen to’)
Else
Begin
{Đếm số ước số}
d:=0;
For i:=2 To N div 2 Do
If N MOD i=0 Then d:=d+1;
{Kiểm tra}
If d=0 Then Writeln(N,’ la so nguyen to’)
Else Writeln(N,’ khong phai la so nguyen to’);
End;
Readln;
End.

 

Cải tiến lần thứ nhất:

USES Crt;
VAR
N : Word;
FUNCTION LaSoNguyenTo(N: word): Boolean;
Var
i, d: word;
Begin
If N<2 Then LaSoNguyenTo:= False
Else
Begin
{Dem cac uoc so}
d:=0;
For i:=2 To N div 2 Do
If N MOD i=0 Then d:=d+1;
{Kiem tra}
If d=0 Then LaSoNguyenTo:= True
Else LaSoNguyenTo:= False;
End;
End;

BEGIN
Write(‘Nhap N= ‘);
Readln(N);
If LaSoNguyenTo(N) then
writeln(N, ‘ la so nguyen to’)
Else
writeln(N, ‘ khong la so nguyen to’);
Readln;
END.

Cải tiến lần thứ hai: Lặp có hỏi và trả lời để thoát.

USES Crt;
VAR
N : Word;
FUNCTION LaSoNguyenTo(N: word): Boolean;
Var
i, d: word;
Begin
If N<2 Then LaSoNguyenTo:= False
Else
Begin
{Dem cac uoc so}
d:=0;
For i:=2 To N div 2 Do
If N MOD i=0 Then d:=d+1;
{Kiem tra}
If d=0 Then LaSoNguyenTo:= True
Else LaSoNguyenTo:= False;
End;
End;

BEGIN
Clrscr;
Repeat
Write(‘Nhap N= ‘);
Readln(N);
If LaSoNguyenTo(N) then
writeln(N, ‘ la so nguyen to’)
Else
writeln(N, ‘ khong la so nguyen to’);
writeln(‘Ban co muon dung chuong trinh hay khong [c/k] ?’);
until (Readkey=’c’) or (Readkey=’C’);
END.

Áp dụng:

(1) Viết chương trình nhập vào một dãy N các số nguyên. In ra các phần tử của dãy là số nguyên tố.

(2) Viết chương trình nhập vào một mảng vuông 2 chiều cấp NxN các số nguyên. In ra các phần tử của mảng là số nguyên tố.

Advertisements

About pascalteacher

Trang thông tin Toán học và Tin học

Thảo luận

Không có bình luận

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Đăng xuất / Thay đổi )

Connecting to %s

Các tác giả

Chuyên mục

Tháng Năm 2016
H B T N S B C
« Th4   Th6 »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

NCT Computer

Flickr Photos

Thống kê

  • 255,197 lượt xem

pascalteacher.nct@gmail.com


Trang huấn luyện học sinh giỏi Tin học

%d bloggers like this: