Today in CS161 Lecture #9**go to Blackboard ** Practicing… Review from Shackelford Reading If statements Loops Begin writing Programs Using if statements.

Slides:



Advertisements
Similar presentations
Summer Computing Workshop. Introduction to Variables Variables are used in every aspect of programming. They are used to store data the programmer needs.
Advertisements

CS161 Topic #11 1 Today in CS161 Lecture #11 More Functions Write Programs using Functions Black Jack (add the dealer and make corrections) Arguments Now.
While Loops Programming. COMP102 Prog Fundamentals I: while Loops/Slide 2 Shortcut Assignments l C++ has a set of shortcut operators for applying an operation.
CSE202: Lecture 2The Ohio State University1 Variables and C++ Data Types.
Computer Science 1620 Loops.
CS Sept Your first C++ program… Boilerplate // Cannon, demo program #include using namespace std; int main() {// program goes here… return.
1 9/29/06CS150 Introduction to Computer Science 1 Loops Section Page 255.
1 11/3/08CS150 Introduction to Computer Science 1 Reading from and Writing to Files Section 3.12 & 13.1 & 13.5.
Computer Science 1620 Variables and Memory. Review Examples: write a program that calculates and displays the average of the numbers 45, 69, and 106.
1 9/29/06CS150 Introduction to Computer Science 1 Loops Section Page 255.
1 9/28/07CS150 Introduction to Computer Science 1 Loops section 5.2, 5.4, 5.7.
1 10/20/08CS150 Introduction to Computer Science 1 do/while and Nested Loops Section 5.5 & 5.11.
1 10/11/06CS150 Introduction to Computer Science 1 do/while and Nested Loops.
1 10/29/07CS150 Introduction to Computer Science 1 Reading from and Writing to Files Section 3.12 & 13.1 & 13.5.
Computer Science 1620 Programming & Problem Solving.
Libraries Programs that other people write that help you. #include // enables C++ #include // enables human-readable text #include // enables math functions.
1 10/25/06CS150 Introduction to Computer Science 1 Reading from and Writing to Files.
CS161 Topic #14 1 Today in CS161 Lecture #14 Practicing! Writing Programs to Practice Write a program that counts the number of vowels in a sentence, ended.
11 Introduction to Object Oriented Programming (Continued) Cats II.
Scratch the Cat. Object Oriented Programing Writing computer programs Based on Objects Instead of Actions Based on Data Instead of Logic.
VARIABLES, TYPES, INPUT/OUTPUT, ASSIGNMENT OPERATION Shieu-Hong Lin MATH/CS Department Chapel.
Today in CS161 Lecture #4 Solving Problems with Computers Walk through the Tic Tac Toe Algorithm Getting ready for Creating Programs Turn the Inches to.
1 Copyright (C) 2008 by Dennis A. Fairclough all rights reserved.
CS161 Topic #15 1 Today in CS161 Lecture #15 Practicing! Writing Programs to Practice Write a game program (1 player) of Mad Math Reuse the functions to.
Outlines Chapter 3 –Chapter 3 – Loops & Revision –Loops while do … while – revision 1.
CS161 Topic #21 CS161 Introduction to Computer Science Topic #2.
Chapter 4 Selection Structures: Making Decisions.
1 C++ Programming Basics Chapter 2 Lecture CSIS 10A.
Data & Data Types & Simple Math Operation 1 Data and Data Type Standard I/O Simple Math operation.
1 CS161 Introduction to Computer Science Topic #3.
Lecture 4 Looping. Building on the foundation Now that we know a little about  cout  cin  math operators  boolean operators  making decisions using.
1 09/20/04CS150 Introduction to Computer Science 1 Let ’ s all Repeat Together.
CSE1222: Lecture 7The Ohio State University1. logExample.cpp // example of log(k) for k = 1,2,..,8... int main() { cout
Introduction to C++ Version 1.1. Topics C++ Structure Primitive Data Types I/O Casting Strings Control Flow.
GAME102 - INTRO WHILE LOOPS G. MacKay. Fundamental Control Structures  STRAIGHT LINE  CONDITIONAL  LOOPS.
Today in CS161 Lecture #8 Learn about… Logicals: And, Or, Not Repetition: loops! Rewrite our First Program Using loops Graphics Let’s make the graphics.
CS161 Topic #16 1 Today in CS161 Lecture #16 Prepare for the Final Reviewing all Topics this term Variables If Statements Loops (do while, while, for)
Review the following : Flowcharting Variable declarations Output Input Arithmetic Calculations Conditional Statements Loops.
1 CS161 Introduction to Computer Science Topic #8.
COIT29222 Structured Programming 1 COIT29222-Structured Programming Lecture Week 02  Reading: Textbook(4 th Ed.), Chapter 2 Textbook (6 th Ed.), Chapters.
Today in CS161 Week #2 Solving Problems with Computers What are Algorithms Write a short Algorithm Preparing to write programs On Unix and Mac systems.
1 09/27/04CS150 Introduction to Computer Science 1 Let ’ s all Repeat Together.
Today in CS161 Lecture #5 Learn about… Data types (char, int, float) Input and Output (cin, cout) Writing our First Program Write the Inches to MM Program.
CS Jan 2007 Chapter 2 sections 1, 2, 4 – 6, 8,
Lecture 5: Expressions and Interactivity Professor: Dr. Miguel Alonso Jr. Fall 2008 CGS2423/COP1220.
Intro to Loops 1.General Knowledge 2.Two Types of Loops 3.The WHILE loop 1.
Think First, Code Second Understand the problem Work out step by step procedure for solving the problem (algorithm) top down design and stepwise refinement.
Lecture 5 Computer programming -1-. Input \ Output statement 1- Input (cin) : Use to input data from keyboard. Example : cin >> age; 2- Output (cout):
11 Introduction to Object Oriented Programming (Continued) Cats.
Midterm: Question 1 (35%) (30 minutes) Write an assembly program to draw a rectangle. – (5%) Show a message to ask for information of the rectangle – (5%)
CS161 Topic #10 1 Today in CS161 Lecture #10 Introduction to Functions What is a function? Why would you want to use a function? How do you define functions?
CS 240 Computer Programming 1
Asif Nawaz University Institute of Information Technology, PMAS-AAUR Lecture 05: Object Oriented Programming:2014 Object-Oriented Programming in C++ Exception.
Today in CS161 Lecture #7 Learn about… If and else statements Rewrite our First Program Using if and else statements Create new Graphics Demos Using if.
Looping I (while statement). CSCE 1062 Outline  Looping/repetition construct  while statement (section 5.1)
Introduction to Computer Programming
Computing Fundamentals
Chapter 2 Assignment and Interactive Input
Today in CS161 Week #2 Preparing to write programs Assignments
Today in CS161 Week #7 Arrays Learning about arrays Examples Graphical
Today in CS161 Week #3 Learn about… Writing our First Program
Today in CS161 Week #4 Using if statements Learn about Repetition
Today in CS161 Week #5 **weekly visit D2L** Practicing…
Today in CS161 Week #4 Learn about… Rewrite our First Program
Let’s Write a Graphics Program
Today in CS161 Week #6 Introduction to Functions
Today in CS161 Week #5 **go to Blackboard ** Practicing…
do/while Selection Structure
Reading from and Writing to Files
Reading from and Writing to Files
Presentation transcript:

