Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình

Nội dung

Tổ chức máy tính.

Ngôn ngữ lập trình.

Các công việc trong lập trình.

Dữ liệu và giải thuật.

Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình trang 1

Trang 1

Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình trang 2

Trang 2

Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình trang 3

Trang 3

Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình trang 4

Trang 4

Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình trang 5

Trang 5

Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình trang 6

Trang 6

Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình trang 7

Trang 7

Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình trang 8

Trang 8

Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình trang 9

Trang 9

Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 30 trang xuanhieu 5400
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình

Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
 Giới thiệu về 
 máy tính và lập trình 
 Presenter: 
Nhập môn về lập trình (C1) Slide 1 
 Learning outcomes 
 Đây là môn học đầu tiên về lập trình, dành cho 
 sinh viên chưa có kiến thức nào về lập trình 
 trước đó. 
  Môn học giúp sinh viên có kiến thức về máy 
 tính và rèn luyện kỷ năng lập trình thông qua 
 ngôn ngữ C. 
Nhập môn về lập trình (C1) Slide 2 
 Nội dung 
 Tổ chức máy tính. 
 Ngôn ngữ lập trình. 
 Các công việc trong lập trình. 
 Dữ liệu và giải thuật. 
Nhập môn về lập trình (C1) Slide 3 
 Tổ chức máy tính 
 Máy tính là gì? 
 Máy tính là thiết bị có khả năng thực hiện tính toán và ra quyết 
 định. 
 Máy tính hoạt động dựa trên nguyên lýlà chạy các chương trình 
 đã được định sẳn. 
 Hiện nay, máy tính có thể được “nhúng” vào các thiết bị dân 
 dụng như xe hơi, đồng hồ, điện thoại, máy tính phổ thông, v.v. 
Nhập môn về lập trình (C1) Slide 4 
 Tổ chức máy tính 
 Phần cứng (hardware) 
  Gồm các bộ phận dùng để lắp ráp thành bộ máy tính như : 
 • Hộp máy (case), 
 • Bo mạch chủ (mainboard, motherboard), 
 • Bàn phím (keyboard), 
 • Màn hình (display), 
 • Chuột (mouse), 
 • Thanh bộ nhớ (memory), 
 • Ổ đĩa cứng HDD (Hard Disk Drive), 
 • Bộ cấp nguồn (power supply), 
 • Dây nối (cables), 
 • . . . 
Nhập môn về lập trình (C1) Slide 5 
 Tổ chức máy tính 
 Phần mềm (software) 
  Gồm các chương trình cài đặt sẳn giúp vận hành máy 
 tính theo nhiều mục đích khác nhau. 
  Hệ điều hành (operating system) : cho phép quản lý 
 và khai thác tất cả phần cứng có trong máy tính. 
  Công cụ lập trình (programming tools) : cho phép 
 người sử dụng tạo ra thêm phần mềm mới trên máy, 
 mở rộng phạm vi ứng dụng của máy tính. 
  Phần mềm ứng dụng (applications) : cho phép khai 
 thác máy tính theo mục đích cụ thể. 
Nhập môn về lập trình (C1) Slide 6 
 Tổ chức máy tính 
 Thành phần cơ bản của máy tính 
 1. Khối nhập Input Unit 
 . Gồm những thiết bị (devices) cho phép 
 người dùng đưa dữ liệu vào máy tính. 
 . Các thiết bị điển hình: bàn phím, chuột, 
 màn hình cảm ứng, v.v. 
 2. Khối xuất Output Unit 
 . Là tập hợp các thiết bị giúp máy tính trình 
 bày kết quả với người dùng hay điều khiển 
 các thiết bị khác. 
 . Các thiết bị điển hình: màn hình, máy in, 
 các cổng điều khiển USB, ... 
Nhập môn về lập trình (C1) Slide 7 
 Tổ chức máy tính 
 Memory - ALU 
 3. Bộ nhớ chính Main memory 
 . Là bộ phận giúp máy tính lưu trữ thông 
 tin (chương trình và dữ liệu) dùng trong 
 quá trình tính toán. 
 . Phân loại : 
 ROM (Read Only Memory) 
 RAM (Random Access Memory). 
 4. Bộ số học luận lý Arithmetic and 
 Logic Unit (ALU) 
 . Là đơn vị đảm nhiệm chức năng tính 
 toán các phép số học (+, -, *, /, ...) và 
 luận lý (Not, And, Or, Xor). 
