Presentation is loading. Please wait.

Presentation is loading. Please wait.

Fundamental Programming: 310201 1 310201 Fundamental Programming Introduction to C++

Similar presentations


Presentation on theme: "Fundamental Programming: 310201 1 310201 Fundamental Programming Introduction to C++"— Presentation transcript:

1 Fundamental Programming: 310201 1 310201 Fundamental Programming Introduction to C++

2 Fundamental Programming: 310201 2 Aims Of Course  develop an understanding of what programs do and how they do it  develop logical and procedural thinking  develop familiarity with the C++ language  develop skill in program code development  provide an introduction to programming languages – some fundamental concepts  develop analysis and design skills  provide an introduction to structured design  encourage good s/w engineering practices

3 Fundamental Programming: 310201 3 Status  last week we started work on:  developing an understanding of what programs do and how they do it  developing logical and procedural thinking  this week we start work on:  developing familiarity with C++ language  developing skill in software development (in lab)  providing an introduction to some fundamental programming concepts

4 Fundamental Programming: 310201 4 Hello World  it’s traditional to start with the “Hello World!” program  that is, a very small program which simply outputs the message “Hello World!”  a pseudocode design for this program would only have one line: write “Hello World!“

5 Fundamental Programming: 310201 5 Hello World Program  in C++, the Hello World program is: #include using namespace std; void main (void) { cout << "Hello World!"; }  lets’ take a look at this program  we’ll leave some details to later  there are 6 lines in this program…

6 Fundamental Programming: 310201 6 Hello World – Line 1  most programs rely on other software  the first line of the program tells the compiler to “include” code, from the “iostream” library, before it is compiled #include  if this code were not included, the compiler would report an error on Line 5: cout << "Hello World!";  it would say: “cout is undefined”

7 Fundamental Programming: 310201 7 Hello World – Line 1 All elements of standard C++ library are declared within namespace std. So in order to access its functionality we declare with this expression that we will be using these entities.

8 Fundamental Programming: 310201 8 Hello World – Line 3  a structured program is one that has been broken up into chunks - “functions” in C++  this programs only has one function – the “main” function – Line 3 declares the start of this function void main (void)  every C++ program has a “main“ function  we’ll talk about the “void” bits later…

9 Fundamental Programming: 310201 9 Hello World – Lines 3 & 5  Lines 4 and 6 go with Line 3 – to help the compiler find the end of a function, curly brackets (or “braces”) are used void main (void) { }  it’s common practice to align the brace that marks the end of a block of code with the brace that marks the start of the block

10 Fundamental Programming: 310201 10 Hello World – Line 4  Lines 5 is the only “executable” line of code here – it is executed by the computer… { cout << "Hello World!"; }  this line sends “Hello World!” to the display  notice how this line is indented  we use indentation to make code easier to read  it’s not required by the C++ compiler

11 Fundamental Programming: 310201 11 Hello World – Line 4 cout << "Hello World!";  you can think of:  cout as the display  << as write  “c” in cout as “character” - “character output”  so, cout << "Hello World!"; says: write the string of characters Hello World! to the display

12 Fundamental Programming: 310201 12 Hello World – Line 4 cout << "Hello World!";  in C++, we use braces to mark the start and end of a block of code  here we use double quotes to mark the start and end of a string of characters  also notice:  you must use double quotes around Hello World!  the line ends with a semi-colon (you get a compilation error if it is missing)  compilers are very fussy about punctuation

13 Fundamental Programming: 310201 13 Sample Program Revisited write “Number of marks in exam ==> “ read NbrMarks write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage  in C++, this looks like…

14 Fundamental Programming: 310201 14 Sample Program In C++ #include using namespace std; void main (void) { int NbrMarks = 0; float StudentMark = 0, Percentage = 0; cout "; cin >> NbrMarks; cout "; cin >> StudentMark; Percentage = 100 * StudentMark / NbrMarks; cout << " Student’s percentage: "; cout << Percentage; }

15 Fundamental Programming: 310201 15 Declaring Variables  in C++, you must declare variables before you use them  also, you must declare the type of value each variable will hold  the first variable declared is NbrMarks – it can hold any integer value int NbrMarks = 0;  an integer is any +ve or –ve whole number, or zero: …-3, -2, -1, 0, 1, 2, 3, …

