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)
Mỗi Tuần Một Thủ Thuật Vote_lcapMỗi Tuần Một Thủ Thuật Voting_barMỗi Tuần Một Thủ Thuật Vote_rcap 
Admin (730)
Mỗi Tuần Một Thủ Thuật Vote_lcapMỗi Tuần Một Thủ Thuật Voting_barMỗi Tuần Một Thủ Thuật Vote_rcap 
JabbaWocKeez (342)
Mỗi Tuần Một Thủ Thuật Vote_lcapMỗi Tuần Một Thủ Thuật Voting_barMỗi Tuần Một Thủ Thuật Vote_rcap 
whitehat (313)
Mỗi Tuần Một Thủ Thuật Vote_lcapMỗi Tuần Một Thủ Thuật Voting_barMỗi Tuần Một Thủ Thuật Vote_rcap 
RongK9 (204)
Mỗi Tuần Một Thủ Thuật Vote_lcapMỗi Tuần Một Thủ Thuật Voting_barMỗi Tuần Một Thủ Thuật Vote_rcap 
Blogsoft (171)
Mỗi Tuần Một Thủ Thuật Vote_lcapMỗi Tuần Một Thủ Thuật Voting_barMỗi Tuần Một Thủ Thuật Vote_rcap 
lightspeed (154)
Mỗi Tuần Một Thủ Thuật Vote_lcapMỗi Tuần Một Thủ Thuật Voting_barMỗi Tuần Một Thủ Thuật Vote_rcap 
kosak1213 (112)
Mỗi Tuần Một Thủ Thuật Vote_lcapMỗi Tuần Một Thủ Thuật Voting_barMỗi Tuần Một Thủ Thuật Vote_rcap 
thaikiet (54)
Mỗi Tuần Một Thủ Thuật Vote_lcapMỗi Tuần Một Thủ Thuật Voting_barMỗi Tuần Một Thủ Thuật Vote_rcap 
kidpro1409 (44)
Mỗi Tuần Một Thủ Thuật Vote_lcapMỗi Tuần Một Thủ Thuật Voting_barMỗi Tuần Một Thủ Thuật Vote_rcap 
THÔNG ĐIỆP YÊU THƯƠNG:

Share|

Mỗi Tuần Một Thủ Thuật

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down
Tác giảThông điệp
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

Mỗi Tuần Một Thủ Thuật _
Bài gửiTiêu đề: Mỗi Tuần Một Thủ Thuật Mỗi Tuần Một Thủ Thuật EmptyWed Sep 14, 2011 8:07 pm

sau đây mình xin giới thiệu chuyên mục mỗi tuần 1 thủ thuật mới trong pascal cho các newbie và các pro tham khảo cùng thảo luận và tích lũy kinh nghiệm.

chủ đề 1: thuật toán sắp xếp
*ý tưởng là sắp xếp tuần tự từ cuối lên đầu và từ đầu đến cuối.
*chạy hai vòng lặp ngược và xét thỏa mãn điều kiện tăng hay giảm hay ........ tùy

thuật toán sau đây là cho ra dãy tăng.

Code:
BEGIN
for j:=n downto 2 do  {N là số phần tử của mảng}
    for i:=1 to j-1 do    {i,j là biến đếm thực hiện chạy vòng lặp}
        if a[i]>a[i+1] then
            begin
                  t:=a[i];a[i]:=a[i+1];a[i+1]:=t;    {t là biến tạm chịu trách nhiệm lưu trữ tạm thời}
            end;
END.

sau khi thực hiện xong các bạn đã có mảng A tăng
Về Đầu Trang Go down
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

Mỗi Tuần Một Thủ Thuật _
Bài gửiTiêu đề: Re: Mỗi Tuần Một Thủ Thuật Mỗi Tuần Một Thủ Thuật EmptyFri Sep 16, 2011 9:40 pm

Chủ đề 2: Tìm Max,Min của hai số và của mảng.
* Ý tưởng là so sánh hai số rồi xem số nào lớn hơn chọn số đó làm Max( Min ngược lại);
-Ta có đoạn code:
Code:

if a>b then Max:=a else Max:=b;
- Vậy ý tưởng tìm Max của 1 mảng là tìm Max tuần tự từng số trong mảng:
Code:

Max:=0;  { phải khởi tạo Max=0 để máy có dữ liệu ban đầu cho việc so sánh, cũng có thể khởi tạo Max= số âm tùy theo bài toán}
for i:=1 to n do if a[i]> Max then Max:=a[i];


Được sửa bởi RongK9 ngày Wed Sep 21, 2011 9:22 pm; sửa lần 1.
Về Đầu Trang Go down
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

Mỗi Tuần Một Thủ Thuật _
Bài gửiTiêu đề: Re: Mỗi Tuần Một Thủ Thuật Mỗi Tuần Một Thủ Thuật EmptySun Sep 18, 2011 7:59 pm