Today in CS161 Lecture #9**go to Blackboard ** Practicing… Review from Shackelford Reading If statements Loops Begin writing Programs Using if statements and loops Graphics Begin creating the tic tac toe program CS161 Lecture #91

2 Shackelford Reading Explain the difference between data types and variables What kind of data type should we use for Keeping track of how many students are in your class Storing if you are a freshman, sophomore, junior, or senior Storing your GPA

CS161 Lecture #9 3 Shackelford Reading Now, pick variable names to represent these… Keeping track of how many students are in your class Storing if you are a freshman, sophomore, junior, or senior Storing your GPA Give an example of a poor variable name

CS161 Lecture #9 4 Shackelford Reading Write an algorithm that will… Prompt the user to type in three numbers and then read in those three numbers Calculate the largest of the three and display the result Give an example of an algorithm that would require multiple if, else statements

CS161 Lecture #9 5 Review of C++ from Lectures Show an example of how to do output Show an example of how to do input Write a C++ statement to display a message Please enter your age: to the console (screen). What does every complete statement end with? Why do we need to use #include ?

CS161 Lecture #9 6 Review of C++ from Lectures Which of the following are NOT valid assignment statements: Total = 9; 72 = amount; Profit == 129; Letter = ‘w’; Testing = 100

CS161 Lecture #9 7 Review of C++ from Lectures Which of the following are NOT valid output statements: cout << “Hello CS161!”; cout << “I said: “Have Fun!” ok?”; cout < 10; cout << Programming is great fun!;

CS161 Lecture #9 8 Review of C++ from Lectures Write a program that displays Your name City that you live in College major Write C++ code that calculates the number of acres in a tract of land with 389,767 square ft (one acre of land has 43,560 square ft)

