1. Trang chủ
  2. » Giáo án - Bài giảng

Chapter 3 Variables, Constants and Calculations

26 275 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

Định dạng
Số trang 26
Dung lượng 168,78 KB

Nội dung

Chapter Variables, Constants and Calculations Programming In C Shap Variables & Constants • Variable – Memory locations that hold data that can be changed during project execution – Ex: hours worked • Named Constant – Memory locations that hold data that cannot be changed during project execution – Ex: Sales tax percentage 3- â 2009 Constants ã Named – User defined • Intrinsic – System defined within Visual Studio (Example: Color.Blue, Color.Yellow) – In Chapter 23 we used the Intrinsic Color Constants 3- © 2009 Data Types • • • • • • • Boolean Byte (0 to 255) Char Date String Decimal Object • Short (-32,768 to 32,767) • Integer (-2,147,483,648 to 2,147,483,647) • Long (larger whole numbers) • Single (floating point accuracy to digits) • Double (floating point accuracy to 14 points) 3- â 2009 Data Types Memory Usage ã ã • • • • • Boolean – bytes Byte – byte Char – bytes Date – bytes String – varies Decimal – 16 bytes Object – • • • • • Short – bytes Integer – bytes Long – bytes Single – bytes Double – bytes 3- © 2009 Data Types – Prefixes • • • • • • • 3- Boolean – bln Byte – byt Char – chr Date – dat String – str Decimal – dec Object – depends on type of object • • • • • Short – sht Integer – int Long – lng Single – sng Double – dbl © 2009 Declaration • Variables and Named Constants must be declared before being used in code • When you declare a Variable or Named Constant C# – Reserves an area of memory – Assigns it a name called an Identifier • Declaration statements are coded either – Beginning of a procedure – General Declarations of a module 3- © 2009 Declaration Statements • CONST used to declare Named Constants • Declaration includes – – – – Name, follow Naming Convention Rules Data Type Required Value for Constants Optional Initial Value for Variables • Declare variable: – Data_Type – Data_Type var_name; var_name = init_value; • Declare const – Data_Type const const_name = value; 3- © 2009 Declaration Examples string strName, strSSN ; int intAge; decimal decPayRate ; decimal decTax=0.1 ; bool blnInsured ; long lngPopulation ; decimal decDT, decCD, decCR; decimal decHour, decSumSal, decDiemTB, decSum=0; decimal decTAX = 0.12, decHSLUONG=3.16; Const decimal decDISCOUNT_RATE = 0.15M; Note: Constants are named using all uppercase letters EXCEPT the prefix 3- © 2009 Variables – Scope & Lifetime • Global/Public (use sparingly and cautiously) – Available to all modules and procedures of Project – Initialized at start of Project • Module/Private (Form) – Available to one module and all procedures within that module – Initialized 1st time the Form is loaded • Local – Available only to the procedure it is declared in – Initialized every time the Procedure runs • Block (not used until later in this course) – Available only to the block of code inside a procedure it is declared in – Initialized every time the Procedure runs 3- 10 © 2009 Naming Rules (*) • You must follow when creating variable and constant names – Names can include letters, digits, and the underscore, but must begin with a letter – Names cannot contain spaces or periods – Names cannot be # reserved words such as new, class, public, or conts (keyworks) – Names are not case sensitive – For all intensive purposes, a Name can be as long as you want (the actual limit is 16,383 characters in length) 3- 11 © 2009 Accessibility Domains Keyword Public Private Protected 3- 12 Description Accessible from anywhere in the program or from any other program that references this one Accessible from anywhere inside this class Accessible from anywhere inside this class or in any class that inherits from this class © 2009 Scope (Phạm vi biến) • Public • Module/Private – Available to all modules and procedures of Project – Must be referenced by the namespace (Form) – Can be used in any procedure on a specific Form, but is not visible to other Forms – Initialized 1st time the Form is loaded • Local • Block – Available only to the procedure it is declared in – Initialized every time the Procedure runs – Available only to the block of code inside a procedure it is declared in – Initialized every time the Procedure runs 3- 13 © 2009 Scope Declaring & Naming • Global/Public g prefix – Declare in General Declarations as Public string gstrName; • Module/Private m prefix – Declare in Module’s General Declarations as Private const decimal mdecSUADA = 2.5D; decimal mdecSubToTal1KH, decToTalDue1KHCoThue; int mintTongSoKH; • Local no prefix required – Declare in Event Procedures string strName 3- 14 © 2009 Declaring Local Level Variables Example Local Level Variables 3- 15 © 2009 Declaring Module Level Variables Example Module - Level Variables and Constants 3- 16 © 2009 Declaring Block Level Variables Example int a,b; Block Level Variables if (a > b) { int max; max = a; } Block Level Variables else { int max; max = b; } 3- 17 © 2009 Calculations • Calculations can be performed using properties of certain objects, variables, constants, and numeric literals • Do Not use Strings in calculations • Values from Text property of Text Boxes – Are Strings, even if they contain numeric data – Must be converted to a Numeric Data Type 3- 18 © 2009 Conversion Examples intQuantity decPrice intWholeNumber decDollars strValue = = = = = Convert.ToInt32 (txtQuantity.Text) Convert.ToDecimal (txtPrice.Text) Convert.ToInt32(decFractionalValue) Convert.ToDecimal(intDollars) Convert.ToString (decValue) Function Name Argument To Be Acted Upon 3- 19 © 2009 Mathematical Operators Operator Operation Addition + - Subtraction * Multiplication / Division % Modulus (division's remainder) 3- 20 â 2009 Mathematical Order of Operations ã Computers solve math formulas based on a specific order 1st, then left to right 3- 21 Parentheses Exponentiation Multiplication & Division Modulus Addition & Subtraction © 2009 Mathematical Examples • Note the use of parentheses to control 3+4*2 = 11 Multiply then add (3+4)*2 = 14 Parentheses control: add then multiply 8/4*2 = Same level, left to right: divide then multiply 3- 22 © 2009 Mathematical Examples Thứ tự thực 3- 23 © 2009 Mathematical Examples Thứ tự thưc 3- 24 © 2009 Handling Exceptions • Exceptions occur when user enters unexpected/invalid data and program code does not anticipate this possibility, such as – User enters nonnumeric data in Text Box and code attempts to run a Numeric Conversion Function – User enters data that results in division by zero 3- 25 â 2009 Try/Catch Blocks ã Used to catch and handle exceptions; referred to as error trapping or handling • Enclose statements that might cause an error within Try/Catch Block – If an error occurs control is transferred to the Catch Block 3- 26 © 2009 Try Block - General Form Try { statements that may cause error } catch [ExceptionType VariableName ] { statements for action when an exception occurs } 3- 27 © 2009 Try Block - Example Catches All Exceptions try { intQuantity=CInt(txtQuantity.Text) lblQuantity.Text=CStr(intQuantity) } catch { lblMessage.Text="Error in input data.“ // thông thường báo qua MessageBox.Show (???) } 3- 28 © 2009 Try Block - Example Catches Specific Exception try { intQuantity=CInt(txtQuantity.Text) lblQuantity.Text=CStr(intQuantity) } catch (InvalidCastException MyErr ) { lblMessage.Text="Error in input data." } catch (DivideByZeroException MyErr ) { lblMessage.Text="Error chia cho không." } 3- 29 Conversion exception, usually caused by nonnumeric or blank data © 2009 Try Block - Example Catches Multiple Specific Exceptions try { statements that may cause errors } catch (InvalidCastException MyErr ) { error messages and statements for nonnumeric data } catch (ArithmeticException MyErr ) { error messages and statements for calculation problems } catch (Exception MyErr ) { error messages and statements for any other exception } 3- 30 â 2009 10 MessageBoxIcon Constants ã ã • • • Asterisk Error Exclamation Hand Information • • • • None Question Stop Warning 3- 34 © 2009 Counting & Accumulating Sums • Must use Module/Form level variables since Local/Event level variables reset to each time the procedure is called • Summing – mdecOrderTotal = mdecOrderTotal + decItemPrice • Counting – mintNumItems = mintNumItems + – mintNumItems += mintNumItems • Averaging – mdecAveSale = mdecOrderTotal / mintNumItems 3- 35 © 2009 Ví Dụ Dùng Biến Cục Bộ private void btnCong_Click(object sender, EventArgs e) { int intSoA, intSoB; Double dblKetQua; intSoA = int.Parse(txtA.Text); intSoB = Convert.ToInt32(txtB.Text); dblKetQua = intSoA + intSoB; lblKQ.Text = dblKetQua.ToString(); } 3- 36 © 2009 12 Ví Dụ Dùng Biến Cục Bộ & Try Catch private void btnCong_Click(object sender, EventArgs e) { int intSoA, intSoB; Double dblKetQua; try { intSoA = int.Parse(txtA.Text); intSoB = Convert.ToInt32(txtB.Text); dblKetQua = intSoA + intSoB; lblKQ.Text = dblKetQua.ToString(); } catch (Exception MyErr) { MessageBox.Show("Loi chuyen kieu" + MyErr.Message, "Thơng báo lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error); } } 3- 37 © 2009 Ví Dụ: Dùng Biến Tồn Cục & Hằng Số Dùng ?? Dùng biến toàn cục ?? 3- 38 © 2009 13 Chapter Variables, Constants and Calculations Programming In C Shap Variables & Constants • Variable – Memory locations that hold data that can be changed during project execution – Ex: hours worked • Named Constant – Memory locations that hold data that cannot be changed during project execution – Ex: Sales tax percentage 3- © 2009 Constants • Named – User defined • Intrinsic – System defined within Visual Studio (Example: Color.Blue, Color.Yellow) – In Chapter 23 we used the Intrinsic Color Constants 3- © 2009 Data Types • • • • • • • Boolean Byte (0 to 255) Char Date String Decimal Object • Short (-32,768 to 32,767) • Integer (-2,147,483,648 to 2,147,483,647) • Long (larger whole numbers) • Single (floating point accuracy to digits) • Double (floating point accuracy to 14 points) 3- © 2009 Data Types – Memory Usage • • • • • • • Boolean – bytes Byte – byte Char – bytes Date – bytes String – varies Decimal – 16 bytes Object – • • • • • Short – bytes Integer – bytes Long – bytes Single – bytes Double – bytes 3- © 2009 Data Types – Prefixes • • • • • • • 3- Boolean – bln Byte – byt Char – chr Date – dat String – str Decimal – dec Object – depends on type of object • • • • • Short – sht Integer – int Long – lng Single – sng Double – dbl © 2009 Declaration • Variables and Named Constants must be declared before being used in code • When you declare a Variable or Named Constant C# – Reserves an area of memory – Assigns it a name called an Identifier • Declaration statements are coded either – Beginning of a procedure – General Declarations of a module 3- © 2009 Declaration Statements • CONST used to declare Named Constants • Declaration includes – – – – Name, follow Naming Convention Rules Data Type Required Value for Constants Optional Initial Value for Variables • Declare variable: – Data_Type – Data_Type var_name; var_name = init_value; • Declare const – Data_Type const const_name = value; 3- © 2009 Declaration Examples string strName, strSSN ; int intAge; decimal decPayRate ; decimal decTax=0.1 ; bool blnInsured ; long lngPopulation ; decimal decDT, decCD, decCR; decimal decHour, decSumSal, decDiemTB, decSum=0; decimal decTAX = 0.12, decHSLUONG=3.16; Const decimal decDISCOUNT_RATE = 0.15M; Note: Constants are named using all uppercase letters EXCEPT the prefix 3- © 2009 Variables – Scope & Lifetime • Global/Public (use sparingly and cautiously) – Available to all modules and procedures of Project – Initialized at start of Project • Module/Private (Form) – Available to one module and all procedures within that module – Initialized 1st time the Form is loaded • Local – Available only to the procedure it is declared in – Initialized every time the Procedure runs • Block (not used until later in this course) – Available only to the block of code inside a procedure it is declared in – Initialized every time the Procedure runs 3- 10 â 2009 Naming Rules (*) ã You must follow when creating variable and constant names – Names can include letters, digits, and the underscore, but must begin with a letter – Names cannot contain spaces or periods – Names cannot be # reserved words such as new, class, public, or conts (keyworks) – Names are not case sensitive – For all intensive purposes, a Name can be as long as you want (the actual limit is 16,383 characters in length) 3- 11 © 2009 Accessibility Domains Keyword Public Private Protected 3- 12 Description Accessible from anywhere in the program or from any other program that references this one Accessible from anywhere inside this class Accessible from anywhere inside this class or in any class that inherits from this class â 2009 Scope (Phm vi bin) ã Public • Module/Private – Available to all modules and procedures of Project – Must be referenced by the namespace (Form) – Can be used in any procedure on a specific Form, but is not visible to other Forms – Initialized 1st time the Form is loaded • Local • Block – Available only to the procedure it is declared in – Initialized every time the Procedure runs – Available only to the block of code inside a procedure it is declared in – Initialized every time the Procedure runs 3- 13 â 2009 Scope Declaring & Naming ã Global/Public g prefix – Declare in General Declarations as Public string gstrName; • Module/Private m prefix – Declare in Module’s General Declarations as Private const decimal mdecSUADA = 2.5D; decimal mdecSubToTal1KH, decToTalDue1KHCoThue; int mintTongSoKH; • Local no prefix required – Declare in Event Procedures string strName 3- 14 © 2009 Declaring Local Level Variables Example Local Level Variables 3- 15 © 2009 Declaring Module Level Variables Example Module - Level Variables and Constants 3- 16 © 2009 Declaring Block Level Variables Example int a,b; Block Level Variables if (a > b) { int max; max = a; } Block Level Variables else { int max; max = b; } 3- 17 © 2009 Calculations • Calculations can be performed using properties of certain objects, variables, constants, and numeric literals • Do Not use Strings in calculations • Values from Text property of Text Boxes – Are Strings, even if they contain numeric data – Must be converted to a Numeric Data Type 3- 18 © 2009 Conversion Examples intQuantity decPrice intWholeNumber decDollars strValue = = = = = Convert.ToInt32 (txtQuantity.Text) Convert.ToDecimal (txtPrice.Text) Convert.ToInt32(decFractionalValue) Convert.ToDecimal(intDollars) Convert.ToString (decValue) Function Name Argument To Be Acted Upon 3- 19 © 2009 Mathematical Operators Operator Operation Addition + - Subtraction * Multiplication / Division % Modulus (division's remainder) 3- 20 © 2009 Mathematical Order of Operations • Computers solve math formulas based on a specific order 1st, then left to right 3- 21 Parentheses Exponentiation Multiplication & Division Modulus Addition & Subtraction â 2009 Mathematical Examples ã Note the use of parentheses to control 3+4*2 = 11 Multiply then add (3+4)*2 = 14 Parentheses control: add then multiply 8/4*2 = Same level, left to right: divide then multiply 3- 22 © 2009 Mathematical Examples Thứ tự thực 3- 23 © 2009 Mathematical Examples Thứ tự thưc 3- 24 â 2009 Handling Exceptions ã Exceptions occur when user enters unexpected/invalid data and program code does not anticipate this possibility, such as – User enters nonnumeric data in Text Box and code attempts to run a Numeric Conversion Function – User enters data that results in division by zero 3- 25 â 2009 Try/Catch Blocks ã Used to catch and handle exceptions; referred to as error trapping or handling • Enclose statements that might cause an error within Try/Catch Block – If an error occurs control is transferred to the Catch Block 3- 26 © 2009 Try Block - General Form Try { statements that may cause error } catch [ExceptionType VariableName ] { statements for action when an exception occurs } 3- 27 © 2009 Try Block - Example Catches All Exceptions try { intQuantity=CInt(txtQuantity.Text) lblQuantity.Text=CStr(intQuantity) } catch { lblMessage.Text="Error in input data.“ // thơng thường báo qua MessageBox.Show (???) } 3- 28 © 2009 Try Block - Example Catches Specific Exception try { intQuantity=CInt(txtQuantity.Text) lblQuantity.Text=CStr(intQuantity) } catch (InvalidCastException MyErr ) { lblMessage.Text="Error in input data." } catch (DivideByZeroException MyErr ) { lblMessage.Text="Error chia cho không." } 3- 29 Conversion exception, usually caused by nonnumeric or blank data © 2009 Try Block - Example Catches Multiple Specific Exceptions try { statements that may cause errors } catch (InvalidCastException MyErr ) { error messages and statements for nonnumeric data } catch (ArithmeticException MyErr ) { error messages and statements for calculation problems } catch (Exception MyErr ) { error messages and statements for any other exception } 3- 30 © 2009 10 MessageBox Object • Use Show Method of MessageBox to display special type of window • Arguments of Show method – – – – Message to display Optional Title Bar Caption Optional Button(s) Optional Icon 3- 31 â 2009 MessageBox Syntax ã The MessageBox is an Overloaded Method – Overloading – ability to call different versions of a procedure based on the number and data types of the arguments passed to that procedure – The number and data types of the arguments expected by a procedure are called Signatures – There are multiple Signatures to choose from – Arguments must be included to exactly match one of the predefined Signatures MessageBox.Show (TextMessage, TitlebarText, _ MessageBoxButtons, MesssageBoxIcon) 3- 32 © 2009 MessageBoxButtons Constants • • • • • • 3- 33 OK OKCancel RetryCancel YesNo YesNoCancel AbortRetryIgnore â 2009 11 MessageBoxIcon Constants ã • • • • Asterisk Error Exclamation Hand Information • • • • None Question Stop Warning 3- 34 © 2009 Counting & Accumulating Sums • Must use Module/Form level variables since Local/Event level variables reset to each time the procedure is called • Summing – mdecOrderTotal = mdecOrderTotal + decItemPrice • Counting – mintNumItems = mintNumItems + – mintNumItems += mintNumItems • Averaging – mdecAveSale = mdecOrderTotal / mintNumItems 3- 35 © 2009 Ví Dụ Dùng Biến Cục Bộ private void btnCong_Click(object sender, EventArgs e) { int intSoA, intSoB; Double dblKetQua; intSoA = int.Parse(txtA.Text); intSoB = Convert.ToInt32(txtB.Text); dblKetQua = intSoA + intSoB; lblKQ.Text = dblKetQua.ToString(); } 3- 36 © 2009 12 Ví Dụ Dùng Biến Cục Bộ & Try Catch private void btnCong_Click(object sender, EventArgs e) { int intSoA, intSoB; Double dblKetQua; try { intSoA = int.Parse(txtA.Text); intSoB = Convert.ToInt32(txtB.Text); dblKetQua = intSoA + intSoB; lblKQ.Text = dblKetQua.ToString(); } catch (Exception MyErr) { MessageBox.Show("Loi chuyen kieu" + MyErr.Message, "Thông báo lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error); } } 3- 37 © 2009 Ví Dụ: Dùng Biến Tồn Cục & Hằng Số Dùng ?? Dùng biến toàn cục ?? 3- 38 © 2009 13 ... MessageBoxIcon.Error); } } 3- 37 © 2009 Ví Dụ: Dùng Biến Tồn Cục & Hằng Số Dùng ?? Dùng biến tồn cục ?? 3- 38 © 2009 13 Chapter Variables, Constants and Calculations Programming In C Shap Variables & Constants. .. MessageBoxButtons, MesssageBoxIcon) 3- 32 â 2009 MessageBoxButtons Constants ã ã • • • • 3- 33 OK OKCancel RetryCancel YesNo YesNoCancel AbortRetryIgnore â 2009 11 MessageBoxIcon Constants ã ã ã • • Asterisk... max; max = b; } 3- 17 © 2009 Calculations • Calculations can be performed using properties of certain objects, variables, constants, and numeric literals • Do Not use Strings in calculations •

Ngày đăng: 13/05/2014, 11:31