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

Public giữa kì nhập môn lập trình k16 21 22

76 1 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

Tiêu đề Giữa kì nhập môn lập trình K16 21 22
Tác giả BHT Đoàn Khoa MMT&TT
Người hướng dẫn Tống Võ Anh Thuận - MMCL, Trần Công Thành - ATCL, Nguyễn Trần Trung Nguyên - ATCL
Trường học Trường Đại Học Công Nghệ Thông Tin - University of Information Technology
Chuyên ngành Lập Trình
Thể loại Giáo trình giữa kỳ
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 76
Dung lượng 1,94 MB

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

Nội dung

TOPIC 01: Nhập xuất dữ liệu, một số phép toán cơ bản Cấu trúc một chương trình trong C++: • Tiền xử lý khai báo thư viện.. TOPIC 01: Nhập xuất dữ liệu, một số phép toán cơ bản Biến: - Bi

Trang 1

Training Nhập Môn Lập Trình

Trainers: Tống Võ Anh Thuận – MMCL 2021

Trần Công Thành – ATCL 2021Nguyễn Trần Trung Nguyên – ATCL 2021

BHT Đoàn khoa MMT&TT – Training giữa kì I K16

Trang 4

TOPIC 01: Nhập xuất dữ liệu, một số phép toán cơ bản

Cấu trúc một chương trình trong C++:

• Tiền xử lý (khai báo thư viện)

• Khai báo biến, hàm

• Thân hàm chính (chương trình chính)

• Định nghĩa các hàm đã khai báo

Trang 5

Một số kiểu dữ liệu cơ bản trong C++:

long long 8 bytes -9223372036854775807 to 9223372036854775807

double 8 bytes 2.3e-308 to 1.8e+308( ~ 15 chữ số)

TOPIC 01: Nhập xuất dữ liệu, một số phép toán cơ bản

Trang 6

TOPIC 01: Nhập xuất dữ liệu, một số phép toán cơ bản

Biến:

- Biến là một ô nhớ hoặc 1 vùng nhớ dùng để chứa dữ liệu trong quá trình thực

hiện chương trình và có kích thước tùy thuộc vào kiểu dữ liệu của nó

- Giá trị của biến có thể được thay đổi.

- Qui tắc đặt tên biến:

• Không trùng với các từ khóa hoặc tên hàm.

• Ký tự đầu tiên là chữ cái hoặc dấu _

• Không được sử dụng khoảng trắng ở giữa các ký tự.

Trang 7

TOPIC 01: Nhập xuất dữ liệu, một số phép toán cơ bản

Biến:

- Cú pháp khai báo biến:

Trang 8

TOPIC 01: Nhập xuất dữ liệu, một số phép toán cơ bản

Biến:

- Biến được định nghĩa trong một hàm hoặc một block (khối lệnh).

- Chỉ được sử dụng bên trong hàm hoặc block.

- Biến mất khi khối lệnh kết thúc

- Biến được định nghĩa bên ngoài các hàm

- Có thể truy xuất và sử dụng ở mọi hàm trong chương trình.

- Tồn tại cho đến cuối chương trình

Trang 9

TOPIC 01: Nhập xuất dữ liệu, một số phép toán cơ bản

Hằng (constant):

- Hằng đại diện cho một giá trị không đổi trong suốt quá trình thực thi của chương

trình Ta không thể gán lại giá trị cho nó

Trang 10

TOPIC 01: Nhập xuất dữ liệu, một số phép toán cơ bản

Hằng (constant):

- Cách định nghĩa hằng trong C++:

Trang 11

TOPIC 01: Nhập xuất dữ liệu, một số phép toán cơ bản

Các phép toán cơ bản:

1 Toán tử gán

2 Toán tử toán học

3 Toán tử tăng giảm

4 Toán tử toán học & gán

5 Toán tử điều kiện

6 Toán tử quan hệ

Trang 12

TOPIC 01: Nhập xuất dữ liệu, một số phép toán cơ bản

Dùng để gán giá trị cho 1 biến

Các phép toán cơ bản:

1 Toán tử gán

2 Toán tử toán học

3 Toán tử tăng giảm

4 Toán tử toán học & gán

5 Toán tử điều kiện

6 Toán tử quan hệ

7 Toán tử luận lý

Trang 13

TOPIC 01: Nhập xuất dữ liệu, một số phép toán cơ bản

/ Chia (hoặc chia lấy phần nguyên) x = 10 / 2

Các phép toán cơ bản:

1 Toán tử gán

2 Toán tử toán học

3 Toán tử tăng giảm

4 Toán tử toán học & gán

5 Toán tử điều kiện

6 Toán tử quan hệ

7 Toán tử luận lý

Trang 14

TOPIC 01: Nhập xuất dữ liệu, một số phép toán cơ bản

Dùng để tăng hoặc giảm 1 đơn vị

Các phép toán cơ bản:

1 Toán tử gán

