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:  
Slide 1  
Nhập môn về lập trình (C1)  
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.  
Slide 2  
Nhập môn về lập trình (C1)  
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.  
Slide 3  
Nhập môn về lập trình (C1)  
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.  
Slide 4  
Nhập môn về lập trình (C1)  
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),  
• . . .  
Slide 5  
Nhập môn về lập trình (C1)  
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ể.  
Slide 6  
Nhập môn về lập trình (C1)  
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, ...  
Slide 7  
Nhập môn về lập trình (C1)  
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).  
Slide 8  
Nhập môn về lập trình (C1)  
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,  
...  
Slide 9  
Nhập môn về lập trình (C1)  
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.  
Slide 10  
Nhập môn về lập trình (C1)  
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).  
Slide 11  
Nhập môn về lập trình (C1)  
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  
Slide 12  
Nhập môn về lập trình (C1)  
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  
Slide 13  
Nhập môn về lập trình (C1)  
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  
Slide 14  
Nhập môn về lập trình (C1)  
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ảng 1989, cập lại vào khoảng 1999.  
Ứ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.  
Slide 15  
Nhập môn về lập trình (C1)  
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ồm 3 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.  
Slide 16  
Nhập môn về lập trình (C1)  
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.  
Slide 17  
Nhập môn về lập trình (C1)  
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)  
Slide 18  
Nhập môn về lập trình (C1)  
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)  
Slide 19  
Nhập môn về lập trình (C1)  
Dữ liệu và giải thuật  
Quan niệm về chương trình  
Quan điểm:  
• Chương trình là sự thể hiện giải thuật của bài toán bằng  
ngôn ngữ lập trình.  
• Do đó, chương trình là tập hợp các lệnh và dữ liệu được  
viết đúng cú pháp của ngôn ngữ lập trình.  
• Trình tự viết lệnh, sự kết hợp lệnh để tác động lên dữ liệu  
phải tuân thủ theo giải thuật của bài toán.  
Do đó, hai yếu tố quan trọng tạo thành chương trình  
1. Dữ liệu và cấu trúc để tổ chức dữ liệu.  
2. Giải thuật xử lý : cách giải bài toán, cách biến đổi dữ liệu  
từ dữ liệu ban đầu, dần dần đi đến kết quả.  
Slide 20  
Nhập môn về lập trình (C1)  
Tải về để xem bản đầy đủ
pdf 30 trang myanh 21520 Free
Bạn đang xem 20 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

File đính kèm:

  • pdfbai_giang_nhap_mon_ve_lap_trinh_chuong_1_gioi_thieu_ve_may_t.pdf