Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Kỹ thuật lập trình 1
PREMIUM
Số trang
126
Kích thước
2.4 MB
Định dạng
PDF
Lượt xem
911

Kỹ thuật lập trình 1

Nội dung xem thử

Mô tả chi tiết

TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THỦ ĐỨC

Khoa Công Nghệ Thông Tin

TÀI LIỆU GIẢNG DẠY | BẬC CAO ĐẲNG

KỸ THUẬT LẬP TRÌNH 1

| 2016 – Lưu hành nội bộ |

Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang i

LỜI TÁC GIẢ

Quyển giáo trình này được biên soạn dựa theo đề cương môn học “Kỹ thuật

lập trình 1” của Khoa Công nghệ thông tin Trường Cao đẳng Công nghệ Thủ

Đức.

Giáo trình tham khảo cho một môn học sẽ không tránh khỏi những sai sót về

nội dung lẫn hình thức, nhóm biên soạn rất mong nhận được sự g p chân

thành từ các qu thầy cô và các em sinh viên để giáo trình hoàn thiện hơn.

Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang ii

GIỚI THIỆU

Khi xây dựng và phát triển chương trình đ{o tạo theo hướng tiếp cận CDIO, học

phần Kỹ thuật lập trình là kiến thức bắt buộc phải có với sinh viên các ngành

Công Nghệ Thông Tin, Truyền Thông Và Mạng Máy Tính. Đ}y l{ học phần cơ sở

nhằm trang bị các kiến thức cơ bản về lập trình, giúp sinh viên có thể tiếp tục

theo học các môn chuyên ngành Công nghệ thông tin. Thông qua các hoạt động

học tập, sinh viên còn có thể hoàn thiện dần tính chủ động, tích cực, khả năng

tự học, tư duy hệ thống, kỹ năng l{m việc nhóm, kỹ năng giao tiếp điện tử và

thói quen tuân thủ c|c quy định làm việc trong môi trường chuyên nghiệp.

Quyển gi|o trình n{y được biên soạn dựa theo đề cương môn học “Kỹ thuật lập

trình 1” của Khoa Công nghệ thông tin - Trường Cao đẳng Công nghệ Thủ Đức

để làm tài liệu tham khảo chính.

Giáo trình tham khảo cho một môn học sẽ không tránh khỏi những sai sót về

nội dung lẫn hình thức, nhóm biên soạn rất mong nhận được sự go p y cha n

thành từ ca c quy thầy cô v{ c|c em sinh viên để giáo trình hoàn thiện hơn.

Mọi góp ý xin vui lòng gửi về địa chỉ email [email protected]. Xin chân thành cảm

ơn!

Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang iii

MỤC LỤC

1. TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH ................................................................1

1.1| GIỚI THIỆU .....................................................................................................................2

1.2| LỊCH SỬ PHÁT TRIỂN NGÔN NGỮ LẬP TRÌNH..............................................3

1.3| CÁC DẠNG NGÔN NGỮ LẬP TRÌNH......................................................................8

1.4| CÁC CÔNG CỤ NGÔN NGỮ LẬP TRÌNH............................................................16

1.5| CẤU TRÚC MỘT CHƯƠNG TRÌNH C++ ............................................................21

1.6| GIẢI THUẬT VÀ ĐẶC TẢ GIẢI THUẬT..............................................................24

2. CÁC KIỂU DỮ LIỆU, HẰNG, BIẾN.............................................................................29

2.1| TẬP KÝ TỰ DÙNG TRONG C++............................................................................30

2.2| TỪ KHÓA.......................................................................................................................30

2.3| TÊN VÀ CÁCH ĐẶT TÊN.........................................................................................31

2.4| CÁC KIỂU DỮ LIỆU CƠ BẢN .................................................................................31

2.5| BIẾN................................................................................................................................33

2.6| HẰNG ..............................................................................................................................35

3. TOÁN TỬ VÀ BIỂU THỨC............................................................................................38

3.1| CÁC LOẠI TOÁN TỬ..................................................................................................39

3.2| BIỂU THỨC...................................................................................................................51

3.3| CÂU LỆNH CIN, COUT.............................................................................................52

4. CẤU TRÚC CHỌN.............................................................................................................57

Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang iv

4.1| KHÁI NIỆM ...................................................................................................................58

4.2| CẤU TRÚC ĐIỀU KIỆN.............................................................................................58

4.3| CẤU TRÚC SWITCH … CASE .................................................................................67

5. CẤU TRÚC LẶP .................................................................................................................73

5.1| KHÁI NIỆM ...................................................................................................................74

5.2| CẤU TRÚC LẶP FOR..................................................................................................74

5.3| CẤU TRÚC LẶP WHILE............................................................................................78

5.4| CẤU TRÚC LẶP DO … WHILE...............................................................................82

5.5| PHÂN BIỆT CÁC CẤU TRÚC LẶP.........................................................................85

5.6| CÂU LỆNH BREAK VÀ CONTINUE .....................................................................87

5.7| CÂU LỆNH RETURN .................................................................................................90

5.8| CÂU LỆNH GOTO .......................................................................................................90

6. HÀM.....................................................................................................................................93

6.1| KHÁI NIỆM ...................................................................................................................94

6.2| HÀM DO NGƯỜI DÙNG ĐỊNH NGHĨA...............................................................95

6.3| TRUYỀN THAM SỐ CHO HÀM..............................................................................98

6.4| TẦM VỰC CỦA BIẾN..............................................................................................102

7. MẢNG MỘT CHIỀU.....................................................................................................105

7.1| GIỚI THIỆU ...............................................................................................................106

7.2| KHAI BÁO VÀ KHỞI TẠO.....................................................................................106

7.3| TRUY XUẤT MẢNG.................................................................................................108

7.4| MỘT SỐ ỨNG DỤNG TRÊN MẢNG...................................................................117

Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang 1

1. TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH

Chương n{y nhằm giới thiệu cho sinh viên các khái

niệm cơ bản về lập trình, về các dạng ngôn ngữ lập

trình, c|c phương ph|p lập trình hiện có. Ngoài ra

cũng cung cấp cho sinh viên cách thức để phân tích

một bài toán và mô tả giải thuật cho một bài toán

Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang 2

1.1| GIỚI THIỆU

Chương trình – Programs / Applications: Ðó là tập các chỉ thị (instructions)

được sắp xếp theo một trật tự định trước nhằm hướng dẫn máy tính thực hiện

c|c thao t|c, h{nh động cần thiết để đ|p ứng một mục tiêu đ~ định trước của

con người như truy xuất dữ liệu, tìm kiếm, giải bài toán, ...Các chỉ thị này có thể

được viết bằng nhiều ngôn ngữ lập trình khác nhau.

Ngôn ngữ lập trình - Programming languages: là tập từ ngữ và ký hiệu cho

phép lập trình viên (programmers) hoặc người dùng có thể giao tiếp với máy

tính. Cũng giống như tiếng Anh, tiếng Tây Ban Nha hoặc tiếng Trung Quốc và

những ngôn ngữ tiếng nói khác, ngôn ngữ lập trình cũng có c|c luật được gọi là

cú ph|p (syntax) để đảm bảo ngôn ngữ đó được vận dụng một cách chính xác.

Một số ngôn ngữ lập trình thông dụng như C++, Visual Basic, C#, Java, Python.

Lập trình viên – Programmers: là người có thể thiết kế, xây dựng và bảo trì

c|c chương máy tính hoặc phần mềm. Bằng c|ch thao t|c c|c đoạn mã hoặc các

ngôn ngữ trên các công cụ lập trình.

Công cụ lập trình - Programming tools / Developer tools: công cụ lập trình

hay công cụ phát triển phần mềm là một chương trình m|y tính m{ c|c nh{

phát triển phần mềm sử dụng để tạo (create), gỡ rối (debug), duy trì

(maintain), hoặc thực hiện các hỗ trợ kh|c cho c|c chương trình hoặc các ứng

dụng.

Công việc của một lập trình viên

Công việc của người lập trình được gọi l{ software engineering. Để làm ra một

phần mềm, trước hết người ta phải tạo ra một “bản thiết kế” (framework), mỗi

lập trình viên đảm nhiệm một phần việc, sau đó c|c phần được kết nối lại tạo

thành một sản phẩm hoàn chỉnh. Lập trình viên được ví là những thợ “coding”

(người ngồi gõ những dòng lệnh (code) trên máy tính), làm ra các phần mềm

hoặc chỉnh sửa, phát triển nó dựa trên các công cụ lập trình

Các kỹ năng cần thiết của một lập trình viên:

Nghề lập trình đòi hỏi sự sáng tạo cũng như c|c kỹ năng đ|nh gi|, ph}n tích yêu

cầu của dự |n, đưa ra c|c giải pháp thiết kế hoặc cách tiếp cận công nghệ mới.

Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang 3

Để trở thành một lập trình viên giỏi, bạn cần thường xuyên rèn luyện các kỹ

năng sau:

 Kỹ năng ph}n tích

 Kỹ năng giao tiếp

 Tính sáng tạo

 Kỹ năng dịch vụ khách hàng

 Định hướng một cách chi tiết

 Kỹ năng giải quyết vấn đề

 Kỹ năng làm việc theo nhóm

 Kỹ năng công nghệ

1.2| LỊCH SỬ PHÁT TRIỂN NGÔN NGỮ LẬP TRÌNH

Ngôn ngữ lập trình (programming language) là một tập con của ngôn ngữ

máy tính. Đ}y l{ một dạng ngôn ngữ được thiết kế và chuẩn hóa (đối lập với

ngôn ngữ tự nhiên) để truyền các chỉ thị cho máy tính (hoặc máy khác có bộ xử

lí). Ngôn ngữ lập trình có thể được dùng để tạo ra c|c chương trình nhằm mục

đích điều khiển máy tính hoặc mô tả các thuật to|n để người kh|c đọc hiểu.

C|c lĩnh vực ứng dụng của ngôn ngữ lập trình:

- Nghiên cứu khoa học: Fortran, C, Matlab, …

- Lập trình hệ thống: C, C++, …

- Tính toán trong kinh doanh: Java, C#, …

- Trí tuệ nhântạo: LISP, …

- Xử lý văn bản: Perl, Python, …

- Mục đích đặc biệt cho NNLT: make, sh-shell, …

Sơ lược các mốc lịch sử phát triển ngôn ngữ lập trình như sau:

Năm 1943: nữ b| tước Ada Lovelace được công nhận với ngôn ngữ máy tính

đầu tiên , đ~ viết một thuật toán cho Máy phân tích (một loại m|y tính cơ đời

đầu).

Năm 1957 – 1959: FORTRAN, LISP. COBOL là các ngôn ngữ bậc cao l}u đời

nhất được tạo ra để phục vụ cho nghiên cứu khoa học, toán học và tính toán

thương mại. Được dùng bởi NASA, các phần mềm quản lý thẻ ngân hàng, các

Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang 4

máy ATM. Một bộ phim h{nh động “ The Terminator” đ~ dùng một đoạn mã

COBOL trong đoạn chữ ở mục giới thiệu về bộ phim này.

Năm 1970: nhà toán học, vật lý học người Ph|p Blaise Pascal đ~ đề xuất ngôn

ngữ lập trình bậc cao PASCAL dùng cho giảng dạy lập trình cấu trúc và cấu trúc

dữ liệu. Ngôn ngữ dẫn xuất Object Pascal được dùng phát triển các ứng dụng

trên Windows. Một số ứng dụng nổi tiếng sử dụng ngôn ngữ Pascal như: Apple

Lisa (1983), Skype, …

Năm 1972: Giữa những năm 1969 v{ 1974, phát triển khởi đầu của C diễn ra

tại phòng thí nghiệm Bell của tập đo{n AT&T (Hoa Kỳ) được thực hiện

bởi Brian W.Kernighan và Dennis Ritchie, là ngôn ngữ đa năng bậc thấp. Theo

Ritchie thì thời gian sáng tạo nhất l{ v{o năm 1972. Nó được đặt tên là C vì

nhiều đặc tính của nó rút ra từ các ngôn ngữ trước đó l{ B và BCPL. Mục đích

của phát triển trên là tạo ra được một ngôn ngữ lập trình bậc cao có thể khả

năng chuyển đổi dễ dàng từ hệ thống này sang hệ thống khác thay thế

cho ngữ trong việc lập trình hệ thống. Cũng v{o thời gian đó, người ta muốn

viết lại hệ điều hành UNIX để có thể c{i đặt được hệ điều hành này trên

nhiều kiến trúc máy tính khác nhau.Tính khả chuyển của UNIX là lí do chính

khiến cho nó và C trở nên nổi tiếng. Vì hầu hết c|c chương trình hệ thống sau

đó đều được viết bằng C, việc viết thêm c|c chương trình mới bằng C l{ điều

khá dễ hiểu.

C là nguồn gốc của nhiều ngôn ngữ dẫn xuất bao gồm C#, Java,

JavaScript, Perl, PHP và Python. Ngôn ngữ C được dùng phổ biến trong lập trình

nền tảng (platform), lập trình hệ thống, lập trình UNIX, phát triển ứng dụng trò

chơi điện tử. Các ứng dụng www trên hệ thống máy chủ (server) và máy khách

(client) đời đầu cũng được viết bằng ngôn ngữ C.

Năm 1983: Bjarne Stroustrup, một nhà khoa học m|y tính người Đan Mạch, đ~

bắt đầu làm việc với tiền thân của ngôn ngữ C++ - “C with Classes” v{o năm

1979. Sau đó, v{o năm 1983, “C with classes” được đổi tên thành C++ (++ là

toán tử tăng dần trong C). C|c tính năng mới được thêm vào bao gồm: virtual

functions (hàm ảo), function overloading (nạp chồng hàm) và operator

overloading (nạp chồng toán tử), references (kiểu tham chiếu), constants (hằng

số), toán tử cấp phát và giải phóng bộ nhớ (new/delete), cải tiến việc kiểm tra

kiểu dữ liệu v{ thêm tính năng chú thích trong code sử dụng hai dấu chéo

Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang 5

ngược liền kề ( // ) tương tự như ngôn ngữ BCPL; cũng như ph|t triển một

trình biên dịch phù hợp cho những cải tiến này của ngôn ngữ C++ - Cfront.

C++ là một trong ít ngôn ngữ mà có thể đảm nhiệm được rất nhiều vai

trò trong lập trình: từ lập trình ứng dụng, lập trình nhúng, các ứng dụng

client/server, trò chơi đồ họa cho đến việc lập trình cho các hệ thống lớn và rất

lớn. C++ cho phép lập trình viên sử dụng những kĩ thuật cao cấp như lập trình

hướng đối tượng, template … m{ vẫn có thể linh động cho phép can thiệp vào

sâu bộ nhớ bên dưới. Một số ứng dụng nổi tiếng được viết bang C++ như

Adobe, Google, Chrome, Mozilla, Firefox, Internet Explorer, MySQL, Apple OS X,

Symbian OS, Winamp Media Player, …. Chính vì vậy, mặc dù ngôn ngữ C++ có

"tuổi" kh| cao nhưng nó vẫn đóng một vai trò cực kì quan trọng trong thế giới

m|y tính. V{ cũng dễ hiểu vì sao C++ được chọn làm nền tảng cho lập trình

viên.

V{o đầu c|c năm 1980, Brad J. Cox đ~ thiết kế ra ngôn ngữ Objective-C

dựa trên ngôn ngữ SmallTalk-80. Có thể hình dung rằng Objective-C là một

ngôn ngữ lập trình được đặt ở lớp trên của ngôn ngữ lập trình C truyền thống,

điều n{y có nghĩa l{ ngôn ngữ C được bổ sung thêm những thành phần mở

rộng (hay còn gọi l{ c|c extensions) để hình thành nên một ngôn ngữ lập trình

mới đó l{ Objective-C. Ngôn ngữ Objective-C này cho phép chúng ta tạo và quản

lý những đối tượng (Objects). Objective-C được dùng viết một số phiên bản OS

X và IOS của Apple, các ứng dụng, game chạy trên nền tảng của Apple.

Năm 1987: PERL là cách viết tắt cho “Practical Extraction and Report

Language”, mặc dù còn được gọi l{ “Pathologically Eclectic Rubbish Lister”.

Larry Wall đ~ tạo ra PERL với mục đích chính l{ tạo ra một ngôn ngữ lập trình

có khả năng chắt lọc một lượng lớn dữ liệu và cho phép xử lí dữ liệu nhằm thu

được kết quả cần tìm. PERL là ngôn ngữ thông dụng trong lĩnh vực quản trị hệ

thống và xử lí c|c trang Web do có c|c ưu điểm sau:

 Có các thao tác quản lí tập tin, xử lí thông tin thuận tiện

 Thao tác với chuỗi kí tự rất tốt

 Đ~ có một thư viện mã lệnh lớn do cộng đồng sử dụng PERL đóng góp (CPAN).

 Cú pháp lệnh của PERL khá giống với C, từ các kí hiệu đến tên c|c h{m, do đó,

nhiều người (đ~ có kinh nghiệm với C) thấy PERL dễ học. PERL khá linh hoạt và

Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang 6

cho phép người sử dụng giải quyết với cùng một vấn đề được đặt ra theo nhiều

cách khác nhau.

Năm 1991: Python xuất hiện từ những năm 1980, hiện thực v{o th|ng 12 năm

1989, hoàn th{nh năm 1991 v{ đưa ra công chúng năm 1994 bởi Guido van

Rossum. Ý tưởng chính của Python là tạo ra một ngôn ngữ lập trình sáng sủa,

cấu trúc rõ ràng, thuận tiện cho người mới học lập trình. Python kế thừa từ

nhiều ngôn ngữ như ABC, Module-3, C, C++, UNIX Shell… Python l{ một ngôn

ngữ lập trình bậc cao, thông dịch, hướng đối tượng, đa mục đích v{ cũng l{ một

ngôn ngữ lập trình động, khá vui và thoải mái khi sử dụng. Ngôn ngữ Python có

thể dùng hát triển các ứng dụng web, phát triển phần mềm, bảo mật thông tin.

Các ứng dụng nổi tiếng được biết đến như Google, Yahoo, Spotify, …

Năm 1993: Ruby được tạo ra bởi Yukihiro “Matz” Matsumoto v{ đưa ra bản

chính thức v{o năm 1995. Ruby chịu nhiều ảnh hưởng từ Perl, và khi hoàn tất

ngôn ngữ n{y, anh đ~ đùa với một người bạn rằng nên đặt tên thế nào nghe cho

nó giống một thứ đ| quý n{o đó (Perl lúc đầu cũng được đặt tên là Pearl – ngọc

trai). Và bạn của anh đ~ gợi ý c|i tên Ruby. Sau n{y Matz cũng bất ngờ khi phát

hiện ra Pearl l{ viên đ| quý tượng trưng cho những người sinh tháng 6, còn

Ruby thì tượng trưng cho những người sinh tháng 7. Anh cho rằng cái tên Ruby

như thế là phù hợp vì Ruby kế thừa và phát triển nhiều đặc tính từ Perl. Ruby

đ~ được sử dụng để phát triển các ứng dụng web, một số ứng dụng nổi tiếng

như Twitter, Hulu, Groupon.

Ruby On rails là một Framework cho phép phát triển ứng dụng Web gồm hai

phần cơ bản:

 Phần ngôn ngữ Ruby: “Ruby l{ một ngôn lập trình mã nguồn mở, linh hoạt, với

một sự nổi bật về sự đơn giản dễ dùng và hữu ích. Nó có cú ph|p “tao nh~” v{

tự nhiên dễ đọc và dễ d{ng để viết”.

 Phần Framework Rails bao gồm nhiều thư viện liên kết.

 Năm 1995: một bước tiến nổi bậc trong lịch sử phát triển các ngôn ngữ lập

trình đó l{ c|c ngôn ngữ lập trình JAVA, PHP, JAVASCRIPT.

JAVA: Được phát triển bởi James Gosling tại Sun Microsystems (mà bây giờ là

một công ty con của tập đo{n Oracle) v{ ph|t h{nh năm 1995. Ban đầu ngôn

ngữ n{y được gọi l{ Oak (có nghĩa l{ c}y sồi; do bên ngo{i cơ quan của ông

Tải ngay đi em, còn do dự, trời tối mất!