Trường THPT Xuân Lộc
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Trường THPT Xuân Lộc

Trường THPT Xuân Lộc - Đồng Nai
 
Trang ChínhTrang Chính  WebsiteWebsite  Tra CứuTra Cứu  Latest imagesLatest images  Tìm kiếmTìm kiếm  Đăng kýĐăng ký  Đăng Nhập  
Top posters
♪-Peter-♪ (1229)
hướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) Vote_lcaphướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) Voting_barhướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) Vote_rcap 
Admin (730)
hướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) Vote_lcaphướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) Voting_barhướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) Vote_rcap 
JabbaWocKeez (342)
hướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) Vote_lcaphướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) Voting_barhướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) Vote_rcap 
whitehat (313)
hướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) Vote_lcaphướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) Voting_barhướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) Vote_rcap 
RongK9 (204)
hướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) Vote_lcaphướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) Voting_barhướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) Vote_rcap 
Blogsoft (171)
hướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) Vote_lcaphướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) Voting_barhướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) Vote_rcap 
lightspeed (154)
hướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) Vote_lcaphướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) Voting_barhướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) Vote_rcap 
kosak1213 (112)
hướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) Vote_lcaphướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) Voting_barhướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) Vote_rcap 
thaikiet (54)
hướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) Vote_lcaphướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) Voting_barhướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) Vote_rcap 
kidpro1409 (44)
hướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) Vote_lcaphướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) Voting_barhướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) Vote_rcap 
THÔNG ĐIỆP YÊU THƯƠNG:

Share|

hướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1)

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down
Tác giảThông điệp
Admin
Admin
Admin


Tổng số bài gửi : 730
Birthday : 08/02/1985
Cầm Tinh : Tý
Age : 39
Ngày nhập học : 17/09/2010

Đến từ : THPT Xuân Lộc
Job/hobbies : Giáo Viên
Tài Sản Cá Nhân : Tàu siêu tốc

hướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) _
Bài gửiTiêu đề: hướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) hướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) EmptyThu Oct 13, 2011 4:19 pm

Bài 1: kiểm tra tình nguyên tố của số nguyên dương N.

Cách 1: dùng For...to ...do

Code:
program kiem_tra_ngto;
uses crt;
var i,n,dem:integer;
begin
    writeln('nhap N=');readln(n);
    dem:=0;
    for i:=2 to trunc(sqrt(n)) do
    if n mod i=0 then writeln(n,' ko la so ngto')
    else writeln(n,' la so ngto');
readln
end.

khi dùng chương trình này thì khi chạy, nếu số lớn vong lặp chạy bao nhiêu lần thì nó sẽ thông báo bấy nhiêu lần
về số nguyên tố hay không nguyên tố, vì thế các bạn có thể cải tiền thuật toán chút đề ko có hiện tuơng trên bằng cách, dùng thêm 1 biến đếm, nếu cuối cùng biến Đếm vẫn bằng không thì nó là nguyên tố, ngược lại thì ko là nguyên tố

code cải tiến:

Code:
program kiem_tra_ngto;
uses crt;
var i,n,dem:integer;
begin
    writeln('nhap N=');readln(n);
    dem:=0;
    for i:=2 to trunc(sqrt(n)) do
    if n mod i=0 then dem:=dem +1;
    if dem=0 then writeln(n,' la so ngto')
    else writeln(n,' ko la so ngto');
readln
end.

Cách 2: dùng repeat ... until.

Code:

program kiem_tra_ngto;
uses crt;
var i,n:integer;
begin
    writeln('nhap N=');readln(n);
    i:=1;
    repeat
          i:=i 1;
    until (n mod i=0)or(sqr(i)>n);
    if sqr(i)>n then writeln(n,' la so ngto')
    else writeln(n,' ko la so ngto');
readln
end.

Bài 2: Đưa ra màn hình và tính tổng các số nguyên tố từ 2 đến N.

chúng ta cần 2 vòng lặp lông nhau đề tìm lọc ra các số nguyên tố. ở đây dùng for..to...do lồng với repeat ... until.

Code:
program tong_ngto;
var n,i,t:integer;
        s:real;