Nhập môn về lập trình (C1) Slide 8 
 Tổ chức máy tính 
 CPU - Storage 
 5. Bộ xử lý trung tâm - Central 
 Processing Unit (CPU) 
 . Giám sát và điều hành mọi hoạt động 
 trong máy tính. 
 6. Bộ nhớ thứ cấp - Secondary 
 memory/storage Unit 
 . Gồm những thiết bị giúp máy tính 
 lưu trữ lượng lớn dữ liệu lâu dài. 
 . Các thiết bị điển hình: Đĩa cứng 
 (HDD), SSD, USB drive, CD R/W, 
 ... 
Nhập môn về lập trình (C1) Slide 9 
 Tổ chức máy tính 
 Sơ đồ khối của một máy tính 
 Để điều khiển các 
 thiết bị phần cứng 
 như hình bên, chúng 
 ta cần chương trình 
 máy tính. 
 Để tạo ra chương 
 trình máy tính, 
 chúng ta cần ngôn 
 ngữ lập trình. 
Nhập môn về lập trình (C1) Slide 10 
 Ngôn ngữ lập trình 
 Tổng quan 
  Ngôn ngữ lập trình (Programming language) 
 • Là một ngôn ngữ hình thức (formal language), khác với ngôn 
 ngữ tự nhiên (natural language), như ngôn ngữ lập trình C sẽ 
 được học trong môn học này. 
 • Mục đích: cho phép con người (lập trình viên) tạo ra chương 
 trình máy tính. 
  Ba cấp độngôn ngữ lập trình : 
 1.Ngôn ngữ máy (machine language). 
 2.Ngôn ngữ hợp ngữ (assembly language). 
 3.Ngôn ngữ cấp cao (high-level language). 
Nhập môn về lập trình (C1) Slide 11 
 Ngôn ngữ lập trình 
 Phân loại 
  Ngôn ngữ máy 
 • Dạng thức là số, đặc tả các lệnh của máy tính. 
 • Mỗi kiểu CPU có tập lệnh riêng. 
 • Ngày nay, rất khó có thể ra lệnh trực tiếp kiểu này cho các 
 chương trình thực tế và lớn. Chuỗi lệnh số sẽ được sinh ra tự 
 động từ bộ chuyển ngữ (compiler) từ ngôn ngữ cấp cao sang. 
 • Ví dụ: 
 +1300042774 
 +1400593419 
 +1200274027 
Nhập môn về lập trình (C1) Slide 12 
 Ngôn ngữ lập trình 
 Các loại 
  Ngôn ngữ Assembly (hợp ngữ) 
 • Sử dụng các từ viết tắc trong tiếng Anh để biểu diễn các tác 
 vụ tính toán cơ bản 
 • Bộ chuyển ngữ (sang mã máy) cho ngôn ngữ này là 
 “Assembler”. 
 • Ngày nay, ngôn ngữ này vẫn còn được sử dụng, và thường 
 kết hợp với ngôn ngữ cấp cao. Nó được dùng để tối ưu một 
 số khối xử lý trong toàn bộ chương trình. 
 • Ví dụ: 
 LOAD BASEPAY 
 ADD OVERPAY 
 STORE GROSSPAY 
Nhập môn về lập trình (C1) Slide 13 
 Ngôn ngữ lập trình 
 Các loại 
  Ngôn ngữ cấp cao 
 • Mã được viết ra gần với ngôn ngữ tự nhiên, so với mã của các loại ngôn 
 ngữ khác. Tên các biến, hằng, hàm, etc do người lập trình đặt có cú pháp 
 dễ đọc. Các cấu trúc điều khiển cũng dễ đọc hơn rất nhiều. 
 • Bộ chuyển ngữ (sang mã máy hay mã trung gian) cho loại ngôn ngữ này 
 là bộ biên dịch (compiler) hay thông dịch (interpreter). 
 • Ngày nay, ngôn ngữ loại là phổ thông nhất, như, C, C++, C#, Java, etc 
 • Ví dụ: 
 grossPay = basePay + overTimePay 
Nhập môn về lập trình (C1) Slide 14 
 Ngôn ngữ lập trình 
 Ngôn ngữ lập trình C 
  Viết tắt trong môn học 
 • Ngôn ngữ C 
 • Hay ngắn gọn:C 
  Lịch sử 
 • Tiến hóa từ ngôn ngữ lập trình trước đó là “B” và “BCPL” 
 • “Traditional C” là một tiến hóa của C vào khoảng gần 1970 
 • Có nhiều biến thể của C tồn tại và chúng không tương thích nhau, i.e., bộ
 chuyển ngữ không hiểu mã nguồn C được viết cho bộ chuyển ngữ khác.
 • “Standard C” xuất hiện vào khoảng1989 , cập lại vào khoảng1999 . 
  Ứng dụng quan trọng 
 • Được dùng để phát triển các hệ điều hành nổi tiếng và hiện đại như UNIX
 và Linux 
 • Được dùng để phát triển các chương trình chạy trên các thiết bị nhúng, 
 như, nhúng vào xe hơi, máy móc y tế, etc. 