CS161 Lecture #9 9 Answer #include using namespace std; int main() { float acres; //number of acres in a tract of land acres = / 43560; cout <<" There are " <<acres <<" acres in 389,767 sq ft" <<endl; cin.get(); //pause return 0; }

CS161 Lecture #9 10 Answer…more general #include using namespace std; const int SQFT_ACRE = 43560; int main() { float acres; //number of acres in a tract of land float sqft; //how many square ft you have cout << "How large is your tract - in square ft? "; cin >> sqft; cin.get(); acres = sqft / SQFT_ACRE; cout <<" There are " <<acres <<" acres in " <<sqft <<" sq ft" <<endl; cin.get(); //pause return 0; }

CS161 Lecture #9 11 Practicing Loops Write C++ code that calculates the average rainfall for three months. Ask the user to enter the amount of rainfall for June, July, and August in inches. The program should display the average rainfall from that data received Try this without a loop Now, let’s see what this is like with a loop!

CS161 Lecture #9 12 Answer…program fragment float average; //this will hold the answer float june_rain, july_rain, aug_rain; //rainfalls in inches cout << "Please enter the rainfall in inches for June: "; cin >> june_rain; cin.get(); cout << "Please enter the rainfall in inches for July: "; cin >> july_rain; cin.get(); cout << "Please enter the rainfall in inches for August: "; cin >> aug_rain; cin.get(); //calculate the average average = (june_rain + july_rain + aug_rain)/3.0; cout << "The average rainfall was: " <<average <<"in" <<endl; cin.get(); //pause

CS161 Lecture #9 13 Answer…with loops!! float average; //this will hold the answer float rain; //rainfalls in inches int counter = 1; float total = 0; //a running total do { cout << "Please enter the rainfall in inches for month " <<counter <<" : "; cin >> rain; cin.get(); ++ counter; total += rain; //we need a running total } while (counter <= 3); //calculate the average average = total / 3.0; cout << "The average rainfall was: " <<average <<"in" <<endl; cin.get(); //pause

CS161 Lecture #9 14 Answer…more general float average; //this will hold the answer float rain; //rainfalls in inches int counter = 1; float total = 0; //a running total int num_months = 0; //number of months to average cout << "How many months of rainfall are we averaging? "; cin >> num_months; cin.get(); do { cout << "Please enter the rainfall in inches for month " <<counter <<" : "; cin >> rain; cin.get(); ++ counter; total += rain; //we need a running total } while (counter <= num_months); //calculate the average average = total / num_months; cout << "The average rainfall was: " <<average <<"in" <<endl;

CS161 Lecture #9 15 Answer…(I’d use a for loop) float average; //this will hold the answer float rain; //rainfalls in inches float total = 0; //a running total int num_months = 0; //number of months to average cout << "How many months of rainfall are we averaging? "; cin >> num_months; cin.get(); for (int counter = 1; counter <= num_months; ++ counter) { cout << "Please enter the rainfall in inches for month " <<counter <<" : "; cin >> rain; cin.get(); total += rain; //we need a running total } //calculate the average average = total / num_months; cout << "The average rainfall was: " <<average <<"in" <<endl;

CS161 Lecture #9 16 Adding if statements What if in the previous program, The user entered a negative number? cout << "How many months of rainfall are we averaging? "; cin >> num_months; cin.get(); if (num_months <= 0) cout << "A negative (or zero) was received...no good!"; else {

CS161 Lecture #9 17 Giving the user another chance Now change that to give the user another chance!, The user entered a negative number? cout << "How many months of rainfall are we averaging? "; cin >> num_months; cin.get(); while (num_months <= 0) { cout << "A negative was received...no good!"; cout << endl <<"Try again!" <<endl; cout << "How many months of rainfall are we averaging? "; cin >> num_months; cin.get(); }

CS161 Lecture #9 18 Giving the user another chance What about with a do-while? The user entered a negative number? do { cout << "How many months of rainfall are we averaging? "; cin >> num_months; cin.get(); if (num_months <= 0) cout << "A negative was received...no good" <<endl <<"Try Again!" << endl; } while (num_months <= 0);

CS161 Lecture #9 19 Beginning the Tic Tac Toe Program 1.Algorithm: Display the board 1.Find out what the window size is 1.Let’s keep the width and height the same 2.Set the color to white 3.Set the line width to wider, so we can see the board 4.Draw 2 vertical lines 1/3 rd and 2/3 rd across the window 5.Draw 2 horizontal lines 1/3 rd and 2/3 rd down the window 2.Now think about what variables you will need 1.Whole number to keep track of the window size