16 Fundamental Programming: 310201 16 Naming Variables  start with a letter - A to Z  can contain upper or lower case letters, or numerals - 0 to 9  good idea to limit names to 32 characters  must avoid C++ reserved words like int, float, void, etc  more later…

17 Fundamental Programming: 310201 17 Initialising Variables  our declaration of NbrMarks also gives it an initial value - 0 int NbrMarks = 0;  if you do not give a variable an initial value, it will hold whatever data was left in memory by the previous program  incorrect initialisation of variables is a very common logic error made by programmers  please read the previous point again!

18 Fundamental Programming: 310201 18 More Declarations  our program also declares two floating point variables – StudentMark and Percentage float StudentMark = 0, Percentage = 0;  we use variables of type float to hold values that may not be an integer  examples:  an student’s mark: 15.5 (marks)  a distance: 123.456 (meters)  a temperature: -2.3 (degrees C)

19 Fundamental Programming: 310201 19 Why “Floating Point”  some programs need to store very big numbers – eg. 1,234,500,000,000,000,000; others need to store very small numbers - 0.000000000012345  these two numbers can be represented as:  1.2345 * 10 18 and 1.2345 * 10 -12  float variables are stored in two parts:  number part : 1.2345 in above cases  power part : 18 or –12 in above cases  decimal point “floats around”, depending on power part – more details later

20 Fundamental Programming: 310201 20 More On Declarations  we could declare these variables like this: float StudentMark = 0; float Percentage = 0;  instead, a comma was used to separate two variables of the same type float StudentMark = 0, Percentage = 0;  breaking the declaration over two lines is optional in C++ - it’s “common practice” float StudentMark = 0, Percentage = 0;  notice how a comma is used here to separate two use of punctuation -, and ;  “floating point” because you can store big numbers with several digits on left of decimal point, or small numbers with several digits on right of decimal point – more later

21 Fundamental Programming: 310201 21 Data Types  selecting the correct data type for a variable is an important issue  if StudentMark were declared as an integer variable, the program would not work correctly if the user entered a mark of 22.5  we’ll look at data types in more detail later  back to our program…

22 Fundamental Programming: 310201 22 Basic Datatypes No data typevoid Integerint Floating pointfloat Double Precisiondouble Chareaterchar Booleanbool

23 Fundamental Programming: 310201 23 Modified Type bool char unsigned char signed char int unsigned int signed int short int unsigned short int signed short int long int signed long int unsigned long int float double long double wchar_t

24 Fundamental Programming: 310201 24 Sample Program In C++ #include using namespace std; void main (void) { int NbrMarks = 0; float StudentMark = 0, Percentage = 0; cout "; cin >> NbrMarks; cout "; cin >> StudentMark; Percentage = 100 * StudentMark / NbrMarks; cout << " Student’s percentage: "; cout << Percentage; }

25 Fundamental Programming: 310201 25 Output Statements  our program has 4 output statements: cout "; cout << " Student’s percentage: "; cout << Percentage;  in the last statement, the value held in variable Percentage is output to the display  the following statements are very different: cout << Percentage; cout << “Percentage”;

26 Fundamental Programming: 310201 26 Input Statements  our program has 2 input statements: cin >> NbrMarks; cin >> StudentMark;  you can think of:  cin as the keyboard  >> as read  “c” in cin as “character” - “character input”  so, cin >> NbrMarks; says: read character input from the keyboard and assign the value entered to NbrMarks

27 Fundamental Programming: 310201 27 Assignment Statements  our program has 1 assignment statement: Percentage = 100 * StudentMark / NbrMarks;  note: values are also assigned to variables by input statements cin >> NbrMarks;  what about if-then-else and while ?  C++ includes an if-else statement - no “then”  a simple example is…

28 Fundamental Programming: 310201 28 if-else Statements #include using namespace std; void main (void) { float StudentMark = 0; cout "; cin >> StudentMark; if (StudentMark >= 50) { cout << "Pass!"; } else { cout << "Fail!"; }

