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

Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuậtĐề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuậtHưởng Nguyễn
 
Hướng dẫn sử dụng phần mềm packet tracer
Hướng dẫn sử dụng phần mềm packet tracerHướng dẫn sử dụng phần mềm packet tracer
Hướng dẫn sử dụng phần mềm packet tracerBình Tân Phú
 
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPTBÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPTMasterCode.vn
 
Giáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinGiáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinVõ Phúc
 
Bai02 he thong quan ly tap tin
Bai02   he thong quan ly tap tinBai02   he thong quan ly tap tin
Bai02 he thong quan ly tap tinVũ Sang
 
Bài giảng qui hoạch tuyến tính phương pháp đơn hình
Bài giảng qui hoạch tuyến tính phương pháp đơn hìnhBài giảng qui hoạch tuyến tính phương pháp đơn hình
Bài giảng qui hoạch tuyến tính phương pháp đơn hìnhThanh Hoa
 
Hệ điều hành (chương 5)
Hệ điều hành (chương 5)Hệ điều hành (chương 5)
Hệ điều hành (chương 5)realpotter
 
Bai13-Cau truc du lieu va giai thuat - Cay (Tree)
Bai13-Cau truc du lieu va giai thuat - Cay (Tree)Bai13-Cau truc du lieu va giai thuat - Cay (Tree)
Bai13-Cau truc du lieu va giai thuat - Cay (Tree)iwanttoit
 
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ệtMôi Trường Việt
 
Kiến trúc máy tính và hợp ngữ bài 04
Kiến trúc máy tính và hợp ngữ bài 04Kiến trúc máy tính và hợp ngữ bài 04
Kiến trúc máy tính và hợp ngữ bài 04Nhóc Nhóc
 
Slide he dieu hanh
Slide he dieu hanhSlide he dieu hanh
Slide he dieu hanhPhan Duy
 
Toán rời rạc-Dành cho sinh viên,người thi cao học
Toán rời rạc-Dành cho sinh viên,người thi cao họcToán rời rạc-Dành cho sinh viên,người thi cao học
Toán rời rạc-Dành cho sinh viên,người thi cao họcducmanhkthd
 
Phần 6: Hàm
Phần 6: HàmPhần 6: Hàm
Phần 6: HàmHuy Rùa
 
Xử lý ảnh PTIT
Xử lý ảnh PTITXử lý ảnh PTIT
Xử lý ảnh PTITTran Tien
 
Phần 4: Lệnh điều khiển và rẽ nhánh
Phần 4: Lệnh điều khiển và rẽ nhánhPhần 4: Lệnh điều khiển và rẽ nhánh
Phần 4: Lệnh điều khiển và rẽ nhánhHuy Rùa
 
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ánNguyễn Đức
 
Giáo trình xử lý ảnh
Giáo trình xử lý ảnhGiáo trình xử lý ảnh
Giáo trình xử lý ảnhTùng Trần
 

What's hot (20)

Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuậtĐề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
 
Hướng dẫn sử dụng phần mềm packet tracer
Hướng dẫn sử dụng phần mềm packet tracerHướng dẫn sử dụng phần mềm packet tracer
Hướng dẫn sử dụng phần mềm packet tracer
 
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPTBÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
 
Giáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinGiáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tin
 
Bai02 he thong quan ly tap tin
Bai02   he thong quan ly tap tinBai02   he thong quan ly tap tin
Bai02 he thong quan ly tap tin
 
Bài giảng qui hoạch tuyến tính phương pháp đơn hình
Bài giảng qui hoạch tuyến tính phương pháp đơn hìnhBài giảng qui hoạch tuyến tính phương pháp đơn hình
Bài giảng qui hoạch tuyến tính phương pháp đơn hình
 
Hệ điều hành (chương 5)
Hệ điều hành (chương 5)Hệ điều hành (chương 5)
Hệ điều hành (chương 5)
 
Bài giảng Assembly
Bài giảng AssemblyBài giảng Assembly
Bài giảng Assembly
 
Bai13-Cau truc du lieu va giai thuat - Cay (Tree)
Bai13-Cau truc du lieu va giai thuat - Cay (Tree)Bai13-Cau truc du lieu va giai thuat - Cay (Tree)
Bai13-Cau truc du lieu va giai thuat - Cay (Tree)
 
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
 
Kiến trúc máy tính và hợp ngữ bài 04
Kiến trúc máy tính và hợp ngữ bài 04Kiến trúc máy tính và hợp ngữ bài 04
Kiến trúc máy tính và hợp ngữ bài 04
 
Slide he dieu hanh
Slide he dieu hanhSlide he dieu hanh
Slide he dieu hanh
 
Ktmt chuong 5
Ktmt chuong 5Ktmt chuong 5
Ktmt chuong 5
 
Toán rời rạc-Dành cho sinh viên,người thi cao học
Toán rời rạc-Dành cho sinh viên,người thi cao họcToán rời rạc-Dành cho sinh viên,người thi cao học
Toán rời rạc-Dành cho sinh viên,người thi cao học
 
Chia subnetmask
Chia subnetmaskChia subnetmask
Chia subnetmask
 
Phần 6: Hàm
Phần 6: HàmPhần 6: Hàm
Phần 6: Hàm
 