begin
        writeln('nhap N=');readln(n);
        s:=0;
        for i:=2 to n do
        begin
                t:=1;
                repeat
                        t:=t+1;
                until (i mod t=0)or(sqr(t)>i);
                if sqr(t)>i then
                begin
                        write(i:6);
                        s:=s+i;
                end;
        end;
        writeln; {xuong hang}
        write('tong s=',s:9:2);
readln

end.


Được sửa bởi Admin ngày Fri Oct 14, 2011 8:25 pm; sửa lần 1.
Về Đầu Trang Go down
http://thptxuanloc.tk
Admin
Admin
Admin


Tổng số bài gửi : 730
Birthday : 08/02/1985
Cầm Tinh : Tý
Age : 39
Ngày nhập học : 17/09/2010

Đến từ : THPT Xuân Lộc
Job/hobbies : Giáo Viên
Tài Sản Cá Nhân : Tàu siêu tốc

hướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) _
Bài gửiTiêu đề: Re: hướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) hướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) EmptyThu Oct 13, 2011 7:17 pm

mọi thắc mặc gửi bài tại đây!
Về Đầu Trang Go down
http://thptxuanloc.tk
RongK9
Lớp trưởng
Lớp trưởng
RongK9

Tổng số bài gửi : 204
Birthday : 05/01/1994
Cầm Tinh : Dậu
Age : 30
Ngày nhập học : 31/12/2010

Đến từ : THPT Xuân Lộc
Job/hobbies : Student
Tài Sản Cá Nhân : Thuyền cao tốc

hướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) _
Bài gửiTiêu đề: Re: hướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) hướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) EmptyFri Oct 14, 2011 1:46 pm

*em có ý kiến là có một số biến đếm thầy viết thiều dấu +

*còn về câu lệnh cho số nguyên tố các bạn có thể cải tiến hơn nữa cho hay và nhanh hơn
vì trong lập trình tài nguyên rất quan trọng. mà tài nguyên ở đây là thời gian chạy chương trình và bộ nhớ.

@@bạn thử thực hiện một phép tình đơn giản
một chương trình với 4 vòng for .... to....do và một câu lệnh với 4 vòng for nhưng khi chạy vòng cần xét điều kiện nếu không thỏa thì không chạy như vậy có phải nhanh hơn không??

*Xin cải tiến câu lệnh của thầy để các bạn nắm thêm
Code:
program kiem_tra_ngto;
uses crt;
var i,n,dem:integer;
begin
    writeln('nhap N=');readln(n);
    dem:=0;
    If n=2 then writeln(n,' la so nguyen to')
    else if n>2 then
    for i:=2 to trunc(sqrt(n)) do
    if n mod i=0 then dem:=dem + 1;
    if dem=0 then writeln(n,' la so ngto')
    else writeln(n,' ko la so ngto');
readln
end.

Về Đầu Trang Go down
lightspeed
Giáo Viên
Giáo Viên


Tổng số bài gửi : 154
Birthday : 07/07/1985
Cầm Tinh : Sửu
Age : 38
Ngày nhập học : 17/09/2010

Đến từ : THPT Xuân Lộc
Job/hobbies : Nhạc,....
Tài Sản Cá Nhân : Xe Môtô CBR

hướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) _
Bài gửiTiêu đề: Trả lời........................ hướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) EmptyFri Oct 14, 2011 6:56 pm

Thuật toán xác định số n là số nguyên tố là thuật toán rất thú vị và có nhiều hướng giải quyết giúp chúng ta có được kết quả. Đây là thuật toán dùng biến đếm của thầy, các em có thể tham khảo:
Code:

Program SoNTN;
var      n,i,dem : integer;
begin
    {Nhap N}
    write('Nhap N: '); readln(n);
    {Xet n co la nguyen to hay khong}
    dem := 0;
    for i := 1 to n do
          if n mod i = 0 then dem := dem + 2;
    if dem = 2 then writeln(N,' la so nguyen to')
    else writeln(N,'  khong la so nguyen to');
    readln
end.
Thầy xin lỗi về sự nhầm lẫn này. Thuật toán trên dựa trên việc tìm các ước số của n trong đoạn từ [1,n]. Ta tiến hành tìm số nguyên tố dựa trên các bước sau:
1. Nhập vào n;
2. Khởi tạo biến đếm;
3. Dùng vòng for cho i chạy từ 1 đến n;
+ Nếu n chia hết cho i -> dem = dem + 1;
4. Số nguyên tố là số có hai ước số. Ta sẽ kiểm tra biến dem lúc này có bằng 2 hay không?
+ Nếu dem = 2 thì n là số nguyên tố;
+ Nếu dem <> 2 thì n không là số nguyên tố;


