Exercise 3
Added Exercise 3 with solutions and README to Repository
This commit is contained in:
24
Informatik_I/Exercise_3/Task_1/README.md
Normal file
24
Informatik_I/Exercise_3/Task_1/README.md
Normal file
@@ -0,0 +1,24 @@
|
||||
_This task is a mixed text/programming task. You need to update the content of loop.cpp according to the instruction provided in the file. For the code part, please check the autograder output._
|
||||
|
||||
# Task
|
||||
|
||||
Considering the snippet
|
||||
|
||||
```cpp
|
||||
int n;
|
||||
std::cin >> n;
|
||||
int f = 1;
|
||||
if (n > 0) {
|
||||
do {
|
||||
f = f * n;
|
||||
--n;
|
||||
} while (n > 0);
|
||||
}
|
||||
std::cout << f << std::endl;
|
||||
```
|
||||
|
||||
1. Describe what it computes.
|
||||
1. Decide which of the other two kind of loops would fit better than the one it is currently using, and describe why.
|
||||
1. Rewrite the snippet into the loop you specified in (2). This part is autograded.
|
||||
|
||||
**Important**: The use of goto statements is prohibited.
|
43
Informatik_I/Exercise_3/Task_1/loop.cpp
Normal file
43
Informatik_I/Exercise_3/Task_1/loop.cpp
Normal file
@@ -0,0 +1,43 @@
|
||||
#include "loop.h"
|
||||
#include <iostream>
|
||||
|
||||
// Fill out the file with the required answers
|
||||
|
||||
/*
|
||||
|
||||
Subtask 1: describe what the code snippet computes
|
||||
|
||||
It calculates the factorial of the number inputed by the user.
|
||||
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
Subtask 2: decide which of the other two kind of loops would fit better, and
|
||||
describe why.
|
||||
|
||||
Just a simple for loop would suffice the task of this code snippet, as we can
|
||||
define the condition in the for loop as well as the expression. This
|
||||
simplifies the code alot.
|
||||
|
||||
Of course we could also include the edge case where the input n is 0 or
|
||||
smaller than zero. In this case an if statement would be more of use since we
|
||||
have to seperate the cases.
|
||||
|
||||
*/
|
||||
|
||||
/*
|
||||
Subtask 3: update the function below by rewriting the snippet into the
|
||||
loop you specified in (2)
|
||||
*/
|
||||
|
||||
void loop() {
|
||||
|
||||
int n;
|
||||
std::cin >> n;
|
||||
int f = 1;
|
||||
for (; n > 0; --n)
|
||||
f = f * n;
|
||||
|
||||
std::cout << f << std::endl;
|
||||
}
|
Reference in New Issue
Block a user