SlideShare a Scribd company logo
1 of 14
Download to read offline
Trường Đại học Khoa học Tự nhiên
Khoa Công nghệ thông tin
Bộ môn Công nghệ phần mềm


       NHẬP MÔN LẬP TRÌNH
                                   ThS. Đặng Bình Phương
                                    dbphuong@fit.hcmus.edu.vn




                            CÁC KHÁI NIỆM CƠ BẢN
                                     VỀ LẬP TRÌNH




                                                                1
&
VC
     BB
          Nội dung


               1     Các khái niệm cơ bản


               2     Các bước xây dựng chương trình


               3     Biểu diễn thuật toán


               4     Cài đặt thuật toán bằng NNLT




                                             Các khái niệm cơ bản về lập trình
                                                                                 2
&
VC
     BB
          Các khái niệm cơ bản

     Lập trình máy tính
        Gọi tắt là lập trình (programming).
        Nghệ thuật cài đặt một hoặc nhiều thuật toán
         trừu tượng có liên quan với nhau bằng một
         ngôn ngữ lập trình để tạo ra một chương trình
         máy tính.
     Thuật toán
        Là tập hợp (dãy) hữu hạn các chỉ thị (hành
         động) được định nghĩa rõ ràng nhằm giải
         quyết một bài toán cụ thể nào đó.
                                     Các khái niệm cơ bản về lập trình
                                                                         3
&
VC
     BB
            Các khái niệm cơ bản

     Ví dụ
       Thuật toán giải PT bậc nhất: ax + b = 0
         (a, b là các số thực).
      Đầu vào: a, b thuộc R
      Đầu ra: nghiệm phương trình ax + b = 0
          • Nếu a = 0
             • b = 0 thì phương trình có nghiệm bất kì.
             • b ≠ 0 thì phương trình vô nghiệm.
          • Nếu a ≠ 0
             • Phương trình có nghiệm duy nhất x = -b/a



                                           Các khái niệm cơ bản về lập trình
                                                                               4
&
VC
     BB
          Các tính chất của thuật toán

     Bao gồm 5 tính chất sau:
       Tính chính xác: quá trình tính toán hay các
        thao tác máy tính thực hiện là chính xác.
       Tính rõ ràng: các câu lệnh minh bạch được
        sắp xếp theo thứ tự nhất định.
       Tính khách quan: được viết bởi nhiều người
        trên máy tính nhưng kết quả phải như nhau.
       Tính phổ dụng: có thể áp dụng cho một lớp
        các bài toán có đầu vào tương tự nhau.
       Tính kết thúc: hữu hạn các bước tính toán.
                                    Các khái niệm cơ bản về lập trình
                                                                        5
&
VC
     BB
          Các bước xây dựng chương trình

     Xác định vấn đề                           Biểu diễn bằng:
        - bài toán                             • Ngôn ngữ tự nhiên
                                               • Lưu đồ - Sơ đồ khối
               Lựa chọn                        • Mã giả
            phương pháp giải
                          Xây dựng
                     thuật toán/ thuật giải
                                  Cài đặt
                                chương trình
      Lỗi cú pháp                       Hiệu chỉnh
     Lỗi ngữ nghĩa                     chương trình
                                                Thực hiện
                                               chương trình
                                                 Các khái niệm cơ bản về lập trình
                                                                                     6
&
VC
     BB
            Sử dụng ngôn ngữ tự nhiên

      Đầu    vào: a, b thuộc R
      Đầu    ra: nghiệm phương trình ax + b = 0
       1.    Nhập 2 số thực a và b.
       2.    Nếu a = 0 thì
                2.1. Nếu b = 0 thì
                       2.1.1. Phương trình vô số nghiệm
                       2.1.2. Kết thúc thuật toán.
                2.2. Ngược lại
                       2.2.1. Phương trình vô nghiệm.
                       2.2.2. Kết thúc thuật toán.
          3. Ngược lại
                3.1. Phương trình có nghiệm.
                3.2. Giá trị của nghiệm đó là x = -b/a
                3.3. Kết thúc thuật toán.

                                           Các khái niệm cơ bản về lập trình
                                                                               7
