ALGORITHMS
SRSC
BIG IDEA: A FINITE SET OF INSTRUCTIONS THAT ACCOMPLISH A SPECIFIC TASK
SEQUENCING
DO STEPS OF CODE IN THE ORDER SPECIFIED
first step -> second step -> third step
number = int(input("Enter a number: "))
result = number * 2
print("double of " + str(number) + " is " + str(result))
double of 1is 2
- Create a variable based on user input
- Multiply variable by two
- Print out both variables at the end
SELECTION
Choose TWO OR MORE OUTCOMES based on a DECISION or CONDITION
number = 6
if number % 2 == 0:
print("Even")
else:
print("Odd")
Even
- Set number to 5
- If number is divisible by 2 with no remainder, print “Even”
- Otherwise, print “Odd”
ITERATION
REPEAT STEPS BASED ON A DECISION or STOP when a condition is met
first step -> second step -> if step 2: true -> first step if step 2: false -> third step -> fourth step
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
apple
banana
cherry
- Create a list called fruits
- For each fruit in the list, print the fruit
ACTIVITY 1: Robot Pseudocode
Write the pseudocode to move the robot onto the gray square.
Available Code:
Move forward
Turn Left
Turn Right
PseudoCode here: Move forward Move forward Move forward Turn left Move forward Move forward Turn right Move forward Move forward Move forward
# Math Operations:
print("Addition") #addition
result = 5 + 3
print(result) # 8
print("\nSubtraction") #subtraction
result = 10 - 4
print(result) # 6
print("\nMultiplication") #multiplication
result = 6 * 7
print(result) # 42
print("\nFloat Division") #float division (float = numbers with decimal values)
result = 20 / 4
print(result) # 5.0
print("\nInteger Division (floor division)") #floor division
result = 20 // 4
print(result) # 5
print("\nModulus (remainder)") #remainder
result = 10 % 3
print(result) # 1
Addition
8
Subtraction
6
Multiplication
42
Float Division
5.0
Integer Division (floor division)
5
Modulus (remainder)
1
Fibonacci
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
Factorial
120
Fibonacci
def fibonacci(n): #fibonacci sequence
fib_series = [0, 1]
while len(fib_series) < n:
next_number = fib_series[-1] + fib_series[-2]
fib_series.append(next_number)
return fib_series
n = 10
result = fibonacci(n)
print(result) # [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
# initial length of list is 2
# while length of list is less than amount of numbers we want in our final sequence
# add the last two numbers of the list
# add this value to the end of the list
# repeat until length of list reaches n
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
Mini Lesson: If, Else Statements
num =0
if num > 0:
print(str(num) + " is positive.")
elif num < 0:
print(str(num) + " is negative.")
else:
print(str(num) + " is zero.")
0 is zero.
Mini Lesson 2: For, While Loops
names = ["Timo", "Aditya", "Sai", "Tanav", "Aditya"]
for name in names:
print(name)
num = 1
while num <= 5:
print(num)
num += 1
Timo
Aditya
Sai
Tanav
Aditya
1
2
3
4
5
Mini Lesson 3: Defining Function
def calculate_square(number):
square = number * number
return square #ends function
result = calculate_square(5)
print(f"The square of 5 is {result}")
Mini Lesson 4: Input
variable1 = input("How old are you?")
print("You are " + variable1 + " years old")
You are asd years old
ACTIVITY 2: CALCULATOR
- Create calculator function
- Allow user to Choose 2 numbers and an operator
- Perform specified operation based on input
- Return result of calculation
##YOUR WORK HERE
##Hint: Use if else statements, defining functions, input
def add(x, y):
return x + y
# Function to subtract two numbers
def subtract(x, y):
return x - y
# Function to multiply two numbers
def multiply(x, y):
return x * y
# Function to divide two numbers
def divide(x, y):
if y == 0:
return "Cannot divide by zero"
return x / y
# Main calculator loop
while True:
# Display menu
print("Options:")
print("Enter 'add' for addition")
print("Enter 'subtract' for subtraction")
print("Enter 'multiply' for multiplication")
print("Enter 'divide' for division")
print("Enter 'quit' to end the program")
# Take user input
user_choice = input(": ")
# Check if the user wants to quit
if user_choice == "quit":
break
# Check if the user's choice is a valid operation
if user_choice in ("add", "subtract", "multiply", "divide"):
num1 = float(input("Enter first number: "))
num2 = float(input("Enter second number: "))
if user_choice == "add":
print("Result:", add(num1, num2))
elif user_choice == "subtract":
print("Result:", subtract(num1, num2))
elif user_choice == "multiply":
print("Result:", multiply(num1, num2))
elif user_choice == "divide":
print("Result:", divide(num1, num2))
else:
print("Invalid input. Please enter a valid operation.")
Options:
Enter 'add' for addition
Enter 'subtract' for subtraction
Enter 'multiply' for multiplication
Enter 'divide' for division
Enter 'quit' to end the program
Result: 3.0
Options:
Enter 'add' for addition
Enter 'subtract' for subtraction
Enter 'multiply' for multiplication
Enter 'divide' for division
Enter 'quit' to end the program
Result: 3.0
Options:
Enter 'add' for addition
Enter 'subtract' for subtraction
Enter 'multiply' for multiplication
Enter 'divide' for division
Enter 'quit' to end the program
# String Operations and Concatenation:
print("\nString Concatenation") #add together strings
str1 = "Hello"
str2 = "World"
result = str1 + " " + str2
print(result) # "Hello World"
print("\nString Length") #length of string
text = "This is a sample text."
length = len(text)
print(length) # 22
print("\nString Indexing and Slicing") #string slicing
text = "Python"
first_char = text[0]
substring = text[2:5]
print(first_char) # 'P'
print(substring) # 'tho'
print("\nString Repetition (Repeating Strings)")
text = "Repeat "
result = text * 3
print(result) # "Repeat Repeat Repeat "
# Palindrome Check Algorithm:
print("\nPalindrome Check Algorithm")
def is_palindrome(text):
text = text.replace(" ", "").lower()
return text == text[::-1] ## == will return boolean
result1 = is_palindrome("racecar")
result2 = is_palindrome("Hello, World!")
print(result1) # True
print(result2) # False
String Concatenation
Hello World
String Length
22
String Indexing and Slicing
P
tho
String Repetition (Repeating Strings)
Repeat Repeat Repeat
Palindrome Check Algorithm
True
False
ACTIVITY 3: COUNTING VOWELS
- Create a function that takes a word as an input
- Use a for loop to iterate through each character of a word
- Check how many characters in a word contain vowels
- Return vowel number
##YOUR WORK HERE
def count_vowels(word):
vowels = "aeiouAEIOU"
vowel_count = 0
for char in word:
if char in vowels:
vowel_count += 1
return vowel_count
# Test the function with a word
word = "Hello"
vowel_number = count_vowels(word)
print(f"The number of vowels in '{word}' is {vowel_number}.")
The number of vowels in 'Hello' is 2.
HOMEWORK
CREATE TEXT (string) ANALYZER:
criteria:
- Accepts input from user
- Counts total letters, numbers, spaces in a string
- Counts number of vowels
- Calculates average word length
- Correctly displays: total # of characters (including spaces + numbers), total vowels, average word length
other criteria:
- ensure that program handles upper and lowercase spelling
- Test multiple inputs to ensure accuracy
Criteria for above 90%:
- Add a unique program, function, or feature not specified by criterias
def text_analyzer(text):
total_characters = len(text)
letters = sum(c.isalpha() for c in text)
numbers = sum(c.isdigit() for c in text)
spaces = text.count(' ')
vowels = sum(1 for c in text.lower() if c in 'aeiou')
words = text.split()
avg_word_length = sum(len(word) for word in words) / len(words) if words else 0
special_characters = total_characters - (letters + numbers + spaces)
result = {
"Total Characters": total_characters,
"Letters": letters,
"Numbers": numbers,
"Spaces": spaces,
"Vowels": vowels,
"Average Word Length": avg_word_length,
"Special Characters": special_characters
}
return result
# Accept user input and analyze the text
user_input = input("Enter your text: ")
analysis = text_analyzer(user_input)
print("\nText Analysis:")
for key, value in analysis.items():
print(f"{key}: {value}")
Text Analysis:
Total Characters: 21
Letters: 17
Numbers: 0
Spaces: 3
Vowels: 6
Average Word Length: 4.5
Special Characters: 1