Download presentation
Presentation is loading. Please wait.
Published byLeony Susanto Modified over 6 years ago
1
Lecture 21 Using & Managing Data: Spreadsheets (S&G, §§11.1–11.2)
9/22/2018 6:47 AM Lecture 21 Using & Managing Data: Spreadsheets (S&G, §§11.1–11.2) 9/22/2018 CS Lecture 21 CS 100
2
Some Important Applications of Computers
Spreadsheets Databases Symbolic & numeric computation Networks Artificial Intelligence 9/22/2018 CS Lecture 21
3
Relation to Algorithms
Algorithmic problem solving is used in these applications Algorithmic problem solving uses these applications 9/22/2018 CS Lecture 21
4
Spreadsheet Visual system for representing and manipulating tabular data Often used for: budgets & other financial data grades Useful for keeping dependant data consistent Examples: Visicalc, Excel, Lotus 1-2-3 9/22/2018 CS Lecture 21
5
Example Spreadsheet Column Cells Row Cursor 9/22/2018
CS Lecture 21
6
Cells Each cell has a “name” Cells can contain character data
e.g. “D2” is the cell in column D and row 2 Cells can contain character data e.g., names, column headings Cells can contain numeric data in various formats e.g., integer, real, currency, date, time Cells can contain formulas e.g., “D2*E2” 9/22/2018 CS Lecture 21
7
Relative & Fixed Cell References
A name of the form “D2” is a relative reference to the cell in column D and row 2 A name of the form “$D$2” is a fixed reference to the cell in column D and row 2 When a formula is copied into another cell: the fixed references refer to the same cells as they originally did the relative references refer to cells in the same relative positions 9/22/2018 CS Lecture 21
8
Example Suppose in G2 we have the formula: D2 * (1 + $C$8 / 100) * E2
When we copy it to G3 it will be: D3 * (1 + $C$8 / 100) * E3 When we copy it to G4 it will be: D4 * (1 + $C$8 / 100) * E4 And so forth 9/22/2018 CS Lecture 21
9
Run Excel Spreadsheet Example
Lecture 21 9/22/2018 6:47 AM Run Excel Spreadsheet Example Demonstrate: Putting formula “=D2*E2” in F2 Copying into cells below (with copy/paste) Show how auto update Show Pie and Bar charts (using press and hold to preview) Select columns C & D and show scatter chart of age vs. pay rate Insert Totals for Pay column (note the variety of available functions) Show how auto updates Add “Base % Increase” in B8 and 2 in C8 In col. G put “New Pay” and formula “D2*(1+$C$8/100)*E2” (may be easier to see formula in Formula Toolbar) (note dif between relative and fixed cell references) Copy down to rest & fill in total Apply currency formatting (Format/Cell) Show how can change percent from 2 to 3 Insert new col. before G for Merit Change format to General; show adjusting col. widths Fill in new formula for NewPay col. Show changing Base % and Merit % Select the Pay to New Pay block and show a bar chart showing old and new Pay Show Goal Seek (under Tools) by asking it to set H9 to 12,000 by varying C8 9/22/2018 CS Lecture 21 CS 100
10
Beginning Spreadsheet
9/22/2018 CS Lecture 21
11
Formula Entered in F2 9/22/2018 CS Lecture 21
12
Result of Formula in F2 9/22/2018 CS Lecture 21
13
Formula Copied into Rest of Column
9/22/2018 CS Lecture 21
14
Result of Formulas in Column F
9/22/2018 CS Lecture 21
15
Example Pie Chart of Column F
9/22/2018 CS Lecture 21
16
Scatter Chart of Columns D vs. C
9/22/2018 CS Lecture 21
17
Compute Sum of Column F 9/22/2018 CS Lecture 21
18
Resulting Sum 9/22/2018 CS Lecture 21
19
Formula for Projected Base Pay Increase
9/22/2018 CS Lecture 21
20
Resulting New Pay 9/22/2018 CS Lecture 21
21
Formula Relativized to Row 3
9/22/2018 CS Lecture 21
22
Formula Relativized to Row 4
9/22/2018 CS Lecture 21
23
Change Format of Column G
9/22/2018 CS Lecture 21
24
Resulting Reformated Column G
9/22/2018 CS Lecture 21
25
Insert Column for Merit Raises
9/22/2018 CS Lecture 21
26
New Formula to Include Merit Raises
9/22/2018 CS Lecture 21
27
Resulting Projected New Total
9/22/2018 CS Lecture 21
28
Bar Chart of Old and New Pay
9/22/2018 CS Lecture 21
29
Goal Seeking: Adjust Base Rate so Total = $12,000
9/22/2018 CS Lecture 21
30
Calculated Base Rate to Meet Goal
9/22/2018 CS Lecture 21
31
Computer Science Issues
9/22/2018 CS Lecture 21
32
Update Strategies Reevaluate every cell
Reevaluate only those cells containing formulas works on small spreadsheets Reevaluate only those cells that depend on the changed cell problem: indirect dependencies (ripple effect) 9/22/2018 CS Lecture 21
33
Indirect Dependency 9/22/2018 CS Lecture 21
34
Result 9/22/2018 CS Lecture 21
35
Problem of Indirect Dependencies
Suppose change D2 Could look for all cells with a formula involving D2, and reevaluate those But suppose F9 depends on F2, and F2 depends on D2 Bad solution: check all cells & update those directly dependant on D2 keep a list of them check all cells & update those directly dependent on those in list keep a list of these, and return to (3) continue until there are no changes 9/22/2018 CS Lecture 21
36
Better Solution Keep with each cell a list of all other cells directly dependant on it Update this list whenever a formula is changed Whenever a cell’s value is changed: reevaluate all the cells that depend directly on it reevaluate all the cells that depend directly on those cells and so forth 9/22/2018 CS Lecture 21
37
Event-Driven Programming
Lecture 21 9/22/2018 6:47 AM Event-Driven Programming Each cell contains either: data or a formula, which is a little program these formulas are interpreted directly (not compiled into machine code) Whenever a cell is modified: it creates an event which may trigger other events must end (no circular dependencies) There is no iteration except that provided through the built-in functions & tools May show creating a circular reference, like C8=D8+1, D8=C8+1 9/22/2018 CS Lecture 21 CS 100
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.