Flowcharting helps to visualize how the program will be structured. You may see places for loops and procedures at this early stage.
There are predefined shapes used by programmers for creating flowcharts.
While there are many shapes, the basics are as shown in the following chart.
Many software programs, including word processing software, include flowcharting shapes.
To assign a value to a variable, the assignment operator is used.
In many programming languages, a single equals sign, =, is used as the assignment operator.
The variable name is always on the left of the ← sign.
The programming language will evaluate the right hand side of the assignment operator and then place the value into the variable on the left-hand side of it.
\
The previous value stored in a variable is overwritten by a new assignment statement.
Expressions are calculations to be evaluated to an answer or single value.
In computer science, the value is then assigned to a variable if the value will be needed later.
It also could be displayed on a screen or printed.
You will get an error if you write:
The variable must be on the left and the assignment arrow points left.
\
\
Boolean values are one of the foundations of computer code.
Understanding Boolean is important for writing correct, readable, and efficient code.
Boolean values can only be true or false, needing only one bit to represent its value.
Relational operators are used with Boolean values.
These are just like in your math class:
\
To be true, both of the operands on either side of the AND operator must be true when evaluated individually.
In the example below, “licenseEligible” will be set to true only when the age is greater than or equal to 16 and the Boolean variable “learnersPermit” is true.
Otherwise, “licenseEligible” will be set to false.
For the OR operator, either or both of the operands can be true for the condition to be true.
In this example, if the day is a Saturday OR the month is July, then the sleepLate variable will be true.
The day can be any day as long as the month is July, and the month can be any month as long as the day is Saturday for sleepLate to be true.
With the NOT operator, if a condition was true, then NOT makes it false.
If a condition was false, then NOT makes it true.
\
\
These are a key component to many programs.
They use the “if (condition)” structure, and the evaluation of the condition uses Boolean values.
As we know, Booleans can only be either true or false, so the program statements associated with the condition only run when the condition at that moment evaluates to “true.”
This changes the flow of the program from every statement running sequentially to filtering out some of the code that will execute, based on the Boolean value.
Notice that the code to be executed when the condition is true is surrounded by the curly braces, { }, in the “Text” version.
The code within the braces is indented, which helps with readability.
It also makes it easier to see if you are missing a closing brace }!
\
\
This loop will repeat a specified number of times: “n” is a variable that must be set to a positive integer for the loop to run.
The code that is repeated is indented underneath the REPEAT statement and within the braces, { }, just like with the IF/ELSE statements.
The braces, { }, are required for loops in this course.
The indentation is good programming practice.
The REPEAT UNTIL loop has a condition to evaluate at each iteration of the loop.
The loop will continue to run while the condition evaluates to “false.”
This is similar to how an IF statement works except the condition for the IF statement must evaluate to true for it’s code to execute.
Combining Algorithms: One of the key features of algorithms is that once they are created, you can use them over and over, combine them for more complex problem solving, or modify them for a new use.
\
If you have more than two numbers, a computer can still only compare two at a time.
One number would be the current largest (or smallest), and the other would be the next number to compare it to.
Another common algorithm is calculating the sum and average of a group of numbers.
This is fairly straightforward since it is a concept you have already learned in math class.
One key element to remember is that you need to keep count of how many numbers you have added together so you will be able to calculate the average.
\
There are four commands you are responsible for understanding and using.
The triangle represents the robot’s starting point and the direction it is facing.
One command the robot can follow is MOVE_FORWARD.
The robot moves one step forward in the direction it is already facing.
If the command would place the robot in a blacked-out box or past the border of the maze, the command cannot be executed.
The robot can also rotate left or right.
The robot only changes the direction in the square it is already in.
It does NOT move forward.
Finally, there is a command, CAN_MOVE, that we can use to determine if the robot can make a valid move forward before moving.
It returns a Boolean value, true or false.
The mazes often have boxes blacked out.
This means that the robot cannot land on or pass through those.
CAN_MOVE can be used in an IF statement in your code to navigate through the maze.
Lists are a collection of items, such as a grocery list or a playlist of music.
A list in a program can be a collection of numbers, words, phrases, or a combination of these.
Usually a list only contains one type of data in a single list, but some programming languages do allow different types of data in the same list.
Lists provide the ability to store more than one value in the same variable, separated by commas, when the variable is defined as a list.
Lists are also called arrays in some programming languages.
\
Individual items in a list are called elements and are accessed by position using an index.
Index positions are always integers and are enclosed within square brackets [index].
Most programming languages will have built-in procedures, or “methods,” of common functionality to use with lists.
Adding an item to a specific position in a list.
The INSERT command causes elements to the right of the indicated index position, i, to shift right one position to make room for the new element.
Appending an item to the end of the list.
The APPEND command will add the new element to the end of the list, so no index position is needed.
The size of the list increases by one.
Removing an item from a list.
The REMOVE command deletes the element at the provided index position and shifts the remaining elements one position to the left.
The size of the list decreases by one.
Length. The length of a list is the number of elements in the list.
Checking Each Item in a List
The above statement is a loop that will automatically repeat the code for each element in the list.
The programmer chooses the name for the iteration variable “item”.
Each pass of the loop will assign the value of the next element in the list to the variable “item”.
Processing lists with a FOR EACH loop takes advantage of features of both structures.
There are algorithms that are frequently needed for processing lists with iteration.
These include finding the largest or smallest number in a list.
Here is an example using a REPEAT UNTIL loop with a list of grades.
Another common algorithm is finding the sum and average of the values in a list.
Searching deals with finding the needed element from everything in the dataset or determining that it is not there.
LINEAR SEARCH: Linear searches, also called sequential searches, check each individual record, starting at the beginning and going to the end, one after the other in order to either find the desired data or to determine it is not in the dataset.
BINARY SEARCH: Binary searches are far more efficient than linear searches.
\
Procedures are also called functions in some programming languages.
These are sections of code that will be executed only when they are called by the main program or another procedure.
They must be defined in a program before they can be used in the program.
\
\
Procedures have an optional feature called a return statement.
The return statement has two uses.
One purpose is to end a procedure before the end of the code is reached.
No other code in the procedure will be executed after the return statement.
The other use is to send a value back to the calling program.
Built-in Procedures: Built-in procedures are prewritten and tested code that are included with the programming language.
DISPLAY(): DISPLAY() is a built-in procedure used for this course on the exam.
INPUT(): It accepts data from the user, usually from the keyboard.
\
\
The efficiency of algorithms deals with resources needed to run it in terms of how long it will take and how much memory will be needed.
This becomes especially important with extremely large datasets, and efficiency is usually stated in terms of the size of the input.
Efficiency can be determined by mathematically proving it and informally measured by actually running it on datasets of different sizes and measuring how long it took and the memory resources needed.
</p>
\
\