I. Lý do chọn đề tài:
Nước ta hiện nay càng ngày càng phát triển nên việc ứng dụng công nghệ thông tin trên máy tính cũng đang trên đà phát triển. Chúng ta cũng đã thấy máy vi tính có mặt hầu như trong tất cả các cơ quan của chúng ta. Tùy theo các ban ngành khác nhau mà máy tính hỗ trợ thêm các phần mềm giúp ích công việc khác nhau. Mà muốn tạo ra được các phần mềm thì chúng ta phải biết cách viết được các chương trình điều khiển các phần mềm . vì vậy tin học được đưa vào trong nhà trường giúp học sinh làm quen và biết sử dụng máy ví tính và biết quy trình lập trình như thế nào? Vì thế mà tôi hướng dẫn cho học sinh khối 8 nắm được quy trình lập trình gồm những bước cơ bản nào. Đó cũng chính là lí do tôi chọn đề tài “ các bước giải bài toán trên máy tính”.
II. Giới hạn đề tài:
Đối với học sinh ở cấp trung học cơ sở việc lập trình bằng ngôn ngữ lập trình pascsal là vô cùng mới lạ và lại khó đối với các em cho nên tôi chỉ giới thiệu với các em một vài bài toán đơn giản.
Đề tài: CÁC BƯỚC GIẢI BÀI TOÁN TRÊN MÁY VI TÍNH I. Lý do chọn đề tài: Nước ta hiện nay càng ngày càng phát triển nên việc ứng dụng công nghệ thông tin trên máy tính cũng đang trên đà phát triển. Chúng ta cũng đã thấy máy vi tính có mặt hầu như trong tất cả các cơ quan của chúng ta. Tùy theo các ban ngành khác nhau mà máy tính hỗ trợ thêm các phần mềm giúp ích công việc khác nhau. Mà muốn tạo ra được các phần mềm thì chúng ta phải biết cách viết được các chương trình điều khiển các phần mềm . vì vậy tin học được đưa vào trong nhà trường giúp học sinh làm quen và biết sử dụng máy ví tính và biết quy trình lập trình như thế nào? Vì thế mà tôi hướng dẫn cho học sinh khối 8 nắm được quy trình lập trình gồm những bước cơ bản nào. Đó cũng chính là lí do tôi chọn đề tài “ các bước giải bài toán trên máy tính”. II. Giới hạn đề tài: Đối với học sinh ở cấp trung học cơ sở việc lập trình bằng ngôn ngữ lập trình pascsal là vô cùng mới lạ và lại khó đối với các em cho nên tôi chỉ giới thiệu với các em một vài bài toán đơn giản. III. Nội dung: 1. Để giải được các bài toán trên máy tính dựa trên ngôn ngữ lập trình Pascal cần phải nắm vững các bước sau: * Xác định bài toán: là xác định điều kiện cho trước (Input) và kết quả cần thu được (Output). * Mô tả thuật toán: Thuật toán là dãy hữu hạn các thao tác cần thực hiện theo một trình tự xác định để từ điều kiện cho trước (Input) sẽ tìm ra được kết quả (Output). Mô tả thuật toán là ta đi tìm cách giải bài toán và diễn tả bằng các lệnh cần thực hiện. * Viết chương trình: Dựa vào mô tả thuật toán ta dùng một ngôn ngữ lập trình nào đó để viết chương trình. Ở đây tôi chỉ giới thiệu ngôn ngữ lập trình Pascal. 2) Một số ví dụ: Ví dụ 1: Tính diện tích hình chữ nhật. * Xác định bài toán: - Input: chiều dài là cạnh a, chiều rộng là cạnh b. - Output: kết quả diện tích hình chữ nhật. * Mô tả thuật toán: - Bước 1: Nhập chiều dài a và chiều rộng b. - Bước 2: Tính diện tích hình chữ nhật S = a*b. - Bước 3: In kết quả diện tích ra màn hình. * Viết chương trình: Program Dien_tich ; Uses crt ; Var a, b, S : real ; Begin Writeln (‘nhap chieu dai a =’) ; Readln (a) ; Writeln (‘nhap chieu rong b =’) ; Readln (b) ; S := a*b ; Writeln (‘dien tich hinh chu nhat la:’, S) ; Readln ; End. Ví dụ 2: tính tổng N số tự nhiên đầu tiên với N là số tự nhiên được nhập vào từ bàn phím * Xác định bài toán: - Input: N số tự nhiên. - Output: tổng số tự nhiên được nhập vào * Mô tả thuật toán: - Bước 1: Nhập vào số tự nhiên N - Bước 2: Gán s ß 0 - Bước 3: cho i chạy từ 1 đến N sau đó tính sßs+1 * Viết chương trình: Program tính_tổng ; Uses crt ; Var N,i : integer ; S: longint; Begin Writeln (‘nhap vào số N=’) ; Readln (N) ; S:=0; For i:=1 to N do s:=s+1; Writeln (‘tổng của’,N,’số tự nhiên đầu tiên s=’,s) ; Readln ; End. Ví dụ 3: Tìm số lớn nhất trong ba số a, b, c được nhập vào từ bàn phím. * Xác định bài toán: - Input: ba số a, b, c. - Output: Số lớn nhất trong ba số a, b, c. * Mô tả thuật toán: - Bước 1: Nhập ba số a, b, c. - Bước 2: Gán Max ß a. - Bước 3: Nếu b > Max thì gán Max ß b. - Bước 4: Nếu c > Max thì gán Max ß c. - Bước 5: Thông báo kết quả Max và kết thúc thuật toán. * Viết chương trình: Program so_lon_nhat ; Uses crt ; Var a, b, c, Max : integer ; Begin Writeln (‘nhap ba so a, b, c’) ; Readln (a, b, c) ; Max := a ; If b > max then max := b ; If c > max then max := c ; Writeln (‘so lon nhat trong ba so a, b, c la:’, max) ; Readln ; End. Ví dụ 4: cho biết số tự nhiên N được nhập vào bàn phím có phải là số nguyên tố không? * Xác định bài toán: - Input: cho số tự nhiên - Output: là số nguyên tố hay không phải số nguyên tố * Mô tả thuật toán - Bước 1: Nhập vào một số nguyên. - Bước 2: nếu n nhỏ hơn hoặc bằng 1 thì chuyển tới bước 5 - Bước 3: gán iß2 mà n mod I khác 0 thì ißi+1 - Bước 4: Nếu i= n thì n là số nguyên tố ngược lại chuyển tới bước 5 - Bước 5: Thông báo n không phải là số nguyên tố * Viết chương trình: Program tim_so_nguyen_to ; Uses crt ; Var n,I : integer; Begin Clrscr; Write(‘nhap vào một số nguyên: ‘); Readln(n); If n<=1 then writeln(n,’khong phải là số nguyên tố’) Else Begin I:=2; While (n mod i0) do i:= i+1; If i=n then writeln (n,’là số nguyên tố:’); Else Writeln (n,’ không phải là số nguyên tố :’); End; Readln; End. Ví dụ 5: Cho hai số thực a và b. Hãy cho biết kết quả so sánh hai số đó dưới dạng “ a lớn hơn b”, “a nhỏ hơn b” hoặc “a bằng b”. * Xác định bài toán: - Input: hai số thực a và b. - Output: Kết quả so sánh. * Mô tả thuật toán: - Bước 1: Nhập hai số a và b. - Bước 2: Nếu a > b thì in ra màn hình “a lớn hơn b” và chuyển đến bước 4. - Bước 3: Nếu a < b thì in ra màn hình “a nhỏ hơn b”; Ngược lại thì in ra màn hình “a bằng b”. - Bước 4: Kết thúc thuật toán. * Viết chương trình: Program so_sanh ; Uses crt ; Var a, b : real ; Begin Writeln (‘nhap hai so a va b’) ; Readln (a, b) ; If a > b then writeln ( ‘a lon hon b’) Else if a < b then writeln ( ‘a nho hon b’) Else writeln ( ‘a bang b’) ; Readln ; End. Ví dụ 6: Nhập ba số dương a, b, c từ bàn phím, in ra màn hình kết quả kiểm tra ba số đó có thể là độ dài các cạnh của một tam giác hay không. * Xác định bài toán: - Input: Ba số dương a, b, c. - Output: thông báo a, b, c có thể là ba cạnh của một tam giác hoặc a, b, c không thể là ba cạnh của một tam giác. * Mô tả thuật toán: - Bước 1: Nhập ba số dương a, b, c. - Bước 2: Tính a + b, nếu a + b ≤ c, chuyển tới bước 6. - Bước 3: Tính b + c, nếu b + c ≤ a, chuyển tới bước 6. - Bước 4: Tính a + c, nếu a + c ≤ b, chuyển tới bước 6. - Bước 5: Thông báo a, b, c là ba cạnh của tam giác và kết thúc thuật toán. - Bước 6: Thông báo a, b, c không là ba cạnh của tam giác và kết thúc thuật toán. * Viết chương trình: Program tam_giac ; Uses crt ; Var a, b, c : real ; Begin Writeln ( ‘nhap ba so duong a, b, c’) ; Readln (a, b, c) ; If (a + b > c) and (b + c > a) and ( a + c > b) then Writeln ( ‘a, b, c là ba cạnh của một tam giác’) else writeln (a, b, c không là ba cạnh của một tam giác’) ; Readln ; End. IV. Kết luận: - Do học sinh trung học cơ sở mới làm quen với ngôn ngữ lập trình nên còn gặp nhiều khó khăn trong việc lập trình, còn nhiều bày lập trình khác hay hơn do môn học này có liên quan đến kiến thức toán của các em mà các em chưa học tới nên tôi chỉ giới thiệu cho các em một số bài lập trình đơn giản để các em nắm được các bước giải bài toán trên máy tính. - Tóm lại các bước để giải bài toán trên máy vi tính mà tôi đã đưa ra ở trên có thể còn nhiều thiếu sót. Rất mong được sự đóng góp ý kiến của quý thầy cô và các bạn đồng nghiệp để đề tài của tôi được hoàn thiện hơn. Xin chân thành cảm ơn! Ngũ lạc, ngày 14 tháng 10 năm 2010 Người viết Hầu thị nương
Tài liệu đính kèm: