1 / 44

310201 Fundamental Programming

310201 Fundamental Programming. Introduction to C++. 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

sbarbara
Download Presentation

310201 Fundamental Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 310201Fundamental Programming Introduction to C++ 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 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 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!“ Fundamental Programming: 310201

  5. Hello World Program • in C++, the Hello World program is: #include <iostream> 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… 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 <iostream> • if this code were not included, the compiler would report an error on Line 5: cout << "Hello World!"; • it would say: “cout is undefined” 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. 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… 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) { < code for main function > } • 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 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 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 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 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… Fundamental Programming: 310201

  14. Sample Program In C++ #include <iostream> using namespace std; void main (void) { int NbrMarks = 0; float StudentMark = 0, Percentage = 0; cout << "Number of marks in exam ==> "; cin >> NbrMarks; cout << "Student’s mark ==> "; cin >> StudentMark; Percentage = 100 * StudentMark / NbrMarks; cout << " Student’s percentage: "; cout << Percentage; } 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, … 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… 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! 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) 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 * 1018 and 1.2345 * 10-12 • floatvariablesare 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 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 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… Fundamental Programming: 310201

  22. Basic Datatypes • No data type void • Integer int • Floating point float • Double Precision double • Chareater char • Boolean bool Fundamental Programming: 310201

  23. 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 Modified Type Fundamental Programming: 310201

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

  25. Output Statements • our program has 4 output statements: cout << "Number of marks in exam ==> "; cout << "Student’s mark ==> "; 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”; 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 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… Fundamental Programming: 310201

  28. if-else Statements #include <iostream> using namespace std; void main (void) { float StudentMark = 0; cout << "Student’s mark ==> "; cin >> StudentMark; if (StudentMark >= 50) { cout << "Pass!"; } else { cout << "Fail!"; } } 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 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!"; } 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” Fundamental Programming: 310201

  32. A Start #include <iostream.h> void main (void) { intConversionType = 0; float Temperature = 0; cout << "Select conversion - (1) C to F, (2) F to C ==> "; cin >> ConversionType; } Fundamental Programming: 310201

  33. Activity Break Fundamental Programming: 310201

  34. A Solution #include <iostream.h> void main (void) { intConversionType = 0; float Temperature = 0; cout << "Select conversion - (1) C to F, (2) F to C ==> "; cin >> ConversionType; cout << "Input temperature ==> "; 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 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; Fundamental Programming: 310201

  36. while Statements #include <iostream.h> void main (void) { int NbrTimesTold = 0, NbrTimesToTell = 0; cout << "How many times must I tell you? ==> "; cin >> NbrTimesToTell; while (NbrTimesTold < NbrTimesToTell) { cout << “No new taxes!"; cout << endl; NbrTimesTold = NbrTimesTold + 1; } } Fundamental Programming: 310201

  37. Activity Break 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! No new taxes! No new taxes! 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 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 <iostream.h> void Main (void) { Cout << "Hello World!"; } Fundamental Programming: 310201

  41. C++ is Case-Sensitive #Include <iostream.h> 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 Fundamental Programming: 310201

  42. C++Syntax Summary • input: cin >> <variable>; • output: cout << <data>; • assignment: <variable> = <data>; • aselection statement: if ( <test> ) {<if-block statements> } else { <else-block statements> } • a repetition statement: while( <test> ) {<while-block statements>} 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… 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 Fundamental Programming: 310201

More Related