Difference between revisions of "Dynamic Spreadsheet Assignment"
Jump to navigation
Jump to search
Line 27: | Line 27: | ||
=Code To Implement= | =Code To Implement= | ||
+ | For clarity, we will provide what select functions evaluate to for this spreadsheet: | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |Name | ||
+ | |Uniform Number | ||
+ | |Birth Year | ||
+ | |Games Played | ||
+ | |Goals | ||
+ | |Assists | ||
+ | |- | ||
+ | |Bobby Orr | ||
+ | |4 | ||
+ | |1948 | ||
+ | |657 | ||
+ | |270 | ||
+ | |645 | ||
+ | |- | ||
+ | |Wayne Gretzky | ||
+ | |99 | ||
+ | |1961 | ||
+ | |1487 | ||
+ | |894 | ||
+ | |1963 | ||
+ | |- | ||
+ | |Mario Lemieux | ||
+ | |66 | ||
+ | |1965 | ||
+ | |915 | ||
+ | |690 | ||
+ | |1033 | ||
+ | |} | ||
+ | |||
+ | |||
{{RacketToImplement|spreadsheet|string->cell<br>csv->spreadsheet<br>row-count<br>row-at sheet<br>sum-row|spreadsheet}} | {{RacketToImplement|spreadsheet|string->cell<br>csv->spreadsheet<br>row-count<br>row-at sheet<br>sum-row|spreadsheet}} | ||
==string->cell== | ==string->cell== |
Revision as of 14:02, 30 March 2022
Contents
Motivation
Code To Use
general
void
number
string
list
Code To Implement
For clarity, we will provide what select functions evaluate to for this spreadsheet:
Name | Uniform Number | Birth Year | Games Played | Goals | Assists |
Bobby Orr | 4 | 1948 | 657 | 270 | 645 |
Wayne Gretzky | 99 | 1961 | 1487 | 894 | 1963 |
Mario Lemieux | 66 | 1965 | 915 | 690 | 1033 |
file: | src/main/racket/spreadsheet/spreadsheet.rkt | |
functions: | string->cell csv->spreadsheet row-count row-at sheet sum-row |
string->cell
(define (string->cell s) (error 'not-yet-implemented))
- if s is the empty string, evaluate to void
- if s represents a number, evaluate to that number
- if s starts with "(" and ends with ")", evaluate to a form suited for eval
- otherwise, evaluate to s
csv->spreadsheet
(define (csv->spreadsheet matrix) (error 'not-yet-implemented))
given a list of lists of strings, evaluate to a list of list of cells using #string->cell and a couple of list higher order functions.
row-count
(define (row-count sheet) (error 'not-yet-implemented))
row-at
(define (row-at sheet row-index) (error 'not-yet-implemented))
sum-row
(define (sum-row sheet row-index) (error 'not-yet-implemented))
Test
file: | spreadsheet_test.rkt | Test |
source folder: | src/test/racket/spreadsheet |
note: ensure that you have removed all printing to receive credit for any assignment.