Loop Continue ISYS 350. Straight Line Depreciation Table.

Slides:



Advertisements
Similar presentations
Change font face Change font size Align left.
Advertisements

© Paradigm Publishing, Inc Excel 2013 Level 2 Unit 1Advanced Formatting, Formulas, and Data Management Chapter 2Advanced Functions and Formulas.
Tutorial 12 Working with Arrays, Loops, and Conditional Statements
Loops ISYS 350. Three Types of Loops while loop do while loop for loop.
Chapter 8 Using Repetition with Loops and Lists. Class 8: Loops and Lists Write Do loops to execute statements repeatedly Write For loops to execute statements.
Programming Interface Controls ISYS 350. User Interface Controls Form MessageBox Common Controls: –Button, TextBox, MaskedTextBox, List Box, Option Button,
Loops ISYS 350. A Box of Chocolate Repeat this process until box is empty: – Take one chocolate from the box – Eat the chocolate – Box has more chocolate?
Lecture 16: Working with Complex Data Arrays. Double-Subscripted Arrays Commonly used to represent tables of values consisting of information arranged.
CSCI 171 Presentation 4. Execution of a C Program Execution starts in main( ) Top down style –sequential flow Unrealistic to expect sequence in more complicated.
Multi-Dimensional Arrays Arrays that have more than one index: Example of differences between basic data types and arrays using integers: Basic integer:
Lecture 4 Looping. Building on the foundation Now that we know a little about  cout  cin  math operators  boolean operators  making decisions using.
ADO.NET Part 2. Slide 2 Overview Slide 3 Introduction to the DataGridView Control It’s a two-dimensional grid containing rows and columns Its use in.
Scope When we create variables and functions, they are limited in where they are visible and where they can be referenced For the most part, the identifiers.
Loops ISYS 350. Compute the sum of a list of numbers: Example: 5, 2, 10, 8, 4 Process: Sum= 0 Get a number from the list Sum = Sum + the number Repeat.
Server-Side Scripting with PHP ISYS 475. PHP Manual Website
Java Servlet ISYS 350. What is Java Servlet? It is a java class that serves a client request. Servlets are most often used to: Process or store data that.
Array and ArrayList ISYS 350. Array An array allows you to store a group of items of the same type together. Processing a large number of items in an.
Get Longest Run Index (FR) public int getLongestRunIndex(int []values) { int maxRunStart = -1, maxRunLength = 1; int runStart = 0, runLength = 1; for(int.
Loops ISYS 350. Two Types of Loops while loop for loop.
Clearly Visual Basic: Programming with Visual Basic 2008 Chapter 16 I’m on the Inside; You’re on the Outside.
Ranges. Unlike many of our programming concepts, the idea of a Range is particular to Excel The ideas and code discussed in these slides can be found.
Loop Continue ISYS 350. Exiting a Loop Prematurely In some cases it is necessary to end a loop before the test condition would end it Use the break statement:
XP Tutorial 3 New Perspectives on JavaScript, Comprehensive1 Working with Arrays, Loops, and Conditional Statements Creating a Monthly Calendar.
CS 161 Introduction to Programming and Problem Solving Chapter 17 Nested Loops Herbert G. Mayer, PSU Status 9/8/2014 Initial content copied verbatim from.
© 2006 Pearson Addison-Wesley. All rights reserved Arrays of Greater Dimension One-dimensional arrays are linear containers. Multi-dimensional Arrays.
Parts of the Clock Click on the minute hand. Click on the clock’s face.
Loop Continue ISYS 350. Exiting a Loop Prematurely In some cases it is necessary to end a loop before the test condition would end it Use the break statement:
Loops ISYS 350. Two Types of Loops while loop for loop.
Arrays float Scores[9]; ? index: element // one dimensional array 1.
Introduction to Methods ISYS 350. Methods Methods can be used to break a complex program into small, manageable pieces – This approach is known as divide.
Loops ISYS 350. Two Types of Loops while loop for loop.
Programming Interface Controls ISYS 350. User Interface Controls Form MessageBox Common Controls: –Button, TextBox, MaskedTextBox, List Box, Option Button,
Programming Interface Controls ISYS 350. User Interface Controls Form MessageBox Common Controls: –Button, TextBox, MaskedTextBox, List Box, Option Button,
Array, ArrayList and List ISYS 350. Array An array allows you to store a group of items of the same type together. Processing a large number of items.
Arrays float Scores[9]; ? index: element // one dimensional array 2.
ESC101: Introduction to Computing
Array ISYS 350.
Loops ISYS 350.
Two Dimensional Array Mr. Jacobs.
Two-Dimension Arrays Computer Programming 2.
ECE Application Programming
Loops ISYS 350.
CS 1430: Programming in C++.
Programming Interface Controls
Array ISYS 350.
ASP.Net Demo ISYS 350.
Repeating Instructions And Advance collection
Loops ISYS 350.
Loop Continue ISYS 350.
Loops ISYS 350.
Loop Continue ISYS 350.
Loops ISYS 350.
Lecture Set 10 Windows Controls and Forms
Alternate Version of STARTING OUT WITH C++ 4th Edition
Loops ISYS 350.
Loop Continue.
ECE 103 Engineering Programming Chapter 19 Nested Loops
Loop Continue ISYS 350.
Program Flow.
Loops ISYS 350.
Loop Continue ISYS 350.
Loops ISYS 350.
Array ISYS 350.
EECE.2160 ECE Application Programming
Loops ISYS 350.
Loop Continue ISYS 350.
Loop Continue ISYS 350.
Programming Interface Controls
Loop Continue ISYS 350.
Programming Fundamental
Presentation transcript:

Loop Continue ISYS 350

Straight Line Depreciation Table

dataGridView Control Properties – ColumnCount: specify the number of columns dataGridView1.ColumnCount = 4; – Columns collection each column is identified by an index Each column has a HeaderText property: – Ex. dataGridView1.Columns[0].HeaderText = "Year"; – Rows collection Clear all rows: dataGridView1.Rows.Clear(); each row is identified by an index Adding a blank row: – dataGridView1.Rows.Add(); – Each Row has a Cells collection Each cell is identified by an index Has a value property: – dataGridView1.Rows[year - 1].Cells[0].Value = year;

Future Value Table FV = PV * (1 +Rate) Year

Code Example dataGridView1.ColumnCount = 2; dataGridView1.Columns[0].HeaderText = "Year"; dataGridView1.Columns[1].HeaderText = "Future Value"; double pv, rate, lastYear, fv; pv = double.Parse(textBox1.Text); rate = double.Parse(textBox2.Text); lastYear = double.Parse(textBox3.Text); dataGridView1.Rows.Clear(); for (int year = 1; year <= lastYear; year++) { dataGridView1.Rows.Add(); fv = pv * Math.Pow(1 + rate, year); dataGridView1.Rows[year - 1].Cells[0].Value = year; dataGridView1.Rows[year - 1].Cells[1].Value = fv.ToString("c"); }

Depreciation Table Code Example dataGridView1.ColumnCount = 4; dataGridView1.Columns[0].HeaderText = "Year"; dataGridView1.Columns[1].HeaderText = "Value at Begining of Year"; dataGridView1.Columns[2].HeaderText = "Depreciation During Year"; dataGridView1.Columns[3].HeaderText = "Total depreciation to End of Year"; double value, life, depreciation, totalDepreciation=0; value = double.Parse(textBox1.Text); life = double.Parse(textBox2.Text); depreciation = value / life; dataGridView1.Rows.Clear(); for (int year = 1; year <= life; year++) { dataGridView1.Rows.Add(); dataGridView1.Rows[year - 1].Cells[0].Value = year; dataGridView1.Rows[year - 1].Cells[1].Value = value.ToString("c"); dataGridView1.Rows[year-1].Cells[2].Value = depreciation.ToString("c"); totalDepreciation += depreciation; dataGridView1.Rows[year - 1].Cells[3].Value = totalDepreciation.ToString("c"); value -= depreciation; }

Alternating Row Color dataGridView1.ColumnCount = 2; dataGridView1.Columns[0].HeaderText = "Year"; dataGridView1.Columns[1].HeaderText = "Future Value"; double pv, rate, lastYear, fv; pv = double.Parse(textBox1.Text); rate = double.Parse(textBox2.Text); lastYear = double.Parse(textBox3.Text); dataGridView1.Rows.Clear(); for (int year = 1; year <= lastYear; year++) { dataGridView1.Rows.Add(); fv = pv * Math.Pow(1 + rate, year); dataGridView1.Rows[year - 1].Cells[0].Value = year; dataGridView1.Rows[year - 1].Cells[1].Value = fv.ToString("c"); if (year % 2 == 0) dataGridView1.Rows[year - 1].DefaultCellStyle.BackColor = Color.AliceBlue; else dataGridView1.Rows[year - 1].DefaultCellStyle.BackColor = Color.Pink; }

Exiting a loop using the break statement In some cases it is necessary to end a loop before the test condition would end it Use the break statement: break;

Example while (1 > 0) { MessageBox.Show("Looping"); if (MessageBox.Show("Do you want to continue?", "Loop demo", MessageBoxButtons.YesNo) == DialogResult.No) { MessageBox.Show("Leaving loop"); break; }

Years to Reach Targeted Future Value Future Value=Present Value*(1+Rate) Year Note: When year=0, future value=present value

Method 1 double PresentValue, Rate, Target, YearToTarget, futureValue; PresentValue = double.Parse(textBox1.Text); Rate = double.Parse(textBox2.Text); Target = double.Parse(textBox3.Text); futureValue = PresentValue; YearToTarget = 0; while (futureValue < Target) { YearToTarget = YearToTarget + 1; futureValue = PresentValue * Math.Pow(1 + Rate, YearToTarget); } textBox4.Text = YearToTarget.ToString();

Method 2 double PresentValue, Rate, Target, YearToTarget, futureValue; PresentValue = double.Parse(textBox1.Text); Rate = double.Parse(textBox2.Text); Target = double.Parse(textBox3.Text); futureValue = PresentValue; YearToTarget = 0; while (true) { if (futureValue >= Target) break; YearToTarget = YearToTarget + 1; futureValue = PresentValue * Math.Pow(1 + Rate, YearToTarget); } textBox4.Text = YearToTarget.ToString();

Method 3 double PresentValue, Rate, Target, YearToTarget, futureValue; PresentValue = double.Parse(textBox1.Text); Rate = double.Parse(textBox2.Text); Target = double.Parse(textBox3.Text); for (YearToTarget = 0; true; YearToTarget++) { futureValue = PresentValue * Math.Pow(1 + Rate, YearToTarget); if (futureValue >= Target) break; } textBox4.Text = YearToTarget.ToString(); } Note : for (YearToTarget = 0; true; YearToTarget++)

Nested Loop A Loop that is Inside Another Loop is Called a Nested Loop

Nested Loop Example for (int hour = 0; hour < 24; hour++) { for (int minute = 0; minute < 60; minute++) { MessageBox.Show("Hour: " + hour.ToString() + " Minute: " + minute.ToString()); } A clock is an example of a nested loop – For each hour, Minute hand moves 60 times for each hour

Using dataGridView

double rate, year, presentValue, futureValue; presentValue = double.Parse(textBox1.Text); dataGridView1.ColumnCount = 5; dataGridView1.Columns[0].HeaderText = "Rate/Year"; dataGridView1.Columns[1].HeaderText = "5"; dataGridView1.Columns[2].HeaderText = "10"; dataGridView1.Columns[3].HeaderText = "15"; dataGridView1.Columns[4].HeaderText = "20"; int rowIndex = 0, colIndex; dataGridView1.Rows.Clear(); for (rate = 0.03; rate <= 0.05; rate += 0.005) { dataGridView1.Rows.Add(); colIndex = 0; dataGridView1.Rows[rowIndex].Cells[colIndex].Value = rate.ToString("p2"); for (year = 5; year <= 20; year += 5) { futureValue = presentValue * Math.Pow(1 + rate, year); colIndex += 1; dataGridView1.Rows[rowIndex].Cells[colIndex].Value = futureValue.ToString("c"); } rowIndex += 1; }

Flexible rates and years

double startRate, endRate, rateIncrement, presentValue, futureValue; int startYear, endYear, yearIncrement; presentValue = double.Parse(textBox1.Text); startRate = double.Parse(textBox2.Text); endRate = double.Parse(textBox3.Text); rateIncrement = double.Parse(textBox4.Text); startYear = int.Parse(textBox5.Text); endYear = int.Parse(textBox6.Text); yearIncrement = int.Parse(textBox7.Text); int yearColumns = (endYear - startYear) / yearIncrement + 1; dataGridView1.ColumnCount = yearColumns + 1; dataGridView1.Columns[0].HeaderText = "Rate/Year"; int colIndex=1; for (int year = startYear;year<=endYear;year+=yearIncrement) { dataGridView1.Columns[colIndex].HeaderText = year.ToString(); ++colIndex; } int rowIndex = 0; dataGridView1.Rows.Clear(); for (double rate = startRate; rate<= endRate; rate += rateIncrement) { dataGridView1.Rows.Add(); colIndex = 0; dataGridView1.Rows[rowIndex].Cells[colIndex].Value = rate.ToString("p2"); for (int year = startYear; year <= endYear; year += yearIncrement) { colIndex += 1; futureValue = presentValue * Math.Pow(1 + rate, year); dataGridView1.Rows[rowIndex].Cells[colIndex].Value = futureValue.ToString("c"); } rowIndex += 1; }

Code Example int rows = 9, cols = 10, Product; dataGridView1.ColumnCount = cols; dataGridView1.Columns[0].HeaderText = ""; dataGridView1.Columns[0].Width = 25; for (int col = 2; col <= cols; col++) { dataGridView1.Columns[col-1].HeaderText = (col-1).ToString(); dataGridView1.Columns[col-1].Width = 25; } for (int rowIndex = 1; rowIndex <= rows; rowIndex++) { dataGridView1.Rows.Add(); dataGridView1.Rows[rowIndex - 1].Cells[0].Value = rowIndex.ToString(); for (int colIndex = 2; colIndex <= cols; colIndex++) { Product= rowIndex * (colIndex-1); dataGridView1.Rows[rowIndex - 1].Cells[colIndex-1].Value = Product.ToString(); }