//
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ố.

About pascalteacher

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

Thảo luận

Chưa có phản hồi.

Gửi phản hồ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 Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

Các tác giả

Danh mục

Tháng Năm 2016
M T W T F S S
« Apr   Jun »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

NCT Computer

Flickr Photos

sunset

Detroit Night

White-winged Scoter | Macreuse à ailes blanches

More Photos

Thống kê

  • 95,281 lượt xem

%d bloggers like this: