1. Trang chủ
  2. » Công Nghệ Thông Tin

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

30 18 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 30
Dung lượng 891,56 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 có nội dung xoay quanh các vấn đề như 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... Mời các bạn cùng tham khảo chi tiết nội dung bài giảng.

Trang 1

Giới thiệu về

máy tính và lập trình

Presenter:

Trang 2

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

Trang 3

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

Trang 4

Tổ chức máy tính

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

Trang 5

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

Trang 6

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ể

Trang 7

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,

Trang 8

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)

Trang 9

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,

Trang 10

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

Trang 11

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)

Trang 12

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

Trang 13

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

Trang 14

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

Trang 15

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

Trang 16

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

Trang 17

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,

Trang 18

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

Trang 19

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)

Trang 20

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ệu và 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

Trang 21

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

Trang 22

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

Trang 23

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

Trang 24

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

Trang 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

Trang 26

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

Mã giả

 Phần đầu của giải thuật

 Tên giải thuật

 Thông số và kiểu của nó

 Mục đích của giải thuật

 Điều kiện cần thỏa trước

khi giải thuật thực thi

 Điều kiện cần thỏa sau khi

giải thuật thực thi

Trang 27

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

Trang 28

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

Các phần tử dùng trong lưu đồ

Đ

Sang trang

Luồng điều khiển

Trang 29

Xác định số nguyên tố

Trang 30

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

Ngày đăng: 07/07/2021, 09:26

HÌNH ẢNH LIÊN QUAN

 Các thiết bị điển hình: bàn phím, chuột, màn hình cảm ứng, v.v.  - 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
c thiết bị điển hình: bàn phím, chuột, màn hình cảm ứng, v.v. (Trang 7)
 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, ...  - 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
c thiết bị điển hình: màn hình, máy in, các cổng điều khiển USB, ... (Trang 7)
 Các thiết bị điển hình: Đĩa cứng (HDD),  SSD,  USB  drive,  CD  R/W,  ...  - 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
c thiết bị điển hình: Đĩa cứng (HDD), SSD, USB drive, CD R/W, ... (Trang 9)
Tổ chức máy tí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
ch ức máy tính (Trang 9)
được in ra màn hì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
c in ra màn hình (Trang 27)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm