~~SLIDESHOW~~
~~NOTOC~~
====== Structured Programming Concepts ======
Mithat Konar\\
July 21, 2018
===== Topics =====
* What is it?
* Why is it important?
* Core concepts
===== What is it? =====
* A way of thinking about how to create computer programs: a **paradigm**.
* Developed in the 1950s to help create manageable computer programs.
===== Why is it important? =====
* Theoretical reasons
* Practical reasons
===== Theoretical reasons =====
* It's is all you need to write any "provable function."
* Dominates theoretical thinking.
===== Practical reasons =====
* Many popular programming languages are based on structured programming.
* Influences languages built around other paradigms.
* Thinking "structurally" helps solve problems so they are easy to program.
* Professionals often use structured programming concepts to specify ways of solving problems.
===== Core concepts =====
* Control flow
* Block structure
* Subroutines
===== Control flow =====
* **control flow**: the order in which the things happen, the way a program "flows".
* Three kinds of control structures
* **sequence**: statements are executed one after the other.
* **selection**: choose among alternative courses of action, "making decisions."
* **repetition**: repeat a set of instructions, "looping".
===== Scenario =====
* I need to leave my house for a couple days.
* My friend has agreed to look after my cat Ash.
* They need detailed instructions.
===== First try =====
//Ash gets a cup of food every day.\\
Her water needs to be filled if it's running low.\\
She also needs to play fetch with her favorite toy.//
===== Sequence =====
"Ash gets a cup of food every day."
open the bag of catfood on the counter
scoop out one cup of food
put the scoop of food into her food dish
reseal the bag of catfood
===== Selection =====
"Her water needs to be filled if it's running low."
if the water level in the water dish is low
fill a glass of water from the filtered water pitcher on the counter
pour the glass of water into the water dish
===== Repetition =====
"She also needs to play fetch with her favorite toy."
toss Ash's favorite toy
while Ash brings it back
pat her on the head
toss Ash's favorite toy
===== Code Examples =====
===== Sequence =====
a = 5
b = 4
c = a * b
print("The value of c is", c)
===== Selection =====
if a > 60:
print("Your score is", a)
print("You passed the course!")
===== Repetition =====
n = 1
while n < 10:
print(n)
k = n + 1
n = k