CPS120 Introduction to Computer Science Exam Review.

Slides:



Advertisements
Similar presentations
How Are Algorithms Developed?
Advertisements

Lecture 2 Introduction to C Programming
Introduction to C Programming
 2000 Prentice Hall, Inc. All rights reserved. Chapter 2 - Introduction to C Programming Outline 2.1Introduction 2.2A Simple C Program: Printing a Line.
Introduction to C Programming
ITEC113 Algorithms and Programming Techniques
True or false A variable of type char can hold the value 301. ( F )
Data Representation COE 205
Program Design and Development
Chapter 5: Loops and Files.
 2007 Pearson Education, Inc. All rights reserved Introduction to C Programming.
Introduction to C Programming
CPS120: Introduction to Computer Science Lecture 8.
 2003 Prentice Hall, Inc. All rights reserved. 1 Introduction to C++ Programming Outline Introduction to C++ Programming A Simple Program: Printing a.
Computers Organization & Assembly Language
Operator Precedence First the contents of all parentheses are evaluated beginning with the innermost set of parenthesis. Second all multiplications, divisions,
CPS120 Introduction to Computer Science Exam Review Lecture 9.
CPS120: Introduction to Computer Science Midterm Exam Review.
Lec 3: Data Representation Computer Organization & Assembly Language Programming.
CPS120: Introduction to Computer Science Variables and Constants Lecture 8 - B.
CPS120: Introduction to Computer Science Computer Math: Signed Numbers.
Program A computer program (also software, or just a program) is a sequence of instructions written in a sequence to perform a specified task with a computer.
Introduction to Java Applications Part II. In this chapter you will learn:  Different data types( Primitive data types).  How to declare variables?
Project 1 Due Date: September 25 th Quiz 4 is due September 28 th Quiz 5 is due October2th 1.
CPS120: Introduction to Computer Science
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Chapter 2 Chapter 2 - Introduction to C Programming.
Introduction to C Programming Angela Chih-Wei Tang ( 唐 之 瑋 ) Department of Communication Engineering National Central University JhongLi, Taiwan 2010 Fall.
Week 1 Algorithmization and Programming Languages.
CPS120: Introduction to Computer Science Decision Making in Programs.
Fundamentals of C and C++ Programming. EEL 3801 – Lotzi Bölöni Sub-Topics  Basic Program Structure  Variables - Types and Declarations  Basic Program.
CPS120: Introduction to Computer Science Lecture 14 Functions.
Lecture 2: Introduction to C Programming. OBJECTIVES In this lecture you will learn:  To use simple input and output statements.  The fundamental data.
Computer Math CPS120: Lecture 3. Binary computers have storage units called binary digits or bits: Low Voltage = 0 High Voltage = 1 all bits have 0 or.
Computer Math CPS120 Introduction to Computer Science Lecture 4.
VARIABLES, CONSTANTS, OPERATORS ANS EXPRESSION
 2008 Pearson Education, Inc. All rights reserved JavaScript: Introduction to Scripting.
