& Answers 2024/2025
What is the purpose of the .PHONY keyword in a makefile? - ANSWERSTo name a recipe that will execute
once requested/Targets that do not refer to files but are just actions are called phony targets.
Source: https://www.gnu.org/software/make/manual/make.html#Simple-Makefile
a) Why is the Therac report of great importance to programmers (i.e. what is the fact demonstrated by
the report that should be of major importance to the approach that should be taken when software is
developed)?
b) The Therac programmers engaged in several practices that either failed to prevent errors from being
included in production code or failed to repair programming errors when incorrect program behavior
was detected. Briefly state what two of those detrimental practices were. - ANSWERSa) Bad software
kills. if software is not designed correctly and tested carefully and correctly you are putting people's lives
in danger.
b) Failed to properly test code; Failed to listen to user feedback.
Source: https://web.stanford.edu/class/cs240/old/sp2014/readings/therac-25.pdf
What is one reason why, despite its age and poor support for object oriented programming, does COBOL
survive as a language of choice (if not the language of choice) for programming business applications? -
ANSWERSCOBOL supports decimal arithmetic.
Write a Scheme function `build astring n` that will contruct a list of `n` copies of an arbitrary string
`astring`, where `n` is a positive integer larger than 0. Assume that `astring` is a properly constructed list
and `n` is an integer greater than 0, so not editing the parameters is required. Hint: The function `cons
item alist` adds the element item to the left end of the list `alist`. - ANSWERS(define build(lambda
(astring n) ;constructs a list with arguments/parameters
(if(= n 0) (list) ;if n is equal to 0, return a list
(cons astring (build (- n 1) ) ;cons constructs a list (cons X l) → (listof X)
, )
)
)
)
What is the purpose of the `lambda` function of the Scheme language? - ANSWERSTo create/construct a
function
What is the primary block of storage managed by Subversion (i.e. what unit of storage do you get when
you check out something from a Subversion repository)? - ANSWERSA directory/A Subversion directory
Consider the coed snippet:
```
int c (float a, float b) {
if (a == b) return (1); else return (0);
}
```
What is the serious error in the above code? - ANSWERSUsing `==` symbol to compare equality for
floating point numbers.
What is one purpose of the Subversion system (and similar systems), i.e., what are they used for? -
ANSWERSFor file version control;
What is the effect of the Subversion command `svn add myfile.c`? - ANSWERSPuts files under Subversion
control
What is one advantage of using recursion for iteration rather than more familiar language features such
as for loops and while loops? - ANSWERSReadability; May be faster in certain instances;