1 Lab Session-III CSIT-120 Spring 2001 Revising Previous session Data input and output While loop...

23
1 Lab Session-III CSIT-120 Lab Session-III CSIT-120 Spring 2001 Spring 2001 Revising Previous session Data input and output While loop Exercise Limits and Bounds GOTO SLIDE 13 Lab session III continues (Session III-B)
  • date post

    20-Jan-2016
  • Category

    Documents

  • view

    216
  • download

    0

Transcript of 1 Lab Session-III CSIT-120 Spring 2001 Revising Previous session Data input and output While loop...

Page 1: 1 Lab Session-III CSIT-120 Spring 2001 Revising Previous session Data input and output While loop Exercise Limits and Bounds GOTO SLIDE 13 Lab session.

1

Lab Session-III CSIT-120 Lab Session-III CSIT-120 Spring 2001Spring 2001

• Revising Previous session• Data input and output• While loop Exercise• Limits and Bounds• GOTO SLIDE 13 Lab session III continues

(Session III-B)

Page 2: 1 Lab Session-III CSIT-120 Spring 2001 Revising Previous session Data input and output While loop Exercise Limits and Bounds GOTO SLIDE 13 Lab session.

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 Spring 2001 Revising Previous session Data input and output While loop Exercise Limits and Bounds GOTO SLIDE 13 Lab session.

3

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 4: 1 Lab Session-III CSIT-120 Spring 2001 Revising Previous session Data input and output While loop Exercise Limits and Bounds GOTO SLIDE 13 Lab session.

4

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 5: 1 Lab Session-III CSIT-120 Spring 2001 Revising Previous session Data input and output While loop Exercise Limits and Bounds GOTO SLIDE 13 Lab session.

5

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 take the vending machine problem in order to develop a program using while loop

Page 6: 1 Lab Session-III CSIT-120 Spring 2001 Revising Previous session Data input and output While loop Exercise Limits and Bounds GOTO SLIDE 13 Lab session.

6

Vending Machine AlgorithmVending Machine Algorithm

• Algorithm begins when the user inserts card• Initialize the balance on card with $5• Take the item price from the user• While (price of item is less than or equal to

amount on card) AND (price entered is not zero)• [subtract price from card balance• take another item price from the user]• Let us implement this algorithm in a C++ program

Page 7: 1 Lab Session-III CSIT-120 Spring 2001 Revising Previous session Data input and output While loop Exercise Limits and Bounds GOTO SLIDE 13 Lab session.

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 Spring 2001 Revising Previous session Data input and output While loop Exercise Limits and Bounds GOTO SLIDE 13 Lab session.

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 Spring 2001 Revising Previous session Data input and output While loop Exercise Limits and Bounds GOTO SLIDE 13 Lab session.

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 Spring 2001 Revising Previous session Data input and output While loop Exercise Limits and Bounds GOTO SLIDE 13 Lab session.

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 Spring 2001 Revising Previous session Data input and output While loop Exercise Limits and Bounds GOTO SLIDE 13 Lab session.

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 Spring 2001 Revising Previous session Data input and output While loop Exercise Limits and Bounds GOTO SLIDE 13 Lab session.

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 Spring 2001 Revising Previous session Data input and output While loop Exercise Limits and Bounds GOTO SLIDE 13 Lab session.

13

Lab Session III-BLab Session III-B

• Limits and bounds (Demo NOT required)

• Increment Operator

• ASCII and UNICODE

• Experiment 3.5

• Simple Information Encryption• Exercise 3-B (DEMO REQUIRED)

• Type Casting

• Experiment 3.6 (Demo NOT required)

Page 14: 1 Lab Session-III CSIT-120 Spring 2001 Revising Previous session Data input and output While loop Exercise Limits and Bounds GOTO SLIDE 13 Lab session.

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 15: 1 Lab Session-III CSIT-120 Spring 2001 Revising Previous session Data input and output While loop Exercise Limits and Bounds GOTO SLIDE 13 Lab session.

Limits and BoundsLimits and Bounds

• Experiments 3.1(Step 1,2,3 ONLY)

• This experiment will show most negative integer

• Experiment 3.2

• This experiment shows the result of exceeding the limits (Use unary decrement operator ‘i--’ in step 3)

Page 16: 1 Lab Session-III CSIT-120 Spring 2001 Revising Previous session Data input and output While loop Exercise Limits and Bounds GOTO SLIDE 13 Lab session.

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 Spring 2001 Revising Previous session Data input and output While loop Exercise Limits and Bounds GOTO SLIDE 13 Lab session.

ASCII and UNICODEASCII and UNICODE

• The alphabets and digits are represented by a code that has integer values

• ASCII code was originally 7 bits (128 values)

• Values from 00 to 1F are reserved for special non-printable control characters

Page 18: 1 Lab Session-III CSIT-120 Spring 2001 Revising Previous session Data input and output While loop Exercise Limits and Bounds GOTO SLIDE 13 Lab session.

ASCII and UNICODEASCII and UNICODE

• ASCII was not sufficient as more symbols were needed

• ASCII was revised to “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 19: 1 Lab Session-III CSIT-120 Spring 2001 Revising Previous session Data input and output While loop Exercise Limits and Bounds GOTO SLIDE 13 Lab session.

19

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 20: 1 Lab Session-III CSIT-120 Spring 2001 Revising Previous session Data input and output While loop Exercise Limits and Bounds GOTO SLIDE 13 Lab session.

20

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 21: 1 Lab Session-III CSIT-120 Spring 2001 Revising Previous session Data input and output While loop Exercise Limits and Bounds GOTO SLIDE 13 Lab session.

21

Uncover the ASCII codeUncover the ASCII code

• Experiment 3.5

• Why do we include <ctype.h>?

• What is toascii?

• What is toupper?

• What is tolower? (HINT: Use these functions in your program to find out)

Page 22: 1 Lab Session-III CSIT-120 Spring 2001 Revising Previous session Data input and output While loop Exercise Limits and Bounds GOTO SLIDE 13 Lab session.

22

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-B Change a user supplied character to its ASCII value, add 8 to it and print the new character. (DEMO REQUIRED)

Page 23: 1 Lab Session-III CSIT-120 Spring 2001 Revising Previous session Data input and output While loop Exercise Limits and Bounds GOTO SLIDE 13 Lab session.

23

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