Presentation is loading. Please wait.

Presentation is loading. Please wait.

BİL528 – Bilgisayar Programlama II Making Decisions, Loops, Debugging, Designing Objects Using Classes 1.

Similar presentations


Presentation on theme: "BİL528 – Bilgisayar Programlama II Making Decisions, Loops, Debugging, Designing Objects Using Classes 1."— Presentation transcript:

1 BİL528 – Bilgisayar Programlama II Making Decisions, Loops, Debugging, Designing Objects Using Classes 1

2 Contents Making Decisions – if, else, switch Loops – for, while, do-while, foreach Debugging – by using Visual Studio features – try…catch…finally Designing Objects using Classes 2

3 Decision Making 3

4 if Statement if (expression) ; if (expression) { ; } 4

5 Exercise Write a program which checks whether an integer number written in a textbox is less than 100 or not. 5

6 if..else if (expression) ; else ; If there are more statements, use curly brackets. 6

7 Nested if..else Statements if (expression1) { if (expression2) { } else { } } else { } 7

8 switch switch (expression) { case value1:... break; case value2:... break; default:... break; } 8

9 switch Example switch (strProfession) { case "teacher": MessageBox.Show("You educate our young"); break; case "programmer": MessageBox.Show("You are most likely a geek"); break; case "accountant": MessageBox.Show("You are a bean counter"); break; default: MessageBox.Show("Profession not found in switch statement"); break; } 9 In C, only integer values can be used as the expression but in C#, strings can be used too. Don’t forget to use breaks!

10 switch Exercise Write a program which displays the names of some animals (horse, dog, bird, cat, snake, and centipede) in a combobox and displays the number of legs of the selected animal. 10

11 Solution for the switch Exercise switch (cboAnimals.Text) { case “Bird”: MessageBox.Show(“The animal has 2 legs.”); break; case “Dog”: // Notice there is no code here to execute. case “Horse”: // Notice there is no code here to execute. case “Cat”: MessageBox.Show(“The animal has 4 legs.”); break; case “Snake”: MessageBox.Show(“The animal has no legs.”); break; case “Centipede”: MessageBox.Show(“The animal has 100 legs.”); break; default: MessageBox.Show(“You did not select from the list!”); break; } 11

12 Looping 12

13 for Loop for (initializers; check_condition; modifying_expressions) { } Example: for (i = 0; i < 10; i++) { MessageBox.Show("i = " + i.ToString()); } 13

14 while Loop while (expression) { } 14

15 do-while Loop do { } while (expression); 15

16 foreach Loop foreach ( in ) { } 16

17 Displaying Months using for Loop string[] months = new string[] { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }; for (int i = 0; i < months.Length; i++) { MessageBox.Show(months[i]); } 17

18 Displaying Months using foreach string[] months = new string[] { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }; foreach (string month in months) { MessageBox.Show(month); } 18

19 Exercise Display first ten prime numbers in a listbox. 19

20 Debugging 20

21 Debugging No one writes perfect code. You’re most certainly familiar with those problems that prevent code from executing properly; they’re called bugs. We can’t teach you how to debug every possible build or runtime error you might encounter. Debugging is a skill and an art. 21

22 About Commenting… Document the code’s purpose (the why, not the how). Clearly indicate the thinking and logic behind the code. Call attention to important turning points in the code. Reduce the need for readers to run a simulation of the code execution in their heads. Comment your code as you are typing it. If you wait until the code is complete, you probably won’t go back and add comments. 22

23 Identifying the Two Basic Types of Errors Build Errors – Visual C# won’t compile a project that has a build error in it. – Example: Calling a method with incorrect parameters. Runtime Errors – Encountered when the project is being run. – Example: Division by zero. 23

24 Debugging Steps in Visual Studio 1.Locate the cursor to the line at which you want the program stops 2.Put a break point by pressing F9 3.Run the program by pressing F5 4.The program stops at each breakpoint and you can see the values of the variables by moving mouse pointer on them 5.Press F10 to execute a single line, or F11 to enter into a method 6.Press F5 to continue, or Shift+F5 to stop debugging 24

25 Immediate Window You can execute some statements using the Immediate Window at debugging time. Just write the expression and press Enter. 25

26 Locals and Watch Windows You can see the local variables in Locals window at debugging time. If there are so many local variables in your code, watching a specific variable may be harder. In this case, you can use the Watch window. Just write the expressions into the Watch window! 26

27 try..catch..finally While running a program through the IDE (i.e. during the development step, or Debug mode), you receive an error message if an error occurs. However, if your program runs in the final version (or Release mode), an error causes your program to terminate. For these cases, you may prefer using structured exception handling (or try..catch..finally) 27

28 Sections of the try Structure try: The try section is where you place code that might cause an exception. catch: Code within the catch section executes only when an exception occurs. finally: Code within the finally section occurs when the code within the try and/or catch sections completes. This section is where you place your cleanup code—code that you always want executed, regardless of whether an exception occurs. 28

29 try Example int number = int.Parse(tbNumber.Text); int result = 100 / number; tbResult.Text = result.ToString(); 29 An error may occur while converting a text into an integer! An error may occur if the number is zero!

30 try Example – Solution 1 try { int number = int.Parse(tbNumber.Text); int result = 100 / number; tbResult.Text = result.ToString(); } catch { tbResult.Text = “An error occurred!”; } 30

31 try Example – Solution 2 try { int number = int.Parse(tbNumber.Text); int result = 100 / number; tbResult.Text = result.ToString(); } catch (ArgumentException ex1){ tbResult.Text = “An ArgumentException error occurred!”; } catch (DivideByZeroException ex2) { tbResult.Text = “The divisor can’t be zero”; } catch (Exception ex) { tbResult.Text = “An unspecified error occurred. The details is: ” + ex.Message; } 31

32 try Example – Solution 3 int result = 0; try { int number = int.Parse(tbNumber.Text); result = 100 / number; } catch (Exception ex) { MessageBox.Show(“An unspecified error occurred. The details is: ” + ex.Message); } finally { tbResult.Text = result.ToString(); } 32

33 try Example on Database Operations try { … // Open database … // Make some operations on the database } catch { … // Error handling statements } finally { … // Close the database } 33

34 Designing Objects Using Classes 34

35 Designing Objects Using Classes We are omitting this chapter since it is related to object oriented programming, which is the next semester's course. However I strongly recommend you to read this chapter at home. 35


Download ppt "BİL528 – Bilgisayar Programlama II Making Decisions, Loops, Debugging, Designing Objects Using Classes 1."

Similar presentations


Ads by Google