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

Các cấu trúc điều khiển (phần 2) pdf

30 328 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Các cấu trúc điều khiển (phần 2)
Tác giả Lê Viết Mẫn
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Computer Science
Thể loại Giáo trình
Năm xuất bản 2012
Thành phố Hà Nội
Định dạng
Số trang 30
Dung lượng 700,58 KB

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

Nội dung

Lê Viết Mẫn - lvman@hce.edu.vn Các cấu trúc điều khiển 2... Lê Viết Mẫn - lvman@hce.edu.vn Các cấu trúc điều khiển 2Enum • Khai báo enum là thành phần của lớp • Nhập liệu kiểu Enum • Nhậ

Trang 1

v 1.0 - 10/2012Các cấu trúc điều khiển

(phần 2)

Trang 2

Lê Viết Mẫn - lvman@hce.edu.vn Các cấu trúc điều khiển 2

Trang 3

chúng ta sẽ học

Lặp

Câu lệnh for, while, do

Trang 4

Lê Viết Mẫn - lvman@hce.edu.vn Các cấu trúc điều khiển 2

Enum

• Khai báo enum là thành phần của lớp

• Nhập liệu kiểu Enum

• Nhập vào số tương ứng giá trị của một thành phần trong kiểu enum

• Nhập vào chuỗi ký tự của một thành phần trong kiểu enum

4

day = ( Weekday ) Convert ToInt32( Console ReadLine()); // kết quả là Monday

day = ( Weekday ) Enum Parse( typeof ( Weekday ), Console ReadLine());

class Program { enum Weekday {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday};

static void Main( string [] args) {

Sunday, October 28, 12

Trang 5

Iteration structures

Lệnh lặp : for, while, do

Trang 6

Lê Viết Mẫn - lvman@hce.edu.vn 6 Các cấu trúc điều khiển 2

• statement_3 là một lệnh đơn hoặc lệnh

kép mà ta muốn được thực hiện nhiều lần

• statement_2 được dùng để cập nhật /

thay đổi giá trị của condition

Sunday, October 28, 12

Trang 7

for ( int i = 0; i < 10; i++)

In ra các số từ 0 đến 9, mỗi số trên một dòng

Trang 8

Lê Viết Mẫn - lvman@hce.edu.vn 8 Các cấu trúc điều khiển 2

" Console WriteLine(i);" " " " " " // in cac so 0, 2, 4, 6, 8

for (i = 0, j = 0; i < 10 && j < 5; i += 2, j++) // toán tử dấu phẩy

" Console WriteLine(“{0}\t{1}”, i, j);

for ( int i = 0; i < 100; i++) // phạm vi của biến i là trong vòng lặp

" Console WriteLine(i);

Sunday, October 28, 12

Trang 9

Chú ý

• Lỗi Biến i vượt quá phạm vi

• Không có lỗi vì biến i được khai báo bên ngoài

• Biến i thứ hai là một biến mới

for ( int i = 0; i < 10; i++)

" Console Write( "i is big\n" );

for ( int i = 0; i < 10; i++)

" Console WriteLine(i);

for ( int i = 0; i < 20; i++)

" Console WriteLine(i);

Trang 10

Lê Viết Mẫn - lvman@hce.edu.vn 10 Các cấu trúc điều khiển 2

Trang 11

For lồng nhau

float windChillIndex;

Console WriteLine( "TABLE OF WIND-CHILL INDICES" );

Console Write( "degrees F:" );

for (int j = 5; j >= -6; j ) Console Write( "{0,5}" ,10*j); // tieu de cot

if (i <= 4) windChillIndex = j;

else if (i <= 45) windChillIndex = (float)(91.4f - (10.45f + 6.69

else windChillIndex = 1.6f * j - 55;

Console Write( "{0,5}" , Math Floor(windChillIndex + 0.5));

} Console.WriteLine();

}

Console ReadKey();

Trang 12

Lê Viết Mẫn - lvman@hce.edu.vn

Kết quả

Các cấu trúc điều khiển 2

TABLE OF WIND-CHILL INDICES degrees F: 50 40 30 20 10 0 -10 -20 -30 -40 -50 -60

Trang 13

12 24 36 48 144

Trang 14

Lê Viết Mẫn - lvman@hce.edu.vn 14 Các cấu trúc điều khiển 2

• Điều kiện được đặt ở đầu vòng lặp

• statement có thể không được thực hiện lần nào

• statement phải chứa câu lệnh làm thay đổi

" Console WriteLine(n);

n = n + 1;

}

Sunday, October 28, 12

Trang 15

In ngược các số từ 100 đến 1, mỗi số trên một dòng

Nhận vào ngày tháng năm, nếu ngày tháng nhập vào không hợp lệ thì yêu cầu nhập lại

Trang 16

Lê Viết Mẫn - lvman@hce.edu.vn 16 Các cấu trúc điều khiển 2

• Điều kiện được đặt ở cuối vòng lặp

• statement được thực hiện ít nhất một lần

• statement phải chứa câu lệnh làm thay đổi

} while (n < 10);

