7-1 Structured COBOL Programming Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout John.

Slides:



Advertisements
Similar presentations
12-1 Structured COBOL Programming Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout John.
Advertisements

8-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)
16-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)
3-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emertius)
Introduction to C Programming
7-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)
5-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)
14-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)
CHAPTER 4: Representing Integer Data The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition, Irv Englander.
 2007 Pearson Education, Inc. All rights reserved Introduction to C Programming.
CHAPTER 2: Number Systems
CHAPTER 5: Floating Point Numbers
Data types and variables
Chapter 2 Data Types, Declarations, and Displays
Introduction to C Programming
COBOL for the 21st Century
Objectives You should be able to describe: Data Types
15-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)
PowerPoint Presentation: Richard H. Baum, Ph.D. DeVry Institute of Technology 9th Edition Structured COBOL Programming Nancy Stern Hofstra University Robert.
4-1 Coding Complete COBOL Programs: The PROCEDURE DIVISION Chapter 4.
4-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)
12-1 Structured COBOL Programming Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout John.
10-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)
4-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)
2-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)
3-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emertius)
PowerPoint Presentation: Richard H. Baum, Ph.D. DeVry Institute of Technology 9th Edition Structured COBOL Programming Nancy Stern Hofstra University Robert.
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 2 Input, Processing, and Output.
Chapter 5 Using Data and COBOL Operators. Initializing Variables When you define a variable in WORKING- STORAGE, you also can assign it an initial value.
PowerPoint Presentation: Richard H. Baum, Ph.D. DeVry Institute of Technology 9th Edition Structured COBOL Programming Nancy Stern Hofstra University Robert.
Chapter 3 Processing and Interactive Input. 2 Assignment  The general syntax for an assignment statement is variable = operand; The operand to the right.
CNG 140 C Programming Lecture Notes 2 Processing and Interactive Input Spring 2007.
A First Book of ANSI C Fourth Edition Chapter 3 Processing and Interactive Input.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley STARTING OUT WITH Python Python First Edition by Tony Gaddis Chapter 2 Input,
Input, Output, and Processing
Lecture 31 Numeric Edited Alphabetic (A) AlphaNumeric (X) Numeric (9, V, S) Numeric Edited (9, Z, comma, decimal point, minus sign) –Z = zero suppressed.
3-1 The DATA DIVISION Chapter Chapter Objectives To familiarize you with Systems design considerations Ways in which data is organized Rules for.
7-1 Chapter 7.  Basic Arithmetic Verbs  Options Available with Arithmetic Verbs  COMPUTE Statement  Signed Numbers in Arithmetic Operations  Intrinsic.
CHAPTER 3: Number Systems
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Chapter 2 Chapter 2 - Introduction to C Programming.
CHAPTER 3: Number Systems The Architecture of Computer Hardware and Systems Software & Networking: An Information Technology Approach 4th Edition, Irv.
13-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)
Copyright © 2000 John Wiley & Sons, Inc. All rights reserved
9-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)
9-1 Iteration: Beyond the Basic PERFORM Chapter 9.
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 2 Input, Processing, and Output.
Structured COBOL Programming Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout.
Lecture 41 Arithmetic Clauses The ROUNDED clause –Place ROUNDED after the variable that holds the result ADD A TO B ROUNDED. ADD A TO B GIVING C ROUNDED.
5-1 Structured COBOL Programming Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout John.
Copyright © 2000 John Wiley & Sons, Inc. All rights reserved. Reproduction or translation of this work beyond that permitted in Section 117 of the 1976.
7-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)
PowerPoint Presentation: Richard H. Baum, Ph.D. DeVry Institute of Technology 9th Edition Structured COBOL Programming Nancy Stern Hofstra University Robert.
2-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)
PowerPoint Presentation: Richard H. Baum, Ph.D. DeVry Institute of Technology 9th Edition Structured COBOL Programming Nancy Stern Hofstra University Robert.
Computing in COBOL: The Arithmetic Verbs and Intrinsic Functions Chapter 7.
COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)
Introduction to Java Applications Part II. In this chapter you will learn:  Different data types( Primitive data types).  How to declare variables?
CHAPTER 3: Number Systems
Slide 8-1 Chapter 8 Terms Programming Languages Introduction to Information Systems Judith C. Simon.
H-1 Prepared by Coby Harmon University of California, Santa Barbara Westmont College.
6-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)
CHAPTER 6: The Little Man Computer
liquidation of a partnership.
Chapter 3 The DATA DIVISION.
CHAPTER 6: The Little Man Computer
A First Book of ANSI C Fourth Edition
Structured COBOL Programming
Computing in COBOL: The Arithmetic Verbs and Intrinsic Functions
THE COMPUTE STATEMENT Purpose: performs mathematical calculations
Decision Making Using the IF and EVALUATE Statements
Presentation transcript:

