Susie’s lecture notes are in the presenter’s notes, below the slides Disclaimer: Susie may have...
-
Upload
nickolas-bryan -
Category
Documents
-
view
218 -
download
0
Transcript of Susie’s lecture notes are in the presenter’s notes, below the slides Disclaimer: Susie may have...
Susie’s lecture notes are in the presenter’s notes, below the slidesDisclaimer: Susie may have made errors in transcription or understanding. If there is any confusion, please email the lecture presenter.
Psuedo Code
Real Code
Pseudo Code
• Pseudo = Fake• Code = Fancy computer stuff
• A way to organize your program before coding it
General Guidelines
• Input• Output• Steps in between
• Not Language Specific• Only you need to understand it• Should not work
ToolBox
• Variables (int, float, char, string)• Arrays• If• If-Else• While loop• For loop• Functions
If - Else
If (True or False Statement)Run CodeRun More Code
ElseRun Other Code
Problem 1
• Matt keeps getting on your computer and running your code
• Write a program that asks for the users name• If its Matt tell him to get back to work• Input: User’s name• Output: Chiding Statement
Problem 1: Word Solution
• Load in a user name from the keyboard• Check if that name is matt• If it is matt, say something
Problem 1: Pseudo Code
User Name = userInput(stuff)If User Name is Matt
Print Boo Matt
Problem 1: Pseudo Code
User Name = userInput(stuff)If User Name is Matt
Print Angry StatementElse
Print You do You!
Class Problem 1
• Write a program that takes in a number from a user and tells them if it is Divisible by 11
• Input = User Number• Output = Printed statement on divisibility• Hint: Mod (%) gives the remainder• 5 Mod 2 = 1
Class Problem 1: Word Solution
• Load in a number from the user• See if that number is divisible by 11• If it is tell them• If it is not, tell them
Class Problem 1: Pseudo Code Solution
Number = userInput(stuff)If Number Mod 11 is 0
Print Affirmative StatementElse
Print Negative Statement
While
While (True or False Statement)Do CodeDo More Code
Problem 2
• Write a program that takes in a number from a user and tells them if it is Divisible by 11
• But keep asking until the user enters the number 0
Problem 2: Pseudo Code
While(Number is not 0)Number = userInput(stuff)If Number Mod 11 is 0
Print Affirmative StatementElse
Print Negative Statement
Why will this not work?
Class Problem 2: Pseudo Code
Number = 1While(Number is not 0)
Number = userInput(stuff)If Number Mod 11 is 0
Print Affirmative StatementElse
Print Negative Statement
Array
• Cute = [‘Puppy’,’Kitten’,’Piglet’,’Tigger’]• 0 indexed: 0 1 2 3• 1 indexed: 1 2 3 4• 0 indexed: cute[1] = Kitten• 1 indexed: cute[1] = Puppy
For Loop
• Two Main components:–Iterator Variable–Range
For Loop
• For counter in 1 – 10–Print “pass” + counter
• For i = 1, i <= 10, i = i + 1–Print “pass” + counter
• For word in Words–Print word
Problem 3
• You are given a DNA Sequence and have to report how many times the Motif CAT appears
• Input = DNA Sequence (GATTACA), CAT• Output = CAT Count• Hint1: A string is really just as an array of
characters • [‘G’,’A’,’T’,’T’,’A’,’C’,’A’]• Hint2: you can take a slice out of an array– Array[2:4]
Problem 3: Word Solution
• Load DNA Sequence and CAT into variables• Set a motif counter to 0• Iterate through DNA sequence – Pull out sets of three letters and compare to CAT– If we find CAT increment the counter
• Report the final count
Visual Representation
•G A T T A C A
Problem 3: Pseudo Code
Motif = CATDNASeq = loadFile(InputDNA)CAT_Count = 0For i in DNASeq Range – 2
if(DNASeq i to DNASeq i+2 is CAT)CAT_Count + 1
Print CAT_Count
Class Problem 3
• You are given a DNA sequence and have to determine its GC content
• Input = DNA sequence (GATTACA)• Output = GC content• Hint: You can use a For loop to iterate through
the elements of an array
Class Problem 3: Pseudo Code
DNASeq = loadFile(InputDNA)GC_Count = 0For Letter in DNASeq
if Letter is G or CGC_Count + 1
DNALength = length(DNASeq)GC = GC_Count/DNALength X 100%Print GC
Real Code
Better Real Code
Parting Lessons
• Inputs• Outputs• Toolbox• Take Your Time• Only you have to understand your pseudo
code