Xử lý ảnh PTIT
Xử lý ảnh PTITXử lý ảnh PTIT
Xử lý ảnh PTIT
 
Phần 4: Lệnh điều khiển và rẽ nhánh
Phần 4: Lệnh điều khiển và rẽ nhánhPhần 4: Lệnh điều khiển và rẽ nhánh
Phần 4: Lệnh điều khiển và rẽ nhánh
 
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
 
Giáo trình xử lý ảnh
Giáo trình xử lý ảnhGiáo trình xử lý ảnh
Giáo trình xử lý ảnh
 

Viewers also liked

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ìnhChâu Trần
 
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 caoHoàng Hiệp Lại
 
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 FPTMasterCode.vn
 
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 FPTMasterCode.vn
 
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 FPTMasterCode.vn
 
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_danVõ Tâm Long
 
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ìnhHuy Rùa
 
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ánVan Vo
 
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 hocHồ 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
 
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 oct13Hieu Tran
 
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 malwarezynamics GmbH
 
Nmlt c01 cac_khainiemcoban_#ref
Nmlt c01 cac_khainiemcoban_#refNmlt c01 cac_khainiemcoban_#ref
Nmlt c01 cac_khainiemcoban_#refvitbau1412
 
Nmlt c00 gioi_thieumonhoc
Nmlt c00 gioi_thieumonhocNmlt c00 gioi_thieumonhoc
Nmlt c00 gioi_thieumonhocvitbau1412
 
Nmlt c12 mang2_chieu
Nmlt c12 mang2_chieuNmlt c12 mang2_chieu
Nmlt c12 mang2_chieuvitbau1412
 
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
 
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ươngNguyễn Công Hoàng
 
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 Xepquang
 
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 kiemgaconne1985
 

Viewers also liked (20)

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
 
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
 
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
 
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)
 
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 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
 

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

Nmlt c01 cac_khainiemcobanvelaptrinh_in
Nmlt c01 cac_khainiemcobanvelaptrinh_inNmlt c01 cac_khainiemcobanvelaptrinh_in
Nmlt c01 cac_khainiemcobanvelaptrinh_inHuy Nguyễn
 
Nmlt c01 cac_khainiemcobanvelaptrinh
Nmlt c01 cac_khainiemcobanvelaptrinhNmlt c01 cac_khainiemcobanvelaptrinh
Nmlt c01 cac_khainiemcobanvelaptrinhMinh Ngoc Tran
 
Nmlt c01 cac_khainiemcobanvelaptrinh
Nmlt c01 cac_khainiemcobanvelaptrinhNmlt c01 cac_khainiemcobanvelaptrinh
Nmlt c01 cac_khainiemcobanvelaptrinhKhánh Trần
 
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 TrinhCuong
 
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ÍNHTrần Nhân
 
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ÍNHTrần Nhân
 
Phần 12: Hàm (Nâng cao)
Phần 12: Hàm (Nâng cao)Phần 12: Hàm (Nâng cao)
Phần 12: Hàm (Nâng cao)Huy Rùa
 
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-tkttGiang Nguyễn
 
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.pdfHuyPhc9
 
Bai toan va thuat toan
Bai toan va thuat toanBai toan va thuat toan
Bai toan va thuat toanlethilien1993
 

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

Nmlt c01 cac_khainiemcobanvelaptrinh_in
Nmlt c01 cac_khainiemcobanvelaptrinh_inNmlt c01 cac_khainiemcobanvelaptrinh_in
Nmlt c01 cac_khainiemcobanvelaptrinh_in
 
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
 
Phần 12: Hàm (Nâng cao)
Phần 12: Hàm (Nâng cao)Phần 12: Hàm (Nâng cao)
Phần 12: Hàm (Nâng cao)
 
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
 

More from 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 tinHuy 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úcHuy Rùa
 
Phần 9: Chuỗi ký tự
Phần 9: Chuỗi ký tựPhần 9: Chuỗi ký tự
Phần 9: Chuỗi ký tựHuy Rùa
 
Phần 7: Mảng một chiều
Phần 7: Mảng một chiềuPhần 7: Mảng một chiều
Phần 7: Mảng một chiềuHuy Rùa
 
Phần 5: Câu lệnh lặp
Phần 5: Câu lệnh lặpPhần 5: Câu lệnh lặp
Phần 5: Câu lệnh lặpHuy Rùa
 
Phần 0: Giới thiệu
Phần 0: Giới thiệuPhần 0: Giới thiệu
Phần 0: Giới thiệuHuy Rùa
 

More from Huy Rùa (6)

Phần 11: Tập tin
Phần 11: Tập tinPhần 11: Tập tin
Phần 11: Tập tin
 
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 9: Chuỗi ký tự
Phần 9: Chuỗi ký tựPhần 9: Chuỗi ký tự
Phần 9: Chuỗi ký tự
 
Phần 7: Mảng một chiều
Phần 7: Mảng một chiềuPhần 7: Mảng một chiều
Phần 7: Mảng một chiều
 
Phần 5: Câu lệnh lặp
Phần 5: Câu lệnh lặpPhần 5: Câu lệnh lặp
Phần 5: Câu lệnh lặp
 
Phần 0: Giới thiệu
Phần 0: Giới thiệuPhần 0: Giới thiệu
Phần 0: Giới thiệu
 

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