&
VC
     BB
          Sử dụng lưu đồ - sơ đồ khối

                   Khối giới hạn
                   Chỉ thị bắt đầu và kết thúc.

                   Khối vào ra
                   Nhập/Xuất dữ liệu.

                   Khối lựa chọn
                   Tùy điều kiện sẽ rẽ nhánh.

                   Khối thao tác
                   Ghi thao tác cần thực hiện.

                   Đường đi
                   Chỉ hướng thao tác tiếp theo.

                                        Các khái niệm cơ bản về lập trình
                                                                            8
&
VC
     BB
              Sử dụng lưu đồ - sơ đồ khối

                                            Bắt đầu




                                           Nhập a, b
                               (hệ số của phương trình bậc nhất)




                              Sai                              Đúng
          x  b / a                        a = 0?




            Xuất                                               Sai               Đúng               Xuất
                                              Xuất
                                                                      b = 0?
 "Phương trình có nghiệm x"         "Phương trình vô nghiệm"                            "Phương trình vô số nghiệm"




                                            Kết thúc



                                                                               Các khái niệm cơ bản về lập trình
                                                                                                                      9
&
VC
     BB
            Sử dụng mã giả

     Vay mượn ngôn ngữ nào đó (ví dụ Pascal) để
      biểu diễn thuật toán.
      Đầu vào: a, b thuộc R
      Đầu ra: nghiệm phương trình ax + b = 0
          If a = 0 Then
          Begin
                 If b = 0 Then
                        Writeln “Phương trình vô số nghiệm”
                 Else
                         Writeln “Phương trình vô nghiệm”
          End
          Else
                 Xuất “Phương trình có nghiệm x = -b/a”

                                              Các khái niệm cơ bản về lập trình
                                                                                  10
&
VC
     BB
            Cài đặt thuật toán bằng C/C++

          #include <stdio.h>
          #include <conio.h>

          void main()
          {
                 int nA, nB;
                 printf(“Nhap a, b: ”);
                 scanf(“%d%d”, &nA, &nB);
                 if (bA == 0)
                        if (nB == 0)
                               printf(“Phương trình VSNn”);
                        else
                               printf(“Phương trình VNn”);
                 else
                        printf(“x = %.2fn”, (float)-nB/nA);
          }
                                              Các khái niệm cơ bản về lập trình
                                                                                  11
&
VC
     BB
          Bài tập

     1. Thuật toán là gì? Trình bày các tính chất
        quan trọng của một thuật toán?
     2. Các bước xây dựng chương trình?
     3. Các cách biểu diễn thuật toán? Ưu và khuyết
        điểm của từng phương pháp?
        Cho ví dụ minh họa.




                                     Các khái niệm cơ bản về lập trình
                                                                         12
&
VC
     BB
          Bài tập

     4. Nhập năm sinh của một người.
        Tính tuổi người đó.
     5. Nhập 2 số a và b.
        Tính tổng, hiệu, tính và thương của hai số đó.
     6. Nhập tên sản phẩm, số lượng và đơn giá.
        Tính tiền và thuế giá trị gia tăng phải trả, biết:
       a. tiền = số lượng * đơn giá
       b. thuế giá trị gia tăng = 10% tiền


                                         Các khái niệm cơ bản về lập trình
                                                                             13
&
VC
     BB
          Bài tập

     7. Nhập điểm thi và hệ số 3 môn Toán, Lý, Hóa
        của một học sinh. Tính điểm trung bình của
        học sinh đó.
     8. Nhập bán kính của đường tròn. Tính chu vi và
        diện tích của hình tròn đó.
     9. Nhập vào số xe của bạn (gồm tối đa 5 chữ số).
        Cho biết số xe của bạn được mấy nút?
     10.Nhập vào 2 số nguyên.
        Tính min và max của hai số đó.

                                     Các khái niệm cơ bản về lập trình
                                                                         14

