Các cấu trúc logic trong lập trình 1 Cấu trúc tuần tự (Sequence) 1.1 Những câu lệnh phải được sắp xếp theo thứ tự Một số hướng dẫn cho việc tổ chức câ

Tài liệu tương tự
Tìm hiểu ngôn ngữ lập trình Visual Basic Tìm hiểu ngôn ngữ lập trình Visual Basic Bởi: Khuyet Danh Tìm hiểu ngôn ngữ lập trình Visual Basic Tổng quan

Những cơ sở của ngôn ngữ C# Những cơ sở của ngôn ngữ C# Bởi: phamvanviet truonglapvy Trong chương này sẽ trình bày về hệ thống kiểu trong C#; phân biệ

Nhúng mã-cách khai báo biến Nhúng mã-cách khai báo biến Bởi: Khoa CNTT ĐHSP KT Hưng Yên Nhúng mã javascript trong trang HTML Bạn có thể nhúng JavaScri

Tom tat luan van - Nhung cuoi.doc

NGÔN NGƯ LÂ P TRIǸH Biên tập bởi: nguyenvanlinh

Câu lệnh (statement) Câu lệnh (statement) Bởi: Khuyet Danh Trong C# một chỉ dẫn lập trình đầy đủ được gọi là câu lệnh. Chương trình bao gồm nhiều câu

Lập trình cấu trúc trong Visual Basic Lập trình cấu trúc trong Visual Basic Bởi: Nguyễn Sơn Học xong chương này, sinh viên phải nắm bắt được các vấn đ

PowerPoint Presentation

TRƯỜnG ĐẠI HỌC BÁCH KHOA HÀ nội VIỆn CÔnG nghệ THÔnG TIn VÀ TRUYỀn THÔnG TIN HỌC ĐẠI CƯƠNG Bài 10. Các cấu trúc lập trình trong C Nội dung 1. Cấu trúc

Nghiên cứu ứng dụng mạng nơtron nhân tạo hỗ trợ công tác chọn thầu thi công ở Việt Nam

Bài tập thực hành NNLT Visual Basic GV. Nguyễn Thị Hải Bình BÀI THỰC HÀNH ÔN TẬP 1. Sinh viên ĐỌC CẨN THẨN TẤT CẢ NỘI DUNG trong bài thực hành trước k

Phan-tich-va-de-xuat-mot-so-giai-phap-hoan-thien-cong-tac-quan-ly-du-an-dau-tu-xay-dung-cong-trinh-cua-tong-cong-ty-dien-luc-mien-nam.pdf

Bài tập chương 1 ngôn ngữ lập trình visual basic Bài tập chương 1 ngôn ngữ lập trình visual basic Bởi: Khoa CNTT ĐHSP KT Hưng Yên MỤC TIÊU: SAU KHI HO

QUỐC HỘI Luật số: /201 /QH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc Dự thảo 2 LUẬT CHỨNG KHOÁN Căn cứ vào Hiến pháp nước Cộng hò

TRƯỜNG ĐẠI HỌC TÀI CHÍNH- MARKETING

Chương II - KIẾN TRÚC HỆ ĐIỀU HÀNH

Microsoft Word - 14-bi-quyet-tranh-luan.docx

Slide 1


Phương pháp biểu diễn thuật toán Phương pháp biểu diễn thuật toán Bởi: Khoa CNTT ĐHSP KT Hưng Yên Khi chứng minh hoặc giải một bài toán trong toán học

Bài 7. Con trỏ Mục tiêu: 1. Luyện tập sử dụng con trỏ và địa chỉ của các biến 2. Sử dụng con trỏ khi thao tác với mảng. Giới hạn: không dùng các thư v

Đề cương chương trình đại học

Lập trình và ngôn ngữ lập trình

Chương trình dịch

MỘT SỐ LƯU Ý KHI DẠY CÁC TIẾT ÔN TẬP CHƯƠNG Môn Tin học cung cấp cho học sinh những kiến thức phổ thông về ngành khoa học tin học, hình thành và phát

Microsoft Word - jsp_syntax.docx

PowerPoint Template

Tài liệu Hướng dẫn sử dụng

Microsoft Word - Du thao bao cao DHCD 2017

Microsoft Word - coi-vo-hinh.docx

Kết nối và thao tác với CSDL trong ASP Kết nối và thao tác với CSDL trong ASP Bởi: Khoa CNTT ĐHSP KT Hưng Yên Qui tắc chung - Tạo đối tượng Connection

Chương trình dịch