2 Toán tử toán học

3 Toán tử tăng giảm

4 Toán tử toán học & gán

5 Toán tử điều kiện

6 Toán tử quan hệ

7 Toán tử luận lý

Trang 15

TOPIC 01: Nhập xuất dữ liệu, một số phép toán cơ bản

Dùng để tăng hoặc giảm 1 đơn vị

Các phép toán cơ bản:

1 Toán tử gán

2 Toán tử toán học

3 Toán tử tăng giảm

4 Toán tử toán học & gán

5 Toán tử điều kiện

6 Toán tử quan hệ

Trang 16

TOPIC 01: Nhập xuất dữ liệu, một số phép toán cơ bản

/= Chia (hoặc chia lấy phần nguyên) x /= 2

Các phép toán cơ bản:

1 Toán tử gán

2 Toán tử toán học

3 Toán tử tăng giảm

4 Toán tử toán học & gán

5 Toán tử điều kiện

6 Toán tử quan hệ

7 Toán tử luận lý

Trang 17

TOPIC 01: Nhập xuất dữ liệu, một số phép toán cơ bản

Các phép toán cơ bản:

1 Toán tử gán

2 Toán tử toán học

3 Toán tử tăng giảm

4 Toán tử toán học & gán

5 Toán tử điều kiện

6 Toán tử quan hệ

Trang 18

TOPIC 01: Nhập xuất dữ liệu, một số phép toán cơ bản

3 Toán tử tăng giảm

4 Toán tử toán học & gán

5 Toán tử điều kiện

6 Toán tử quan hệ

7 Toán tử luận lý

Trang 19

TOPIC 01: Nhập xuất dữ liệu, một số phép toán cơ bản

3 Toán tử tăng giảm

4 Toán tử toán học & gán

5 Toán tử điều kiện

6 Toán tử quan hệ

7 Toán tử luận lý

Trang 20

TOPIC 01: Nhập xuất dữ liệu, một số phép toán cơ bản

Các phép toán cơ bản:

1 Toán tử gán

2 Toán tử toán học

3 Toán tử tăng giảm

4 Toán tử toán học & gán

5 Toán tử điều kiện

6 Toán tử quan hệ

7 Toán tử luận lý

Trang 22

TOPIC 02: Cấu trúc rẽ nhánh – Thuật toán

Khối lệnh:

- Khối lệnh là một dãy các câu lệnh được bao bởi cặp dấu { }

- Phạm vi hoạt động của một biến chính là khối lệnh mà nó được khai báo.

Trang 23

TOPIC 02: Cấu trúc rẽ nhánh – Thuật toán

Trang 24

TOPIC 02: Cấu trúc rẽ nhánh – Thuật toán

Cấu trúc rẽ nhánh

- Trong cấu trúc rẽ nhánh, các câu lệnh chỉ được thực thi khi thỏa mãn một số

điều kiện cho trước

- Bao gồm 2 loại:

oCấu trúc rẽ một trong hai nhánh: if, if…else và toán tử điều kiện (? : )

oCấu trúc rẽ một, hai hoặc nhiều nhánh: câu lệnh switch

Trang 25

TOPIC 02: Cấu trúc rẽ nhánh – Thuật toán

Cấu trúc rẽ nhánh

- Sẽ chạy các câu lệnh bên trong tùy thuộc vào tính đúng sai của biểu thức điều kiện

- Có thể lồng các câu lệnh if với nhau để tạo thành cấu trúc rẽ nhiều nhánh

- Kiểm tra một biến duy nhất rồi chọn các câu lệnh để thực thi tùy thuộc vào giá trị của biến đó

- Có thể sử dụng nhánh default làm lựa chọn mặc định khi không có nhánh nào khác được chọn

Trang 26

TOPIC 02: Cấu trúc rẽ nhánh – Thuật toán

Cấu trúc rẽ nhánh

- Ví dụ minh họa:

Trang 27

TOPIC 02: Cấu trúc rẽ nhánh – Thuật toán

Cấu trúc rẽ nhánh

- Ví dụ minh họa:

Trang 28

TOPIC 02: Cấu trúc rẽ nhánh – Thuật toán

Lưu đồ thuật toán:

n>0

Kết thúc

Bắt đầu

Trang 31

TOPIC 03: Các cấu trúc điều khiển

Trang 33

TOPIC 03: Các cấu trúc điều khiển

Trang 34

Vòng lặp for: for ( khở i tạo ; điều kiện ; cập nhật )

statement;

5, 4, 3, 2, 1, bum

TOPIC 03: Các cấu trúc điều khiển

Trang 35

Lệnh break:

10, 9, 8, 7, 6, 5, 4,

TOPIC 03: Các cấu trúc điều khiển

dung dem nguoc

Trang 36

Lệnh continue:

1, 3, 5, 7, 9

TOPIC 03: Các cấu trúc điều khiển

Trang 37

