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ềuHuy Rùa
 
Bài giảng ngôn ngữ lập trình C cơ bản trường đại học công nghiệp thực phẩm TP...
Bài giảng ngôn ngữ lập trình C cơ bản trường đại học công nghiệp thực phẩm TP...Bài giảng ngôn ngữ lập trình C cơ bản trường đại học công nghiệp thực phẩm TP...
Bài giảng ngôn ngữ lập trình C cơ bản trường đại học công nghiệp thực phẩm TP...Thanh Giảng Lê
 
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
 
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
 
Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...
Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...
Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...MasterCode.vn
 
Các cấu trúc lệnh trong C
Các cấu trúc lệnh trong CCác cấu trúc lệnh trong C
Các cấu trúc lệnh trong Cpnanhvn
 
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ínhCao Toa
 
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ảnTuancute
 
Hd th sql server_tuan5_n_khanh
Hd th sql server_tuan5_n_khanhHd th sql server_tuan5_n_khanh
Hd th sql server_tuan5_n_khanhHai Rom
 
[Cntt] bài giảng lập trình java bkhcm
[Cntt] bài giảng lập trình java   bkhcm[Cntt] bài giảng lập trình java   bkhcm
[Cntt] bài giảng lập trình java bkhcmHong Phuoc Nguyen
 
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ảiTrung Thanh Nguyen
 
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.commai_non
 
Công thức vật lý lớp 11
Công thức vật lý lớp 11Công thức vật lý lớp 11
Công thức vật lý lớp 11Vô Ngã
 
2 matlab ly-thuyet_laptrinh_hamtoanhoc_
2 matlab ly-thuyet_laptrinh_hamtoanhoc_2 matlab ly-thuyet_laptrinh_hamtoanhoc_
2 matlab ly-thuyet_laptrinh_hamtoanhoc_Thân Văn Ngọc
 
Baitap uml mau_thầy trung
Baitap uml mau_thầy trungBaitap uml mau_thầy trung
Baitap uml mau_thầy trungleedavid123
 
Lập trình c++ có lời giải 2
Lập trình c++ có lời giải 2Lập trình c++ có lời giải 2
Lập trình c++ có lời giải 2Minh Ngoc Tran
 
Phân tích và thiết kế HTTT
Phân tích và thiết kế HTTTPhân tích và thiết kế HTTT
Phân tích và thiết kế HTTTLy hai
 

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
 
Bài giảng ngôn ngữ lập trình C cơ bản trường đại học công nghiệp thực phẩm TP...
Bài giảng ngôn ngữ lập trình C cơ bản trường đại học công nghiệp thực phẩm TP...Bài giảng ngôn ngữ lập trình C cơ bản trường đại học công nghiệp thực phẩm TP...
Bài giảng ngôn ngữ lập trình C cơ bản trường đại học công nghiệp thực phẩm TP...
 
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
 
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
 
Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...
Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...
Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...
 
Các cấu trúc lệnh trong C
Các cấu trúc lệnh trong CCác cấu trúc lệnh trong C
Các cấu trúc lệnh trong C
 
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
 
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
 
Lab lap trinhmang_v3
Lab lap trinhmang_v3Lab lap trinhmang_v3
Lab lap trinhmang_v3
 
Hd th sql server_tuan5_n_khanh
Hd th sql server_tuan5_n_khanhHd th sql server_tuan5_n_khanh
Hd th sql server_tuan5_n_khanh
 
[Cntt] bài giảng lập trình java bkhcm
[Cntt] bài giảng lập trình java   bkhcm[Cntt] bài giảng lập trình java   bkhcm
[Cntt] bài giảng lập trình java bkhcm
 
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 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
 
Công thức vật lý lớp 11
Công thức vật lý lớp 11Công thức vật lý lớp 11
Công thức vật lý lớp 11
 
2 matlab ly-thuyet_laptrinh_hamtoanhoc_
2 matlab ly-thuyet_laptrinh_hamtoanhoc_2 matlab ly-thuyet_laptrinh_hamtoanhoc_
2 matlab ly-thuyet_laptrinh_hamtoanhoc_
 
400 câu hỏi thi trắc nghiệm ASP.NET có đáp án - Thiết kế website kinh doanh 2
400 câu hỏi thi trắc nghiệm ASP.NET có đáp án - Thiết kế website kinh doanh 2400 câu hỏi thi trắc nghiệm ASP.NET có đáp án - Thiết kế website kinh doanh 2
400 câu hỏi thi trắc nghiệm ASP.NET có đáp án - Thiết kế website kinh doanh 2
 
Baitap uml mau_thầy trung
Baitap uml mau_thầy trungBaitap uml mau_thầy trung
Baitap uml mau_thầy trung
 
Lập trình c++ có lời giải 2
Lập trình c++ có lời giải 2Lập trình c++ có lời giải 2
Lập trình c++ có lời giải 2
 
Phân tích và thiết kế HTTT
Phân tích và thiết kế HTTTPhân tích và thiết kế HTTT
Phân tích và thiết kế HTTT
 
Cac lenh trong matlab
Cac lenh trong matlabCac lenh trong matlab
Cac lenh trong matlab
 

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
 
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
 
Nmlt c03 cac_kieudulieucoso_in
Nmlt c03 cac_kieudulieucoso_inNmlt c03 cac_kieudulieucoso_in
Nmlt c03 cac_kieudulieucoso_inHuy 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à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
 
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
 
Nmlt c03 cac_kieudulieucoso_in
Nmlt c03 cac_kieudulieucoso_inNmlt c03 cac_kieudulieucoso_in
Nmlt c03 cac_kieudulieucoso_in
 

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

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

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