BỘ TÀI CHÍNH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐH TÀI CHÍNH - MARKETING Độc lập- Tự do- Hạnh phúc Số: 654/QĐ-ĐHTCM TP. Hồ Chí Minh, ngày 03 th

Kiểu dữ liệu văn bản Kiểu dữ liệu văn bản Bởi: PGS. TS. NGƯT Phạm Văn Huấn Ngoài những dữ liệu số như các số nguyên, số thực, máy tính còn có thể lưu

Loi vong lap lap vo tan - Worksheet_Change

BÀI TẬP TÌNH HUỐNG

Kiểm tra trong quản trị Kiểm tra trong quản trị Bởi: unknown Kết thúc chương này người học có thể: 1. Định nghĩa kiểm soát 2. Mô tả các phương pháp ki

LUAN VAN BANG TOM TAT.doc

QUY TẮC ỨNG XỬ

Microsoft Word - KHÔNG GIAN TINH THẦN

Bài tập thực hành Chuyên đề 1 CNPM - Java Khoa CNTT- Trường ĐH Công nghệ TP.HCM Lab 01: LẬP TRÌNH JAVA CƠ BẢN VỚI NET BEANS A. MỤC TIÊU: Hướng dẫn tải

Làm quen với chương trình Microsoft Excel Làm quen với chương trình Microsoft Excel Bởi: unknown Làm quen với chương trình Những thao tác đầu tiên với

Chương 1:

CHÍNH TRỊ - KINH TẾ HỌC Tái cơ cấu doanh nghiệp nhà nước ở Việt Nam Tái cơ cấu doanh nghiệp nhà nước ở Việt Nam Nguyễn Anh Bắc * Tóm tắt: Doanh nghiệp

Quy_che_quan_tri_Cty_KHP.doc

Microsoft Word - thuong-mai-dien-tu-va-kiem-tien-online.docx

Chuyên đề năm 2017: Học tập và làm theo tư tưởng, đạo đức, phong cách Hồ Chí Minh về phòng, chống suy thoái tư tưởng chính trị, đạo đức, lối sống, tự

Stored Procedures Stored Procedures Bởi: Khoa CNTT ĐHSP KT Hưng Yên Trong những bài học trước đây khi dùng Query Analyzer chúng ta có thể đặt tên và s

No tile

Ch­ng I

LỜI TỰA Sau khi cuốn sách Kinh nghiệm thành công của ông chủ nhỏ đầu tiên của tôi được phát hành, không ngờ chỉ trong vòng nửa năm đã có tới hơn một t

Nhà thơ Tô Kiều Ngân - từ đời lính đến Tao Đàn Thi sĩ Tô Kiều Ngân Văn Quang Viết từ Sài Gòn Lâu lắm rồi, tôi không gặp anh Tô Kiều Ngân, mặc dù chúng

HỌC VIỆN KỸ THUẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập Tự do Hạnh phúc ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN CÔNG NGHỆ CLI

PowerPoint Template

Những Đồng Minh Anh Hùng Harry F. Noyes III FB Hoài Nguyễn Cuộc chiến tranh Việt Nam qua đi hơn 40 năm qua nhưng những luận bàn về cuộc chiến này vẫn

Các hình thức bảo lãnh ngân hàng Các hình thức bảo lãnh ngân hàng Bởi: Đại Học Kinh Tế Quốc Dân Phân loại theo phương thức phát hành: Bảo lãnh trực ti

ĐỀ cương chương trình đẠi hỌc

CÔNG TY CỔ PHẦN TM - XNK THIÊN NAM

Microsoft Word - Tom tat Luan van - Nguyen Thi Ngoc Quynh.doc

Không Quân thời Nguyễn Xuân Vinh Phạm Phong Dinh Ngày 20 Tháng Bảy, 1954 là ngày Quốc Hận thứ nhất của người Việt, khi thực dân Pháp và Cộng Sản Việt

Lỗi thường gặp ở Windows Lỗi thường gặp ở Windows Bởi: Vien CNTT DHQG Hanoi LỖI THƯỜNG GẶP Ở WINDOWS Khi hệ thống gặp bất ổn, hệ điều hành (HĐH) sẽ cố

Microsoft Word - Huong dan su dung Mailchimp.docx

Microsoft Word - SCT Sec 3_vietnamese

1 LƯU ĐÌNH NAM

BỘ GIÁO DỤC VÀ ĐÀO TẠO Số: 155/QĐ-BGDĐT CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập Tự do Hạnh phúc Hà Nội, ngày 10 tháng 01 năm 2013 QUYẾT ĐỊNH Ban hà

Giới thiệu về ngôi trường mà em đang học

No tile