Nhập môn về lập trình (C1) Slide 15 
 Ngôn ngữ lập trình 
 Ngôn ngữ lập trình C 
  C trong cái nhìn của người lập trình 
 • Cung cấp ngôn ngữ, cú pháp đơn giản, cung cấp 
 Về điều khiển: chỉ gồm3 kiểu cấu trúc điều khiển để chuyển hướng 
 thực thi 
 Về dữ liệu: cung cấp các kiểu cơ bản, mảng, con trỏ, tập tin. Cho 
 phép người dùng định nghĩa kiểu mới. 
 • Có bộ chuyển ngữ đi kèm
  Để chuyển mã C sang mã đích 
 • Có thu viện các hàm có sẵn để làm nhiều quan trọng. 
  Sự thật là không có chương trình nào mà người dùng viết 100% các 
 dòng mã. Tất cả chúng điều dùng lại (gọi hàm) các hàm có sẵn trong 
 thư viện để làm nhiều việc. 
Nhập môn về lập trình (C1) Slide 16 
 Ngôn ngữ lập trình 
 Ngôn ngữ lập trình C 
  C và ngôn ngữ mở rộng của nó (là C++) 
 • C là nền tảng của ngôn ngữ mở rộng của nó là C++, khá nổi
 tiếng 
 • C++ bổ sung thêm vào C những khả năng mới giúp dễ dàng 
 tổ chức các chương trình lớn. Những tính năng khác, C++ 
 dùng của C. Do đó, dùng được C là nền tảng để học C++ 
 • Những tính năng mới 
 Tham khảo (reference): Một chức năng mới cho phép truy xuất một 
 vùng nhớ qua một tên gọi khác. 
 Hướng đối tượng (Object-Oriented): Đây là bổ sung quan trọng nhất, 
 hướng đến một triết lý lập trình khác. Ở đó, chương trình là tập các 
 đối tượng tương tác nhau để hoàn thành công việc. 
Nhập môn về lập trình (C1) Slide 17 
 Các công việc trong lập trình 
 Tạo lập chương trình 
 Soạn thảo mã nguồn 
 • Đối tượng thực hiện: Người lập trình 
 • Công cụ cần đến: 
  Trình soạn thảo đơn giản như NOTEPAD. Nhưng ít khi được dùng 
  Trình soạn thảo tích hợp trong IDE (Integrated Development 
 Environment) 
 • Đầu ra: tập tin mã nguồn, dạng văn bản đọc được 
 Tiền xử lý (Preprocess) 
 • Đối tượng thực hiện: Preprocessor (bộ tiền xử lý), thuộc IDE 
 • Công việc thực hiện: tiền xử lý chương trình, như, thay các “macro” trong 
 bởi phần định nghĩa của nó, chèn các tập tin khai báo thư viện (v.d., 
 stdio.h) 
Nhập môn về lập trình (C1) Slide 18 
 Các công việc trong lập trình 
 Tạo lập chương trình 
 Biên dịch (Compile) 
 • Đối tượng thực hiện: Compiler (bộ biên dịch), thuộc IDE
 • Công việc thực hiện: Chuyển mã, từ mã C sang mã đối tượng, cho từng
 tập tin mã nguồn 
 Liên kết (Link) 
 • Đối tượng thực hiện: Linker (bộ liên kết), thuộc IDE
 • Công việc thực hiện: Liên kết các tập tin mã đối tượng và thư viện của C
 để tạo chương trình thực thi 
 • Đầu ra: tập tin thực thi (*.exe) 
Nhập môn về lập trình (C1) Slide 19 
 Dữ liệu và giải thuật 
 Quan niệm về chương trình 
  Quan điểm: 
 • Chương trình là những chuỗi lệnh, được chọn lựa bởi các 
 cấu trúc điều khiển, để xử lý dữ liệu 
  Do đó, hai yếu tố quan trọng tạo thành chương trình 
 1. Dữ liệuvà cấu trúc để tổ chức dữ liệu 
 2. Giải thuật xử lý, nghĩa là, các chuỗi của những lệnh nào 
 và chọn lựa thực thi ra sao 
