Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 110 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
110
Dung lượng
4,63 MB
Nội dung
TRƯỜNG THPT TRẦN HỮU TRANG NHÓM TIN HỌC BÀI GIẢNG NGƠN NGỮ LẬP TRÌNH C++ CƠ BẢN (DÀNH CHO HỌC SINH THPT) LƯU HÀNH NỘI BỘ LỜI NÓI ĐẦU Chương trình đổi sách giáo khoa năm 2018 tạo bước đột phá giảng dạy việc xây dựng chương trình, kế hoạch dạy học phù hợp với lực kiến thức học sinh đồng thời đáp ứng yêu cầu thực tiễn C/C++ ngơn ngữ lập trình (NNLT) ưa chuộng sử dụng rộng rãi tính mạnh mẽ, đa dụng Hiện nay, NNLT C/C++ nhiều trường THPT nước sử dụng để giảng dạy lập trình ban đầu cho học sinh Trên tinh thần đó, nhóm Tin học trường THPT Trần Hữu Trang tổng hợp biên soạn “Bài giảng ngôn ngữ lập trình C/C++ bản”, nhằm giúp học sinh nắm cấu trúc, cú pháp NNLT C/C++, vận dụng vào giải số toán thực tế Bên cạnh đó, với mong muốn giúp cho em có niềm đam mê lập trình sau học lên khơng cịn bỡ ngỡ, xa lạ với NNLT C/C++ Nội dung “Bài giảng ngôn ngữ lập trình C/C++ bản”1, chia thành chương với 20 theo phân phối chương trình giảng dạy bậc THPT, đáp ứng yêu cầu chuẩn kiến thức, chuẩn kỹ phát huy tính sáng tạo học sinh Mặc dù có nhiều cố gắng khơng thể tránh khỏi thiếu sót, mong nhận nhận xét, góp ý đồng nghiệp học sinh để tài liệu hoàn thiện Nhóm Tin học Trang code online: https://www.onlinegdb.com/online_c++_compiler MỤC LỤC §1 THUẬT TOÁN (ALGORITHM) .1 1.1 Khái niệm .1 1.2 Các đặc trưng thuật toán 1.3 Các công cụ biểu diễn thuật toán Ngơn ngữ lập trình (NNLT) Chương trình (máy tính) Các bước xây dựng chương trình §2 CÁC PHẦN TỬ CƠ BẢN CỦA NGƠN NGỮ LẬP TRÌNH C++ Bảng kí tự C++ (character set) Từ khóa (keyword) Tên gọi .6 Chú thích (comment) .7 BÀI ĐỌC THÊM: MÔI TRƯỜNG LÀM VIỆC CỦA C++ Khởi động - Thoát khỏi C++ Giao diện cửa sổ soạn thảo §3 CẤU TRÚC CHƯƠNG TRÌNH .12 Cấu trúc chung chương trình C++ 12 1.1 Thư viện chuẩn C++ (C++ Standard Library) 12 1.2 Hàm (Functions) 13 Biến - khai báo sử dụng biến 14 2.1 Biến 14 2.2 Hằng 16 Vi dụ chương trình đơn giản 17 §4 CÁC DỮ LIỆU CƠ SỞ 19 Khái niệm kiểu liệu .19 Số nguyên 19 Số thực 19 Kiểu luận lý: 20 Kí tự .20 §5 PHÉP TỐN, BIỂU THỨC, CÂU LỆNH GÁN 22 Phép toán .22 Biểu thức .26 Câu lệnh gán 28 §6 NHẬP XUẤT DỮ LIỆU TỪ BÀN PHÍM DÙNG CIN, COUT 29 Nhập liệu từ bàn phím 29 In liệu hình 30 Thư viện không gian tên 31 Ví dụ chương trình nhập – xuất C++ 32 §7 BÀI TẬP THỰC HÀNH CHƯƠNG II 33 §8 CẤU TRÚC RẼ NHÁNH .35 I – Lệnh khối lệnh 35 Lệnh (statement): .35 Khối lệnh (Block): .35 II – Cấu trúc điều khiển .35 Rẽ nhánh: 36 Câu lệnh IF 37 Cấu trúc (switch đủ) 41 §9 CẤU TRÚC LẶP 44 Lặp: 44 Lặp với số lần xác định câu lệnh for 44 Lặp với số lần chưa biết trước với câu lệnh while 46 Câu lệnh … while .48 § BÀI TẬP THỰC HÀNH CHƯƠNG III 50 §10 KIỂU DỮ LIỆU MẢNG 53 Mảng chiều .53 Khai báo mảng 54 Truy xuất đến phần tử mảng 55 Các thao tác với mảng 56 4.1 Nhập mảng 56 4.2 Xuất mảng .57 Các ví dụ mảng chiều 58 §11 KIỂU DỮ LIỆU XÂU (STRING) 60 Khái niệm xâu .60 Khai báo xâu kí tự (string) 61 Truy cập vào phần tử xâu .61 Một số hàm xử lí xâu thơng dụng 61 §12 DỮ LIỆU CẤU TRÚC (STRUCTURE) 64 Khái niệm liệu cấu trúc (struct) 64 Định nghĩa kiểu cấu trúc .64 Khai báo biến có kiểu liệu cấu trúc 65 Truy cập vào phần tử Struct .67 §13 BÀI TẬP THỰC HÀNH CHƯƠNG IV .69 §14 KIỂU DỮ LIỆU TỆP 73 Vai trò của kiểu tệp 73 Phân loại tệp thao tác với tệp 73 Các thao tác với tệp tin 74 §15 THAO TÁC VỚI TỆP 75 Khái niệm 75 Biến trỏ 75 Các thao tác tệp tin 75 3.1 Khai báo biến tệp tin .75 3.2 Mở tệp (open file) 76 3.4 Đóng tệp tin .78 Một số hàm xử lý khác 78 §16 BÀI THỰC HÀNH CHƯƠNG V 79 §17 HÀM .81 Khái niệm hàm (function) .81 Khai báo sử dụng hàm 81 Sử dụng hàm 84 Phạm vi biến 85 Tham số, đối số chế truyền đối số cho hàm 86 §18 VÍ DỤ VỀ CHƯƠNG TRÌNH CON 90 Khái niệm vai trị chương trình 90 Phân loại chương trình 90 Một số ví dụ chương trình 91 §19 CON TRỎ (POINTER) 94 Khái niệm trỏ (pointer) 94 Khai báo trỏ 94 Cách sử dụng trỏ C++ 95 Phép gán trỏ 96 Một số ví dụ trỏ 97 §20 BÀI THỰC HÀNH TỔNG HỢP 99 TÀI LIỆU THAM KHẢO 104 MỘT SỐ KHÁI NIỆM CƠ BẢN VỀ LẬP TRÌNH & NGƠN NGỮ LẬP TRÌNH §1 THUẬT TỐN (ALGORITHM) 1.1 Khái niệm Thuật toán khái niệm sở toán học tin học Thuật toán phương pháp thể lời giải vấn đề – toán Thuật toán dãy thao tác, hướng dẫn rõ ràng, xếp theo trình tự xác định, cho xử lý (người/máy) khác nhau, với điều kiện đầu vào sau số bước hữu hạn thực hiện, cho kết giống mà không cần biết ý nghĩa thao tác Cần ý dãy thao tác, dẫn tạo thuật toán Phương pháp nấu ăn, cách dùng thuốc, khơng phải thuật tốn thao tác, dẫn không xác định, không rõ ràng 1.2 Các đặc trưng thuật tốn Tính xác định: Các thao tác thuật tốn phải xác định, không nhập nhằng, mơ hồ để dễ dàng cài đặt hệ tự động hóa Tính dừng: Thuật tốn phải dừng sau số hữu hạn bước thực Tính đắn: Thuật toán phải cho kết theo yêu cầu tốn đặt Tính phổ dụng: Thuật tốn sử dụng lại để giải lớp tốn tương tự Tính hiệu quả: Thuật tốn cần tối ưu sử dụng nhớ đáp ứng yêu cầu tốn thời gian ngắn Thực tế khó đạt u cầu thuật tốn 1.3 Các cơng cụ biểu diễn thuật tốn Ngơn ngữ tự nhiên: ngơn ngữ liệt kê bước, mơ tả thuật tốn theo ngơn ngữ tự nhiên người Ví dụ: Thuật toán xác định trị lớn số nguyên Bước 1: Gọi a, b, c, d, e biến lưu trữ trị nguyên cho trước (nhập từ bàn phím) Bước 2: Gọi max biến lưu trữ trị lớn số nguyên trên, giả sử a có trị lớn Bước 3: Lần lượt so sánh trị max với biến b, c, d, e lại Nếu trị max nhỏ biến gán trị biến cho max Bước 4: Xuất kết trị biến max hình Lưu đồ thuật tốn hay sơ đồ khối (Flow chart): công cụ cho phép biểu diễn thuật toán cách trực quan Thường dung cơng cụ lưu đồ thuật tốn tương đối ngắn, biểu diễn trang giấy Các hình sử dụng Mã giả (Pseudo code) gần giống ngôn ngữ tự nhiên, có sử dụng cấu trúc chuẩn hóa (khai báo biến, thích, cấu trúc điều khiển, ) người thiết kế quy định Ngôn ngữ lập trình (Programming language) hệ thống kí hiệu cho phép mơ tả quy trình tính tốn dạng văn Ngơn ngữ lập trình (NNLT) Các thành phần NNLT bao gồm: Bộ kí tự (character set) hay bảng chữ dùng để viết chương trình Cú pháp (syntax) quy tắc để viết chương trình Ngữ nghĩa (semantic) xác định ý nghĩa thao tác, hành động cần phải thực hiện, ngữ cảnh (context) câu lệnh chương trình Hiện có hàng nghìn NNLT thiết kế, hàng năm lại có thêm nhiều NNLT xuất Sự phát triển NNLT gắn liền với phát triển ngành tin học Mỗi loại NNLT phù hợp với số lớp toán định Phân loại NNLT: Ngôn ngữ máy (machine language) hay cịn gọi NNLT cấp thấp có tập lệnh phụ thuộc vào hệ máy cụ thể Chương trình viết ngôn ngữ máy sử dụng bảng chữ gồm kí tự 0, Chương trình ngơn ngữ máy nạp trực tiếp vào nhớ thực Ngơn ngữ lập trình cấp cao nói chung khơng phụ thuộc vào loại máy tính cụ thể Chương trình viết NNLT cấp cao sử dụng kí tự phong phú hơn, phải chuyển đổi sang dạng mã máy để máy tính hiểu chương trình dịch Một số NNLT cấp cao thông dụng nay: Pascal, C, C++, Java, Smalltalk, Basic, Ruby, Fortran, Algol, Lisp, Prolog, Cobol, … Chương trình (máy tính) Là tập hợp hữu hạn thị máy bố trí, xếp theo trật tự xác định, nhằm giải yêu cầu tốn đặt Chương trình viết NNLT cụ thể Các chương trình C/C++ (trong mơi trường DOS) tạo trình soạn thảo văn (EDITOR) như: SK, NC Editor, VRES Hiện nay, chương trình dịch tích hợp sẵn editor riêng cho phép USER soạn thản, biên dịch, kiểm lỗi, liên kết thực chương trình cách dễ dàng Các chương trình (mã nguồn – source code), thực chất dạng ngôn ngữ tự nhiên, phải biên dịch lại dạng mã máy (object code) mà máy tính hiểu Việc thực chương trình dịch Có loại chương trình dịch: Trình thơng dịch (interpreter): lệnh dịch sang mã máy cho thực Trình biên dịch (compiler): tồn chương trình nguồn dịch sang mã máy (tệp tin.obj), sau trình liên kết (linker) kết nối module chương trình để tạo thành tệp tin EXE Nói chung, chương trình máy tính bố cục thành phần: Các bước xây dựng chương trình Bước 1: Xác định yêu cầu toán: Cần xác định phạm vi, giới hạn, ràng buộc, giả thiết toán Đặc biệt cần khắc phục sức ì mặt tâm lý trình tìm hiểu tốn Bước 2: Xâuy dựng thuật giải: Cần có kiến thức liên quan đến vấn đề giải Cần xác định rõ thuật toán tác động đối tượng (thơng tin) ? Có đối tượng (biến) cần xử lý? Mỗi biến lưu trữ dạng nào, kiểu ? Giá trị ban đầu biến ? Hình dung trước kết xuất DL sau xử lý nào? Bước 3: Thể thuật giải lưu đồ thuật toán (nếu được) Bước 4: Cài đặt thuật toán NNLT cụ thể: Dùng trình soạn thảo VB để tạo chương trình nguồn (source code) theo NNLT Bước 5: Thử nghiệm thuật tốn, sai quay lại Bước Cần xác định lỗi thuật toán thuộc loại nào: lỗi mặt cú pháp (syntax error), lỗi lúc thực chương trình (run-time error), lỗi logic Lỗi cú pháp xảy lúc biên dịch chương trình, vi phạm quy định mặt cú pháp NNLT sử dụng Lỗi tương đối dễ khắc phục Lỗi run-time error như: divide by zero, stack overflow, không đủ nhớ, … Lỗi logic (logic error) khó phát nhiều Bước 6: Kết thúc ... PHẦN TỬ CƠ BẢN CỦA NGƠN NGỮ LẬP TRÌNH C++ Bảng kí tự C++ (character set) Hầu hết ngơn ngữ lập trình sử dụng kí tự tiếng Anh, kí hiệu thơng dụng số để thể chương trình Các kí tự ngơn ngữ khác... học lên khơng cịn bỡ ngỡ, xa lạ với NNLT C /C++ Nội dung ? ?Bài giảng ngơn ngữ lập trình C /C++ bản? ??1, chia thành chương với 20 theo phân phối chương trình giảng dạy bậc THPT, đáp ứng yêu cầu chuẩn... lập trình (NNLT) Chương trình (máy tính) Các bước xây dựng chương trình §2 CÁC PHẦN TỬ CƠ BẢN CỦA NGƠN NGỮ LẬP TRÌNH C++ Bảng kí tự C++ (character set) Từ khóa