HỌC VIỆN KỸ THUẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập Tự do Hạnh phúc 1. Thông tin về giáo viên ĐỀ CƯƠNG CHI T

AC401VN Du thao BCTC da kiem toan Portcoast_sent

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM NGHỆ THUẬT TRUNG ƯƠNG NGUYỄN THỊ PHƯƠNG NHUNG DẠY HỌC MÔN TRANG TRÍ CHO NGÀNH CAO ĐẲNG SƯ PHẠM TIỂU HỌC

Microsoft PowerPoint - Chap03_Data processing1

Mật ngữ 12 chòm sao- Phân tích toàn bộ các cung hoàng đạo Ma kết - Capricornus (22/12 19/1) Ma kết khi còn trẻ đều rất ngây thơ. Tôi nghĩ ngay cả chín

Quy Tắc Đạo Đức Panasonic

ThemeGallery PowerTemplate

Microsoft Word - TUT02.01.PVN.NTCR doc

Phật Học Phổ Thông HT. Thích Thiện Hoa Khóa Thứ Hai Thiên Thừa Phật Giáo o0o Bài Thứ 9 Lục Hòa A Mở Ðề 1. Tai hại của sự bất hòa: Trong sự sống chung

Công Ty Công Nghệ Tin Học Mũi Tên Vàng Địa chỉ: Số 7 Nam Quốc Cang, Quận 1, TP HCM Điện thoại: Hotline: Website:

Microsoft Word - Conduong.doc

Microsoft Word - 3.QC tiep nhan, xu ly quan ly VB(R.1).doc

VẠCH MẶT NHÂN CHỨNG GIAN DỐI

Microsoft Word - cau-truc-du-lieu-hang-doi.docx

MICHAEL WILKINSON ĐỌC VỊ KHÁCH HÀNG BUYING STYLES Bản quyền tiếng Việt 2011 Công ty Sách Alpha Tùng Linh dịch NHÀ XUẤT BẢN LAO ĐỘNG - XÃ HỘI Dự án 1.0

ĐỀ TÀI NGHIÊN CỨU XÂY DỰNG ĐỊNH MỨC PHỤ TÙNG VẬT TƯ CHO SỬA CHỮA CÁC LOẠI ĐẦU MÁY Đề tài nghiên cứu Xây dựng định mức phụ tùng vật tư cho sửa chữa các

CÔNG TY ABC QUI TRÌNH CHUẨN Trang: 1/2 SỐ: SOP/SD/TTT-01 Ngày: Ngày áp dụng: Ban hành lần thứ:1 QUI TRÌNH TỰ THANH TRA, TỰ THANH TRA ĐỘT XUẤT Đơn vị:

Các biến và các kiểu dữ liệu trong JavaScript Các biến và các kiểu dữ liệu trong JavaScript Bởi: Hà Nội Aptech Các biến (Variables) Biến là một tham c

NẮM BẮT XU HƯỚNG BỨT PHÁ THÀNH CÔNG 1

SÁCH HƯỚNG DẪN SỬ DỤNG SM-G970F/DS SM-G973F/DS SM-G975F/DS Vietnamese. 03/2019. Rev.1.1

SM-N9208 SM-N920C SM-N920CD SM-N920I Sách hướng dẫn sử dụng Vietnamese. 08/2015. Rev.1.0

Phụ lục 2: HỒ SƠ NĂNG LỰC NĂM 2014

Kiến trúc tập lệnh1

Việc thiết kế và trình bày các nội dung trong ấn phẩm này không thể hiện bất kỳ quan điểm nào của UNESCO về tình trạng pháp lý của bất kỳ quốc gia, lã

PowerPoint Presentation

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM NGHỆ THUẬT TRUNG ƯƠNG ĐẶNG THỊ THU TRANG RÈN LUYỆN KỸ NĂNG HÁT CHO SINH VIÊN NGÀNH GIÁO DỤC TIỂU HỌC TRƯ

. TÀI LIỆU VỀ NGÀNH SPA 1. Đầu tiên phải nói đến hiện trạng Spa và thẩm mỹ viện như sau: - Hiện tại thường quản lý qua excel hoặc google excel, tuy nh

BỘ TÀI CHÍNH Số: 194/2013/TT-BTC CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc Hà Nội, ngày 17 t

Microsoft Word - QUI CHE QUAN TRI NOI BO CTY.doc

No tile

NH?NG M?NH TR?I KHÁC BI?T

PowerPoint Presentation

BIÊN BẢN TỌA ĐÀM Sự tham gia của cộng đồng và các tổ chức xã hội: Kinh nghiệm thực tiễn và nhu cầu thể chế hóa cho Luật BVMT Hà Nội 2015