7-1 Structured COBOL Programming Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout John Wiley & Sons, Inc. PowerPoint Winifred J. Rex Presentation Bowling Green State University 10th edition

7-2 Computing in COBOL: The Arithmetic Verbs and Intrinsic Functions Chapter 7

7-3 Chapter Objectives To familiarize you with Ways in which arithmetic may be performed in COBOL Formats and options available with arithmetic verbs

7-4 Chapter Contents Basic Arithmetic Verbs Options Available with Arithmetic Verbs COMPUTE Statement Signed Numbers in Arithmetic Operations Intrinsic Functions

7-5 Basic Arithmetic Verbs ADD, SUBTRACT, MULTIPLY, DIVIDE All require fields operated on to –Have numeric PICTURE clauses –Contain numeric data when statements executed

7-6 ADD … TO Statement identifier-1 ADD… TO identifier-2... literal-1 identifier-1 or literal-1 added to identifier-2 Result stored in identifier-2 What does the syntax tell you? Format 1

7-7 ADD … TO Examples Assume X, Y and Z are numeric fields X = 5, Y = 3 and Z = 7 ADD StatementResult Add X To YY = 8 Add X, 9 To YY = 17 Add X, 6, Y To ZZ = 21

7-8 ADD … TO Statement Identifiers preceding TO are unchanged Value of identifier after TO –Used in ADD operation –Original value replaced with ADD result

7-9 ADD … GIVING Statement identifier-1 ADD … GIVING identifier-2... literal-1 Identifiers and literals preceding GIVING added together Result stored in identifier-2 Identifier-1 and literal-1 are unchanged! Format 2

7-10 ADD … GIVING Examples Assume X, Y and Z are numeric fields X = 5, Y = 3 and Z = 7 ADD StatementResult Add X, Y Giving ZZ = 8 Add X, 10 Giving YY = 15 Add X, 4, Y Giving ZZ = 12 X, Y, 10, etc. are all unchanged!

7-11 ADD … GIVING Statement Identifiers preceding GIVING are unchanged Value of identifier after GIVING –Not part of ADD operation –Original value replaced with ADD result –  May be report-item with edit symbols

7-12 ADD … GIVING Statement TO may be included before last identifier or literal preceding GIVING For example: Add X, 4 To Y Giving Z –Adds values of X, 4 and Y together –Stores result in Z –X, 4, and Y are UNCHANGED!

7-13 ADD Statement Comma followed by one space may be used to separate operands  Result of ADD always placed in field(s) after TO or GIVING  Result field must be data-name, not a literal

7-14 Producing More Than One Sum Several ADD operations can be done in single statement Assume X, Y and Z are numeric fields X = 5, Y = 3 and Z = 7 ADD StatementResult Add X To Y, ZY = 8, Z = 12 Value of X is added to Y and Z Add X, 6 Giving Y, ZY = 11, Z = 11 Result of the addition of X and 6 are MOVED to Y and Z. Former values of Y and Z do NOT participate in this operation.

