1 Lab Session-III CSIT-120 Spring 2001 Revising Previous session Data input and output While loop...
-
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...
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)
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?
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
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
• -----------
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
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
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
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
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
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
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
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
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)
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
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)
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;
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
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
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
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
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)
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)
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