29 Fundamental Programming: 310201 29 if-else Statements  notice that comparison between StudentMark and 50 is enclosed in parentheses if (StudentMark >= 50)  also, braces mark start and end of the if- branch (shown below), and the else-branch { cout << "Pass!"; }  indentation makes code easier to read – it’s not required by the compiler

30 Fundamental Programming: 310201 30 if-else-if Statements  if-else-if statements can be coded as: if (StudentMark >= 75) { cout << “Distinction!"; } else if (StudentMark >= 50) { cout << “Pass!"; } else { cout << "Fail!"; }

31 Fundamental Programming: 310201 31 Activity – Code in C++ write “Select conversion - (1) C to F, (2) F to C ==> “ read ConversionType write “Input temperature ==> “ read Temperature write “Converts to ” if ConversionType = 1 then write 32 + (Temperature * 1.8) write “ degrees Fahrenheit” else write (Temperature – 32) / 1.8 write “ degrees Centigrade”

32 Fundamental Programming: 310201 32 A Start #include void main (void) { int ConversionType = 0; float Temperature = 0; cout "; cin >> ConversionType; }

33 Fundamental Programming: 310201 33 Activity Break

34 Fundamental Programming: 310201 34 A Solution #include void main (void) { int ConversionType = 0; float Temperature = 0; cout "; cin >> ConversionType; cout "; cin >> Temperature; if (ConversionType == 1) { cout << 32 + (Temperature * 1.8); cout << " degrees Fahrenheit"; } else { cout << (Temperature - 32) / 1.8; cout << " degrees Centigrade"; } note: C++ uses == instead of = for testing equality

35 Fundamental Programming: 310201 35 while Statements  last, but not least, the while statement  C++ includes a while statement  a simple example follows…  some activities for the following example:  see if you can work out what it does  what do you think the following line will do? cout << endl;

36 Fundamental Programming: 310201 36 while Statements #include void main (void) { int NbrTimesTold = 0, NbrTimesToTell = 0; cout "; cin >> NbrTimesToTell; while (NbrTimesTold < NbrTimesToTell) { cout << “ No new taxes!"; cout << endl; NbrTimesTold = NbrTimesTold + 1; }

37 Fundamental Programming: 310201 37 Activity Break

38 Fundamental Programming: 310201 38 Activity Feedback  the program displays “No new taxes!” the number of times requested by the user…  cout << endl; moves to start of next line How many times must I tell you? ==> 3 No new taxes!

39 Fundamental Programming: 310201 39 while Statements  things to notice:  comparison enclosed in parentheses while (NbrTimesTold < NbrTimesToTell) { cout << endl; cout << " No new taxes!"; NbrTimesTold = NbrTimesTold + 1; }  use of braces and indentation

40 Fundamental Programming: 310201 40 One More Detail About C++  all compilers are fussy about punctuation  C++ compilers are also fussy about case  the following code has 3 compilation errors… #Include void Main (void) { Cout << "Hello World!"; }

41 Fundamental Programming: 310201 41 C++ is Case-Sensitive #Include void Main (void) { Cout << "Hello World!"; }  this program has three errors:  it should be #include, not #Include  it should be main, not Main  it should be cout, not Cout  C++ compilers are case-sensitive

42 Fundamental Programming: 310201 42 C++ Syntax Summary  input : cin >> ;  output : cout ;  assignment : = ;  a selection statement: if ( ) { } else { }  a repetition statement: while ( ) { }

43 Fundamental Programming: 310201 43 Summary  the iostream library must be included to do input and output – cin and cout  every C++ program has a main function  variables are declared before they are used  the choice of data type is important  variables must be initialised correctly  Syntax Summary shows C++ implementation of Study Guide’s five pseudocode statements  more…

44 Fundamental Programming: 310201 44 Summary  C++ compilers are fussy about punctuation:  angle-brackets around library names  braces around blocks of code  commas between variables in a declaration  double quotes around strings  semi-colons at end of lines  parentheses around comparisons  C++ compilers are also case sensitive  indentation makes code easier to read


Download ppt "Fundamental Programming: 310201 1 310201 Fundamental Programming Introduction to C++"

Similar presentations


Ads by Google