7-15  ADD … TO vs ADD … GIVING Use ADD … TO when original contents of result operand –Need to be included in operation –But are not needed after operation –All operands must be numeric. Use ADD … GIVING when –Original contents of all operands except result field are to be retained –Operands following the GIVI NG need NOT be numeric and will frequently be report- item fields.

7-16 SUBTRACT Statement identifier-1 SUBTRACT … FROM identifier-2... literal-1 identifier-1 or literal-1 subtracted from identifier-2 Result stored in identifier-2 Format 1

7-17  SUBTRACT Examples Assume A, B and C are numeric fields A = 6, B = 2 and C = 18 SUBTRACT Statement Result Subtract A From C C = 12 Subtract B, 5 From C C = 11 Subtract B From A, C A = 4, C = 16

7-18 SUBTRACT Statement Rules All identifiers and literals must be numeric  Data-name, not a literal, must follow FROM All fields, literals preceding FROM added together Sum subtracted from field after FROM Result stored in field after FROM

7-19 SUBTRACT … GIVING Statement identifier-1 identifier-2 SUBTRACT … FROM literal-1 literal-2 GIVING identifier-3... identifier-1 or literal-1 subtracted from identifier-2 or literal-2 Result stored in identifier-3 Only Operand changed is identifier-3! Format 2

7-20  SUBTRACT … GIVING Examples Assume A, B and C are numeric fields A = 6, B = 2 and C = 18 SUBTRACT StatementResult Subtract B From A Giving C C = 4 Subtract A From 15 Giving C C = 9 Subtract A, 4 From C Giving B B = 8

7-21 SUBTRACT … GIVING Rules All identifiers, literals before FROM must be numeric GIVING must be followed by data-name –  May be numeric or report-item –  remember, GIVING really is a Move results here All fields, literals preceding FROM added together Sum subtracted from field after FROM –BUT ‘from field’ is NOT changed!! Result stored in field after GIVING

7-22 MULTIPLY Statement identifier-1 MULTIPLY BY identifier-2... literal-1 identifier-1 or literal-1 multiplied by identifier-2 Result stored in identifier-2 Format 1

7-23  MULTIPLY Examples Assume Q, R and S are numeric fields Q = 4, R = 7 and S = 5 MULTIPLY StatementResult Multiply Q By R R = 28 Multiply 10 By S S = 50 Multiply 2 By R, S R = 14, S = 10

7-24 MULTIPLY … GIVING Statement identifier-1 identifier-2 MULTIPLY BY literal-1 literal-2 GIVING identifier-3... identifier-1 or literal-1 multiplied by identifier-2 or literal-2  Result stored in identifier-3 Must be careful here!!! (more ahead!) Format 2

7-25  MULTIPLY … GIVING Examples Assume Q, R and S are numeric fields Q = 4, R = 7 and S = 5 MULTIPLY StatementResult Multiply Q By R Giving SS = 28 Multiply Q By 3 Giving S S = 12 Multiply 6 By Q Giving R, S R = 24 S = 24

7-26 MULTIPLY Statement  Only two operands can be multiplied To obtain product of 3 operands requires two instructions To find Price x Qty x Discount Multiply Price By Qty Giving WS-Amt Multiply Discount By WS-Amt

7-27 DIVIDE Statement identifier-1 DIVIDE INTO identifier-2... literal-1 identifier-1 or literal-1 divided into identifier-2 Result stored in identifier-2 Format 1

7-28 DIVIDE Examples Assume X, Y and Z are numeric fields X = 2, Y = 12 and Z = 8 DIVIDE StatementResult Divide X Into Y Y = 6 Divide 3 Into Y Y = 4 Divide 2 Into Y, Z Y = 6, Z = 4

