Giáo trình môn học/mô đun: Lập trình cơ bản - Trường CĐN Đà Lạt

42 18 0
Giáo trình môn học/mô đun: Lập trình cơ bản - Trường CĐN Đà Lạt

Đ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

(NB) Căn cứ vào chương trình đào tạo nghề Thiết kế trang web, giáo trình giúp cung cấp cho người học những kiến thức cơ bản về ngôn ngữ lập trình C++ cũng như kỹ năng lập trình hướng đối tượng. Giáo trình này được biên soạn có sự tham gia tích cực của các giáo viên có kinh nghiệm, cùng với những ý kiến đóng góp quý báu của các chuyên gia về lĩnh vực công nghệ thông tin.

ỦY BAN NHÂN DÂN TỈNH LÂM ĐỒNG TRƢỜNG CAO ĐẲNG NGHỀ ĐÀ LẠT GIÁO TRÌNH MƠN HỌC/ MƠ ĐUN: LẬP TRÌNH CƠ BẢN NGÀNH/ NGHỀ: THIẾT KẾ TRANG WEB TRÌNH ĐỘ: CAO ĐẲNG Ban hành kèm theo Quyết định số: 1157/QĐ-CĐNĐL ngày 11 tháng 12 năm 2019 Hiệu trưởng Trường Cao đẳng Nghề Đà Lạt (LƢU HÀNH NỘI BỘ) Lâm Đồng, năm 2019 TUYÊN BỐ BẢN QUYỀN Tài liệu thuộc loại sách giáo trình nên nguồn thơng tin đƣợc phép dùng ngun trích dùng cho mục đích đào tạo tham khảo Mọi mục đích khác mang tính lệch lạc sử dụng với mục đích kinh doanh thiếu lành mạnh bị nghiêm cấm Giáo trình đƣợc lƣu hành nội Trƣờng Cao đẳng Nghề Đà Lạt Trang LỜI GIỚI THIỆU Vài nét xuất xứ giáo trình: Giáo trình đƣợc viết theo Thơng tƣ số 03/2017/TT-BLĐTBXH ngày 01 tháng 03 năm 2017 Bộ Lao động – Thƣơng binh Xã hội việc Quy định quy trình xây dựng, thẩm định ban hành chƣơng trình; tổ chức biên soạn, lựa chọn, thẩm định giáo trình đào tạo trình độ trung cấp, trình độ cao đẳng Quá trình biên soạn: Giáo trình đƣợc biên soạn có tham gia tích cực giáo viên có kinh nghiệm, với ý kiến đóng góp quý báu chuyên gia lĩnh vực công nghệ thông tin Mối quan hệ tài liệu với chương trình, mơ đun/mơn học: Căn vào chƣơng trình đào tạo nghề Thiết kế trang web, giáo trình giúp cung cấp cho ngƣời học kiến thức ngơn ngữ lập trình C++ nhƣ kỹ lập trình hƣớng đối tƣợng Để học đƣợc mơ đun ngƣời học cần có kiến thức tin học toán học Cấu trúc chung giáo trình bao gồm bài: BÀI GIỚI THIỆU VỀ NGÔN NGỮ C BÀI CÁC THÀNH PHẦN TRONG NGÔN NGỮ C++ BÀI CÁC CẤU TRÚC LỆNH BÀI CÁC CẤU TRÚC LẶP BÀI MẢNG VÀ CHUỖI Lời cảm ơn Giáo trình đƣợc biên soạn sở văn quy định Nhà nƣớc tham khảo nhiều tài liệu liên quan có giá trị Song hẳn q trình biên soạn khơng tránh khỏi thiếu sót định Ban biên soạn mong muốn thực cảm ơn ý kiến nhận xét, đánh giá chuyên gia, thầy đóng góp cho việc chỉnh sửa để giáo trình ngày hồn thiện Lâm Đồng, ngày 10 tháng 12 năm 2019 Tham gia biên soạn Phạm Đình Nam Ngơ Thiên Hồng Nguyễn Quỳnh Ngun Phan Ngọc Bảo Trang MỤC LỤC BÀI GIỚI THIỆU VỀ NGÔN NGỮ C 1.1 Giới thiệu 1.2 Thuật toán 1.2.1 Định nghĩa trực quan thuật toán 1.2.2 Các đặc trƣng thuật toán 1.2.3 Đặc tả thuật toán 1.2.4 Độ phức tạp Thuật toán 1.3 Diễn đạt thuật toán 1.3.1 Ngôn ngữ tự nhiên 1.3.2 Lƣu đồ 1.3.3 Mã giả 1.3.4 Ngơn ngữ lập trình 1.4 Chƣơng trình 1.4.1 Khái quát chƣơng trình 1.4.2 Mã liệu 1.5 Giới thiệu C/C++ 1.6 Khởi động thoát khỏi C++ 10 Bài tập 13 BÀI CÁC THÀNH PHẦN TRONG NGÔN NGỮ C++ 14 2.1 Hệ thống ký hiệu từ khóa 14 2.1.1 Ký hiệu sở 14 2.1.2 Các từ 14 2.2 Các Kiểu Dữ Liệu Cơ Bản Trong C++ 15 2.2.1 Ký tự 15 2.2.2 Kiểu nguyên 16 2.2.3 Kiểu số thực 16 2.3 Biến, hằng, biểu thức 17 2.3.1 Định nghĩa 17 2.3.2 Các loại 17 2.3.3 Hằng ký tự 18 2.3.4 Hằng xâu ký tự ( Chuỗi ) 19 2.3.5 Biểu thức 19 2.3.6 Định nghĩa 19 2.4 Các phép toán 20 2.5 Lệnh, khối lệnh 22 2.6 Câu lệnh gán, lệnh xuất nhập 24 2.7 Cách chạy chƣơng trình 24 Trang Bài tập 25 BÀI CÁC LỆNH CẤU TRÚC 26 3.1 Câu lệnh if 27 3.1.1 Cú pháp 27 3.1.2 Hoạt động 27 3.1.3 Lƣu đồ: 27 3.2 Câu lệnh switch 28 3.2.1 Cú pháp 28 3.2.2 Hoạt động câu lệnh switch .28 3.2.3 Lƣu đồ: (Có thành phần default) 28 Bài 4: CẤU TRÚC VÒNG LẶP .31 Câu lệnh for 31 1.1 Cú pháp 31 1.2 Hoạt động câu lệnh for 31 Câu lệnh while ( Lặp với điều kiện đƣợc kiểm tra trƣớc ) 32 2.1 Cú pháp 32 2.2 Lƣu đồ 32 2.3 Hoạt động câu lệnh while 32 Câu lệnh while ( Lặp với điều kiện đƣợc kiểm tra sau ) .32 3.1 Cú pháp 32 3.2 Lƣu đồ 33 3.3 Hoạt động câu lệnh .33 Câu lệnh goto nhãn 33 4.1 Nhãn 33 4.2 Câu lệnh goto 33 Các câu lệnh break, continue 34 5.1 break 34 5.2 continue 34 Câu lệnh rổng 34 Vịng lặp vơ hạn .34 Bài tập 35 BÀI 5: MẢNG VÀ CHUỖI 36 5.1 Mảng 36 5.1.1 Khái niệm 36 5.1.2 Mảng chiều 36 5.1.3 Mảng chiều 37 5.1.4 Kiểu mảng .38 5.1.5 Khởi đầu cho mảng 38 Trang 5.1.6 Các kỹ thuật xử lý mảng 38 5.2 Chuỗi 39 5.2.1 Định nghĩa 39 5.2.2 Khai báo 39 5.2.3 Kiểu xâu ký tự 39 5.2.4 Các thao tác nhập xuất xâu ký tự 39 5.2.5 Khởi đầu cho xâu ký tự 40 5.2.6 Hàm xâu ký tự 40 5.2.7 Mảng xâu ký tự 40 Trang BÀI GIỚI THIỆU VỀ NGÔN NGỮ C Mục tiêu bài: - Trình bày đƣợc lịch sử phát triển ngơn ngữ C; - Mơ tả đƣợc ngơn ngữ có ứng dụng thực tế nhƣ nào; - Sử dụng đƣợc hệ thống trợ giúp từ help file - Thực thao tác an tồn với máy tính 1.1 Giới thiệu Lập trình thực chất điều khiển - ngơn ngữ lập trình cụ thể - xử lý thơng tin máy tính điện tử theo yêu cầu toán đặt Kết lập trình chƣơng trình đƣợc hợp thức hóa Thông tin gửi đến CT, CT xử lý, kết đƣợc gửi Nhập Chƣơng Trình Xuất Để lập trình phải biết cách tổ chức liệu (cấu trúc liệu) cách thức xử lý liệu( thuật tốn ) để tạo chƣơng trình mong muốn K Wirth đƣa cơng thức : CHƢƠNG TRÌNH = CẤU TRÚC DỮ LIỆU + THUẬT TỐN Có nhiều cách tổ chức liệu nhƣ có nhiều thuật tốn để giải toán Đƣa cách tổ chức liệu tốt thuật toán tốt cơng việc ngƣời lập trình Các phƣơng pháp lập trình thƣờng đƣợc sử dụng lập trình có cấu trúc lập trình theo hƣớng đối tƣợng Các phƣơng pháp lập trình phản ánh quan niệm lập trình hoạt động khoa học có phƣơng pháp khơng phải cơng việc ngẫu hứng Đặc trƣng lập trình có cấu trúc chƣơng trình phải có cấu trúc Tính cấu trúc chƣơng trình thể mặt sau :  Cấu trúc mặt liệu : Từ liệu có , xây dựng liệu có cấu trúc phức tạp  Cấu trúc mặt lệnh : Từ lệnh đơn giản có, xây dựng đƣợc lệnh có cấu trúc phức tạp  Cấu trúc mặt chƣơng trình : Trang Một chƣơng trình lớn phân rã thành nhiều modul (hay chƣơng trình ) độc lập, chƣơng trình lại chia thành chƣơng trình khác nên chƣơng trình đƣợc tổ chức thành hệ phân cấp Nhờ mà chƣơng trình lớn, phức tạp đƣợc phân thành modul chƣơng trình đơn giản, dễ viết, dễ đọc, dễ sửa 1.2 Thuật toán 1.2.1 Định nghĩa trực quan thuật toán Thuật toán dãy hữu hạn thao tác, xếp theo trình tự xác định, đƣợc đề nhằm giải lớp toán định Các thao tác biến đổi trạng thái toán trƣớc thực tháo tác thành trạng thái kết Dãy thao tác thuật toán biến đổi trạng thái ban đầu thuật toán thành trạng thái cuối tốn 1.2.2 Các đặc trƣng thuật tốn  Tính xác định  Tính dừng ( hữu hạn )  Tính đắn 1.2.3 Đặc tả thuật tốn Đặc tả thuật toán ( hay đặc tả toán ) định rõ lớp toán mà thuật toán giải quyết, cần đặc điểm sau : Các đối tƣợng phƣơng tiện Thuật toán cần sử dụng (nhập) Điều kiện ràng buộc (nếu có) đối tƣợng phƣơng tiện Các sản phẩm, kết (xuất) Các yêu cầu sản phẩm kết Thƣờng xuất dƣới dạng quan hệ sản phẩm kết đối tƣọng,phƣơng tiện sử dụng Ta viết : INPUT : (1) (2); OUTPUT : (3) (4); 1.2.4 Độ phức tạp Thuật toán Mỗi Thuật toán cần thời gian nguồn lực khác để giải tốn cụ thể Các tiêu hao đặc trƣng độ phức tạp thuật tốn Có nhiều thuật toán giải lớp toán, ta mong muốn có đƣợc thuật tốn hiệu hơn, tức tiêu hao loại nguồn lực Đối với máy tính, ta quan tâm đến thời gian kích thƣớc nhớ mà thuật tốn sử dụng Trang 1.3 Diễn đạt thuật tốn 1.3.1 Ngơn ngữ tự nhiên Mơ tả bƣớc thực thuật tốn dƣới dạng văn ngôn ngữ tự nhiên nhƣ tiếng Việt, Anh, 1.3.2 Lƣu đồ Sơ đồ tồn cảnh có cấu trúc biểu diễn bƣớc thực thuật tốn, sử dụng hình vẽ có quy ƣớc sau: Mũi tên luồng lƣu chuyển liệu Bắt đầu, kết thúc Điểm bắt đầu, kết thúc Xử lý Hình chữ nhật biểu diễn bƣớc xử lý Nhập, Xuất Hình bình hành biểu thị nhập xuất Điều kiện Hình thoi biểu thị thời điểm định Hình trịn biểu thị điểm ghép nối 1.3.3 Mã giả Dựa vào cú pháp ngữ nghĩa ngơn ngữ lập trình (chẳng hạn C, Pascal, ) Cho nên mã giả dựa sở sau đây:  Ký tự  Các từ  Các xâu ký tự (Chuỗi)  Hằng  Biến  Kiểu liệu  Lệnh gán  Khối lệnh  Các cấu trúc điểu khiên  Câu lệnh trả  Trang - Thực phép toán quy đổi - Xuất kết hình Bài 6: Khai báo biến x, y kiểu số nguyên Khởi gán x =20, y=6 Thực câu lệnh sau xuất kết x, y trƣớc sau thực câu lệnh x++ x-++x x x=x/y y= x%y x=x*y Bài tập 7: Viết chƣơng trình nhập vào số nguyên xuất hình (Chú ý: bạn nhập số lớn giải thích kết quả) Bài 8: Viết chƣơng trình tính xuất diện tích tam giác: (Sử dụng hàm tính bậc 2: sqrt thƣ viện math.h) Bài 9: Viết chƣơng trình tính x2 + y5 , với x y số thực đƣợc nhập từ bàn phím (Sử dụng hàm tính tính mũ: pow thƣ viện math.h) Bài 10: Viết chƣơng trình tính xn , với x số thực n số nguyên đƣợc nhập từ bàn phím (Sử dụng hàm tính tính mũ: pow thƣ viện math.h) BÀI CÁC LỆNH CẤU TRÚC Mục tiêu bài: - Trình bày ý nghĩa lệnh khối lệnh ; - Trình bày cú pháp, cơng dụng lệnh if, lệnh switch ; - Giải số toán sử dụng lệnh if, lệnh switch ; - Sử dụng đƣợc cấu trúc lồng - Thực thao tác an tồn với máy tính Trang 26 3.1 Câu lệnh if 3.1.1 Cú pháp Dạng 1: if (Bt) Kl Dạng 2: if (Bt) Nếu biểu thức Bt thực Kl Nếu biểu thức Bt thực Kl1 Ngƣợc lại thực Kl2 Kl1 else Kl2  Bt: biểu thức có giá trị Đ ( khác 0), hay sai (bằng 0)  Kl: Khối lệnh 3.1.2 Hoạt động Trƣớc tiên biểu thức Bt đƣợc xác định giá trị  Dạng 1: Nếu Bt (có giá trị khác 0) thực Kl Nếu sai (giá trị 0) khối lệnh đƣợc bỏ qua  Dạng 2: Nếu Bt (có giá trị khác 0) thực Kl1 Nếu sai (giá trị 0) thực Kl2 3.1.3 Lƣu đồ: Kl BT Kl1 BT Kl2 Ghi chú: Nếu có nhiều cấu trúc if - else lồng nhau, để xác định "else" "if" ta theo qui tắc: "else" "if" gần với mà khơng có "else" Trang 27 Tƣơng đƣơng với: if (Bt1) { if (Bt2) Kl2 else Kl3 } else Kl1 Tức là: if (Bt1) if (Bt2) Kl2 else Kl3 else Kl1 3.2 Câu lệnh switch Câu lệnh cho phép chọn nhiều nhánh rẽ 3.2.1 Cú pháp switch (Bt) { case H1: case H2: case Hn: [default: NL1 [ break;] NL2 [ break;] NLn [ break;] NLn+1] } Trong Bt nguyên, Hk nguyên, ký tự, biểu thức 3.2.2 Hoạt động câu lệnh switch  Trƣớc tiên biểu thức nguyên đƣợc tính trị  Nếu trị biểu thức Hk máy thực NLk Sau đó: - Nếu khơng có câu lệnh break thực tiếp NL k+1 nhãn case Hk+1 gặp lệnh break gặp dấu } cuối khỏi switch - Nếu có câu lệnh break khỏi switch  Khi giá trị biểu thức khác tất Hk thì: - Khi có default máy nhảy tới thực NLn+1 default - Khi khơng có default khỏi câu lệnh switch 3.2.3 Lƣu đồ: (Có thành phần default) a) Khơng có câu lệnh break cuối nhóm lệnh Trang 28 Bt NL1 Bt == Hn Bt == H2 NL2 Bt == H1 b) Có câu lệnh break cuối nhóm lệnh: Trang 29 NLn 1 0 NLn+1 Trang 30 Bài 4: CẤU TRÚC VÒNG LẶP Mục tiêu: - Trình bày ý nghĩa vịng lặp ; - Trình bày cú pháp, công dụng lệnh for, while, do…while; - Trình bày ý nghĩa cách sử dụng lệnh break, continue; - Giải số toán sử dụng lệnh for, while, do…while ; - Sử dụng đƣợc vòng lặp lồng - Thực thao tác an tồn với máy tính Câu lệnh for 1.1 Cú pháp Câu lệnh for cho ta cách xây dựng vịng lặp, có dạng sau: for(bt1 ; bt2 ; bt3) Khối lệnh // Câu lệnh Trong đó:  Mỗi thành phần bt biểu thức dãy biểu thức đƣợc phân tách dấu phảy  Bất kỳ thành phần thành phần bt vắng mặt, nhƣng dấu chấm phảy (;) ln ln có Chức thành phần bt thƣờng là:  bt1 phép gán để tạo giá trị ban đầu cho biến điều khiển  bt2 một quan hệ logic biểu thị điều kiện để tiếp tục vòng lặp  bt3 phép gán dùng để thay đổi giá trị biến điều khiển 1.2 Hoạt động câu lệnh for Hoạt động theo bƣớc: Xác định biểu thức Xác định biểu thức Căn vào giá trị ( khác 0), sai ( 0), lựa chọn nhánh: - Nếu biểu thức sai , khỏi câu lệnh for chuyển đến câu lệnh sau thân for - Nếu biểu thức đúng, thực câu lệnh thân for.Khi gặp dấu ngoặc nhọn đóng } cuối cùngcủa thân for,hoặc gặp câu lệnh continue máy chuyển sang bƣớc (khởi đầu lại ) Tính biểu thức 3, sau quay trở lại bt1 bt2 KL bt3 Trang 31 bƣớc để bắt đầu vòng vòng lặp Câu lệnh while ( Lặp với điều kiện đƣợc kiểm tra trƣớc ) 2.1 Cú pháp while (Bt) Kl // Thân vịng lặp Trong đó:  Bt biểu thức dãy biểu thức đƣợc phân tách dấu phảy  Giá trị Bt Đúng (khác 0) sai ( 0) 2.2 Lƣu đồ Ngữ nghĩa: Trong Bt Thực Kl Bt Kl 2.3 Hoạt động câu lệnh while Theo trình tự: Xác định giá trị bt Tùy thuộc vào tính sai bt, máy lựa chọn nhánh: a Nếu bt có giá trị ( sai ) máy khỏi vòng lặp chuyển tới câu lệnh sau thân while b Nếu bt có giá trị khác ( ) máy thực câu lệnh thân while Khi gặp dấu ngoặc nhọn } đóng cuối thân while máy trở lại bƣớc 1; gặp câu lệnh continue máy chuyển đến đầu vòng lặp vòng lặp, tức máy bỏ qua câu lệnh lại thân vòng lặp để trở bƣớc tính kiểm tra bt Câu lệnh while ( Lặp với điều kiện đƣợc kiểm tra sau ) 3.1 Cú pháp Kl // thân vòng lặp while(bt); Trong đó: Trang 32  Bt biểu thức dãy biểu thức đƣợc phân tách dấu phảy  Giá trị Bt Đúng (khác 0) sai ( 0) 3.2 Lƣu đồ Ngữ nghĩa: Thực Kl Bt Kl Bt 3.3 Hoạt động câu lệnh Theo trình tự: Thực khối lệnh thân Khi gặp dấu ngoặc nhọn } đóng cuối thân máy tính xác định giá trị Bt sau từ khóa while Tùy thuộc vào tính sai bt, máy lựa chọn nhánh: a Nếu Bt có giá trị ( sai ) máy khỏi vòng lặp chuyển tới câu lệnh sau thân b Nếu Bt có giá trị khác ( ) máy trở bƣớc để tiếp tục thực vòng vòng lặp Câu lệnh goto nhãn 4.1 Nhãn Nhãn tên có dấu hai chấm (:) đứng sau Nhãn đƣợc gán cho câu lệnh chƣơng trình Chẳng hạn: tiep_tuc: s + = x; nghĩa là: tiep_tuc nhãn câu lệnh gán s += x 4.2 Câu lệnh goto Cú pháp: goto nhãn; Tác dụng: chƣơng trình nhảy tới thực câu lệnh có nhãn viết sau từ khóa goto; Ghi chú: Câu lệnh goto nhãn nằm hàm goto cho phép nhảy từ vị trí đến vị trí khác thân hàm Nó khơng thể nhảy từ hàm sang hàm khác Không cho phép dùng câu lệnh goto nhảy từ ngòai khối lệnh vào khối lệnh Nhƣng ngƣợc lại, tức nhảy từ khối lệnh hợp lệ Câu lệnh goto thƣờng đƣợc dùng để thóat khỏi câu lệnh switch, vịng lặp kết hợp với if tạo vòng lặp Trang 33 Ví dụ: nhan: clrscr(); goto nhan; Các câu lệnh break, continue 5.1 break Break cho phép khỏi switch , vòng lặp for, while, mà không cần kiểm tra điều kiện kết thúc vịng lặp Lệnh break cho phép khỏi vòng lặp bên chứa lệnh break; Mọi câu lệnh break thay câu lệnh goto nhãn thích hợp 5.2 continue Lệnh continue tạo việc bắt đầu lặp lại vịng lặp chứa Trong while do, lệnh continue chuyển điều khiển thực phần kiểm tra Đối với for, điều khiển đƣợc chuyển bƣớc khởi đầu lại Continue áp dụng cho vịng lặp, khơng cho switch Câu lệnh rổng Lệnh rổng lệnh có dấu chấm phảy (;) (Lệnh thƣờng đƣợc sử dụng thân vịng lặp mà khơng muốn có lệnh nào.) Vịng lặp vơ hạn Thƣờng có dạng sau: a) Dạng for: for (; ;) khối lệnh Mệnh đề phần thân vòng lặp thƣờng mệnh đề kép chứa:  Những mệnh đề mà thực lặp lại để giải toán  Một mệnh đề mà kết thúc thực vịng lặp điều kiện đƣợc thỏa Mệnh đề thƣờng if kết hợp với break b) Dạng while: while(1) khối lệnh c) Dạng while: khối lệnh while(1); Trang 34 Khi sử dụng vòng lặp ta cần lƣu ý đến điều kiện lặp dừng vịng lặp đƣợc khơng Các vịng lặp dạng muốn dừng, cần phải có can thiệp câu lệnh break, goto, return … Bài tập Bài 1: Tính tổng n số nguyên dƣơng S=1+2+3 n Bài 2: viết chƣơng trình tính n n =1*2*3*…*n Bài 3: Tính tổng n số nguyên dƣơng lẽ: S=1+3+5 +n n lẽ Bài 4: Tính tổng n số nguyên dƣơng chẳn: S=2+4+6 +n n chẳn Bài 5: Sử dụng cấu trúc while do…while để viết chƣơng trình tính:  Tính tổng n số nguyên dƣơng S=1+2+3 n  Tính tổng n! với n số nguyên n!=1*2*3* *n Trang 35 BÀI 5: MẢNG VÀ CHUỖI Mục tiêu: - Trình bày đƣợc ý nghĩa, cách khai báo mảng, chuỗi; - Nhập xuất mảng, chuỗi; - Khởi tạo mảng chuỗi; - Trình bày số kỹ thuật thao tác mảng, chuỗi; - Vận dụng đƣợc mảng làm tham số cho hàm; - Giải số toán sử dụng kiểu mảng, chuỗi - Thực thao tác an tồn với máy tính 5.1 Mảng 5.1.1 Khái niệm  Mảng tập biến kiểu đƣợc gọi chung tên  Các phần tử mảng đƣợc đƣợc truy cập đến số (index) mảng  Mảng có chiều hay nhiều chiều Dữ liệu mảng đƣợc chứa vùng nhớ liên tục 5.1.2 Mảng chiều I) Khai báo: KDL Ten_Mang[KT]; Trong đó:  KDL kiểu liệu mảng, char, int, float,  Ten_Mang tên, tên mảng  KT: Là số nguyên dƣơng kích thƣớc khai báo mảng: xác định số phần tử mảng II) Chỉ số mảng: Mỗi phần tử mảng đƣợc xác định số mảng Chỉ số mảng phải có giá trị int khơng vƣợt q kích thƣớc mảng Chỉ số mảng Ký pháp a[i] để phần tử thứ i mảng a Các phần tử a đƣợc đánh số (mặc định) bởi: a[0], a[1], III) Lấy địa mảng: Các phần tử mảng chiều có địa liên tiếp nhớ Lấy địa phần tử mảng chiều phép toán &, với cú pháp: &a[i] // a[i] phần tử thứ i mảng a Ghi chú: Địa đầu mảng tên mảng, ta có: a == &a[0] IV) Kích thƣớc nhớ (số bytes) đƣợc sử dụng để lƣu trử mảng chiều là: Trang 36 Tong (Bytes) = sizeof(KDL)* KT V) Một số thao tác thƣờng gặp mảng chiều: Nhập xuất liệu cho mảng chiều: Thƣờng liên kết với vòng lặp for Sắp xếp mảng theo thứ tự tăng hay giảm Gán mảng: Hai mảng a, b kiểu, thực trực tiếp việc gán a cho b câu lệnh gán: b = a; Ta thực đƣợc việc gán a cho b cách gán giá trị phần tử a tƣơng ứng cho phần tử b VI) Hàm mảng chiều  Hàm trả trị mảng chiều  Đối hàm tên mảng chiều: Khi tham số thực truyền cho đối tƣơng ứng tên mảng chiều, kiểu kích thƣớc với đối Tên tham số thực tên đối trùng khác Đối Tên mảng chiều Tham số thực Tên mảng chiều ( kiểu, kích thƣớc với đối) 5.1.3 Mảng chiều Trong mảng nhiều chiều, hình thức đơn giản mảng chiều I) Cách tiếp cận khai báo: Mảng chiều mảng chiều mảng chiều Có thể khai báo nhƣ sau: KDL Ten_Mang[KT1][ KT2]; II) Cơng thức tính số bytes cần thiết nhớ lƣu trƣ mảng chiều: Tong (Bytes) = sizeof(KDL)* KT1* KT2 III) Nhập, xuất mảng chiều (ma trận): Thƣờng liên kết với vòng for duyệt theo số để nhập liệu cho phần tử, xuất liệu phần tử hình IV) Hàm mảng chiều:  Hàm trả giá trị mảng chiều  Đối hàm tên mảng chiều: Khi tham số thực truyền cho đối tƣơng ứng tên mảng chiều, kiểu kích thƣớc với đối Tên tham số thực tên đối trùng khác Đối Tên mảng chiều Tham số thực Tên mảng chiều ( kiểu, kích thƣớc với đối) Trang 37 5.1.4 Kiểu mảng Dùng từ khoá typedef để định nghĩa, cách trƣớc định nghĩa mảng thông thƣờng, ta đặt từ khố typedef Ví dụ: a) typedef float Day10[10];// Day10 kiểu liệu mảng chiều kích thƣớc 10 Day10 a,b; // a,b biến kiểu mảng chiều có kích thƣớc 10 b) typedef float Mat10_20 [10][20]; // Mat10_20 kiểu liệu mảng chiều kích thƣớc 10x20 Mat10_20 c,d; // c,d biến kiểu mảng chiều có kích thƣớc 10x20 5.1.5 Khởi đầu cho mảng Sử dụng Khi khởi đầu khơng cần kích thƣớc mảng Khi máy dành cho mảng vùng nhớ đủ để thu nhận danh sách giá trị khởi đầu Trong trƣờng hợp mảng chiều kích thƣớc chiều phải ra: Đối với mảng chiều khởi đầu theo cách số giá trị hàng khác với điều kiện là:  Kích thƣớc chiều phải đƣợc  Kích thƣớc chiều khơng đƣợc ra, có giá trị phải lớn kích thƣớc thực mảng Ví dụ: int a[6][3] = { {1,2}, {3}, {4,5,6}, {0,3,1} }; // Thực mảng a[3][3] 5.1.6 Các kỹ thuật xử lý mảng Kỹ thuật thử sai Cần xác định Kq biết Kq{a1, ,an }:  Giả sử Kq = a1;  Duyệt phần tử cịn lại để xác giá trị Kq Kỹ thuật duyệt  Toàn cục: duyệt tất phần tử tập hợp  Cục bộ: Chỉ miền tập hợp xét Miền xác định từ giá trị hàm, lập bảng Trang 38 Kỹ thuật kiểm tra tính đúng, sai: Dạng 1:  Đúng: i, phải thỏa mãn  Sai: i, không thỏa mãn Cách thực nhƣ sau:  Kq = 1; // Đúng  Duyệt để tìm điều kiện gán Kq = 0; // Sai Dạng 2:  Đúng: i, thỏa mãn  Sai: i, không thỏa mãn Cách thực nhƣ sau:  Kq = 0; //Sai  Duyệt để tìm điều kiện gán Kq = 1; // Đúng 5.2 Chuỗi 5.2.1 Định nghĩa Chuỗi (xâu ký tự) mảng chiều ký tự đƣợc kết thúc ký tự NULL (\0) Số lƣợng ký tự khác NULL xâu gọi chiều dài xâu 5.2.2 Khai báo char a[KT];  a tên, tên xâu ký tự  KT số nguyên dƣơng, kích thƣớc xâu ký tự  a[i] ký tự thứ i a Chỉ số Trong khai báo, ta phải khai báo xâu ký tự có chiều dài lớn mảng đƣợc sử dụng ký tự để đủ chỗ chứa ký tự NULL 5.2.3 Kiểu xâu ký tự Cách tạo đặt từ khoá typedef trƣớc khai báo xâu thông thƣờng 5.2.4 Các thao tác nhập xuất xâu ký tự Xuất: cout a ; Trang 39 Với a xâu ký tự không chứa ký tự tách ( khoảng trắng, tab …), iostream xem ký tự ký tự tách liệu Để nhập xâu ký tự có chứa ký tự tách dùng cách sau: a) Dùng hàm gets tệp tiêu đề : gets(a); b) Dùng hàm thành phần iostream: cin.getline(a, so_ky_tu); Hàm đọc vào tối đa so_ky_tu – ký tự, kể ký tự trắng Các xử lý thƣờng gặp xâu ký tự nhƣ xác định chiều dài xâu, chép xâu s vào xâu t, nối xâu, 5.2.5 Khởi đầu cho xâu ký tự Cũng theo quy tắc chung mảng (1 chiều) giới thiệu trên.Bộ khởi đầu mảng chiều ký tự là:  Danh sách ký tự, cuối ký tự „\0‟  Hoặc xâu ký tự 5.2.6 Hàm xâu ký tự Hàm trả giá trị xâu ký tự Đối hàm tên xâu ký tự, tham số thực phải tên xâu ký tự Đối Xâu ký tự Tham số thực Tên xâu ký tự 5.2.7 Mảng xâu ký tự  Cách tiếp cận nhƣ mảng chiều ký tự  Khai báo: char a[KT1][KT2];  Nhập xuất mảng xâu ký tự nhập xuất xâu ký tự mảng  Khởi đầu: Khởi đầu xâu ký tự xâu ký tự Trang 40 ... tốn tốt cơng việc ngƣời lập trình Các phƣơng pháp lập trình thƣờng đƣợc sử dụng lập trình có cấu trúc lập trình theo hƣớng đối tƣợng Các phƣơng pháp lập trình phản ánh quan niệm lập trình hoạt... Quy định quy trình xây dựng, thẩm định ban hành chƣơng trình; tổ chức biên soạn, lựa chọn, thẩm định giáo trình đào tạo trình độ trung cấp, trình độ cao đẳng Quá trình biên soạn: Giáo trình đƣợc... với máy tính 1.1 Giới thiệu Lập trình thực chất điều khiển - ngơn ngữ lập trình cụ thể - xử lý thơng tin máy tính điện tử theo yêu cầu tốn đặt Kết lập trình chƣơng trình đƣợc hợp thức hóa Thơng

Ngày đăng: 25/04/2021, 08:55

Tài liệu cùng người dùng

Tài liệu liên quan