Chủ Đề 3:
Thuật Toán Đệ Quy Giải Các Bài Toán Đơn Giản

Có lẽ các bậc cao nhân trong 4rum đều biết về thuật toán đệ quy và sử dụng thuần thục. Sau đây mình xin mạn phép post lên các bước làm một bài toán đệ quy cơ bản cho newbie.

Trong các bài toán tin, nhất là những bài toán phức tạp. Thuật toán đệ quy là không thể thiếu nhằm tối ưu hóa bài toán lớn bằng cách gọi chia nhỏ ra mà làm.

một thủ thuật hay hàm được gọi là đệ quy khi trong chính thủ tục hay hàm đó gọi lại chính nó.

các bước lập một CTC đệ quy là:
- Phân tích dữ kiện đề bài
- Chia bài toán lớn thành những bài toán nhỏ đề có thể viết trong một modum
- Lập công thức đệ quy
- viết mã và tạo lập chương trình
Ví Dụ:
Giải N!.
theo một đoạn mã thông thường thì:
Code:

function GT(n:integer):integer;
var t,i:integer;
begin
        t:=1;
        if n=0 then GT:=1 else
        for i:=2 to n do t:=t*i;
        GT:=t;
end;

Một Đoạn Mã Đệ Quy
Ý tưởng giai thừa là công thức n!=n*(n-1)*(n-2)*...*1
vậy theo công thức trên ta viết ra đoạn mã
Code:

function GT(n:integer):integer;
begin
      if (n=0) or (n=1) then GT:=1 else
      GT:=GT(n-1)*n
end;

Vậy ta thấy đoạn mã với thuật toán đệ quy tối ưu và hiện đại hơn nhỉ. ^^


Được sửa bởi RongK9 ngày Wed Sep 21, 2011 9:22 pm; sửa lần 1.
Về Đầu Trang Go down
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

Mỗi Tuần Một Thủ Thuật _
Bài gửiTiêu đề: Re: Mỗi Tuần Một Thủ Thuật Mỗi Tuần Một Thủ Thuật EmptyWed Sep 21, 2011 9:20 pm

Chủ Đề 4: thủ thuật chuyển đồi qua lại giữa chương trình con và chương trình chính.
Như các bạn biết. Trong thời gian lập trình. CTC là một phần không thể thiếu trong những bài toán phức tạp.
Sau đây mình sẽ hướng dẫn cách để các bạn có thể viết một CTC theo ý muốn.

Vậy CTC là gì?
- Là các môđum được tạo lập sẵn trong chương trình đề thuận tiện gọi ra trong khi xử lý chương trình cũng như viết mã.
- Đặc tính: các CTC có tác dụng như các chương trình bình thường xử lý một công việc và có thể được gọi bất cứ lúc nào muốn.

Theo đặc tính của CTC ta có thể viêt một CTC từ một chương trình bình thường.
Ví dụ: Viết chương trình giải bài toán tính n!^n. (n giai thừa mũ n lần);

- Phân tích đề bài: Yêu cầu giải n!^n. và đưa ra màn hình.
- Tìm tính chất của bài: cần giải quyết n! và mũ n lần.
- Hướng đi: viết 2 CTC 1 là giải n! 2 là giải x^n. Sau đó gợp lại giài n!^n.

* Bắt đầu viết chương trình.
+ Giai thừa:
Code:
Program GiaiThua;
var i,n,t:integer;
Begin
        Clrscr;
        Writeln(' N=');
        T:=1;
        For i:=1 to n do t:=t*i;
        Writeln('N!=',t:10);
readln;
end.
=> Chuyển đoạn chương trình trên thành một CTC để sử dụng:
Code:

function GT(n:integer):integer;
var i,t:integer;
begin
        t:=1;
        if (n=0) or (n=1) then gt:=1 else
        For i:=1 to n do t:=t*i;
        GT:=t;
end;

Hoặc bằng thuật đệ quy:
function GT(n:integer):integer;
begin
      if (n=0) or (n=1) then GT:=1 else GT:=GT(n-1)*n;
end;

Với CTC tìm mũ các bạn làm theo các bước tương tự

Code:

Program Huong_Dan;
var n:integer;
begin
      Writeln('N=');
      Readln(n);
      Writeln(' Ket Qua',Mu(GT(n),n):10);
      Readln;
end.
       

Vậy Các bạn đã có thể chuyển đổi bất cứ chương trình nào thành CTC tiện dụng rồi.^^
Về Đầu Trang Go down
Sponsored content




Mỗi Tuần Một Thủ Thuật _
Bài gửiTiêu đề: Re: Mỗi Tuần Một Thủ Thuật Mỗi Tuần Một Thủ Thuật Empty

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

Mỗi Tuần Một Thủ Thuật

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