Nhập môn về lập trình (C1) Slide 20 
 Dữ liệu và giải thuật 
 Dữ liệu 
  Kiểu dữ liệu cơ bản 
 Kiểu số 
 • Số nguyên: int 
 • Số thực chấm động: float, double 
 Kiểu ký tự/ chuỗi : char 
 Kiểu void: void 
 Kiểu luận lý: bool (bổ sung bởi C++) 
 Kiểu enum 
 Kiểu dữ liệu do người lập trình định nghĩa: struct 
 Kiểu dẫn xuất: array, pointer 
 Xem thêm: 
Nhập môn về lập trình (C1) Slide 21 
 Dữ liệu và giải thuật 
 Giải thuật 
  Giải thuật là gì? 
 • Là các bước để giải quyết một bài toán 
  Bằng cách nào mô tả giải thuật 
 • Dùng mã giả (pseudocode) 
 • Dùng lưu đồ (flowchart) 
 • Dùng chính mã lập trình 
Nhập môn về lập trình (C1) Slide 22 
 Dữ liệu và giải thuật 
 Mã giả 
  Mã giả là ngôn ngữ nháy (bắt chước) theo một ngôn ngữ lập 
 trình nào đó nhưng không bị ràng buộc bởi quy định nào của cú 
 pháp. 
  Ví dụ : 
 Nhập biến n cho đến khi n không nhỏ hơn 0 
 Gọi hàm n giai thừa 
 Hiện kết quả ra màn hình 
Nhập môn về lập trình (C1) Slide 23 
 Dữ liệu và giải thuật 
 Mã giả 
 Pseudocode = English/Vietnamese + Code 
 Cú pháp không còn chặt chẽ Lệnh điều khiển thực thi 
 Để hổ trợ việc dễ đọc 1.Tuần tự 
 2.Rẽ nhánh 
 3.Lặp 
Nhập môn về lập trình (C1) Slide 24 
 Dữ liệu và giải thuật 
 Mã giả 
 Phần đầu của giải thuật 
 Phần thân của giải 
 thuật 
Nhập môn về lập trình (C1) Slide 25 
 Dữ liệu và giải thuật 
 Mã giả 
  Phần đầu của giải thuật  Phần thân của giải thuật 
 . Tên giải thuật . Các phát biểu 
 . Thông số và kiểu của nó . Chỉ số phát biểu 
 . Mục đích của giải thuật . Các biến 
 . Điều kiện cần thỏa trước . Chú thích 
 khi giải thuật thực thi . Các cấu trúc điều khiển 
 . Điều kiện cần thỏa sau khi 
 giải thuật thực thi 
 . Giá trị trả về 
Nhập môn về lập trình (C1) Slide 26 
 Dữ liệu và giải thuật 
 Mã giả 
 Algorithm average( N là số nguyên) 
 Preconsition: N lớn hơn hay bằng 0 
 Postcondition: các số được đọc và giá trị trung bình của chúng 
 được in ra màn hình 
 sum = 0 
 for i = 1 to N do 
 number = đọc một giá trị từ bàn phím 
 sum = sum + number 
 end-for 
 averaged = sum / N 
 xuất averaged ra màn hình 
 return 
 End average 
Nhập môn về lập trình (C1) Slide 27 
 Dữ liệu và giải thuật 
 Các phần tử dùng trong lưu đồ 
 Bắt đầu 
 Xuất / Nhập 
 Luồng 
 Kết thúc điều 
 khiển 
 Xử lý 
 Quyết 
 định 
 S 1 
 Đ Sang trang 
Nhập môn về lập trình (C1) Slide 28 
 Xác định sốnguyên tố 
 a c 
 Bắt đầu b 
 Nhập n đếm = đếm + 1 
 đếm = 2 
 S 
 đếm > n / 2 ? 
 Đ 
 n MOD đếm = 0 ? Đ 
 Nguyên tố 
 S Không nguyên tố 
 b a c Kết thúc 
Nhập môn về lập trình (C1) Slide 29 
 Dữ liệu và giải thuật 
 Mã lập trình 
 Mục tiêu: 
 • Mã được viết bởi ngôn ngữ lập trình như C 
 • Chỉ dùng để trao đổi giữa những người có chuyên môn với 
 nhau. 
 • Có thể chuyển ngữ dễ dàng và có chương trình thực thi ngay. 
 Không nên dùng mã này để trình bày cho các đối 
 tượng người dùng không chuyên nghiệp. 
Nhập môn về lập trình (C1) Slide 30 

File đính kèm:

  • pdfbai_giang_nhap_mon_ve_lap_trinh_chuong_1_gioi_thieu_ve_may_t.pdf