Bài giảng Lập trình - Bài: Giới thiệu về các cấu trúc điều khiển - Phạm Minh Tuấn

Khối lệnh trong lập trình

Dùng cấu trúc rẽ nhánh trong lập trình

Xử lý lặp trong lập trình

Các vấn đề tìm hiểu mở rộng kiến thức nghề nghiệp

Thuật ngữ và bài đọc thêm tiếng Anh

Bài giảng Lập trình - Bài: Giới thiệu về các cấu trúc điều khiển - Phạm Minh Tuấn trang 1

Trang 1

Bài giảng Lập trình - Bài: Giới thiệu về các cấu trúc điều khiển - Phạm Minh Tuấn trang 2

Trang 2

Bài giảng Lập trình - Bài: Giới thiệu về các cấu trúc điều khiển - Phạm Minh Tuấn trang 3

Trang 3

Bài giảng Lập trình - Bài: Giới thiệu về các cấu trúc điều khiển - Phạm Minh Tuấn trang 4

Trang 4

Bài giảng Lập trình - Bài: Giới thiệu về các cấu trúc điều khiển - Phạm Minh Tuấn trang 5

Trang 5

Bài giảng Lập trình - Bài: Giới thiệu về các cấu trúc điều khiển - Phạm Minh Tuấn trang 6

Trang 6

Bài giảng Lập trình - Bài: Giới thiệu về các cấu trúc điều khiển - Phạm Minh Tuấn trang 7

Trang 7

Bài giảng Lập trình - Bài: Giới thiệu về các cấu trúc điều khiển - Phạm Minh Tuấn trang 8

Trang 8

Bài giảng Lập trình - Bài: Giới thiệu về các cấu trúc điều khiển - Phạm Minh Tuấn trang 9

Trang 9

Bài giảng Lập trình - Bài: Giới thiệu về các cấu trúc điều khiển - Phạm Minh Tuấn trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 58 trang Danh Thịnh 08/01/2024 4200
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Lập trình - Bài: Giới thiệu về các cấu trúc điều khiển - Phạm Minh Tuấn", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Lập trình - Bài: Giới thiệu về các cấu trúc điều khiển - Phạm Minh Tuấn

