1 / 38

Week 1 – Introduction to Computer and Algorithm (Part 2) ‏

Week 1 – Introduction to Computer and Algorithm (Part 2) ‏. Outline. Pseudo code & flowchart Sample programming question Sample C program Identifiers and reserved words Program comments Pre-processor directives Data types and type declarations Operators Formatted input and output

miller
Download Presentation

Week 1 – Introduction to Computer and Algorithm (Part 2) ‏

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. EKT120: Computer Programming Week 1 – Introduction to Computer and Algorithm (Part 2)‏

  2. EKT120: Computer Programming Outline Pseudo code & flowchart Sample programming question Sample C program Identifiers and reserved words Program comments Pre-processor directives Data types and type declarations Operators Formatted input and output Program debugging

  3. EKT120: Computer Programming Sample Programming Question Write a program that calculates area of triangle. Your program should read the base length and the height length from user. Given the formula to calculate the area of triangle: 0.5 x (base) x (height). Steps: Analyze the problem Use algorithm Convert to actual codes

  4. EKT120: Computer Programming Recall..Pseudo code and Flowchart Try develop the pseudo code and flowchart for the problem given in the previous slide.

  5. EKT120: Computer Programming Sample C Program /*Program name : program1.c Programmer : Yasmin This program calculates the area of triangle*/ #include <stdio.h> int main(void)‏ { double dBase, dHeight, dArea; printf(“Enter base length : “); scanf(“%f”, &dBase); printf(“Enter height length : “); scanf(“%f”, &dHeight); dArea=0.5 * dBase * dHeight; printf(“\nArea of the triangle is : %5.2f\n”, dArea); return 0; } Comments Preprocessor directives begin The term void indicates we receive nothing from OS and return an integer to OS Variables declaration body return 0 (int) to OS end

  6. EKT120: Computer Programming Variables & Reserved Words Identifiers/Variables labels for program elements case sensitive can consist of capital letters[A..Z], small letters[a..z], digit[0..9], and underscore character _ First character MUST be a letter or an underscore No blanks Reserved words cannot be variables/identifiers Reserved words already assigned to a pre-defined meaning e.g.: delete, int, main, include, double, for, if, etc.

  7. EKT120: Computer Programming Variables & Reserved Words • An identifier for the data in the program • Hold the data in your program • Is a location (or set of locations) in memory where a value can be stored • A quantity that can change during program execution

  8. EKT120: Computer Programming Constants • A constant is a named or unnamed value, which does not change during the program execution. • Example: • const double dPi=3.141592; • Const int iDegrees=360; • Const char cQuit=‘q’; • Unnamed constant are often called literals • Eg: 3.141592 and 360

  9. EKT120: Computer Programming Program Comments Starts with /* and terminates with */ OR Character // starts a line comment, if several lines, each line must begin with // Comments cannot be nested /* /* */*/

  10. EKT120: Computer Programming Preprocessor Directives An instruction to pre-processor Standard library header: <stdio.h>,<math.h> E.g. #include <stdio.h> for std input/output #include <stdlib.h> Conversion number-text vise-versa, memory allocation, random numbers #include <string.h> string processing

  11. EKT120: Computer Programming Data Types • Data types determine the following: • Type of data stored • Number of bytes it occupies in memory • Range of data • Operations that can be performed on the data • Modifiers alter the meaning of the base type to more precisely fit a specific need • C supports the following modifiers along with data types: • short, long, signed, unsigned

  12. EKT120: Computer Programming Data Types & Memory Allocation

  13. EKT120: Computer Programming Variables Naming Conventions • Variable names should use Hungarian notation • Start with an appropriate prefix that indicates the data type • After the prefix, the name of variable should have ore or more words • The first letter of each word should be in upper case • The rest of the letter should be in lower case. • The name of variable should clearly convey the purpose of the variable

  14. EKT120: Computer Programming Naming Variables According to Standards

  15. EKT120: Computer Programming Data Types Declaration float fIncome; float fNet_income; double dBase, dHeight, dArea; int iIndex =0, iCount =0; char cCh=‘a’, cCh2; const float fEpf = 0.1, fTax = 0.05; float income, net_income; Declare and initialize Named constant declared and initialized

  16. EKT120: Computer Programming Types of Operators Types of operators are: Arithmetic operators (+ , - , * , / , %)‏ Relational operators (> , < , == , >= , <=, !=)‏ Logical operators (&& , ||)‏ Compound assignment operators (+=, -=, *=, /=, %=)‏ Binary operators: needs two operands Unary operators: single operand Bitwise operators: executes on bit level

  17. EKT120: Computer Programming Arithmetic Operators Used to execute mathematical equations The result is usually assigned to a data storage (instance/variable) using assignment operator ( = )‏ E.g. sum = marks1 + marks2;

  18. EKT120: Computer Programming Arithmetic Operators C Operation Arithmetic Operator Algebraic Expression C Expression Addition + f + 7 f + 7 Subtraction - p – c p - c Multipication * bm b * m Division / x / y x / y Remainder (Modulus)‏ % r mod s r % s

  19. EKT120: Computer Programming Exercise on Arithmetic Operators Given x = 20, y = 3 z = x % y = 20 % 3 = 2 (remainder)‏

  20. EKT120: Computer Programming Relational and Logical Operators Previously, relational operator: >, < >=, <=, == , != Previously, logical operator: &&, || Used to control the flow of a program Usually used as conditions in loops and branches

  21. EKT120: Computer Programming More on relational operators Relational operators use mathematical comparison (operation) on two data, but give logical output e.g.1 let say b = 8, if (b > 10)‏ e.g.2 while (b != 10)‏ e.g.3 if (mark == 60) print (“Pass”); Reminder: DO NOT confuse == (relational operator) with = (assignment operator)‏

  22. EKT120: Computer Programming More on logical operators Logical operators are manipulation of logic. For example: i. b=8, c=10, if ((b > 10) && (c<10))‏ ii. while ((b==8) || (c > 10))‏ iii. if ((kod == 1) && (salary > 2213))‏

  23. EKT120: Computer Programming Truth Table for &&(logical AND) Operator exp1 exp2 exp1 && exp2 false false false false true false true false false true true true

  24. EKT120: Computer Programming Truth Table for ||(logical OR) Operator exp1 exp2 exp1 || exp2 false false false false true true true false true true true true

  25. EKT120: Computer Programming Compound Assignment Operators To calculate value from expression and store it in variable, we use assignment operator (=)‏ Compound assignment operator combines binary operator with assignment operator E.g. val +=one; is equivalent to val = val + one; E.g. count = count -1; is equivalent to count -=1; count--; --count;

  26. EKT120: Computer Programming Unary Operators Obviously operating on ONE operand Commonly used unary operators Increment/decrement { ++ , -- } Arithmetic Negation { - } Logical Negation { ! } Usually using prefix notation Increment/decrement can be both a prefix and postfix

  27. EKT120: Computer Programming Comparison of Prefix and Postfix Increments

  28. EKT120: Computer Programming Unary Operators (Example)‏ Increment/decrement { ++ , -- } prefix:value incr/decr before used in expression postfix:value incr/decr after used in expression val=5; printf (“%d”, ++val); Output: 6 val=5; printf (“%d”, --val); Output: 4 val=5; printf (“%d”, val++); Output: 5 val=5; printf (“%d”, val--); Output: 5

  29. EKT120: Computer Programming Operator Precedence Operators Precedence ! + - (unary operators) first * / % second + - (binary operators) third < <= >= > fourth == != fifth && sixth || seventh = last

  30. EKT120: Computer Programming Formatted Output with “printf” #include <stdio.h> void main (void) { int iMonth; float fExpense, fIncome; iMonth = 12; fExpense = 111.1; fIncome = 1000.0; printf (“Month=%2d, Expense=$%9.2f\n”,iMonth,fExpense); } Declaring variable (fMonth) to be integer Declaring variables (fExpense and fIncome) to be real Assignment statements store numerical values in the memory cells for the declared variables ‘,’ separates string literal from variable names Correspondence between variable names and %...in string literal

  31. EKT120: Computer Programming Formatted Output with printf-cont • printf (“Month= %2d, Expense=$ %9.2f \n” ,iMonth, fExpense); • %2d refer to variableiMonth value. • %9.2f refer to variablefExpense value. • The output of printf function will be displayed as

  32. EKT120: Computer Programming Formatted input with scanf

  33. EKT120: Computer Programming Formatted input with scanf-cont

  34. EKT120: Computer Programming Program debugging • Syntax error • Mistakes caused by violating “grammar” of C • C compiler can easily diagnose during compilation • Run-time error • Called semantic error or smart error • Violation of rules during program execution • C compiler cannot recognize during compilation • Logic error • Most difficult error to recognize and correct • Program compiled and executed successfully but answer wrong

  35. EKT120: Computer Programming Program debugging-syntax error snapshot

  36. EKT120: Computer Programming Program debugging-run time error snapshot

  37. EKT120: Computer Programming Program debugging-logic error snapshot

  38. EKT120: Computer Programming Q & A! End Week 1 – Session 2

More Related