code matlab

  • Thread starter viking1992
  • Ngày mở chủ đề
V

viking1992

Author
Anh chị nào chỉ giùm em bài này với!!!
Nhập 1 dãy gồm n phần tử từ bàn phím sau đó in ra những số chính phương trong dãy đó và tính tổng của chúng
Em xin chân thành cảm ơn !!
 
Ðề: code matlab

Nhận xét bài toán: Số chính phương là những số có căn là số tự nhiên.
Số chính phương có thể tận cùng bằng 0;1;4;5;6;9.Không thể tận cùng bằng 2,3,7,8 --> giảm thiểu công việc tìm kiếm
nguồn: http://vi.wikipedia.org/wiki/Số_chính_phương


gán dãy số thành 1 vector A mà mỗi vị trí vector chứa 1 chữ số
cho i chay tu 1-->n
cho j chay tu i-->n
so k gán cho bằng các số từ vị trí thứ i cho tới vị trí thứ j : A(i:j)
kiểm tra xem số k có tận cùng như nhận xét trên hay ko
Lấy căn của k, xem có nguyên ko là đc. cái này có nhiều cách, nhưng cách nghĩ phổ thông mà ko cần dùng nhiều hàm phức tạp là: lấy phần nguyên căn của k, sau đó bình phương, so sánh mà bằng số k thì là đạt

end
end


Ý tưởng là thế
 
Ðề: code matlab

Đang mày mò học hành lập trình, C, C++, giải thuật với lập trình. Bác Mori xuất thêm vài chiêu cho anh em mở rộng tầm mắt.
Lập trình thì quan trọng nhất là giải thuật cho bài toán của mình, còn ngôn ngữ lập trình thì cũng na ná như nhau, chủ yếu là với mỗi bộ ngôn ngữ thì đã tích hợp thêm các câu lệnh rút ngắn khối lượng công việc (bao gồm thời gian xử lý, lượng codes...) hay thêm các công cụ phục vụ nhiều mục đích khác như điều khiển, nhúng, web ... Nhưng suy cho cùng ngôn ngữ lập trình cũng chỉ là công cụ giống như SolidWorks, CATIA, Autocad... Người dùng phải nắm được lý thuyết cho bài toán, phương pháp giải, và để đi đến tối ưu cách giải thì cần nắm đươc 1 số các phương pháp, các mẹo lập trình sao cho khối lượng công việc giảm xuống mà vẫn đảm bảo kết quả bài toán (những mẹo này có thể bắt nguồn từ đặc điểm đề bài, hoặc đã được sử dụng nhiều trong các dạng bài tương tự như phép đệ qui...). Bên cạnh đó người lập trình cần có khả năng tưởng tượng bao quát để nắm được toàn bộ công việc phải làm, và ứng xử của các lệnh trong cả quá trình.

Hiện em chỉ làm về giải bài toán chất lỏng bằng phương pháp số, nên hoàn toàn chỉ dùng tính toán số sử dụng các vòng lặp, các tính toán phụ thuộc điều kiện. Không cần nhiều các lệnh tích hợp hay các công cụ điều khiển, camera này nọ. Vì lý do này mà trong ngành em dùng FORTRAN để thực hiện (dùng được cả trên win và ubuntu), nó chỉ gồm những lệnh cơ bản cho tính toán nên thực thi nhanh. Còn Matlab thì hiện em chỉ dùng để xuất kết quả mô phỏng, kiến thức của em về matlab là rất nhỏ, chỉ phục vụ mục đích đơn giản nên không dám múa rìu qua mắt thợ, chỉ dám đưa ra ý tưởng thôi. Về C và C++ thì trước nay em chưa từng kinh qua, hồi cấp 3 với đại học cũng chỉ học về Pascal thôi. Kiến thức về lập trình của em chỉ dừng lại ở việc sử dụng các câu lệnh đơn giản để áp dụng vào bài giải, các câu lệnh phức tạp nhiều biến, hàm này hàm kia thì em hoàn toàn chịu, luôn đưa ra lời giải với câu lệnh theo suy nghĩ tự nhiên nhất, đơn giản nhất, đôi khi nó không hiệu quả bẳng lệnh khác phức tạp hơn, nhưng nó là lối suy nghĩ tự nhiên, dù sao đọc vào cũng dễ hiểu.
Nếu sau này có thời gian rảnh em sẽ post vài bài về sử dụng phương pháp số để giải 1 số bài toán truyền nhiệt, bài toán chất lỏng, lớp biên, bài toán sóng ... Nhưng hiện giờ đang bận làm thesis bác ạ. Có gì phải qua tháng 8 ạ. hihi
 
Last edited:
Top