You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
2.3 KiB
44 lines
2.3 KiB
2 years ago
|
|
||
|
Exercise 2.74: Insatiable Enterprises, Inc., is
|
||
|
a highly decentralized conglomerate company consisting of a large number of
|
||
|
independent divisions located all over the world. The company’s computer
|
||
|
facilities have just been interconnected by means of a clever
|
||
|
network-interfacing scheme that makes the entire network appear to any user to
|
||
|
be a single computer. Insatiable’s president, in her first attempt to exploit
|
||
|
the ability of the network to extract administrative information from division
|
||
|
files, is dismayed to discover that, although all the division files have been
|
||
|
implemented as data structures in Scheme, the particular data structure used
|
||
|
varies from division to division. A meeting of division managers is hastily
|
||
|
called to search for a strategy to integrate the files that will satisfy
|
||
|
headquarters’ needs while preserving the existing autonomy of the divisions.
|
||
|
|
||
|
Show how such a strategy can be implemented with data-directed programming. As
|
||
|
an example, suppose that each division’s personnel records consist of a single
|
||
|
file, which contains a set of records keyed on employees’ names. The structure
|
||
|
of the set varies from division to division. Furthermore, each employee’s
|
||
|
record is itself a set (structured differently from division to division) that
|
||
|
contains information keyed under identifiers such as address and
|
||
|
salary. In particular:
|
||
|
|
||
|
|
||
|
Implement for headquarters a get-record procedure that retrieves a
|
||
|
specified employee’s record from a specified personnel file. The procedure
|
||
|
should be applicable to any division’s file. Explain how the individual
|
||
|
divisions’ files should be structured. In particular, what type information
|
||
|
must be supplied?
|
||
|
|
||
|
Implement for headquarters a get-salary procedure that returns the
|
||
|
salary information from a given employee’s record from any division’s personnel
|
||
|
file. How should the record be structured in order to make this operation
|
||
|
work?
|
||
|
|
||
|
Implement for headquarters a find-employee-record procedure. This
|
||
|
should search all the divisions’ files for the record of a given employee and
|
||
|
return the record. Assume that this procedure takes as arguments an employee’s
|
||
|
name and a list of all the divisions’ files.
|
||
|
|
||
|
When Insatiable takes over a new company, what changes must be made in order to
|
||
|
incorporate the new personnel information into the central system?
|
||
|
|
||
|
|