Tin học CÁCH VIẾT THUẬT TOÁN (LỚP 10)

Thảo luận trong 'Tin học cấp III' bắt đầu bởi Phạm Xuân Hoàng Long, 29 Tháng mười 2019.

Lượt xem: 111

  1. Phạm Xuân Hoàng Long

    Phạm Xuân Hoàng Long Học sinh chăm học Thành viên

    Bài viết:
    661
    Điểm thành tích:
    134
    Nơi ở:
    Quảng Bình
    Trường học/Cơ quan:
    Trường Trung học cơ sở số 1 Nam Lý
    Sở hữu bí kíp ĐỖ ĐẠI HỌC ít nhất 24đ - Đặt chỗ ngay!

    Đọc sách & cùng chia sẻ cảm nhận về sách số 2


    Chào bạn mới. Bạn hãy đăng nhập và hỗ trợ thành viên môn học bạn học tốt. Cộng đồng sẽ hỗ trợ bạn CHÂN THÀNH khi bạn cần trợ giúp. Đừng chỉ nghĩ cho riêng mình. Hãy cho đi để cuộc sống này ý nghĩa hơn bạn nhé. Yêu thương!

    Mọi người chỉ em phương pháp để phân tích rồi viết thuật toán với ạ
    Mọi người giúp em với
    Em cảm ơn:MIM46:MIM46:MIM46
     
    Last edited: 29 Tháng mười 2019
  2. CuongGrove

    CuongGrove Học sinh Thành viên HV CLB Lịch sử

    Bài viết:
    81
    Điểm thành tích:
    21
    Nơi ở:
    Quảng Ngãi
    Trường học/Cơ quan:
    THPT Trà Bồng

    Theo mình thì để viết thuật toán mình phải suy nghĩ chậm lại, suy nghĩ ra những bước cơ bản nhất. VD như phân tích bài toán tìm số lẻ trong một dãy số, thì mình phải suy nghĩ chậm lại, xem thử là để biết số nào là số lẻ trong một dãy số thì mình làm thế nào => nhìn một lượt các số trong dãy xem thử số nào không chia hết cho 2 => Viết thuật toán cho chương trình chạy tới từng số, kiểm tra xem có chia hết cho 2 không? MÌnh nghĩ cái quan trọng trong viết thuật toán là khi mình biến cách giải quyết một vấn đề trở nên cơ bản nhất có thể, rồi viết thành thuật toán cho máy tính nó hiểu.
     
    Phạm Xuân Hoàng Long thích bài này.
  3. Hải Ham Học

    Hải Ham Học Học sinh Thành viên

    Bài viết:
    129
    Điểm thành tích:
    26
    Nơi ở:
    Bà Rịa - Vũng Tàu
    Trường học/Cơ quan:
    thcs hòa hiệp

    Thứ nhất hiểu thuật toán là gì ...
    Thuật toán , còn gọi là giải thuật, là một tập hợp hữu hạn hay một dãy các qui tắc chặt chẽ của các chỉ thị, phương cách hay 1 trình tự các thao tác trên một đối tượng cụ thể được xác định và định nghĩa rõ ràng cho việc hoàn tất một số sự việc từ một trạng thái ban đầu cho trước; khi các chỉ thị này được áp dụng triệt để thì sẽ dẫn đến kết quả sau cùng như đã dự đoán trước. (copy mạng)
    Thứ hai : đặt ra 1 dãy các câu hỏi và trả lời nó :">
    + Bài đó đưa vô dữ liệu và dữ liệu ra là gì??
    => chẳng hạn như 1 bài tìm số chẵn trong dãy N số nguyên dương,...vậy : dữ liệu vào là N và dãy a1, a2,...an ; còn dữ liệu ra là các số chẵn trong dãy N số nguyên dương đó
    => 1 ví dụ nữa nhé, tìm tất cả các ước của N ... vậy : dữ liệu vào là N ; còn dữ liệu ra là các số chia hết cho N hay nói cách khác là ước của N.
    + Làm sao để từ dữ liệu vào ta có thể viết các lệnh để máy tính có thể tìm ra được dữ liệu ra ấy giải các bài ấy nếu đưa qua pascal thì nó sẽ dùng các lệnh if...then , for...to ...do, while...do, repeat....until...., vân vân nhé, nhưng thuật toán chúng ta nên dùng các bước với các cụm từ như nếu i>n thì kết thúc, quay lại bước ...., hoặc vài cụm từ để nó thay cho if...then, hay các vòng lặp for...to...do, while...do,.... và áp dụng vô 2 ví dụ trên chúng ta sẽ giải 1 thuật toán phải làm như nào??
    * Đề : Tìm số chẵn trong dãy N số nguyên dương :
    B1 : Nhập N và dãy a1,a2,...an. (cái này bài nào cũng phải có).
    B2 : i [tex]\leftarrow[/tex] 1; (tương tự với việc gán i:=1 to n do ở vòng for....to..do)
    B3: Nếu i>N thì kết thúc (đặt điều kiện để vòng lặp kết thúc, nếu không nó sẽ là vòng lặp vô hạn);
    B4: Nếu N mod a[tex]a_{i}[/tex] = 0 thì in ra màn hình a[tex]a_{i}[/tex] ; (cái này để tìm số chẵn theo yêu cầu bài toán, N mod a[tex]a_{i}[/tex] = 0 nghĩa là N chia hết cho a[tex]a_{i}[/tex] )
    B5 : i [tex]\leftarrow[/tex] i + 1; (tăng i để vòng lặp tiếp theo nó kiểm tra số tiếp đó của dãy);
    B6: Quay lại bước 3 ( bước này để nó quay lại kiểm tra điều kiện để bẻ gãy vùng lặp);
    1 bài tiếp nhé !!! :">
    Đề : Tìm tất cả ước của N :
    B1: Nhập N và dãy a1,a2,...an (bước này phải có nhé, nhưng tùy bài mà nhập);
    B2: i [tex]\leftarrow[/tex] 1 : ( tiếp tục lại là 1 vòng lặp, tại các ước của N nó chỉ trong phạm vi 1 -> N)
    B3: Nếu i>N thì kết thúc (điều kiện để bẻ gãy vòng lặp);
    B4: Nếu N mod i = 0 thì in ra màn hình i ; (cái này là n chia hết cho i nhé);
    B5 : i [tex]\leftarrow[/tex] i+1 ; (tăng lên để bẻ gãy vòng lặp);
    B6 : Quay lại bước 3 ; (quay lại kiểm tra điều kiện);
    Thứ ba : là luyện tập thường xuyên, từ bài dễ đến khó, nếu được có thể inbox để mình gửi vài bài mà luyện thử :">
     
    Phạm Xuân Hoàng Long thích bài này.
  4. Hải Ham Học

    Hải Ham Học Học sinh Thành viên

    Bài viết:
    129
    Điểm thành tích:
    26
    Nơi ở:
    Bà Rịa - Vũng Tàu
    Trường học/Cơ quan:
    thcs hòa hiệp

    Nếu bạn có zalo hay facebook có thể cho mình để chúng ta thảo luận về chủ để thuật toán cũng như pascal :>> nếu bạn có đam mê
     
    Phạm Xuân Hoàng Long thích bài này.
Chú ý: Trả lời bài viết tuân thủ NỘI QUY. Xin cảm ơn!

Draft saved Draft deleted

CHIA SẺ TRANG NÀY

-->