Bài giảng Nhập môn tin học: Các cấu trúc điều khiển - TS. Đào Nam Anh

126 109 0
Bài giảng Nhập môn tin học: Các cấu trúc điều khiển - TS. Đào Nam Anh

Đ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

Bài giảng Nhập môn tin học: Các cấu trúc điều khiển do TS. Đào Nam Anh biên soạn đã giới thiệu cấu trúc lựa chọn, vòng lặp, lòng lặp, cấu trúc lặp, câu lệnh rẽ nhánh,... Mời các bạn cùng tham khảo nội dung chi tiết.

NHẬP MÔN TIN HỌC CÁC CẤU TRÚC ĐIỀU KHIỂN TS Đào Nam Anh Tài liệu Slides TS.Đào Nam Anh thực dựa tài liệu [1] mã nguồn [2]: TS.Nguyễn Thị Thu Hà, TS.Nguyễn Hữu Quỳnh, TS.Nguyễn Thị Thanh Tân, Giáo trình Nhập mơn tin học, Khoa CNTT, Đại học Điện lực, 2013 Programiz.com CNTT Nhập môn tin học Nội dung CÁC CẤU TRÚC ĐIỀU KHIỂN U C A N NG P C NH Y CNTT Nhập môn tin học CÁC CẤU TRÚC ĐIỀU KHIỂN GIỚI THIỆU  Cấu trúc lựa chọn  Câu lệnh if  Câu lệnh if – else  Câu lệnh với nhiều lệnh if  Câu lệnh if lồng  Câu lệnh switch  Vòng lặp  Vòng lặp „for‟ C  Tốn tử „phẩy‟  Vòng lặp lồng  Vòng lặp „while‟ vòng lặp „do-while‟  Lệnh nhẩy  Các lệnh „break‟, „continue‟ „goto‟  Hàm „exit()‟ CÁC CẤU TRÚC ĐIỀU KHIỂN U C A N  Các cấu trúc lựa chọn cho phép thay đổi luồng chương trình Dựa điều kiện đó, câu lệnh hay chuỗi câu lệnh thực không  Hầu hết ngôn ngữ lập trình sử dụng lệnh if để đưa điều kiện Nguyên tắc thực sau điều kiện đưa (true), chương trình thực cơng việc đó, điều kiện đưa sai (false), chương trình thực công việc khác CNTT Nhập môn tin học CÁC CẤU TRÚC ĐIỀU KHIỂN U C A N Ví dụ : Để xác định số số n hay số lẻ, ta thực sau: Nhập vào số Chia số cho để xác định số dư Nếu số dư phép chia 0, số “Chẵn” HOẶC số dư phép chia khác 0, số “Lẻ” Bước giải thuật kiểm tra phần dư số chia cho có không? Nếu đúng, ta thực việc hiển thị thông báo số chẵn Nếu số dư khác 0, ta thực việc hiển thị thơng báo số lẻ CNTT Nhập môn tin học CÁC CẤU TRÚC ĐIỀU KHIỂN U C A N Trong C điều kiện coi (true) có giá trị khác 0, sai (false) có giá trị C cung cấp hai dạng câu lệnh lựa chọn:  Câu lệnh if  Câu lệnh switch Sau tìm hiểu hai câu lệnh lựa chọn CNTT Nhập môn tin học CÁC CẤU TRÚC ĐIỀU KHIỂN U C A Câu lệnh if  Câu lệnh if cho phép ta đưa định dựa việc kiểm tra điều kiện (true) hay sai Điều kiện (false)  Sơ đồ quy trình thực câu lệnh if Khi xét điều kiện, điều kiện Nếu điều kiện sai trường hợp cơng việc thực hiện, điều kiện sai, chương trình khơng thực N Nếu điều kiện Công việc CÁC CẤU TRÚC ĐIỀU KHIỂN U C A N  Dạng tổng quát câu lệnh if: if (biểu thức) Các câu lệnh;  Biểu thức phải đặt cặp dấu ngoặc () Mệnh đề theo sau từ khoá if điều kiện (hoặc biểu thức điều kiện) cần kiểm tra Tiếp đến lệnh hay tập lệnh thực thi điều kiện (hoặc biểu thức điều kiện) có kết true CNTT Nhập môn tin học CÁC CẤU TRÚC ĐIỀU KHIỂN U C A N Ví dụ: #include void main() { int a = 10, b = 2, max; if (a > b){ max = a ; printf(“The max value is: %d”, max) ; } } CNTT Nhập môn tin học 10 CÁC CẤU TRÚC ĐIỀU KHIỂN NG P  Đoạn chương trình u cầu Vòng lặp while.Ví dụ #include #include main() { int val; { printf("Please enter a number between and 10: "); scanf("%d",&val); if(val10) printf("The number is not between and 10.\n"); }while(val10); printf("You entered a %d.",val); getch(); return 0; } người dùng nhập số từ bàn phím, số nằm ngồi khoảng 10 (có nghĩa nhỏ lớn 10) yêu cầu nhập lại 112 CÁC CẤU TRÚC ĐIỀU KHIỂN NG P  Đoạn chương trình u cầu Vòng lặp while.Ví dụ #include #include main() { int val; { printf("Please enter a number between and 10: "); scanf("%d",&val); if(val10) printf("The number is not between and 10.\n"); }while(val10); printf("You entered a %d.",val); getch(); return 0; } người dùng nhập số từ bàn phím, số nằm ngồi khoảng 10 (có nghĩa nhỏ lớn 10) yêu cầu nhập lại  Kết thực chương trình sau: Please enter a number between and 10: 11 The number is not between and 10 Please enter a number between and 10: 12 The number is not between and 10 Please enter a number between and 10: The number is not between and 10 Please enter a number between and 10: 113 You entered a CÁC CẤU TRÚC ĐIỀU KHIỂN NG P  Chương trình yêu cầu người Các vòng lặp „while lồng nhau‟ „do while‟ int main(){ char x, c; printf("Enter a character: "); scanf("%c", &c); printf("Character entered: %c\n", c); fflush(stdin); printf("Enter more characters (Y/N)?"); scanf("%c", &x); fflush(stdin); while (x == 'Y' || x == 'y'){ do{ printf("Enter a character: "); scanf("%c", &c); fflush(stdin); printf("Character entered: %c\n", c); }while (c != 'E' && c != 'e'); printf("Enter more characters (Y/N)?"); scanf("%c", &x); fflush(stdin); } }     dùng nhập vào k tự Sau nhập, chương trình hỏi người dùng có muốn nhập tiếp k tự khác hay không (Y/N)? Nếu trả lời „n‟ „N‟, chương trình kết thúc Nếu trả lời „y‟ „Y‟ , cho phép người dùng nhập liên tục k tự người dùng nhập vào kí tự „e‟ „E‟ Lúc này, chương trình hỏi lại người dùng có muốn nhập k tự khơng lặp lại bước thực 114 CÁC CẤU TRÚC ĐIỀU KHIỂN NG P Các vòng lặp „while lồng nhau‟ „do while‟ int main(){ char x, c; printf("Enter a character: "); scanf("%c", &c); printf("Character entered: %c\n", c); fflush(stdin); printf("Enter more characters (Y/N)?"); scanf("%c", &x); fflush(stdin); while (x == 'Y' || x == 'y'){ do{ printf("Enter a character: "); scanf("%c", &c); fflush(stdin); printf("Character entered: %c\n", c); }while (c != 'E' && c != 'e'); printf("Enter more characters (Y/N)?"); scanf("%c", &x); fflush(stdin); } }  Kết thực đoạn chương trình sau: Enter a character: b Character entered: b Enter more characters (Y/N)? y Enter a character:c Character entered:c Enter a character:e Character entered:c Enter more characters (Y/N)?115n CÁC CẤU TRÚC ĐIỀU KHIỂN C NH Y  C có bốn câu lệnh thực rẽ nhánh không điều kiện: return, goto, break, continue  Sự rẽ nhánh không điều kiện nghĩa chuyển điều khiển từ điểm đến lệnh xác định  Trong lệnh chuyển điều khiển trên, return goto dùng vị trí chương trình, lệnh break continue sử dụng kết hợp với câu lệnh vòng lặp CNTT Nhập mơn tin học 116 CÁC CẤU TRÚC ĐIỀU KHIỂN C NH Y Lệnh break Câu lệnh break có hai cách dùng  Nó sử dụng để kết thúc case câu lệnh switch để kết thúc vòng lặp, mà khơng cần kiểm tra điều kiện vòng lặp  Khi chương trình gặp lệnh break vòng lặp, vòng lặp kết thúc quyền điều khiển chương trình chuyển đến câu lệnh theo sau vòng lặp CNTT Nhập mơn tin học 117 CÁC CẤU TRÚC ĐIỀU KHIỂN C NH Ví dụ 3.16: #include main() { int n,i ; printf("Input n = "); scanf("%d",&n); printf("So vua nhap la: %d\n",n); for (i=n;i>=1;i ) { if (i==5) break; printf("%d ",i) ; } } Y Đoạn chương trình yêu cầu người dùng nhập số nguyên từ bàn phím (n) Sau in dãy số theo thứ tự ngược từ n tới Về nguyên tắc, ng lặp thực n lần Tuy nhiên, có câu lệnh: if (i==5) break; nên vòng lặp bị kết thúc chừng sau lần lặp thứ (i = 5) 118 CÁC CẤU TRÚC ĐIỀU KHIỂN C NH Ví dụ 3.16: #include main() { int n,i ; printf("Input n = "); scanf("%d",&n); printf("So vua nhap la: %d\n",n); for (i=n;i>=1;i ) { if (i==5) break; printf("%d ",i) ; } } Y  Kết thực chương trình sau: Input n = 10 So vua nhap la: 10 10 119 CÁC CẤU TRÚC ĐIỀU KHIỂN C NH Y Lệnh break  Một điểm khác cần lưu ý việc sử dụng câu lênh break lệnh lặp lồng Khi chương trình thực thi đến lệnh break nằm vòng lặp for lồng bên vòng lặp for khác, quyền điều khiển chuyển trở vòng lặp for bên ngồi CNTT Nhập mơn tin học 120 CÁC CẤU TRÚC ĐIỀU KHIỂN C NH Y Lệnh continue  Lệnh continue kết thúc lần lặp hành bắt đầu lần lặp Khi gặp lệnh chương trình, câu lệnh lại thân vòng lặp bỏ qua quyền điều khiển chuyển đến bước đầu vòng lặp lần lặp  Trong trường hợp vòng lặp for, continue thực biểu thức thay đổi giá trị biến điều khiển sau kiểm tra biểu thức điều kiện  Trong trường hợp lệnh while do…while, quyền điều khiển chương trình chuyển đến biểu thức kiểm tra điều kiện CNTT Nhập môn tin học 121 CÁC CẤU TRÚC ĐIỀU KHIỂN C NH Ví dụ 3.17: #include #include #include main() { int n,i ; printf("Input n = "); scanf("%d",&n); printf("So vua nhap la:%d\n",n); for (i=1;i

Ngày đăng: 30/01/2020, 15:59

Từ khóa liên quan

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

Tài liệu liên quan