7-29  DIVIDE … GIVING Statement identifier-1 INTO identifier-2 DIVIDE literal-1 BY literal-2 GIVING identifier-3... identifier-1 or literal-1 divided into or by identifier-2 or literal-2 Result stored in identifier-3 Format 2

7-30 DIVIDE … GIVING Examples Assume X, Y and Z are numeric fields X = 2, Y = 12 and Z = 8 DIVIDE StatementResult Divide X Into Y Giving ZZ = 6 Divide Y By X Giving Z Z = 6 Divide 16 By Z Giving X, Y X = 2 Y = 2 Note: only receiving fields are changed!!

7-31 REMAINDER Clause Optional clause with DIVIDE used to store remainder of division  Assume Q and R have PICTUREs of 99 Divide 70 By 15 Giving Q Remainder R Stores quotient 4 in Q and integer remainder 10 in R

7-32 ROUNDED Option Arithmetic result truncated if room to store all decimal positions not available –Result of 3.89 stored in field with PIC 9V9 as 3 ^ 8 Include ROUNDED to round result to PICTURE specification –Result of 3.89 stored as 3.9 if ROUNDED option used

7-33 ROUNDED Option 01 Amt1Pic 9V99Value Amt2Pic 999. Arithmetic statement Result Value Stored Multiply.3 By Amt1.675 Amt1 = 0 ^ 67 Multiply.3 By Amt1 Rounded.675 Amt1 = 0 ^ 68 Divide 150 By 9 Giving Amt2 Rounded16.66… Amt2 = 017 Examples

7-34  Overflow or Size Error Occurs when result value too large to be stored in result field Result of this ADD statement is 1,075 Add 350 To 725 Giving Num If Num has PICTURE of 999, only 3 digits can be stored High-order digits truncated so 075 stored in Num

7-35 Checking for Overflow Any arithmetic statement may include one or both size error clauses ON SIZE ERROR statement(s) –Specifies one or more statements to be executed if overflow (size error) occurs NOT ON SIZE ERROR statement(s) –Specifies one or more statements to be executed if overflow (size error) does not occur

7-36  SIZE ERROR Clause Example Add X To Y Giving Z On Size Error Display ' Result too large' Not On Size Error Perform Calc-Para End-Add If sum of X and Y too large to store in Z, Display statement executed If Z large enough for result, Calc-Para is performed

7-37 SIZE ERROR Clauses When using one or both clauses, use scope terminator to end arithmetic operation –END-ADD, END-SUBTRACT –END-MULTIPLY, END-DIVIDE If you do not? Multiply A by B on size error … end-multiply

7-38  Size of Receiving Fields Ensure receiving field has PICTURE large enough to store result Addition - define resultant field one position larger than largest field added Subtraction - define resultant field as large as number being subtracted from –Assumes positive numbers –Assumes smaller subtracted from larger number

7-39 Size of Receiving Fields Multiplication - define resultant field equal to sum of lengths of operands begin multiplied Division - define resultant field equal to sum of number of digits in divisor and dividend Go through examples!!!

7-40 COMPUTE Statement General arithmetic statement using symbols in place of arithmetic verbs SymbolVerb +ADD -SUBTRACT *MULTIPLY /DIVIDE **exponentiation

7-41 COMPUTE Statement – simple format arithmetic-exp-1 COMPUTE identifier-1 … = literal-1 identifier-2 Identifier to left of equal sign set to value of arithmetic-expression, literal or identifier on right of equal sign Format

7-42 COMPUTE Examples Assume X, Y and Z are numeric fields X = 9, Y = 4 and Z = 12 COMPUTE StatementResult Compute Z = X * YZ = 36 Compute X = Z - Y + 2 X = 10 Compute X = YX = 4 Compute Z = Y ** 2Z = 16 Resultant field need NOT be numeric!!!!! May use both: Computer X, X-Out = …