Bài tập áp dụng :

Cho đoạn chương trình sau, đã khai báo đầy

đủ hàm và using namespace std; : Nếu nhập giá trị cho n là 12, kết quả in ra là?

Trang 38

Bài tập áp dụng :

Cho đoạn chương trình sau, đã khai báo đầy đủ hàm và

using namespace std; : Kết quả của đoạn code này là gì?

Trang 41

Ví dụ:

TOPIC 04: Hàm – đệ quy

Trang 42

Tham trị Tham chiếu

Trang 43

TOPIC 04: Hàm – đệ quy

Trang 44

TOPIC 04: Hàm – đệ quy

Trang 45

TOPIC 04: Hàm – đệ quy

Stack

Stack là cấu trúc dữ liệu hoạt

động theo nguyên lý Last In

First Out (LIFO) – vô sau ra

trước.

Trang 46

TOPIC 04: Hàm – đệ quy

Điểm dừng

Phần đệ quy

Là điều kiện cho hàm dừng

lại Là khi vấn đề đơn giản

nhất.

Là hàm tự gọi bản thân, chia

nhỏ vấn đề.

Trang 52

TOPIC 05 – Mảng 1 chiều và mảng 2 chiều

Trang 53

TOPIC 05 – Mảng 1 chiều

Trang 55

TOPIC 05 – Mảng 1 chiều

- Tên mảng: MangKyTu - Tên mảng: MangSoNguyen

- Kiểu dữ liệu của phần tử mảng: char - Kiểu dữ liệu của phần tử mảng: int

- Số chiều: 1 chiều - Số chiều: 2 chiều

- Kích thước: 4 phần tử - Kích thước: 2 dòng x 3 cột

Các yếu tố xác định mảng

Trang 56

TOPIC 05 – Mảng 1 chiều

• Cú pháp:

<Kiểu dữ liệu> <Tên mảng> [<Số phần tử mảng>];

Khai báo mảng 1 chiều

Trang 58

TOPIC 05 – Mảng 1 chiều

Chỉ số mảng:

Trang 59

TOPIC 05 – Mảng 1 chiều

<Tên mảng>[<chỉ số mảng>]

• Các phần tử mảng là 1 dãy liên tục có chỉ số từ 0 đến <Số phần tử mảng> - 1

Truy suất phần tử mảng

Trang 61

TOPIC 05 – Mảng 1 chiều

• Mảng có thể thay đổi nội dung sau khi thực hiện hàm

• Có thể bỏ số lượng phần tử hoặc sử dụng con trỏ

VD:

void NhapMang(int A[], int n);

void NhapMang(int *A, int n);

Trang 62

TOPIC 05 – Mảng 2 chiều

Cú pháp : <Kiểu dữ liệu> <Tên mảng>[<Số Dòng>][<Số Cột>];

Trang 63

TOPIC 05 – Mảng 2 chiều

<Tên mảng>[<Chỉ số dòng>][<Chỉ số cột>]

Truy xuất phần tử mảng

Trang 64

TOPIC 05 – Mảng 2 chiều

• Mảng có thể thay đổi nội dung sau khi thực hiện hàm

• Có thể bỏ số lượng phần tử hoặc sử dụng con trỏ

Truyền mảng cho hàm

Trang 66

char chuoi[] = “Chuoi”;

Chỉ số chuỗi

Địa chỉ 1884 1885 1886 1887 1888 1889

TOPIC 06 – Mảng kí tự

Trang 67

TOPIC 06 – Mảng kí tự

• Kiểu char chỉ chứa được một ký tự

VD:char a = ‘a’ ;

char b = ‘abc’ ; // không được ☹

• Để lưu trữ một chuỗi (nhiều ký tự) ta sử dụng mảng (một chiều) các ký tự

• Chuỗi ký tự kết thúc bằng ký tự “\0‟ (null)

• Độ dài chuỗi = kích thước mảng – 1

Trang 68

• Các kiểu khai báo chuỗi

Trang 70

Nhập chuỗi

• Hàm nhập chuỗi: getline

• Ví dụ: getline(<tên chuỗi>, <độ dài chuỗi>);

• Hàm tự động thêm ký tự NULL (‘\0’) vào cuối chuỗi

char s[100];

cin.getline(s, 99);

TOPIC 06 – Mảng kí tự

Trang 71

TOPIC 06 – Mảng kí tự

• Hàm xuất chuỗi: puts

• Ví dụ: puts(<tên chuỗi>);

char *s = “Hello World”;

puts(s);

Xuất chuỗi

Trang 72

TOPIC 06 – Mảng kí tự

Một số hàm thuộc thư viện <string.h>

72

Một số hàm thông dụng trong thư viện

Trang 76

NMLT NMĐT t NMLT Contes

19:30

16/12

18:00 18/12 19:30

17/12

Ngày đăng: 26/07/2023, 21:54

TỪ KHÓA LIÊN QUAN

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