Bài giảng Lập trình - Bài: Giới thiệu về các cấu trúc điều khiển - Phạm Minh Tuấn
Nhập môn lập trình 
Trình bày: ; Email: @fit.hcmus.edu.vn 
Khối lệnh trong lập trình 
Dùng cấu trúc rẽ nhánh trong lập trình 
Xử lý lặp trong lập trình 
Các vấn đề tìm hiểu mở rộng kiến thức 
nghề nghiệp 
Thuật ngữ và bài đọc thêm tiếng Anh 
11/10/2012 2 Khoa CNTT - ĐH Khoa học tự nhiên 
• Một dãy các câu lệnh được bao bởi dấu {} 
gọi là một khối lệnh. 
• Ví dụ: 
{ 
 a = 2; 
 b = 3; 
 printf("\n%d%d", a, b); 
} 
11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 4 
• Một namespace là giới hạn phạm vi ý 
nghĩa của một cái tên, nghĩa là tên chỉ có 
ý nghĩa trong phạm vi được định nghĩa bởi 
namespace. 
• Namespace giúp tránh đụng độ tên biến, 
tên hàm 
11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 5 
// namespaces 
#include 
using namespace std; 
namespace first { 
 int var = 5; 
} 
namespace second { 
 double var = 3.1416; 
} 
void main () { 
 cout << first::var << endl; 
 cout << second::var << endl; 
} 
11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 6 
• Khi lập trình, cần phải nắm rõ phạm vi của 
biến. Nếu khai báo và sử dụng không 
đúng, không rõ ràng sẽ dẫn đến sai sót 
khó kiểm soát được, vì vậy bạn cần phải 
xác định đúng vị trí, phạm vi sử dụng biến 
trước khi sử dụng biến. 
• Có 2 loại biến: 
– Biến toàn cục (Global variable) 
– Biến cục bộ (Local variable) 
11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 7 
• Biến toàn cục (Global variables): vị trí 
biến đặt bên ngoài tất cả các hàm, cấu 
trúc...Các biến này có ảnh hưởng đến 
toàn bộ chương trình. Chu trình sống của 
nó là bắt đầu chạychương trình đến lúc 
kết thúc chương trình. 
• Nguyên tắc sử dụng: có thể được sử 
dụng ở bất kỳ đâu trong chương trình, 
ngay sau khi nó được khai báo. 
11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 8 
• Biến cục bộ (Local variables): Vị trí biến đặt 
bên trong hàm, cấu trúc. Chỉ ảnh hưởng nội bộ 
bên trong hàm, cấu trúc đó. Chu trình sống của 
nó bắt đầu từ lúc hàm, cấu trúc được gọi thực 
hiện đến lúc thực hiện xong. 
• Nguyên tắc sử dụng: bị giới hạn trong phần mã 
mà nó được khai báo. Nếu chúng được khai báo ở 
đầu một hàm (như hàm main), tầm hoạt động sẽ 
là toàn bộ hàm main. Điều đó có nghĩa là các biến 
được khai báo trong hàm main() chỉ có thể được 
dùng trong hàm đó, không được dùng ở bất kỳ 
đâu khác. 
11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 9 
• Các cấu trúc điều khiển cho phép chúng ta 
thay đổi thứ tự thực hiện các câu lệnh. 
Việc sử dụng các cấu trúc điều khiển trong 
chương trình giúp chúng ta thực hiện các 
câu lệnh trong chương trình theo ý của 
mình chứ không cứng nhắc là từ trên 
xuống dưới. 
11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 11 
• Cấu trúc điều khiển có 2 loại: 
– Cấu trúc điều khiển rẽ nhánh: 
• if else 
• switch 
– Cấu trúc điều khiển vòng lặp: 
• for 
• while 
• do while 
11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 12 
• Cấu trúc rẽ nhánh if cho 
phép lựa chọn thực hiện 
một lệnh hay khối lệnh đi 
sau cấu trúc điều khiển if 
hay không, việc lựa chọn 
này tùy thuộc vào giá trị 
trả về của biểu thức điều 
kiện. 
11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 13 
if (biểu_thức_điều_kiện) 
{ 
 Lệnh 1; 
 Lệnh 2; 
 Lệnh n; 
} 
11/10/2012 14 Khoa CNTT - ĐH Khoa học tự nhiên 
Đúng 
• Tìm số lớn nhất trong 3 số thực a, b, c 
#include 
void main() { 
 float a, b, c, max; 
 printf(“Nhap 3 so thuc: ”); 
 scanf(“%f%f%f”, &a, &b, &c); 
 max = a; 
 if (b > max) 
 max = b; 
 if (c > max) 
 max = c; 
 printf(“So lon nhat la: %.2f\n”, max); 
} 
11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 15 
• Cấu trúc điều khiển rẽ nhánh if else cho 
phép lựa chọn một trong hai nhánh lệnh 
của chương trình và việc lựa chọn này tùy 
thuộc giá trị trả về của biểu thức điều 
kiện. 
11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 16 
• Cấu trúc điều khiển rẽ 
nhánh if else cho phép lựa 
chọn một trong hai nhánh 
lệnh của chương trình và 
việc lựa chọn này tùy 
thuộc giá trị trả về của 
biểu thức điều kiện. 
11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 17 
if (biểu_thức_điều_kiện) 
{ 
 Lệnh 1; 
 Lệnh 2; 
 Lệnh n; 
} 
else 
{ 
 Lệnh 1; 
 Lệnh 2; 
 Lệnh n; 
} 
11/10/2012 18 Khoa CNTT - ĐH Khoa học tự nhiên 
Đúng Sai 
• Kiểm tra 2 số thực cho trước có cùng dấu 
hay không? 
#include 
void main() { 
 float a, b; 
 printf(“Nhap 2 so thuc: ”); 
 scanf(“%f%f”, &a, &b); 
 if (a * b > 0) 
 printf(“%.2f va %.2f cung dau!\n”, a, b); 
 else 
 printf(“%.2f va %.2f trai dau!\n”, a, b); 
} 
11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 19 
• Giải phương trình bậc nhất ax + b = 0 
#include 
void main() { 
 float a, b; 
 printf(“Nhap 2 so thuc: ”); 
 scanf(“%f%f”, &a, &b); 
 if (a == 0) 
 if (b == 0) 
 printf(“Phuong trinh vo so nghiem!\n”); 
 else 
 printf(“Phuong trinh vo nghiem!\n”); 
 else 
 printf(“Phuong trinh co nghiem x = %.2f\n”, -b / a); 
} 
11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 20 
• Nếu sau if hoặc else chỉ có một khối lệnh 
thì không cần phải để lệnh ấy trong khối 
lệnh “{}”. Ngoài ra NNLT C cũng cho phép 
chúng ta sử dụng cấu trúc chọn if, if else 
lồng nhau, nhưng phải xác định khối lệnh 
một cách rõ ràng. 
11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 21 
• Cấu trúc điều khiển rẽ 
nhánh switch cho phép 
căn cứ vào giá trị của biểu 
thức nguyên để cho một 
trong nhiều cách nhảy. 
11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 22 
switch (biểu_thức_chọn) 
{ 
 case Giá_Trị_1: 
 Lệnh 1; 
 .. 
 Lệnh n; 
 break; 
 case Giá_Trị_2: 
 Lệnh 1; 
 .. 
 Lệnh n; 
 break; 
 default: 
 Lệnh 1; 
 .. 
 Lệnh n; 
 break; 
} 
11/10/2012 23 Khoa CNTT - ĐH Khoa học tự nhiên 
<kiểm tra 
giá trị> 
case giá trị 1 
case giá trị 2 
default 
break 
break 
break 
• Cho biết tháng cho trước thuộc quý mấy? 
#include 
void main() { 
 int thang; 
 printf(“Nhap thang: ”); 
 scanf(“%d”, &thang); 
 switch (thang) 
 { 
 case 1: case 2: case 3: printf(“Quy I\n”); break; 
 case 4: case 5: case 6: prin

File đính kèm:

  • pdfbai_giang_lap_trinh_bai_gioi_thieu_ve_cac_cau_truc_dieu_khie.pdf