Bản ghi:

Các cấu trúc logic trong lập trình 1 Cấu trúc tuần tự (Sequence) 1.1 Những câu lệnh phải được sắp xếp theo thứ tự Một số hướng dẫn cho việc tổ chức câu lệnh: 1-Sắp xếp câu lệnh sao cho sự phụ thuộc lẫn nhau giữa chúng là rõ ràng 2-Đặt tên các hàm để thể hiện rõ sự phụ thuộc 3-Sử dụng các hàm và biến thành phần làm rõ sự phụ thuộc lẫn nhau. 4-Kiểm tra sự phụ thuộc bằng assertions hoặc error-handling code 1.2 Các câu lệnh mà thứ tự sắp xếp không quan trọng Trong 1 vài trường hợp bạn sẽ gặp 1 số đoạn code hoặc 1 vài câu lệnh mà thứ tự sắp xếp chung ko quan trọng lắm.nhưng chúng lại ảnh hưởng đến khả năng đọc, performance, và khả năng maintain sau này.khi đó bạn nên sử dụng những yếu tố phụ để sắp xếp đoạn code của mình. Có 2 cách : Làm code từ trên xuống dưới.

Hình B là tốt hơn.nó được tổ chức theo hướng địa phương hóa.quan trọng hơn là, nhìn vào nó (B) ta có thể phân chia các hàm cho marketing, Sales, Travel data được.điều này code (A) không làm được. Nhóm các câu lệnh có liên quan Đưa các câu lệnh có liên quan lại với nhau.chúng là những câu lênh giống nhau về nhiêm vụ,sử dụng dữ liệu giống nhau hay phụ thuộc vào nhau. Nếu câu lệnh được tổ chức tốt, nó sẽ có hình giống như 14.1 ở đó, các khối lệnh ko bị đè lên nhau ngược lại với hình 14.2 kia. Keypoint: 1. Nguyên tắc mạnh mẽ nhất để tổ chức code theo đường thẳng đó là dựa trên sự phụ thuộc. 2. Sự phụ thuộc nên được làm rõ bằng cách sử dụng các tên hàm, danh sách biến, comment hợp lý. 3. Nếu đoạn code không phụ cần sự sắp xếp phụ thuộc vào nhau thì hãy cố gắng giữ cho những câu lệnh liên quan đến nhau ở càng gần nhau càng tốt 2 Cấu trúc điều kiện 2.1 Cấu trúc IF-ELSE IF-ELSE thông thường