CS161 Lecture #9 20 Beginning the Tic Tac Toe Program int window_size; cout << "Please select the size of your window: "; cin >> window_size; cin.get(); initwindow(window_size,window_size); setcolor(15); //15 is WHITE setlinestyle(0,0,6); //Solid, No patter, 6 is VERY wide //vertical lines line(window_size/3, 0, window_size/3, window_size); line(window_size*2/3, 0, window_size*2/3, window_size); //horizontal lines line(0,window_size/3, window_size, window_size/3); line(0,window_size*2/3, window_size, window_size*2/3); //pause getch(); //for graphics window cin.get(); //for console window return 0; }

CS161 Lecture #9 21 Tic Tac Toe Board…

CS161 Lecture #9 22 Next Step… 1.Algorithm: Select Player 1.Ask the user who will be the first to play 1.X or O 2.If the user enters a lower case or some other character 1.Display an error message 2.Give them another chance 3.Echo the choice to the user, once it is correct 2.Now think about what variables you will need 1.User Input 1.Character data 2.Must be a capital X or capital O

CS161 Lecture #9 23 Selecting the Player //Select the starting player char XorO; do { cout << "Please select who will begin X or O: "; cin >> XorO; //check for error conditions if (XorO != 'X' && XorO != 'O') cout <<"Try again! Enter a capital X or O: " <<endl; } while (XorO != 'X' && XorO != 'O'); //echo the selection cout << "You selected to start with: " <<XorO <<endl;

CS161 Lecture #9 24 Selecting the Player…

CS161 Lecture #9 25 Selecting a location on the board 1.Algorithm: Select Location on the board 1.Prompt the user to select a location on the board 2.Receive input from the mouse in the graphics window 1.Get the x,y location where the mouse hit occurred 2.Find out which square the x,y hit happened in 1.If x is in the first 1/3 rd of window 1.And y is in the first 1/3 rd of window 1.UPPER LEFT corner 2.Else if y is in first 2/3 rd of window 1.MIDDLE LEFT 3.Else 1.LOWER LEFT corner

CS161 Lecture #9 26 Selecting a location on the board 2. Else if x is in first 2/3 rd of window 1.And y is in the first 1/3 rd of window 1.UPPER MIDDLE 2.Else if y is in first 2/3 rd of window 1.MIDDLE MIDDLE 3.Else 1.LOWER MIDDLE 3. Else 1.And y is in the first 1/3 rd of window 1.UPPER RIGHT 2.Else if y is in first 2/3 rd of window 1.MIDDLE RIGHT 3.Else 1.LOWER RIGHT

CS161 Lecture #9 27 Mouse Hit! cout << "RIGHT BUTTON: Please select the location on the board with the mouse: “ <<endl; while (!ismouseclick(516)); //wait for a mouse click...RIGHT button int x = mousex();//this is where the mouse click happened (x,y) int y = mousey(); setcolor(YELLOW);//color of the text settextstyle(0,0,5); //create a really large character (5) settextjustify(1,1); //center both horizontally and vertically int square_size = window_size/3;//I created two new variables to help with the calculations int half_size = square_size/2; if (x < window_size/3)//is it in the left side of the board? if (y < window_size/3) outtextxy(half_size,half_size,"X"); else if (y < window_size*2/3) outtextxy(half_size,window_size*2/3-half_size,"X"); else outtextxy(half_size,window_size-half_size,"X"); ….//plus more

CS161 Lecture #9 28 Mouse Hit! else if (x < window_size *2/3) //middle column if (y < window_size/3) outtextxy(window_size *2/3-half_size,half_size,"X"); else if (y < window_size*2/3) outtextxy(window_size *2/3-half_size,window_size*2/3-half_size,"X"); else outtextxy(window_size *2/3-half_size,window_size-half_size,"X"); else { //right hand column if (y < window_size/3) outtextxy(window_size-half_size,half_size,"X"); else if (y < window_size*2/3) outtextxy(window_size-half_size,window_size*2/3-half_size,"X"); else outtextxy(window_size-half_size,window_size-half_size,"X"); } clearmouseclick(516); //important!

CS161 Lecture #9 29 Testing it out so far…in a loop

CS161 Lecture #9 30 We have just begun… 1.We still need to… 1.Display the appropriate X versus O, depending on who the player is 2.Add a loop to continue until there is a.. 1.Winner or 2.Cat scratch 3.All to be done….next lecture!