In ra các số từ 0 đến 9, mỗi số trên một dòng

Sunday, October 28, 12

Trang 18

Lê Viết Mẫn - lvman@hce.edu.vn Các cấu trúc điều khiển 2

Trang 19

• Lệnh break;

• kết thúc vòng lặp chứa lệnh này (chương trình tiếp tục với các câu lệnh sau

vòng lặp này)

• Lệnh continue;

• bỏ qua các lệnh còn lại trong vòng lặp

• tiếp tục với bước lặp tiếp theo

• Lệnh for : thực hiện bước cập nhật rồi kiểm tra

• Lệnh while và do : thực hiện bước kiểm tra

• Lệnh Environment Exit(int);

• Thoát khỏi chương trình

Ngắt vòng lặp

Trang 20

Lê Viết Mẫn - lvman@hce.edu.vn Các cấu trúc điều khiển 2

Trang 21

Ví dụ 1 - máy tính

Viết chương trình cho phép thực hiện các phép tính cộng, trừ,

nhân, chia cho hai số được nhập vào từ bàn phím Chương

trình sẽ lặp lại việc tính toán này cho đến khi người sử dụng

bấm ký tự E hoặc e (Exit).

Trang 22

Lê Viết Mẫn - lvman@hce.edu.vn 22 Các cấu trúc điều khiển 2

Ví dụ 2 - in lịch

Viết chương trình in lịch theo tháng, năm và kiểu lịch in theo

dạng sau :

October, 1948 Sun Mon Tue Wed Thu Fri Sat

Trang 23

Hướng dẫn

• In tên tháng, năm

• In các thứ theo các cột

• In các ngày ứng với các cột thứ

• Phải in ngày mồng 1 vào đúng cột của thứ tương ứng Các ngày tiếp theo

được in liên tiếp, khi gặp ngày thứ 7 thì phải in xuống dòng mới

• Tính ngày cuối cùng của tháng lastDayOfMonth

• Tính ngày tuyệt đối (absoluteDays) cho ngày 1 tháng cần in lịch

• firstWeekdayOfMonth = absoluteDays % 7;

• firstSaturday = 7 - firstWeekdayOfMonth;

Trang 24

Lê Viết Mẫn - lvman@hce.edu.vn Các cấu trúc điều khiển 2

Trang 25

Các loại lỗi (bug)

• Lỗi cú pháp - syntax error

• Lỗi lúc biên dịch - Compile-time error

• Lỗi dễ thấy nhất, xảy ra khi viết câu lệnh không đúng qui tắc của ngôn ngữ

• Trình biên dịch sẽ thông báo cho chúng ta thông qua những thông điệp sai

lầm / các cảnh báo (Error List)

• Lỗi ngữ nghĩa - semantic error

• Lỗi lúc chạy chương trình - runtime error

• Ý nghĩa câu lệnh không đúng như mong muốn

Chương trình bị gãy đổ (crash) cùng với thông báo lỗi hoặc không

• Lỗi logic - logic error

• Các lỗi ngữ nghĩa mà không làm crash chương trình

• Kết quả chương trình không đúng

Trang 26

Lê Viết Mẫn - lvman@hce.edu.vn Các cấu trúc điều khiển 2

Test

• Định nghĩa trước các trường hợp có thể xảy ra lỗi

• Kiểm tra (chạy) chương trình với các trường hợp đó để xem

chương trình có bị lỗi dự kiến hay không

• Nếu không - chương trình được viết tốt cho trường hợp đó

• Nếu có - tìm nguyên nhân gây ra lỗi và sửa chữa chương trình

• Tìm nguyên nhân gây ra lỗi

• Các lệnh điều khiển gỡ lỗi

• Công cụ debugger

26

Sunday, October 28, 12

Trang 27

Các lệnh điều khiển gỡ lỗi

if (expression){

" cout << "true" << endl;

Trang 28

Lê Viết Mẫn - lvman@hce.edu.vn 28 Các cấu trúc điều khiển 2

Trang 29

Chốt ngừng - breakpoint

• Là một dấu hiệu báo cho debugger biết tạm ngưng thi hành

chương trình ở điểm nào đó

• Chương trình lúc này ở chế độ ngắt (break mode)

• Chương trình tạm ngưng thi hành và có thể tiếp tục chạy nếu bạn muốn

• Các hoạt động của các biến, hàm, đối tượng bị “đóng băng”

• Bạn có thể quan sát tình trạng, giá trị các biến, biểu thức và hàm

• Có thể thay đổi giá trị các biến

• Có thể cho thực thi tiếp từng dòng lệnh trong đoạn mã

• Sử dụng thanh công cụ Debug

• Mỗi breakpoint còn hỗ trợ các Hit Count và Condition

Trang 30

Lê Viết Mẫn - lvman@hce.edu.vn

Ngày đăng: 01/04/2014, 00:21

TỪ KHÓA LIÊN QUAN

w