27
1 Lab Session-III CSIT-120 Lab Session-III CSIT-120 Fall 2000 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

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

Embed Size (px)

Citation preview

Page 1: 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

1

Lab Session-III CSIT-120 Lab Session-III CSIT-120 Fall 2000Fall 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

Page 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

2

Revising Previous SessionRevising 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?

Page 3: 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

3

Data Input and OutputData 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.

Page 4: 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

4

Introducing LoopsIntroducing 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

Page 5: 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

5

Introducing LoopsIntroducing 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

• check condition 1 if true do statement 1

• -----------

Page 6: 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

6

While Conditional LoopWhile 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

Page 7: 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

7

Lab Exercise 3-A Lab Exercise 3-A (Demo Required)(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

Page 8: 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

8

AssumptionsAssumptions

• 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

Page 9: 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

9

Data AnalysisData 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

Page 10: 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

10

Algorithm DevelopmentAlgorithm 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

Page 11: 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

11

Algorithm DevelopmentAlgorithm 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

Page 12: 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

12

ProgrammingProgramming

• 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

Page 13: 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

Limits and BoundsLimits 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

Page 14: 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

Limits and BoundsLimits and Bounds

• Experiments 3.1

• This experiment will show most negative integer

• Experiment 3.2

• This experiment shows the result of exceeding the limits

Page 15: 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

Lab 3 Session III-BLab 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

Page 16: 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

Increment OperatorIncrement 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;

Page 17: 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

ASCII and UNICODEASCII 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

Page 18: 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

ASCII and UNICODEASCII 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

Page 19: 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

ASCII and UNICODEASCII 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

Page 20: 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

20

ASCII and UNICODEASCII 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

Page 21: 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

21

ASCII and UNICODEASCII 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

Page 22: 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

22

Uncover the ASCII codeUncover the ASCII code

• Experiment 3.5

• What is meant by <ctype.h>?

• 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

Page 23: 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

23

Simple Encryption TechniquesSimple 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)

Page 24: 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

24

Type CastingType 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

Page 25: 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

25

Mixing Arithmetic OperationsMixing 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))???

Page 26: 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

26

Using Precedence RulesUsing 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

Page 27: 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

27

Lab3 Given 10/5 Due 10/26Lab3 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.