notes/education/software development/ECE1400/Flowcharts and Pseudocode.md
2024-09-01 13:07:42 -06:00

3.9 KiB

Banana Cake

Instructions

  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.

Flowchart

vars: {
	d2-config: {
		dark-theme-id: 200
	}
}
grid-columns: 3

begin: {
	shape: oval
	# near: top-left
}

begin -> add 3c flour\
-> add 1 1/2 tsp baking soda\
-> add 1/2 tsp cinnamon\
-> add 1/2 tsp salt\
-> stir\
-> add 3 mashed bananas\
-> add 1 tsp lemon juice\
-> stir again\
-> add 3 eggs\
-> add 2tsp vanilla extract\
-> stir a final time\
-> bake @ 350f for 50 min\
-> let cool for 1 hour\
-> end
end: {
	shape: oval
	# near: bottom-right
}

Pseudocode

/**************************************
* Function Title: BakeBananaCake
* 
* Summary: Bake a banana cake
* 
* 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

  1. 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.

  2. Represent the flowchart from problem 3 as pseudocode.

%% Assuming a step distance of 2.5 feet.

Shady path:

  1. Turn to 270 degrees
  2. Walk 112 steps
  3. Turn to 225 degrees
  4. Walk 124 steps
  5. Turn to 270 degrees
  6. Walk 361 steps
  7. Turn to 0 degrees
  8. Walk 176 steps
  9. Turn to 270 degrees
  10. Walk 62 steps

Sunny path:

  1. Turn to 270 degrees
  2. Walk 73 steps
  3. Turn to 0 degrees
  4. Walk 94 steps
  5. Turn to 275 degrees
  6. Walk 467 steps
  7. Turn to 180 degrees
  8. Walk 86 steps
  9. Turn to 270 degrees
  10. Walk 80 steps

%%

Flowchart

vars: {
	d2-config: {
		dark-theme-id: 200
	}
}
classes: {
	turn-0: {
		label: turn to 0 degrees
	}
	turn-90: {
		label: turn to 90 degrees
	}
	turn-180: {
		label: turn to 180 degrees
	}
	turn-270: {
		label: turn to 270 degrees
	}
}
beginning: {shape: oval}
beginning -> if
if: {
	shape: diamond
	label: if (shady)\n<then else>\nendif
	
}
if -> shady: {
	direction: up
	label: if shady path
}
shady {
	grid-columns: 2
	1.class: turn-270
	1 -> 2
	2.label: walk 112 steps
	2 -> 3
	3.label: turn to 225 degrees
	3 -> 4
	4.label: walk 124 steps
	4 -> 5
	5.class: turn-270
	5 -> 6
	6.label: walk 361 steps
	6 -> 7
	7.class: turn-0
	7 -> 8
	8.label: walk 176 steps
	8 -> 9
	9.class: turn-270
	9 -> 10
	10.label: walk 62 steps
}
end: {shape: oval}
if -> end
if -> sunny: if sunny path
sunny {
	grid-columns: 2
	1.class: turn-270
	1 -> 2
	2.label: walk 73 steps
	2 -> 3
	3.class: turn-0
	3 -> 4
	4.label: walk 94 steps
	4 -> 5
	5.label: turn to 275 degrees
	5 -> 6
	6.label: walk 361 steps
	6 -> 7
	7.class: turn-0
	7 -> 8
	8.label: walk 176 steps
	8 -> 9
	9.label: turn to 270 degrees
	9 -> 10
	10.label: walk 80 steps
}

Pseudocode

/**************************************
* Function Title: WalkToTscFromEngr
* 
* Summary: Walk from the west entrance of the engineering building
* to the southeast entrace of the taggart std
* 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
**************************************/