C++ Programming Lecture 3 C++ Basics – Part I The Hashemite University Computer Engineering Department (Adapted from the textbook slides)
CPS120: Introduction to Computer Science Midterm Exam Review.
Loops and Files. 5.1 The Increment and Decrement Operators.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 2 - Introduction to C Programming Outline.
CPS120: Introduction to Computer Science Variables and Constants.
CPS120: Introduction to Computer Science Decision Making in Programs.
Introduction to Java Applications Part II. In this chapter you will learn:  Different data types( Primitive data types).  How to declare variables?
 2007 Pearson Education, Inc. All rights reserved. A Simple C Program 1 /* ************************************************* *** Program: hello_world.
1 CISC181 Introduction to Computer Science Dr. McCoy Lecture 2 September 3, 2009.
Internet & World Wide Web How to Program, 5/e © by Pearson Education, Inc. All Rights Reserved.
CPS120: Introduction to Computer Science Decision Making in Programs.
CPS120 Introduction to Computer Science Exam Review Lecture 18.
 2003 Prentice Hall, Inc. All rights reserved Basics of a Typical C++ Environment C++ systems –Program-development environment –Language –C++
An Introduction to Programming with C++ Sixth Edition Chapter 5 The Selection Structure.
CPS120: Introduction to Computer Science Session 5.
Computer Math CPS120 Introduction to Computer Science Lecture 7.
OPERATORS IN C CHAPTER 3. Expressions can be built up from literals, variables and operators. The operators define how the variables and literals in the.
1 Lecture 2 - Introduction to C Programming Outline 2.1Introduction 2.2A Simple C Program: Printing a Line of Text 2.3Another Simple C Program: Adding.
Bill Tucker Austin Community College COSC 1315
REPETITION CONTROL STRUCTURE
Chapter 1: Introduction to computers and C++ Programming
Introduction to C++ Programming
Chapter 2 Introduction to C++ Programming
Chapter 2 - Introduction to C Programming
The Selection Structure
Chapter 2 - Introduction to C Programming
Chapter 2 - Introduction to C Programming
Chapter 2 - Introduction to C Programming
Introduction to C++ Programming
Chapter 2 - Introduction to C Programming
CPS120: Introduction to Computer Science
Chapter 2 - Introduction to C Programming
Chapter 2 - Introduction to C Programming
Introduction to C Programming
Presentation transcript:

CPS120 Introduction to Computer Science Exam Review

Compilers An engine that works on your behalf to process instructions and allow you to deal with various basic rules of the language The compiler’s job is to make sure you follow the rules, to require that you provide enough information that the compiler can translate you instructions into languages the components can understand

Fundamental Programming Concepts One-after-another (Sequence) Decision-making (Selection) –Making choices between 2 or more alternatives Repetition (Iteration) –Concerned with repetitive tasks (and the termination conditions of loops) Invocation –Delegation of sub-tasks to functions / procedures

Terminator. Shows the starting and ending points of the program. A terminator has flow lines in only one direction, either in (a stop node) or out (a start node). Data Input or Output. Allows the user to input data and results to be displayed. Processing. Indicates an operation performed by the computer, such as a variable assignment or mathematical operation. With a heading – an internal subroutine Decision. The diamond indicates a decision structure. A diamond always has two flow lines out. One flow lineout is labeled the “yes” branch and the other is labeled the “no” branch. Predefined Process. One statement denotes a group of previously defined statements. Such as a function or a subroutine created externally Connector. Connectors avoid crossing flow lines, making the flowchart easier to read. Connectors indicate where flow lines are connected. Connectors come in pairs, one with a flow line in and the other with a flow line out. Off-page connector. Even fairly small programs can have flowcharts that extend several pages. The off-page connector indicates the continuation of the flowchart on another page. Just like connectors, off-page connectors come in pairs. Flow line. Flow lines connect the flowchart symbols and show the sequence of operations during the program execution. Common Flowchart Symbols

Rules for Pseudocode 1.Make the pseudocode language-independent 2.Indent lines for readability 3.Make key words stick out by showing them capitalized, in a different color or a different font 4.Punctuation is optional 5.End every IF with ENDIF 6.Begin loop with LOOP and end with ENDLOOP 7.Show MAINLINE first; all others follow 8.TERMINATE all routines with an END instruction

Syntax & Logic Errors A syntax error is simply the violation of the rules of a language; misuse of structure and form in programming or a violation of the compiler’s rules. These errors are detected by the compiler A logic error is a mistake that complies with the rules of the compiler that causes the program to generate incorrect output

Compiling and Debugging Executable code will not be created until you correct all of the syntax errors in your source code

Linker Errors Not all syntax errors are detectable by the compiler –These errors do not become apparent until files are put together to create an executable –These errors are not linked to a specific line of code

Alphanumeric Codes American Standard Code for Information Interchange (ASCII) –7-bit code –Since the unit of storage is a bit, all ASCII codes are represented by 8 bits, with a zero in the most significant digit – H e l l o W o r l d – C 6C 6F F 72 6C 64

Decimal Equivalents Assuming the bits are unsigned, the decimal value represented by the bits of a byte can be calculated as follows: 1.Number the bits beginning on the right using superscripts beginning with 0 and increasing as you move left Note: 2 0, by definition is 1 2.Use each superscript as an exponent of a power of 2 3.Multiply the value of each bit by its corresponding power of 2 4.Add the products obtained

Binary to Hex Step 1: Form four-bit groups beginning from the rightmost bit of the binary number –If the last group (at the leftmost position) has less than four bits, add extra zeros to the left of the group to make it a four-bit group Step 2: Replace each four-bit group by its hexadecimal equivalent –19EAA7 (16

Converting Decimal to Other Bases Step 1: Divide the number by the base you are converting to (r) Step 2: Successively divide the quotients by (r) until a zero quotient is obtained Step 3: The decimal equivalent is obtained by writing the remainders of the successive division in the opposite order in which they were obtained –Know as modulus arithmetic Step 4: Verify the result by multiplying it out

Representing Negatives It is necessary to choose one of the bits of the “basic unit” as a sign bit –Usually the leftmost bit –By convention, 0 is positive and 1 is negative Positive values have the same representation in all conventions However, in order to interpret the content of any memory location correctly, it necessary to know the convention being used used for negative numbers

Sign-Magnitude For a basic unit of N bits, the leftmost bit is used exclusively to represent the sign

Sign-magnitude Operations Addition of two numbers in sign-magnitude is carried out using the usual conventions of binary arithmetic –If both numbers are the same sign, we add their magnitude and copy the same sign –If different signs, determine which number has the larger magnitude and subtract the other from it. The sign of the result is the sign of the operand with the larger magnitude

One’s Complement Positive numbers are represented in the usual way For negatives –STEP 1: Start with the binary representation of the absolute value –STEP 2: Complement all of its bits

One's Complement Operations –Treat the sign bit as any other bit –For addition, carry out of the leftmost bit is added to the rightmost bit – end-around carry

Two’s Complement Convention A positive number is represented using a procedure similar to sign-magnitude To express a negative number 1.Express the absolute value of the number in binary 2.Change all the zeros to ones and all the ones to zeros (called “complementing the bits”) 3.Add one to the number obtained in Step 2

Two’s Complement Operations Addition: –Treat the numbers as unsigned integers The sign bit is treated as any other number –Ignore any carry on the leftmost position Subtraction –Treat the numbers as unsigned integers –If a "borrow" is necessary in the leftmost place, borrow as if there were another “invisible” one- bit to the left of the minuend

C++ Usages & Conventions C++ is absolutely case sensitive –For Instance: A is 97 in ASCII and a is 65 –Remember: in ASCII {, [, and ( are not equivalent No keywords in ANSI standard are even partially uppercase –‘While’ is not a keyword, ‘while’ is –Be careful if you define new keywords

Comments Document what is happening, why it is happening and other issues Commentary is ignored by the compiler C++ has inline, block and documentary comments –Inline comments are within line of code Use the // symbols –Block comments are long comments delimited with /* and */