More Related Content

What's hot

Phần 8: Mảng hai chiều
Phần 8: Mảng hai chiềuPhần 8: Mảng hai chiều
Phần 8: Mảng hai chiều
Huy Rùa
 
Phần 10: Dữ liệu kiểu cấu trúc
Phần 10: Dữ liệu kiểu cấu trúcPhần 10: Dữ liệu kiểu cấu trúc
Phần 10: Dữ liệu kiểu cấu trúc
Huy Rùa
 
Phần 11: Tập tin
Phần 11: Tập tinPhần 11: Tập tin
Phần 11: Tập tin
Huy Rùa
 
Kiến trúc máy tính và hợp ngữ bài 02
Kiến trúc máy tính và hợp ngữ bài 02Kiến trúc máy tính và hợp ngữ bài 02
Kiến trúc máy tính và hợp ngữ bài 02
Nhóc Nhóc
 
Chuong 4. lap trinh hop ngu
Chuong 4. lap trinh hop nguChuong 4. lap trinh hop ngu
Chuong 4. lap trinh hop ngu
mituan
 
Bài tập nhập môn lập trình
Bài tập nhập môn lập trìnhBài tập nhập môn lập trình
Bài tập nhập môn lập trình
Huy Rùa
 
Bài giảng kiến trúc máy tính
Bài giảng kiến trúc máy tínhBài giảng kiến trúc máy tính
Bài giảng kiến trúc máy tính
Cao Toa
 
Bài 1: Khái niệm lập trình và ngôn ngữ lập trình
Bài 1: Khái niệm lập trình và ngôn ngữ lập trìnhBài 1: Khái niệm lập trình và ngôn ngữ lập trình
Bài 1: Khái niệm lập trình và ngôn ngữ lập trình
Châu Trần
 
Phương pháp nhánh cận
Phương pháp nhánh cậnPhương pháp nhánh cận
Phương pháp nhánh cận
Diên Vĩ
 

What's hot (20)

Phần 8: Mảng hai chiều
Phần 8: Mảng hai chiềuPhần 8: Mảng hai chiều
Phần 8: Mảng hai chiều
 
Phần 10: Dữ liệu kiểu cấu trúc
Phần 10: Dữ liệu kiểu cấu trúcPhần 10: Dữ liệu kiểu cấu trúc
Phần 10: Dữ liệu kiểu cấu trúc
 
Phần 11: Tập tin
Phần 11: Tập tinPhần 11: Tập tin
Phần 11: Tập tin
 
Kiến trúc máy tính và hợp ngữ bài 02
Kiến trúc máy tính và hợp ngữ bài 02Kiến trúc máy tính và hợp ngữ bài 02
Kiến trúc máy tính và hợp ngữ bài 02
 
Chuong 4. lap trinh hop ngu
Chuong 4. lap trinh hop nguChuong 4. lap trinh hop ngu
Chuong 4. lap trinh hop ngu
 
Giáo trình c++ full tiếng việt
Giáo trình c++ full tiếng việtGiáo trình c++ full tiếng việt
Giáo trình c++ full tiếng việt
 