Được sửa bởi lightspeed ngày Fri Oct 14, 2011 9:47 pm; sửa lần 2.
Về Đầu Trang Go down
Admin
Admin
Admin


Tổng số bài gửi : 730
Birthday : 08/02/1985
Cầm Tinh : Tý
Age : 39
Ngày nhập học : 17/09/2010

Đến từ : THPT Xuân Lộc
Job/hobbies : Giáo Viên
Tài Sản Cá Nhân : Tàu siêu tốc

hướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) _
Bài gửiTiêu đề: Re: hướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) hướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) EmptyFri Oct 14, 2011 8:24 pm

lightspeed đã viết:
Thuật toán xác định số n là số nguyên tố là thuật toán rất thú vị và có nhiều hướng giải quyết giúp chúng ta có được kết quả. Đây là thuật toán dùng biến đếm của thầy, các em có thể tham khảo:
Code:

Program SoNTN;
var      n,i,dem : integer;
begin
    {Nhap N}
    write('Nhap N: '); readln(n);
    {Xet n co la nguyen to hay khong}
    dem := 0;
    for i := 1 to trunc(sqrt(n)) do
          if n mod i = 0 then dem := dem + 1;
    if dem = 1 then writeln(N,' la so nguyen to')
    else writeln(N,'  khong la so nguyen to');
    readln
end.


bài viết của thầy khánh có chút nhầm chút, vì như thế thì ct sẽ nhận 1 là số nguyên tố, nhưng 1 thì ko phải là nguyên tố. nên for chỉ có thể chạy từ 2 -->trunc(n).
Về Đầu Trang Go down
http://thptxuanloc.tk
Admin
Admin
Admin


Tổng số bài gửi : 730
Birthday : 08/02/1985
Cầm Tinh : Tý
Age : 39
Ngày nhập học : 17/09/2010

Đến từ : THPT Xuân Lộc
Job/hobbies : Giáo Viên
Tài Sản Cá Nhân : Tàu siêu tốc

hướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) _
Bài gửiTiêu đề: Re: hướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) hướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) EmptyFri Oct 14, 2011 10:12 pm

các bạn thử cải tiến thuật toán xuất và tính tổng các số nguyên tố nhỏ hơn N, với điều kiện chỉ dùng for... to... do và while... do thôi coi xem sao. chứ bài này mình dùng for... to... do kết hợp với repeat... until(đã giải ở trên), vì trong chương trình phồ thông ko có học repeat ...until. các bạn cải tiến nhé. chúc các bạn có những cải tiến hay.
Về Đầu Trang Go down
http://thptxuanloc.tk
Sponsored content




hướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) _
Bài gửiTiêu đề: Re: hướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) hướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1) Empty

Về Đầu Trang Go down
Xem thêm bài khác:

hướng dẫn giải bài ôn tập Pascal (Kiểm tra 45phut - lần 1)

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang
Trang 1 trong tổng số 1 trang
+ Viết tiếng việt có dấu để mọi người đọc được, để không bị hiểu sai ý nghĩa mình muốn diễn giải.
+ Lời lẽ phải lịch sự, không đuợc thô tục hay cải vã trong diễn đàn.
+ Nội dung bài trả lởi phải phù hợp với bài của chủ Topic, không được Spam.
+ Chia sẻ bài sưu tâm thì phải ghi rõ nguồn, để tôn trọng người viết.
+ Thực hiện những điều trên truớc khi gửi bài, là tôn trọng chính mình.

- Nếu chèn smilies vào bài viết thì bật a/A trên phải khung viết bài.

Permissions in this forum:Bạn không có quyền trả lời bài viết
Trường THPT Xuân Lộc :: HỌC TẬP - TRAO ĐỔI :: TIN HỌC :: Pascal :: Bài tập-
Chuyển đến:
Loading...
Free forum | ©phpBB | Free forum support | Báo cáo lạm dụng | Thảo luận mới nhất
Web THPTXL