Compiler Directives Instructions to the compiler rather than part of the C++ language –Most common directive is #include #include –A.h file is a header file. It serves as a link between program code and standard C++ code needed to make programs run

Functions A function is a block of code that carries out a specific task Every C++ program has a main function that executes when a program initiates –Includes open parenthesis to designate a function –Ends with a return 0; statement

Scope Delimiters A symbol or pair of symbols used to define a region or area which is considered a locale In programming, many structures need to have their scope defined because they should not affect the entire program –In C++, the symbols ‘{‘ and ‘}’ are used

Semicolons There must be a semicolon after every statement –To tell the compiler that the statement is complete –Function definitions and compiler directives are exempt

C++ Control Structures 1."Sequence statements" are imperatives 2."Selection" is the "if then else" statement –AND, OR, NOT and parentheses ( ) can be used for compound conditions 3."Iteration" is satisfied by a number of statements –"while" –" do " – "for" 4.The case-type statement is satisfied by the "switch" statement. –CASE statements are used for most non-trivial selection decisions

Data Types - Characters To store a letter or a single character (such as #, $, *, etc.), we use a variable of the char data type. –A char variable only uses 1 byte of memory. –A char variable can only hold one letter, digit, or character.

Data Types – Words / Phrases To store a word or phrase (string value), we use a variable that is a string –Technically string is not a data type but a class

Using Variables in C++ Variables must be declared before they are used in C++. Get into the habit of doing this at the top of your functions

Variable Names Choose your own variable names but you must be careful to use valid ones: –do not use keywords that are defined in the programming language (Reserved Words) –do not include spaces or other disallowed characters –do not use more than 255 characters –do begin the identifier with a letter

Initializing Variables C++ does not automatically initialize all variables

The Assignment Operator The assignment operator is the equal symbol (=) The assignment operator changes the value of the variable to its left after evaluating the expression on its right

Decision Making In Computers When decisions are made in a computer program, they are simply the result of a computation in which the final result is either TRUE or FALSE The value zero (0) is considered to be FALSE by C++. Any positive or negative value is considered to be TRUE

Using Relational Operators Relational operators provide the tools with which programs make decisions == equal to NOTE: this is two equals symbols next to each other, not to be confused with the assignment operator, = > greater than = greater than or equal to <= less than or equal to != not equal to

Complete order of operations The complete order of operations including all of the arithmetic, relational, and logical operators including all of the basic arithmetic, relational, & logical operators is: *, /, % +, -, =, ==, != ! && ||

Character Arrays An array is a group of variables of the same data type that appear together in memory –In this case each variable holds a character and the last variable in the string holds the null terminator (/0)

Input Operations The operator >> is known as the input operator. It is also known as the extraction operator You use the input operator in statements like, cin >> numItems; which would allow the user to input a value to be stored in the variable numItems.

Complexities of Word Input Some things are done automatically with >> –get does not skip over line breaks and spaces If the user enters a string longer than the length specified in the call to the get function, the remaining characters are left in the input stream Get always ignores the new line character (‘\n’) and leaves it in the stream Use the ignore function to flush the contents of the input stream cin.ignore(80, ‘\n’);

Decision Making in C++ 1.if statement 2.switch statement 3.? conditional operator statement 4.goto statement

General Form if (test expression) { True-block statements; } else { False-block statements; } next statement;

Iterate A program loop is a form of iteration. A computer can be instructed to repeat instructions under certain conditions.

Syntax of a for Loop for (initializing expression; control expression; step expression) { // one or more statements } The initializing expression sets the counter variable for the loop to its initial value. The control expression ends the loop at the specified moment. The step expression changes the counter variable Semi-colons, not commas, divide the expressions

While Loop Syntax while (control expression) { // one or more statements } The control expression must evaluate to TRUE in order for the while loop to iterate even once

Do While Syntax do { // body statements would be placed here }while (control expression); Don't forget to include the required semicolon after the control expression

Break and Continue continue causes while, do… while, and for loops to start over break causes while, do … while, for and switch statements to end

An Example of A Function #include void printMyMessage(int numOfTimes); // PROTOTYPE and NAME int main( ) { … { printMyMessage (userInput); // CALL STATEMENT WITH ACTUAL PARAMETER } … return 0; } // end of main void printMyMessage(int numOfTimes)// FUNCTION HEADER { int i=0; // LOCAL VARIABLE WITHIN THE FUNCTION for (i=0; i<= numOfTimes; i++)// BODY {cout << "Let's Go State!!" << endl;}// OF THE } //end of printMyMessage// FUNCTION

Scope of Variables The scope of a variable is the area in which it can be legally referenced –Variables are either global or local in nature –Global variables are ones that are declared outside and above the main function –They can be used in any function throughout the program. It is not wise to use global variables any more than you have to. –Local variables are ones that are declared inside of a function, including main. They cannot be used or referred to in other functions

Reading From a File Declare a file pointer as an ifstream object with: ifstream infile; –ifstream is a keyword and infile is the name for the file pointer. Open the actual file for reading with: infile.open("mydata.txt", ios::in); infile.open("mydata.txt");

Writing Output To write data to a sequential-access data file you would use a statement like: outfile << "John Doe" << endl; to print that name to the next line in the data file pointed to by the file pointer, outfile.

Appending Data Adding data to the end of a sequential-access data file is called appending Open the file using the ios::app stream operation mode as in: outfile.open("myfile.txt", ios::app); where the app is short for append. If you accidentally open the file with the ios::out mode, you will end up overwriting data in the file because C++ will write the first piece of outputted data at the beginning of the sequential-access data file

Declaring an Array To declare an array before it is used in the body of your program, you must use a statement like: int scores[10]; This would declare an array of integers, named "scores". In this case, scores can store up to 10 different integer values. –The positions of the array are identified by their index positions which run from 0 to 9 (not 1 to 10.) Each one of the 10 variables in scores is called an element

Initializing an Array If you wish to initialize each element of an array to a specific value, you can use the statement, int scores[] = {65, 76, 45, 83, 99}; You don't even have to specify a size of the array in this case since the initialization statement would cause the compiler to declare an array of size 5 since there are five values in the set of curly braces

Declaring a Multi-dimensional Array To declare an array of integers called studentGrades to be a 2-dimensional array with 3 rows and 4 columns, you would use the statement: int studentGrades[3] [4]; where the first integer value is used to specify the number of rows in the array and the second value specifies the number of columns Think of remote control