[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện
[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện
[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện
 
Đệ Quy, Quay Lui, Nhánh Cận
Đệ Quy, Quay Lui, Nhánh CậnĐệ Quy, Quay Lui, Nhánh Cận
Đệ Quy, Quay Lui, Nhánh Cận
 
Bài giảng Lập trình cơ bản - truongkinhtethucpham.com
Bài giảng Lập trình cơ bản - truongkinhtethucpham.comBài giảng Lập trình cơ bản - truongkinhtethucpham.com
Bài giảng Lập trình cơ bản - truongkinhtethucpham.com
 
Bài tập nhập môn lập trình
Bài tập nhập môn lập trìnhBài tập nhập môn lập trình
Bài tập nhập môn lập trình
 
Bài giảng kiến trúc máy tính
Bài giảng kiến trúc máy tínhBài giảng kiến trúc máy tính
Bài giảng kiến trúc máy tính
 
Ktmt chuong 5
Ktmt chuong 5Ktmt chuong 5
Ktmt chuong 5
 
Phong cách lập trình - Đặng Bình Phương
Phong cách lập trình - Đặng Bình PhươngPhong cách lập trình - Đặng Bình Phương
Phong cách lập trình - Đặng Bình Phương
 
chuong 4. dai so boole
chuong 4.  dai so boolechuong 4.  dai so boole
chuong 4. dai so boole
 
Bài 1: Khái niệm lập trình và ngôn ngữ lập trình
Bài 1: Khái niệm lập trình và ngôn ngữ lập trìnhBài 1: Khái niệm lập trình và ngôn ngữ lập trình
Bài 1: Khái niệm lập trình và ngôn ngữ lập trình
 
cẩm nang lập trình căn bản
cẩm nang lập trình căn bảncẩm nang lập trình căn bản
cẩm nang lập trình căn bản
 
Bài tập mẫu C và C++ có giải
Bài tập mẫu C và C++ có giảiBài tập mẫu C và C++ có giải
Bài tập mẫu C và C++ có giải
 
Bồi dưỡng HSG Tin chuyên đề thuật toán
Bồi dưỡng HSG Tin chuyên đề thuật toánBồi dưỡng HSG Tin chuyên đề thuật toán
Bồi dưỡng HSG Tin chuyên đề thuật toán
 
Phương pháp nhánh cận
Phương pháp nhánh cậnPhương pháp nhánh cận
Phương pháp nhánh cận
 
Công thức tính nhanh điện xoay chiều
Công thức tính nhanh điện xoay chiềuCông thức tính nhanh điện xoay chiều
Công thức tính nhanh điện xoay chiều
 

Viewers also liked

Bai tap thuc hanh nhap mon tin hoc
Bai tap thuc hanh nhap mon tin hocBai tap thuc hanh nhap mon tin hoc
Bai tap thuc hanh nhap mon tin hoc
Hồ Lợi
 
Bài giảng ngôn ngữ lập trình c c++ phạm hồng thái[bookbooming.com]
Bài giảng ngôn ngữ lập trình c c++   phạm hồng thái[bookbooming.com]Bài giảng ngôn ngữ lập trình c c++   phạm hồng thái[bookbooming.com]
Bài giảng ngôn ngữ lập trình c c++ phạm hồng thái[bookbooming.com]
bookbooming1
 
How to really obfuscate your pdf malware
How to really obfuscate your pdf malwareHow to really obfuscate your pdf malware
How to really obfuscate your pdf malware
zynamics GmbH
 
Nmlt c01 cac_khainiemcoban_#ref
Nmlt c01 cac_khainiemcoban_#refNmlt c01 cac_khainiemcoban_#ref
Nmlt c01 cac_khainiemcoban_#ref
vitbau1412
 
Nmlt c00 gioi_thieumonhoc
Nmlt c00 gioi_thieumonhocNmlt c00 gioi_thieumonhoc
Nmlt c00 gioi_thieumonhoc
vitbau1412
 
Nmlt c12 mang2_chieu
Nmlt c12 mang2_chieuNmlt c12 mang2_chieu
Nmlt c12 mang2_chieu
vitbau1412
 
Một số vấn đề thường gặp trong lập trình - Đăng Bình Phương (ĐH KHTN)
Một số vấn đề thường gặp trong lập trình - Đăng Bình Phương (ĐH KHTN)Một số vấn đề thường gặp trong lập trình - Đăng Bình Phương (ĐH KHTN)
Một số vấn đề thường gặp trong lập trình - Đăng Bình Phương (ĐH KHTN)
Thanh Minh Hoang
 
Chuong 2 phan tich cac thuat toan sap xep va tim kiem
Chuong 2  phan tich cac thuat toan sap xep va tim kiemChuong 2  phan tich cac thuat toan sap xep va tim kiem
Chuong 2 phan tich cac thuat toan sap xep va tim kiem
gaconne1985
 
Nmlt c03 cac_kieudulieucoso_in
Nmlt c03 cac_kieudulieucoso_inNmlt c03 cac_kieudulieucoso_in
Nmlt c03 cac_kieudulieucoso_in
Huy Nguyễn
 
Nmlt c02 gioi_thieunnltc_in
Nmlt c02 gioi_thieunnltc_inNmlt c02 gioi_thieunnltc_in
Nmlt c02 gioi_thieunnltc_in
Huy Nguyễn
 
Nmlt c01 cac_khainiemcobanvelaptrinh_in
Nmlt c01 cac_khainiemcobanvelaptrinh_inNmlt c01 cac_khainiemcobanvelaptrinh_in
Nmlt c01 cac_khainiemcobanvelaptrinh_in
Huy Nguyễn
 

Viewers also liked (20)

Bài 1: Khái niệm lập trình và ngôn ngữ lập trình bậc cao
Bài 1: Khái niệm lập trình và ngôn ngữ lập trình bậc caoBài 1: Khái niệm lập trình và ngôn ngữ lập trình bậc cao
Bài 1: Khái niệm lập trình và ngôn ngữ lập trình bậc cao
 
BÀI 3: Các khái niệm cơ bản trong lập trình - Giáo trình FPT
BÀI 3: Các khái niệm cơ bản trong lập trình - Giáo trình FPTBÀI 3: Các khái niệm cơ bản trong lập trình - Giáo trình FPT
BÀI 3: Các khái niệm cơ bản trong lập trình - Giáo trình FPT
 
BÀI 1: Làm quen với lập trình - Giáo trình FPT
BÀI 1: Làm quen với lập trình - Giáo trình FPTBÀI 1: Làm quen với lập trình - Giáo trình FPT
BÀI 1: Làm quen với lập trình - Giáo trình FPT
 
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPTBài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
 
Giao an trinh_pascal_bai_tap_co_dap_an_huong_dan
Giao an trinh_pascal_bai_tap_co_dap_an_huong_danGiao an trinh_pascal_bai_tap_co_dap_an_huong_dan
Giao an trinh_pascal_bai_tap_co_dap_an_huong_dan
 
Baigiang - bai4. Bài Toán Và Thuật Toán
Baigiang - bai4. Bài Toán Và Thuật ToánBaigiang - bai4. Bài Toán Và Thuật Toán
Baigiang - bai4. Bài Toán Và Thuật Toán
 
Bai tap thuc hanh nhap mon tin hoc
Bai tap thuc hanh nhap mon tin hocBai tap thuc hanh nhap mon tin hoc
Bai tap thuc hanh nhap mon tin hoc
 
Bài giảng ngôn ngữ lập trình c c++ phạm hồng thái[bookbooming.com]
Bài giảng ngôn ngữ lập trình c c++   phạm hồng thái[bookbooming.com]Bài giảng ngôn ngữ lập trình c c++   phạm hồng thái[bookbooming.com]
Bài giảng ngôn ngữ lập trình c c++ phạm hồng thái[bookbooming.com]
 
Ltc 01
Ltc 01Ltc 01
Ltc 01
 
Viettel điều-chế-gmsk-30 oct13
Viettel điều-chế-gmsk-30 oct13Viettel điều-chế-gmsk-30 oct13
Viettel điều-chế-gmsk-30 oct13
 
How to really obfuscate your pdf malware
How to really obfuscate your pdf malwareHow to really obfuscate your pdf malware
How to really obfuscate your pdf malware
 
Nmlt c01 cac_khainiemcoban_#ref
Nmlt c01 cac_khainiemcoban_#refNmlt c01 cac_khainiemcoban_#ref
Nmlt c01 cac_khainiemcoban_#ref
 
Nmlt c00 gioi_thieumonhoc
Nmlt c00 gioi_thieumonhocNmlt c00 gioi_thieumonhoc
Nmlt c00 gioi_thieumonhoc
 
Nmlt c12 mang2_chieu
Nmlt c12 mang2_chieuNmlt c12 mang2_chieu
Nmlt c12 mang2_chieu
 
Một số vấn đề thường gặp trong lập trình - Đăng Bình Phương (ĐH KHTN)
Một số vấn đề thường gặp trong lập trình - Đăng Bình Phương (ĐH KHTN)Một số vấn đề thường gặp trong lập trình - Đăng Bình Phương (ĐH KHTN)
Một số vấn đề thường gặp trong lập trình - Đăng Bình Phương (ĐH KHTN)
 
Chuong 2 Tim Kiem N Sap Xep
Chuong 2   Tim Kiem N Sap XepChuong 2   Tim Kiem N Sap Xep
Chuong 2 Tim Kiem N Sap Xep
 
Chuong 2 phan tich cac thuat toan sap xep va tim kiem
Chuong 2  phan tich cac thuat toan sap xep va tim kiemChuong 2  phan tich cac thuat toan sap xep va tim kiem
Chuong 2 phan tich cac thuat toan sap xep va tim kiem
 
Nmlt c03 cac_kieudulieucoso_in
Nmlt c03 cac_kieudulieucoso_inNmlt c03 cac_kieudulieucoso_in
Nmlt c03 cac_kieudulieucoso_in
 
Nmlt c02 gioi_thieunnltc_in
Nmlt c02 gioi_thieunnltc_inNmlt c02 gioi_thieunnltc_in
Nmlt c02 gioi_thieunnltc_in
 
Nmlt c01 cac_khainiemcobanvelaptrinh_in
Nmlt c01 cac_khainiemcobanvelaptrinh_inNmlt c01 cac_khainiemcobanvelaptrinh_in
Nmlt c01 cac_khainiemcobanvelaptrinh_in
 

Similar to Phần 1: Các khái niệm cơ bản về lập trình (14)

Nmlt c01 cac_khainiemcobanvelaptrinh
Nmlt c01 cac_khainiemcobanvelaptrinhNmlt c01 cac_khainiemcobanvelaptrinh
Nmlt c01 cac_khainiemcobanvelaptrinh
 
Nmlt c01 cac_khainiemcobanvelaptrinh
Nmlt c01 cac_khainiemcobanvelaptrinhNmlt c01 cac_khainiemcobanvelaptrinh
Nmlt c01 cac_khainiemcobanvelaptrinh
 
Nmlt C01 Cac Khai Niem Co Ban Ve Lap Trinh
Nmlt C01 Cac Khai Niem Co Ban Ve Lap TrinhNmlt C01 Cac Khai Niem Co Ban Ve Lap Trinh
Nmlt C01 Cac Khai Niem Co Ban Ve Lap Trinh
 
BÀI 06: GIẢI BÀI TOÁN TRÊN MÁY TÍNH
BÀI 06: GIẢI BÀI TOÁN TRÊN MÁY TÍNHBÀI 06: GIẢI BÀI TOÁN TRÊN MÁY TÍNH
BÀI 06: GIẢI BÀI TOÁN TRÊN MÁY TÍNH
 
BÀI 06: GIẢI BÀI TOÁN TRÊN MÁY TÍNH
BÀI 06: GIẢI BÀI TOÁN TRÊN MÁY TÍNHBÀI 06: GIẢI BÀI TOÁN TRÊN MÁY TÍNH
BÀI 06: GIẢI BÀI TOÁN TRÊN MÁY TÍNH
 
chương1.pdf
chương1.pdfchương1.pdf
chương1.pdf
 
Emailing buoi 2 thuat toan
Emailing buoi 2   thuat toanEmailing buoi 2   thuat toan
Emailing buoi 2 thuat toan
 
a
aa
a
 
Mang1 chieu
Mang1 chieuMang1 chieu
Mang1 chieu
 
4.1.phat trien ct ham-thutuc-tktt
4.1.phat trien ct ham-thutuc-tktt4.1.phat trien ct ham-thutuc-tktt
4.1.phat trien ct ham-thutuc-tktt
 
Thdc 06
Thdc 06Thdc 06
Thdc 06
 
300 BÀI CODE THIẾU NIÊN.pdf
300 BÀI CODE THIẾU NIÊN.pdf300 BÀI CODE THIẾU NIÊN.pdf
300 BÀI CODE THIẾU NIÊN.pdf
 
Nmlt c06 ham_in
Nmlt c06 ham_inNmlt c06 ham_in
Nmlt c06 ham_in
 
Bai toan va thuat toan
Bai toan va thuat toanBai toan va thuat toan
Bai toan va thuat toan
 

Phần 1: Các khái niệm cơ bản về lập trình

  • 1. Trường Đại học Khoa học Tự nhiên Khoa Công nghệ thông tin Bộ môn Công nghệ phần mềm NHẬP MÔN LẬP TRÌNH ThS. Đặng Bình Phương dbphuong@fit.hcmus.edu.vn CÁC KHÁI NIỆM CƠ BẢN VỀ LẬP TRÌNH 1
  • 2. & VC BB Nội dung 1 Các khái niệm cơ bản 2 Các bước xây dựng chương trình 3 Biểu diễn thuật toán 4 Cài đặt thuật toán bằng NNLT Các khái niệm cơ bản về lập trình 2
  • 3. & VC BB Các khái niệm cơ bản Lập trình máy tính  Gọi tắt là lập trình (programming).  Nghệ thuật cài đặt một hoặc nhiều thuật toán trừu tượng có liên quan với nhau bằng một ngôn ngữ lập trình để tạo ra một chương trình máy tính. Thuật toán  Là tập hợp (dãy) hữu hạn các chỉ thị (hành động) được định nghĩa rõ ràng nhằm giải quyết một bài toán cụ thể nào đó. Các khái niệm cơ bản về lập trình 3
  • 4. & VC BB Các khái niệm cơ bản Ví dụ  Thuật toán giải PT bậc nhất: ax + b = 0 (a, b là các số thực). Đầu vào: a, b thuộc R Đầu ra: nghiệm phương trình ax + b = 0 • Nếu a = 0 • b = 0 thì phương trình có nghiệm bất kì. • b ≠ 0 thì phương trình vô nghiệm. • Nếu a ≠ 0 • Phương trình có nghiệm duy nhất x = -b/a Các khái niệm cơ bản về lập trình 4
  • 5. & VC BB Các tính chất của thuật toán Bao gồm 5 tính chất sau:  Tính chính xác: quá trình tính toán hay các thao tác máy tính thực hiện là chính xác.  Tính rõ ràng: các câu lệnh minh bạch được sắp xếp theo thứ tự nhất định.  Tính khách quan: được viết bởi nhiều người trên máy tính nhưng kết quả phải như nhau.  Tính phổ dụng: có thể áp dụng cho một lớp các bài toán có đầu vào tương tự nhau.  Tính kết thúc: hữu hạn các bước tính toán. Các khái niệm cơ bản về lập trình 5
  • 6. & VC BB Các bước xây dựng chương trình Xác định vấn đề Biểu diễn bằng: - bài toán • Ngôn ngữ tự nhiên • Lưu đồ - Sơ đồ khối Lựa chọn • Mã giả phương pháp giải Xây dựng thuật toán/ thuật giải Cài đặt chương trình Lỗi cú pháp Hiệu chỉnh Lỗi ngữ nghĩa chương trình Thực hiện chương trình Các khái niệm cơ bản về lập trình 6
  • 7. & VC BB Sử dụng ngôn ngữ tự nhiên Đầu vào: a, b thuộc R Đầu ra: nghiệm phương trình ax + b = 0 1. Nhập 2 số thực a và b. 2. Nếu a = 0 thì 2.1. Nếu b = 0 thì 2.1.1. Phương trình vô số nghiệm 2.1.2. Kết thúc thuật toán. 2.2. Ngược lại 2.2.1. Phương trình vô nghiệm. 2.2.2. Kết thúc thuật toán. 3. Ngược lại 3.1. Phương trình có nghiệm. 3.2. Giá trị của nghiệm đó là x = -b/a 3.3. Kết thúc thuật toán. Các khái niệm cơ bản về lập trình 7
  • 8. & VC BB Sử dụng lưu đồ - sơ đồ khối Khối giới hạn Chỉ thị bắt đầu và kết thúc. Khối vào ra Nhập/Xuất dữ liệu. Khối lựa chọn Tùy điều kiện sẽ rẽ nhánh. Khối thao tác Ghi thao tác cần thực hiện. Đường đi Chỉ hướng thao tác tiếp theo. Các khái niệm cơ bản về lập trình 8
  • 9. & VC BB Sử dụng lưu đồ - sơ đồ khối Bắt đầu Nhập a, b (hệ số của phương trình bậc nhất) Sai Đúng x  b / a a = 0? Xuất Sai Đúng Xuất Xuất b = 0? "Phương trình có nghiệm x" "Phương trình vô nghiệm" "Phương trình vô số nghiệm" Kết thúc Các khái niệm cơ bản về lập trình 9
  • 10. & VC BB Sử dụng mã giả Vay mượn ngôn ngữ nào đó (ví dụ Pascal) để biểu diễn thuật toán. Đầu vào: a, b thuộc R Đầu ra: nghiệm phương trình ax + b = 0 If a = 0 Then Begin If b = 0 Then Writeln “Phương trình vô số nghiệm” Else Writeln “Phương trình vô nghiệm” End Else Xuất “Phương trình có nghiệm x = -b/a” Các khái niệm cơ bản về lập trình 10
  • 11. & VC BB Cài đặt thuật toán bằng C/C++ #include <stdio.h> #include <conio.h> void main() { int nA, nB; printf(“Nhap a, b: ”); scanf(“%d%d”, &nA, &nB); if (bA == 0) if (nB == 0) printf(“Phương trình VSNn”); else printf(“Phương trình VNn”); else printf(“x = %.2fn”, (float)-nB/nA); } Các khái niệm cơ bản về lập trình 11
  • 12. & VC BB Bài tập 1. Thuật toán là gì? Trình bày các tính chất quan trọng của một thuật toán? 2. Các bước xây dựng chương trình? 3. Các cách biểu diễn thuật toán? Ưu và khuyết điểm của từng phương pháp? Cho ví dụ minh họa. Các khái niệm cơ bản về lập trình 12
  • 13. & VC BB Bài tập 4. Nhập năm sinh của một người. Tính tuổi người đó. 5. Nhập 2 số a và b. Tính tổng, hiệu, tính và thương của hai số đó. 6. Nhập tên sản phẩm, số lượng và đơn giá. Tính tiền và thuế giá trị gia tăng phải trả, biết: a. tiền = số lượng * đơn giá b. thuế giá trị gia tăng = 10% tiền Các khái niệm cơ bản về lập trình 13
  • 14. & VC BB Bài tập 7. Nhập điểm thi và hệ số 3 môn Toán, Lý, Hóa của một học sinh. Tính điểm trung bình của học sinh đó. 8. Nhập bán kính của đường tròn. Tính chu vi và diện tích của hình tròn đó. 9. Nhập vào số xe của bạn (gồm tối đa 5 chữ số). Cho biết số xe của bạn được mấy nút? 10.Nhập vào 2 số nguyên. Tính min và max của hai số đó. Các khái niệm cơ bản về lập trình 14