Chuyên Đề Niên luận 1: Sử dụng ngôn ngữ Borland Pascal 7.0 cài đặt chương trình theo yêu cầu đề tài, và giao d

Thảo luận trong 'Công Nghệ Thông Tin' bắt đầu bởi Thúy Viết Bài, 5/12/13.

  1. Thúy Viết Bài

    Thành viên vàng

    Bài viết:
    198,891
    Được thích:
    167
    Điểm thành tích:
    0
    Xu:
    0Xu
    Phần I:
    [​IMG]
    --------------------------------------------------------------------------------------------------
    Quan điểm của giáo dục ĐH hiện nay là rèn luyện tư duy cho sinh viên hơn là cung cấp kiến thức. Ngay cả các bậc học thấp hơn như THPT phương pháp dạy học truyền thống được thay dần và lấy tích cực của người học làm trung tâm, giáo viên chỉ là người định hướng. Phương pháp này nhằm rèn luyện tư duy người học.
    Trong cuộc sống thường ngày, trong giao tiếp cũng như trong công việc, nếu một người có tư duy tốt chắc chắn sẽ xử lí các tình huống, các sự cố tốt hơn một người kém tư duy.
    Có nhiều phương pháp rèn luyện tư duy, thí dụ việc phân nhóm cho học sinh tự nghiên cứu bài học cũng là một cách trên ghế nhà trường, hay việc luyện tập tính nhẩm, cũng có thể là rèn luyện trí nhớ bằng cách nhớ lại kí ức,
    Nói chung trí thông minh rất quan trọng trong cuộc sống đờ thường, và nhất là đối với các bạn học sinh, sinh viên điều này càng cần thiết hơn.
    Tiện đây, xin được giới thiệu một trò chơi mang tính chất suy luận và lôgic rất cao, đó là Trò Chơi Đoán Màu. Và trò chơi này sẽ ít nhiều cho những đối tượng rèn luyện trí tuệ cũng như những người muốn thử sức mình
    I.1 Yêu cầu đề tài:
    Trò chơi “Đoán màu” được thể hiện: có từ 4 đến 7 màu, người chơi một lần đoán 4 màu. Máy sẽ đánh giá mỗi lần đoán và cho biết số vị trí đoán đúng. Sau 10 lần đoán máy sẽ cho kết quả người chơi thắng hay thua.
    I.2 Mục tiêu:
    Nắm vững ngôn ngữ Borland Pascal 7.0.
    Học cách trình bày khoa học đề tài.
    Luyện tập cách xây dựng các giài thuật để giải quyết các vấn đề.
    Cài đặt chương trình đúng yêu cầu đề tài.
    I.3 Hướng giải quyết:
    Về lý thuyết: nắm vững ngôn ngữ lập trình, xây dựng giải thuật đúng và phù hợp với yêu cầu đề tài.
    Về chương trình: Sử dụng ngôn ngữ Borland Pascal 7.0 cài đặt chương trình theo yêu cầu đề tài, và giao diện xây dựng trên màn hình đồ họa.
    --------------------------------------​ Lời cảm tạ:
    Sau gần 2 tháng thực hiện, giờ đây niên luận 1 của em đã hoàn thành. Căn bản niên luận đúng theo yêu cầu đề tài. Đó là nhờ nổ lực của bản thân, cũng như nhờ nhận được sự hướng dẫn của quý thầy cô. Dù đã hoàn thành, nhưng chắc chắn không thể tránh khỏi những sai sót do hạn chế về khả năng của bản thân cũng như do giới hạn về thời gian. Em rất mong nhận được những ý kiến đóng góp quý báu của quý thầy cô để niên luận em được hoàn thiện hơn.
    Chân thành cảm ơn!
    Sinh viên thực hiện:
    Hà Văn Cường.

    Phần II:
    [​IMG]

    --------------------------------------------------------------------------------------------------
    Chương 1: giới thiệu trò chơi.

    Nhìn chung, trò chơi đoán màu là một trò chơi không đòi hỏi nhiều lý thuyết, cũng như các khái niệm liên quan. Có thể nói chỉ cần nắm vững một ngôn ngữ lập trình cấu trúc nào đó là có thể cài đặt chương trình.
    1.1 Tổng quát hóa đề tài:
    Trò chơi có M màu khác nhau nào đó, (M>1).
    Một dãy gồm N màu được xây dựng ngẫu nhiên bằng cách chon ra từ M màu trên. Công việc người chơi phải chỉ ra đúng vị trí từng màu trong dãy N màu, nếu chính xác cả 4 vị trí sẽ chiến thắng, ngược lại sẽ thua.
    Độ khó tăng lên theo vòng chơi kế tiếp theo quy luật: M=M+1, N vẫn được giữ nguyên. Và trò chơi sẽ kết thúc sau một số vòng hữu hạn nào đó.
    1.2 Giới hạn đề tài:
    Giới hạn lại vấn đề trên như sau:
    - M từ 4 đến 7; tức là Min(M) = 4 và Max(M) = 7.
    - Thành phần M màu được chọn: Đỏ, Xanh dương, Xanh lá, Vàng, Lam, Tím, Trắng.
    - N = 4, và không đổi mỗi vòng chơi.
    - Các vòng chơi:
    Vòng 1 ứng với M = 4, gồm 4 màu: Đỏ, Xanh dương, Xanh lá, Vàng.
    Vòng 2 ứng với M = 5, gồm 5 màu: Đỏ, Xanh dương, Xanh lá, Vàng, Lam.
    Vòng 3 ứng với M = 6, gồm 6 màu: Đỏ, Xanh dương, Xanh lá, Vàng, Lam, Tím.
    Vòng 4 ứng với M = 7, gồm 7 màu: Đỏ, Xanh dương, Xanh lá, Vàng, Lam, Tím, Trắng.
    => Như vậy có 4 vòng chơi, N vẫn là 4, nhưng số màu M tăng 1 mỗi vòng sẽ là độ khó tăng lên.
    Theo yêu cầu đề tài toát lên 3 vấn đề quan trọng sau: Trước hết: phải có một dãy 4 màu được tạo ra một cách ngẫu nhiên từ một danh sách màu sẵn có cho người chơi đoán, thứ hai: chọn lựa màu từ phía người chơi, thứ ba: so sánh sự lựa chọn lựa của người chơi và dãy ngẫu nhiên đó. Ngoài ra việc thiết kế giao diện người dùng cũng là vấn đề quan trọng giúp trò chơi thành công hơn.

    Chương 2: Xây dựng các giải thuật và cài đặt bằng ngôn ngữ Pascal.

    2.1 Xây dựng dãy màu ngẫu nhiên:
    Ý đồ tạo ra một dãy màu ngẫu nhiên, cụ thể là 4 màu được chọn từ một dãy màu cho trước. Có nghĩa là sự xuất hiện của từng màu trong dãy có thể là 0,1,2,3 hoặc 4 lần.
    Trong các ngôn ngữ lập trình như C, Pascal, VB có một hàm được định nghĩa trước thõa mãn tính chất trên – đó là hàm ngẫu nhiên. Hàm ngẫu nhiên trong Pascal: Random với cú pháp như sau Random(a); với a kiểu Word, hàm này cho giá trị là một số nguyên ngẫu nhiên trong phạm vi từ 0 đến a-1.
    Nhận thấy đây sẽ là sự chọn lựa tốt nhất cho việc xây dãy màu ngẫu nhiên. Với ý tưởng như sau:
    Mỗi lần dùng hàm sẽ được một con số, con số đó như một từ khóa cho ta một màu nào đó tự ta định nghĩa. Thí dụ: kết quả là 0 sẽ là màu đỏ, 1 sẽ cho ta màu xanh, và ta chỉ việc lưu lại kết quả. Khi cho vòng lặp chạy 4 lần ta sẽ có 4 màu. Ta dùng tham số thực tế trong hàm Random chính là số màu của từng vòng chơi. Cụ thể viết tổng quát Random(<Số màu>); Số màutổng số màu của dãy mà máy phải chọn, nói cách khác nó là tổng số màu của một vòng nào đó. Có thể dùng một mảng để lưu kết quả. Thí dụ dùng mảng
    Trong đó regs là kiểu thanh ghi Registers;
    Ngoài ra trong thư viện Pascal 7 có cung cấp một thư viện chuột MOUSE.TPU khá phong phú, nếu tự tạo các hàm xử lý chuột sẽ gặp khó khăn do sử dụng ngắt mềm và đụng chạm khá nhiều thanh ghi; tuy nhiên nếu tự định nghĩa lại thì sẽ dễ dàng hơn cho sử dụng, cụ thể dễ nhớ tên hàm. Vấn đề này không có gì mới mẽ, việc trình bày dù không mang nhiều ý nghĩa, nhưng thuận lợi hơn cho việc lập trình.
    2.4.3 Vấn đề đồ họa khác:
    Việc kẻ khung chọn màu, đặt màu nền, màu chữ, tất cả dùng những thủ tục được định nghĩa trong thư viện đồ họa Graph xây dựng sẵn.
    2.5 Tổng quát của trò chơi.
    Tập hợp tất cả các vấn đề nêu trên theo một trình tự hợp lý sẽ tạo thành một chương trình hoàn chỉnh. Lưu ý, nếu hết 4 vòng thì chơi tiếp là quay lại chơi từ đầu, còn nếu thua mà chơi lại sẽ chơi lại vòng vừa rồi, tất nhiên thành phần màu máy chọn bị thay đổi theo tránh tình trạng người chơi ghi nhận lại các kết quả lượt đoán trước kia của vòng thua vừa rồi.
    Trò chơi được thiết kế tổng quát theo sơ đồ sau

    CALL ME: ĐỂ CÓ PHẦN MODUL VA GIAO DIEN 01279522128 <a class="__cf_email__" href="http://www.cloudflare.com/email-protection" data-cfemail="0f5b464a415b474e41475f4c4f48424e4643214c4042">[email protected]<script type="text/javascript">
    (function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute(data-cfemail);if(a){s=;r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();

    Trong đó regs là kiểu thanh ghi Registers;
    Ngoài ra trong thư viện Pascal 7 có cung cấp một thư viện chuột MOUSE.TPU khá phong phú, nếu tự tạo các hàm xử lý chuột sẽ gặp khó khăn do sử dụng ngắt mềm và đụng chạm khá nhiều thanh ghi; tuy nhiên nếu tự định nghĩa lại thì sẽ dễ dàng hơn cho sử dụng, cụ thể dễ nhớ tên hàm. Vấn đề này không có gì mới mẽ, việc trình bày dù không mang nhiều ý nghĩa, nhưng thuận lợi hơn cho việc lập trình.
    2.4.3 Vấn đề đồ họa khác:
    Việc kẻ khung chọn màu, đặt màu nền, màu chữ, tất cả dùng những thủ tục được định nghĩa trong thư viện đồ họa Graph xây dựng sẵn.
    2.5 Tổng quát của trò chơi.
    Tập hợp tất cả các vấn đề nêu trên theo một trình tự hợp lý sẽ tạo thành một chương trình hoàn chỉnh. Lưu ý, nếu hết 4 vòng thì chơi tiếp là quay lại chơi từ đầu, còn nếu thua mà chơi lại sẽ chơi lại vòng vừa rồi, tất nhiên thành phần màu máy chọn bị thay đổi theo tránh tình trạng người chơi ghi nhận lại các kết quả lượt đoán trước kia của vòng thua vừa rồi.
    Trò chơi được thiết kế tổng quát theo sơ đồ sau

    Trong đó regs là kiểu thanh ghi Registers;
    Ngoài ra trong thư viện Pascal 7 có cung cấp một thư viện chuột MOUSE.TPU khá phong phú, nếu tự tạo các hàm xử lý chuột sẽ gặp khó khăn do sử dụng ngắt mềm và đụng chạm khá nhiều thanh ghi; tuy nhiên nếu tự định nghĩa lại thì sẽ dễ dàng hơn cho sử dụng, cụ thể dễ nhớ tên hàm. Vấn đề này không có gì mới mẽ, việc trình bày dù không mang nhiều ý nghĩa, nhưng thuận lợi hơn cho việc lập trình.
    2.4.3 Vấn đề đồ họa khác:
    Việc kẻ khung chọn màu, đặt màu nền, màu chữ, tất cả dùng những thủ tục được định nghĩa trong thư viện đồ họa Graph xây dựng sẵn.
    2.5 Tổng quát của trò chơi.
    Tập hợp tất cả các vấn đề nêu trên theo một trình tự hợp lý sẽ tạo thành một chương trình hoàn chỉnh. Lưu ý, nếu hết 4 vòng thì chơi tiếp là quay lại chơi từ đầu, còn nếu thua mà chơi lại sẽ chơi lại vòng vừa rồi, tất nhiên thành phần màu máy chọn bị thay đổi theo tránh tình trạng người chơi ghi nhận lại các kết quả lượt đoán trước kia của vòng thua vừa rồi.
    Trò chơi được thiết kế tổng quát theo sơ đồ sau
     

    Các file đính kèm:

Đang tải...