7-43  Order of Evaluation Arithmetic expression may include any combination of symbols +, -, *, / or ** Order of operations 1.** all exponentiation performed first 2.* or / in order or appearance left to right 3.+ or - in order or appearance left to right 4.( ) override rules 1-3, all operations in ( ) performed first Know these rules; Practice examples!!!

7-44 COMPUTE Examples Assume X, Y and Z are numeric fields X = 6, Y = 18 and Z = 5 What are the order of operations??? COMPUTE StatementResult Compute Z = Y / X + 3 Z = 6 Compute Z = Y / (X + 3) Z = 2 Compute Y = Z + X * 10Y = 65 Compute Y = Z * X / 10Y = 3

7-45 COMPUTE Statement COMPUTE can include same optional clauses used with other arithmetic verbs ROUNDED follows result field (identifier preceding equal sign) If ON SIZE ERROR or NOT ON SIZE ERROR clauses used, include scope terminator END-COMPUTE When you add ON Size Error or Not On Size Error, you are making an imperative statement a ‘conditional statement’ and thus the scope terminator needs to show the scope of the condition.

7-46  Signed Numbers Use S in PIC clause of result field if –Numbers used in calculation may be negative –Calculation may produce negative results PIC clause without S assumed to be unsigned –If negative result stored in unsigned field, sign not retained

7-47 Intrinsic Functions Built-in procedures to perform particular task like –Find square root of number –Convert letters to uppercase –Get current date Approved as extensions to COBOL standard in 1989 Now included in many compilers

7-48 Intrinsic Functions Find square root of X and place result in Y Compute Y = Function Sqrt(X) Value of X passed to function called Sqrt Code in function finds square root of X Result returned by Sqrt assigned to Y Used to have to say (…) ** (.5) Example

7-49 Intrinsic Functions Convert More-Data to uppercase Move Function Upper-Case(More-Data) To Up-More-Data If More-Data = "Yes", function Upper- Case returns value "YES" Value "YES" moved to Up-More-Data Example

7-50 Intrinsic Functions – format!! FUNCTION function-name (argument) Argument - input to function –May be numeric or alpha-numeric depending on function –Functions may have 0, 1 or more arguments. Format

7-51 Intrinsic Functions Output of function - result returned after function performs its task  Function returning alphanumeric result used in statements using alphanumeric data-items (like Upper- Case)  Function returning numeric result can be used only in arithmetic expressions like SQRT( )

7-52 COBOL Changes Spaces around arithmetic operators will no longer be required COMPUTE statement will yield same results on all compilers –Will make precision or number of decimal places in each intermediate calculation fixed

7-53 Chapter Summary ADD, SUBTRACT, MULTIPLY, and DIVIDE verbs –format without GIVING Receiving field is part of arithmetic May not be report-item –with GIVING format Receiving field is not part of arithmetic May be report-item

7-54 Chapter Summary COMPUTE used for any combination of arithmetic operations Order of evaluation of operators 1.** 2.* or / in sequence left to right 3.+ or - in sequence left to right 4.( ) override normal hierarchy rules

7-55 Chapter Summary ROUNDED can follow receiving field in any arithmetic verb ON SIZE ERROR, NOT ON SIZE ERROR –Can be used with any arithmetic verb –Include scope terminator (e.g., END-ADD)

7-56 Chapter Summary Intrinsic functions added as COBOL extensions in 1989 –Calendar –Numerical analysis –Statistical –Trigonometric –Financial –Character and String

7-57 Copyright © 2003 John Wiley & Sons, Inc. All rights reserved. Reproduction or translation of this work beyond that permitted in Section 117 of the 1976 United States Copyright Act without the express written permission of the copyright owner is unlawful. Request for further information should be addressed to the Permissions Department, John Wiley & Sons, Inc. The purchaser may make back-up copies for his/her own use only and not for distribution or resale. The Publisher assumes no responsibility for errors, omissions, or damages, caused by the use of these programs or from the use of the information contained herein.