cs161 topic #21 cs161 introduction to computer science topic #2
TRANSCRIPT
CS161 Topic #2 1
CS161 CS161
Introduction to Introduction to Computer ScienceComputer Science
Topic #2
CS161 Topic #2 2
Today in CS161• Lecture
– Handouts you should have– Solving Problems with Computers
• Write a short Algorithm
• Assignments– Walk through Program #1 -- step by step
• Question Session
CS161 Topic #2 3
CS161 Handouts:
• From the web site, make sure to look at: (www.cs.pdx.edu/~karlaf)
• Syllabus
• Course Outline
• Style Sheet
• C++ Style Requirements
• Program Cover Sheet
CS161 Topic #2 4
Solving Problems w/ Computers
• Programs are...– an expression of a series of instructions that the
computer must perform
– written in precise languages, called programming languages
• Programming languages...– translate your ideas into specific language that the
computer will understand
– C, C++, Java, Pascal, Visual Basic, Cobol, Fortran
CS161 Topic #2 5
Solving Problems w/ Computers
• The most difficult part of programming is figuring out how to design a method to solve a problem
• Only then do we translate this into C++!
• Therefore, start by writing an algorithm once you understand the problem
CS161 Topic #2 6
Solving Problems w/ Computers
• An algorithm is a sequence of step by step instructions for performing some task -- usually for computation
• An algorithm must...– accomplish the task– be clear and easy to understand– define the sequence of steps needed to
accomplish the task in the order specified
CS161 Topic #2 7
Algorithms
• It is best to ignore the details of your programming language (C++) when trying to solve a problem
• Instead, figure out the steps you need to go thru to solve the problem
• Write these steps down in English
• These steps are called the algorithm!
CS161 Topic #2 8
Algorithms
• Think of your algorithm as a tool for creating the instructions for solving a problem....as if you were to tell them to another person.
• Remember an algorithm is a sequence of step by step instructions for performing some tasks
CS161 Topic #2 9
For Example...solve a problem
• Convert inches to millimeters
– First understand the problem• where do the inches come from (the user)
• what is the math needed for the conversion– mm = 25.4 times inches
• how do we want to display the results– 2in convert to 50.8mm
CS161 Topic #2 10
Convert inches to millimeters
• Next, write the algorithm
– Step 1: Welcome the user• tell them what to expect
• tell them the purpose of the program
CS161 Topic #2 11
Convert inches to millimeters
• Step 2:– Get the number of inches from the user
• display a prompt asking the user to enter
• read in the number of inches
• display what was read (echo)
• ask the user if this is really correct (confirm)
• if not, repeat this step until the user is satisfied
CS161 Topic #2 12
Convert inches to millimeters
• Continuing with Steps 3 and 4:
– Convert the number of inches to mm• mm = 25.4 times inches
– Display the results– Provide a sign-off message
CS161 Topic #2 13
Convert inches to millimeters
• The next step is to turn this into a C++ program!• All programs have the following “form”
#include <iostream>using namespace std;//header comments...int main(){//program body goes here...return 0;
}
CS161 Topic #2 14
Convert inches to millimeters#include <iostream>using namespace std;// ***********************************// Karla S. Fant// CS161 Programming Assignment #0// Purpose of this program is to convert// inches entered in by the user into// millimeters and display the results// **********************************int main() {
CS161 Topic #2 15
(Different Kind of Comment...)
#include <iostream>using namespace std;/* ***********************************
Karla S. FantCS161 Programming Assignment #0Purpose of this program is to convertinches entered in by the user intomillimeters and display the results********************************* */
int main() {
CS161 Topic #2 16
Convert inches to millimeters
//Define variables
float inches; //to save # inches
float mm; //to save the result
//Step #1, welcome the user
cout <<“Welcome! We will be converting”
<<“ inches to mm today” <<endl;
CS161 Topic #2 17
(A different way to do this...)
//Define variables
float inches, //to save # inches
mm; //to save the result
//Step #1, welcome the user
cout <<“Welcome! We will be converting”;
cout <<“ inches to mm today” <<endl;
(NOTE: endl is end followed by a letter l)
CS161 Topic #2 18
Convert inches to millimeters
//Step #2, Get the input (prompt, read)
cout <<“Please enter the number of inches”
<<“ that you wish to convert: “;
cin >> inches; //read the # inches
//echo what was entered
cout <<“You entered: “ <<inches <<“in”
<<endl;
CS161 Topic #2 19
Convert inches to millimeters//Step #3 Convert inches to millimetersmm = 25.4 * inches;
//Step #4 Display the resultscout <<inches <<“in converts to “ <<mm <<“mm” <<endl;
//Step #5 Sign off messagecout <<“Thank you for using CONVERT” <<endl;return 0;}
CS161 Topic #2 20
CS161 CS161
Introduction to Introduction to Computer ScienceComputer Science
ASSIGNMENTS!!!
CS161 Topic #2 21
Programming Assignment #1• First, get an ODIN account• Next, learn how to login• Try sending email!• Learn how to exit the ODIN menu and
enter the UNIX shell• Meet with TA’s to get a hand’s on tutorial.
Their office hours are posted on the web site: www.cs.pdx.edu/~karlaf
CS161 Topic #2 22
Programming Assignment #1
• Put the #include <iostream> in column #1
• endl is “e n d” followed by lower case L
• spaces inside double quotes ARE important
CS161 Topic #2 23
Steps to Enter a Program
• Login to ODIN
• Exit the Menu
• Now you are at the UNIX prompt
• It is time to enter your program! vi prog1.cpp <enter>
• Now it is time to start inserting our program. To do so, type i, for insert:
CS161 Topic #2 24
Steps to Enter a Program
• Now start typing your program. Line by line. When done hit the escape key.
• If the program is perfect, it is time to write it to the file. Type :w <enter>
• To quit the editor, type :q <enter>
CS161 Topic #2 25
Steps to Enter a Program
• We are now back to the UNIX prompt. To compile the program we type the following.
g++ prog1.cpp <enter>• At this point, there will either be error
messages displayed (with line numbers), or not (if it is correct!).
CS161 Topic #2 26
Steps to Enter a Program
• To fix a program, we must edit it. Type:vi prog1.cpp <enter>
• Now, if you want to go to the line where the error occurred, type the line number followed by the enter key. For example, to go to line number 10 type:10 <enter>
CS161 Topic #2 27
Steps to Enter a Program• To add something at the end (like a
semicolon), type a for append:• Now you are in append mode. You can
type what you want. When you are done typing hit the escape key
• When you are done, type the following to write the changes back to the file and quit the editor :wq! <enter>
CS161 Topic #2 28
Steps to Enter a Program
• Other things to type while in the editor:– h goes left– k goes up– j goes down– l goes right– x delete the character you are at– dd delete the line that you are at
CS161 Topic #2 29
Steps to Enter a Program
• Again, we are at the unix prompt. To compile your program type:g++ prog1.cpp <enter>
• If it compiles without any errors, it is time to run the program to see it actually work! Type ./a.out <enter>
CS161 Topic #2 30
CS161 CS161
Introduction to Introduction to Computer ScienceComputer Science
Are you Ready?