Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Lab Session-III CSIT-120 Fall 2000 Revising Previous session Data input and output While loop Exercise Limits and Bounds Session III-B (starts on slide.

Similar presentations


Presentation on theme: "1 Lab Session-III CSIT-120 Fall 2000 Revising Previous session Data input and output While loop Exercise Limits and Bounds Session III-B (starts on slide."— Presentation transcript:

1

2 1 Lab Session-III CSIT-120 Fall 2000 Revising Previous session Data input and output While loop Exercise Limits and Bounds Session III-B (starts on slide 15) Experiments 3.1, 3.2, 3.3 The increment operator ASCII and UNICODE and Experiment 3.5 Lab 3 DUE October 26th

3 2 Revising Previous Session Can we use un-initialized variables on RHS of an assignment statement? On LHS? If we are interested in the remainder value from a division, what operator should be used? Can we assign an integer value to a floating point variable?

4 3 Data Input and Output Using variables, we can read the data values and write out the same We should choose the data type carefully so as to match the value For example, We do a mini-exercise Mini Exercise A program that reads a character input from user and displays it.

5 4 Introducing Loops We have seen in the class the need for a loop structure in searching a list In algorithm development, we can use several types of loops While structure is an example of loops Format: while (condition is true) »execute the statements in loop body

6 5 Introducing Loops While loop keeps executing statements in the body of the loop until the condition becomes false While (condition 1 is true) do statement1 becomes check condition 1 if true do statement 1 -----------

7 6 While Conditional Loop We have already looked at the while statement in algorithm development C++ provides the while statement for implementing conditional loops Let us look at the vending machine problem in order to develop a program using while loop

8 7 Lab Exercise 3-A (Demo Required) A user is prompted to enter a character. The programs keep reading the characters entered and keeps counting the same. As soon as the user enters ‘q’, the program exits showing the total number of characters entered

9 8 Assumptions The program will accept a character input from the user It should count the characters entered It should exit on receiving a ‘q’ from the user, displaying total count Let us perform the data analysis and algorithm development for the program

10 9 Data Analysis How many data items are needed? SOLUTION a character variable to hold the input data a counter to count the number of inputs Determine the input and output data items. INPUT: character data OUTPUT: count of characters

11 10 Algorithm Development INITIAL *Initialize *Read the character and count it *exit if it matches ‘q’ DETAILED *Make count=0 *Read the character input and add 1 to count until character input is equal to ‘q’ * Display count value and exit

12 11 Algorithm Development FINAL –Initialize the count to zero –Read a character and increment count –While (character is not equal to ‘q’) – (Read a character and increment count) –Display the count and exit

13 12 Programming Data analysis gives us the declarations Algorithm gives us the statements Here while statement is most suitable because the character input is checked before exiting the program It is advisable to display messages on each action to track the program well

14 Limits and Bounds The numerical data can be stored in the memory as a string of 1’s and 0’s There is an upper limit on the size of the numbers that can be represented in the computer The limits are recorded in the header file limits.h

15 Limits and Bounds Experiments 3.1 This experiment will show most negative integer Experiment 3.2 This experiment shows the result of exceeding the limits

16 15 Lab 3 Session III-B Increment Operator ASCII and UNICODE Simple Information Encryption Exercise 3-C Type Casting Experiment 3.6 and 3.7 (Using for loop) Lab3 Due October 26th

17 Increment Operator In Experiment 3.2, we have seen the use of the unary increment operator ==> number++; i++ Similarly we have a unary decrement operator ==> number--, i-- Instead of number=number-1;

18 ASCII and UNICODE The alphabets and digits are represented by integer values and this mapping is called a code ASCII code was originally 7 bits (128 values) Values from 00 to 1F were reserved for special non-printable control characters

19 ASCII and UNICODE For example, trying to print ASCII code 7 will ring a bell on the computer Example: cout<< “\7” To print spaces cout<<“\t” Up from 20 are the uppercase, lowercase letters and digits alongwith punctuation marks

20 ASCII and UNICODE ASCII was not sufficient as more symbols were needed ASCII was revised to be “Latin-1”, an 8-bit code that can have 256 symbols Latin-1 can cover some European languages Computers are being used all over the world A unified coding system was needed

21 20 ASCII and UNICODE A consortium developed a standard code called UNICODE. This code has 16 bits, thus 65,536 code points are possible World languages have 200,000 symbols so all cannot be accommodated Values from 0 to 255 map to Latin-1 or ASCII so changes are not felt in English

22 21 ASCII and UNICODE UNICODE allocates code points to languages in an “official” way Number of code points given is more than the letters in each language to accommodate different forms of each letter Adding new words in English e.g. applets does not require new code points but adding new words in Japanese requires new points

23 22 Uncover the ASCII code Experiment 3.5 What is meant by ? What is toascii? What is toupper? What is tolower? Lab Exercise 3-B Given a character input from the user, write a program to convert it to uppercase letter

24 23 Simple Encryption Techniques Once you are able to process a text string, you can convert the characters to their ASCII values The ASCII values are numeric. You can modify these values so that no one can understand what is in the string Exercise 3-C Change a character to its ASCII value, modify it and print it. (DEMO)

25 24 Type Casting Type Casting or Coercion means forcing the changing of the type of a variable’s value For example, adding integers and floating point numbers together and assigning it to a floating point number Experiment 3.6 Experiment 3.7 (for loop will be needed) Demo

26 25 Mixing Arithmetic Operations When we try to perform several arithmetic operations in one expression, the expression becomes quite complex For example, consider the following Q = (A+B*C)(A+B/C) Q = ((A+B)*C)((A+B)/C)??? Q = (A+(B*C))(A+(B/C))???

27 26 Using Precedence Rules We can use the precedence rules to get an expression evaluated as per our needs Following are the precedence rules in C++ for arithmetic operations Highest Priority is given to () (parenthesis) Multiplication (*) and Division (/) take precedence over addition (+) and subtraction (-) Assignment (=) is done at the end We should use parenthesis to make the expression clear

28 27 Lab3 Given 10/5 Due 10/26 Refer to Post Lab Problem 3.4. It calls for converting any user supplied integer in the range 1 to 100 into its binary equivalent. Your program should at least convert one user supplied number. It may keep doing the conversion until the user enters a 0(BONUS 2 POINTS). Use the method covered in the class for converting into binary. For example, given 23, your program should display 10111. Please note that displaying LSB on the left i.e. 11101 will not be acceptable.


Download ppt "1 Lab Session-III CSIT-120 Fall 2000 Revising Previous session Data input and output While loop Exercise Limits and Bounds Session III-B (starts on slide."

Similar presentations


Ads by Google