Viết những trường hợp thông thường trước. Chắc chắn rằng bạn sử dụng chính xác các phép đẳng thức > < >= <= Các câu lệnh trong mệnh đề IF phải rõ ràng & đủ ý. Không nên để câu lệnh sau IF rỗng if ( SomeTest ) ; else { // do something... Nên viết ELSE kể cả khi bạn không xét đến, để chứng tỏ rằng bạn có xét đến trường hợp này // if color is valid if ( COLOR_MIN <= color && color <= COLOR_MAX ) { // do something... else { // else color is invalid // screen not written to --- safely ignore command Cấu trúc IF_ELSE_IF... (nhiều điều kiện) Cố gắng đơn giản hóa các test với việc sử dụng hàm Boolean trả về đúng sai, để tăng tính rõ ràng Ví dụ if ( IsPunctuation( inputcharacter ) ) { charactertype = CharacterType_Punctuation; else if ( IsDigit( inputcharacter ) ) { charactertype = CharacterType_Digit; else if ( IsLetter( inputcharacter ) ) { charactertype = CharacterType_Letter;

Đưa các trường hợp thông thường lên đầu. Chắc chắn rằng bạn đã xét hết các trường hợp (nên có else ở cuối cùng). Ví dụ: ta nên sửa trường hợp trên như sau if ( IsLetter( inputcharacter ) ) { charactertype = CharacterType_Letter; else if ( IsDigit( inputcharacter ) ) { charactertype = CharacterType_Digit; else if ( IsPunctuation( inputcharacter ) ) { charactertype = CharacterType_Punctuation; else { DisplayInternalError( "Unexpected type of character detected." ); Khi IF_ELSE_IF... quá nhiều trường hợp, nên thay thế bằng cấu trúc Switch-Case (xem bên dưới) 2.2 Cấu trúc SWITCH-CASE Cách sắp xếp các CASE hiệu quả nhất: Sắp xếp theo bảng chữ cái (a,b,c) hoặc theo số lượng (numerically) Xét các trường hợp thông thường trước. Sắp xếp theo tần số sử dụng, xuất hiện Các Tips khi sử dụng câu lênh CASE: Giữ cho code trong mỗi CASE thật đơn giản dễ hiểu. Nếu nhiều code nên thay thế bằng một lời gọi hàm. Sử dụng mệnh đề DEFAULT để xét trường hợp không rơi vào CASE nào bên trên Trong C++.JAVA, nhớ cho break vào mỗi case tránh việc để các câu lệnh trôi tuột từ trên xuống dưới. 3 Các cấu trúc lặp (LOOP) 3.1 Chọn loại vòng lặp Trong hầu hết các ngôn ngữ, có thể chia thành một số loại vòng lặp như sau: Vòng lặp đếm được: khi số lần lặp được xác định trước (ví dụ: for)

for(i = 1; i<= 10; i++){ Vòng lặp for được dùng phổ biến khi ta biết rõ số lần lặp, ví dụ: in các số từ 1-->n, chạy qua các chỉ số của 1 mảng Vòng lặp điều kiện: lặp dựa trên điều kiện và thường không biết trước số lần lặp (ví dụ While, Do-While) while(hasmoreelement()){ Vòng lặp vô hạn Vòng lặp Foreach: duyệt các phần tử của một tập hợp Tham khảo bảng dưới đây về các vòng lặp phổ biến Language Kind of Loop Flexibility Test Location Visual Basic For-Next rigid beginning While-Wend flexible beginning Do-Loop-While flexible beginning or end For-Each rigid beginning C, C++, C#, Java for flexible beginning while flexible beginning do-while flexible end foreach [*] rigid beginning Không có loại vòng lặp nào là vô địch, mỗi loại vòng lặp có ưu nhược điểm khác nhau và nhiệm vụ của bạn là chọn ra loại vòng lặp phù hợp nhất với hoàn cảnh cụ thể của mình. 3.2 Kiểm soát vòng lặp (controlling loops) 3.2.1 Bắt đầu 1 vòng lặp (entering loop): Chỉ nên bắt đầu 1 vòng lặp từ 1 vị trí nhất định, tránh dùng goto để đột ngột nhảy vào giữa 1 vòng lặp từ nhiều vị trí khác nhau. Nếu bên trong vòng lặp của bạn cần sử dụng 1 biến bên ngoài thì hãy đặt đoạn code khai báo và khởi tạo biến đó ngay phía trên vòng lặp của bạn.

Sử dụng While(true) cho vòng lặp vô hạn Không nên sử dụng For nếu While (hoặc Do-While) thích hợp hơn Bad: // read all the records from a file recordcount = 0; for ( inputfile.movetostart();!inputfile.endoffile(); inputfile.getrecord() ) { recordcount++; Good: // read all the records from a file inputfile.movetostart(); recordcount = 0; while (!inputfile.endoffile() ) { inputfile.getrecord(); recordcount++; 3.2.2 Xử lý bên trong vòng lặp: Hãy bao đóng các câu lệnh trong thân vòng lặp bởi { Nên tránh các vòng lặp rỗng ruột. Nếu như vì 1 lý do nào đó mà bạn không thể tránh được thì hãy đặt thêm vào cái ruột rỗng đó 1 đoạn comment kiểu như: // Do nothing Bad: Good: while ( ( inputchar = datafile.getchar() )!= CharType_Eof ) { ; do { inputchar = datafile.getchar(); while ( inputchar!= CharType_Eof ); Mỗi vòng lặp chỉ nên xử lý 1 tác vụ, và xử lý tốt tác vụ đó. Không nên cho 1 vòng lặp làm nhiều việc chỉ vì bạn muốn tiết kiệm công viết code. Cái giá phải trả sẽ là công sức bạn bỏ ra để bảo trì sau này.

3.2.3 Thoát khỏi vòng lặp (Normal exit): Không nên thay đổi giá trị biến index của vòng lặp for ở bên trong vòng lặp. Điều này dễ dẫn đến việc mất kiểm soát vòng lặp. Không nên tái sử dụng biến index của vòng lặp for. Nên sử dụng break thay cho boolean flag Không nên dùng quá nhiều break và đặc biệt chú ý đến break trong Switch-Case nằm trong vòng lặp 3.2.4 Độ dài của 1 vòng lặp: Không quá 1 trang màn hình Nếu bị quá 1 trang màn hình thì nên cho phần thân của vòng lặp vào 1 hàm riêng biệt. Các vòng lặp không nên lồng nhau (nest) quá 3 cấp. Tài liệu tham khảo: Code Complete, Second Edition, Steve McConnell Nội dung: Cù Đức Hiếu, Lê Huy Hoàng Biên tập: Nguyễn Ngọc Anh