2024-08-31 18:08:50 +00:00
# Banana Cake
## Instructions
2024-08-31 18:03:50 +00:00
2024-08-31 18:08:50 +00:00
1. Assume an action set of {add \<ingredient>, stir, bake, cool}. Draw a flowchart, using the paradigm discussed in class, to show the process of baking a banana cake. Use Google to find a typical list of ingredients.
2. Represent the flowchart from problem 1 as pseudocode.
2024-08-31 18:03:50 +00:00
2024-08-31 20:09:50 +00:00
## Flowchart
2024-08-31 18:08:50 +00:00
```d2
2024-08-31 18:33:50 +00:00
vars: {
d2-config: {
dark-theme-id: 200
}
}
2024-08-31 19:49:50 +00:00
grid-columns: 3
2024-08-31 18:33:50 +00:00
2024-08-31 18:58:50 +00:00
begin: {
shape: oval
2024-08-31 19:39:50 +00:00
# near: top-left
2024-08-31 18:58:50 +00:00
}
2024-08-31 19:39:50 +00:00
2024-08-31 18:18:50 +00:00
begin -> add 3c flour\
2024-08-31 18:23:50 +00:00
-> add 1 1/2 tsp baking soda\
-> add 1/2 tsp cinnamon\
-> add 1/2 tsp salt\
2024-08-31 19:39:50 +00:00
-> stir\
2024-08-31 18:38:50 +00:00
-> add 3 mashed bananas\
-> add 1 tsp lemon juice\
2024-08-31 19:39:50 +00:00
-> stir again\
2024-08-31 18:38:50 +00:00
-> add 3 eggs\
2024-08-31 19:03:52 +00:00
-> add 2tsp vanilla extract\
2024-08-31 19:49:50 +00:00
-> stir a final time\
-> bake @ 350f for 50 min\
-> let cool for 1 hour\
2024-08-31 19:03:52 +00:00
-> end
2024-08-31 19:49:50 +00:00
end: {
shape: oval
# near: bottom-right
}
```
2024-08-31 19:44:50 +00:00
2024-08-31 19:49:50 +00:00
## Pseudocode
2024-08-31 19:54:50 +00:00
```c
/**************************************
* Function Title: BakeBananaCake
*
* Summary: Bake a banana cake
*
2024-08-31 19:59:50 +00:00
* Inputs: none
* Outputs: none
**************************************
* Pseudocode
*
* Begin
* Add 3c flour
* Add 1 1/2 tps baking soda
* Add 1/2 tsp cinnamon
* Add 1/2 tsp salt
* Stir
* Add 3 mashed bananas
* Add 1 tsp lemon juice
* Stir
* Add 3 eggs
* Add 2tsp vanilla extract
* Stir a final time
* Bake @ 350F for 50 min
* Cool for 1 hour
* End
**************************************/
```
# Walking
## Instructions
3. Assume an action set of {walk \<value> steps, turn to \<value> degrees}. Draw a flowchart showing a shady path and a sunny path to get from the west doors of the Engineering Building to the south-east doors of the TSC. Pick a meaningful “if” condition to select one of the two paths. Use real-world data in your design.
4. Represent the flowchart from problem 3 as pseudocode.
2024-08-31 20:14:50 +00:00
%%
2024-08-31 20:19:50 +00:00
Assuming a step distance of 2.5 feet.
Shady path:
2024-08-31 20:29:50 +00:00
Turn to 270 degrees
2024-08-31 20:49:50 +00:00
Walk 112 steps
Turn to 225 degrees
Walk 124 steps
2024-08-31 20:55:24 +00:00
Turn to 270 degrees
Walk 361 steps
Turn to 0 degrees
Walk 176 steps
Turn to 270 degrees
Walk 62 steps
2024-08-31 20:49:50 +00:00
Sunny path:
Turn to 270 degrees
2024-08-31 20:34:50 +00:00
Walk 73 steps
2024-08-31 20:29:50 +00:00
Turn to 0 degrees
2024-08-31 20:34:50 +00:00
Walk 94 steps
Turn to 275 degrees
Walk 467 steps
2024-08-31 20:39:50 +00:00
Turn to 180 degrees
Walk 86 steps
Turn to 270 degrees
Walk 80 steps
2024-08-31 20:14:50 +00:00
%%
2024-08-31 20:09:50 +00:00
## Flowchart
```d2
2024-08-31 20:39:50 +00:00
vars: {
d2-config: {
dark-theme-id: 200
}
}
2024-08-31 20:09:50 +00:00
classes: {
2024-09-01 18:17:42 +00:00
turn-0: {
2024-09-01 18:22:42 +00:00
label: turn to 0 degrees
2024-09-01 18:17:42 +00:00
}
2024-09-01 18:22:42 +00:00
turn-90: {
label: turn to 90 degrees
}
turn-180: {
label: turn to 180 degrees
}
turn-270: {
label: turn to 270 degrees
}
}
if: {
shape: diamond
2024-09-01 18:37:42 +00:00
label: if (shady)\n< then else > \nendif
2024-09-01 18:32:42 +00:00
2024-09-01 18:27:42 +00:00
}
2024-09-01 18:37:42 +00:00
if -> shady: {
direction: up
label: if shady path
}
2024-09-01 18:27:42 +00:00
shady {
1.class: turn-270
1 -> 2
2.class: turn0
}
2024-09-01 18:37:42 +00:00
end: {shape: oval}
if -> end
2024-09-01 18:27:42 +00:00
if -> sunny: if sunny path)
sunny {
2024-09-01 18:37:42 +00:00
1.class: turn-270
2024-08-31 20:09:50 +00:00
}
beginning: {shape: oval}
```