logic formulation 1
DESCRIPTION
A Beginner’s Guide to Programming Logic, Introductory Chapter 1 An Overview of Computers and Programming Objectives In this chapter, you will learn about: - Computer systems - Simple program logic - The steps involved in the program development cycle - Pseudocode statements and flowchart symbols - Using a sentinel value to end a program - Programming and user environments - The evolution of programming models COURSE TECHNOLOGY CENGAGE LearningTRANSCRIPT
![Page 1: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/1.jpg)
About the Presentations
• The presentations cover the objectives found in the opening of each chapter.
• All chapter objectives are listed in the beginning of each presentation.
• You may customize the presentations to fit your class needs.
• Some figures from the chapters are included. A complete set of images from the book can be found on the Instructor Resources disc.
1
![Page 2: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/2.jpg)
A Beginner’s Guide to Programming Logic,
IntroductoryChapter 1
An Overview of Computers and
Programming
![Page 3: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/3.jpg)
Objectives
In this chapter, you will learn about:
• Computer systems
• Simple program logic
• The steps involved in the program development cycle
• Pseudocode statements and flowchart symbols
• Using a sentinel value to end a program
• Programming and user environments
• The evolution of programming models
A Beginner's Guide to Programming Logic, Introductory 3
![Page 4: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/4.jpg)
Understanding Computer Systems
• Computer system – Combination of all the components required to
process and store data using a computer
• Hardware – Equipment associated with a computer
• Software – Computer instructions – Tell the hardware what to do– Programs
• Instructions written by programmers
A Beginner's Guide to Programming Logic, Introductory 4
![Page 5: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/5.jpg)
Understanding Computer Systems (continued)
• Programming– Writing software instructions
• Computer hardware and software accomplish three major operations– Input
• Data items enter computer
– Processing• By central processing unit (CPU)
– Output
A Beginner's Guide to Programming Logic, Introductory 5
![Page 6: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/6.jpg)
Understanding Computer Systems (continued)
• Programming language– Use to write computer instructions– Examples
• Visual Basic, C#, C++, or Java
• Syntax– Rules governing its word usage and punctuation
• Computer memory– Computer’s temporary, internal storage– Volatile
A Beginner's Guide to Programming Logic, Introductory 6
![Page 7: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/7.jpg)
Understanding Computer Systems (continued)
• Permanent storage devices– Nonvolatile
• Compiler or an interpreter– Translates program code into machine language
(binary language)– Checks for syntax errors
• Program executes or runs– Input will be accepted, some processing will occur,
and results will be output
A Beginner's Guide to Programming Logic, Introductory 7
![Page 8: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/8.jpg)
Understanding Simple Program Logic
• Program with syntax errors cannot execute
• Logical errors– Errors in program logic – Produce incorrect output as a result
• Logic of the computer program– Sequence of specific instructions in specific order
• Variable – Named memory location whose value can vary
A Beginner's Guide to Programming Logic, Introductory 8
![Page 9: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/9.jpg)
Understanding the ProgramDevelopment Cycle
• Program development cycle– Understand the problem– Plan the logic– Code the program– Use software (a compiler or interpreter) to translate
the program into machine language– Test the program– Put the program into production– Maintain the program
A Beginner's Guide to Programming Logic, Introductory 9
![Page 10: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/10.jpg)
Understanding the ProgramDevelopment Cycle (continued)
A Beginner's Guide to Programming Logic, Introductory 10
Figure 1-1 The program development cycle
![Page 11: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/11.jpg)
Understanding the Problem
• One of the most difficult aspects of programming
• Users or end users– People for whom program is written
• Documentation– Supporting paperwork for a program
A Beginner's Guide to Programming Logic, Introductory 11
![Page 12: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/12.jpg)
Planning the Logic
• Heart of the programming process
• Most common planning tools – Flowcharts – Pseudocode
• Desk-checking– Walking through a program’s logic on paper before
you actually write the program
A Beginner's Guide to Programming Logic, Introductory 12
![Page 13: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/13.jpg)
Coding the Program
• Hundreds of programming languages are available– Choose based on features– Alike in their basic capabilities
• Easier than planning step
A Beginner's Guide to Programming Logic, Introductory 13
![Page 14: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/14.jpg)
Using Software to Translate the Program into Machine Language
• Translator program– Compiler or interpreter– Changes the programmer’s English-like high-level
programming language into the low-level machine language
• Syntax error– Misuse of a language’s grammar rules– Programmer corrects listed syntax errors– Might need to recompile the code several times
A Beginner's Guide to Programming Logic, Introductory 14
![Page 15: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/15.jpg)
Using Software to Translate the Program into Machine Language
(continued)
Figure 1-2 Creating an executable program
A Beginner's Guide to Programming Logic, Introductory 15
![Page 16: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/16.jpg)
Testing the Program
• Logical error – Use a syntactically correct statement but use the
wrong one for the current context
• Test– Execute the program with some sample data to see
whether the results are logically correct
• Programs should be tested with many sets of data
A Beginner's Guide to Programming Logic, Introductory 16
![Page 17: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/17.jpg)
Putting the Program into Production
• Process depends on program’s purpose– May take several months
• Conversion– Entire set of actions an organization must take to
switch over to using a new program or set of programs
A Beginner's Guide to Programming Logic, Introductory 17
![Page 18: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/18.jpg)
Maintaining the Program
• Maintenance– Making changes after program is put into production
• Common first programming job – Maintaining previously written programs
• Make changes to existing programs– Repeat the development cycle
A Beginner's Guide to Programming Logic, Introductory 18
![Page 19: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/19.jpg)
Using Pseudocode Statementsand Flowchart Symbols
• Pseudocode – English-like representation of the logical steps it
takes to solve a problem
• Flowchart– Pictorial representation of the logical steps it takes to
solve a problem
A Beginner's Guide to Programming Logic, Introductory 19
![Page 20: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/20.jpg)
Writing Pseudocode
• Pseudocode representation of a number-doubling problemstart
input myNumber
set myAnswer = myNumber * 2
output myAnswer
stop
A Beginner's Guide to Programming Logic, Introductory 20
![Page 21: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/21.jpg)
Writing Pseudocode (continued)
• Programmers preface their pseudocode with a beginning statement like start and end it with a terminating statement like stop
• Flexible because it is a planning tool
A Beginner's Guide to Programming Logic, Introductory 21
![Page 22: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/22.jpg)
Drawing Flowcharts
• Create a flowchart– Draw geometric shapes that contain the individual
statements – Connect shapes with arrows
• Input symbol– Indicates input operation– Parallelogram
• Processing symbol– Processing statements such as arithmetic– Rectangle
A Beginner's Guide to Programming Logic, Introductory 22
![Page 23: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/23.jpg)
Drawing Flowcharts (continued)
• Output symbol– Represents output statements– Parallelogram
• Flowlines– Arrows that connect steps
• Terminal symbols– Start/stop symbols– Shaped like a racetrack– Also called lozenge
A Beginner's Guide to Programming Logic, Introductory 23
![Page 24: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/24.jpg)
Drawing Flowcharts (continued)
Figure 1-6 Flowchart and pseudocode of program that doubles a number
A Beginner's Guide to Programming Logic, Introductory 24
![Page 25: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/25.jpg)
Repeating Instructions
• After the flowchart or pseudocode has been developed, the programmer only needs to:– Buy a computer– Buy a language compiler– Learn a programming language– Code the program– Attempt to compile it – Fix the syntax errors– Compile it again– Test it with several sets of data– Put it into production
A Beginner's Guide to Programming Logic, Introductory 25
![Page 26: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/26.jpg)
Repeating Instructions (continued)
• Loop– Repetition of a series of steps
• Infinite loop– Repeating flow of logic with no end
A Beginner's Guide to Programming Logic, Introductory 26
![Page 27: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/27.jpg)
Repeating Instructions (continued)
Figure 1-8 Flowchart of infinite number-doubling program
A Beginner's Guide to Programming Logic, Introductory 27
![Page 28: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/28.jpg)
Using a Sentinel Value to Enda Program
• Making a decision– Testing a value– Decision symbol
• Diamond shape
• Dummy value– Data-entry value that the user will never need– Sentinel value
• eof (“end of file”)– Marker at the end of a file that automatically acts as
a sentinel
A Beginner's Guide to Programming Logic, Introductory 28
![Page 29: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/29.jpg)
Using a Sentinel Value to Enda Program (continued)
Figure 1-9 Flowchart of number-doubling program with sentinel value of 0
A Beginner's Guide to Programming Logic, Introductory 29
![Page 30: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/30.jpg)
Using a Sentinel Value to Enda Program (continued)
Figure 1-10 Flowchart using eof
A Beginner's Guide to Programming Logic, Introductory 30
![Page 31: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/31.jpg)
Understanding Programmingand User Environments
• Many options for programming and user environments
A Beginner's Guide to Programming Logic, Introductory 31
![Page 32: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/32.jpg)
Understanding Programming Environments
• Use a keyboard to type program statements into an editor– Plain text editor
• Similar to a word processor but without as many features
– Text editor that is part of an integrated development environment (IDE)
• Software package that provides an editor, compiler, and other programming tools
A Beginner's Guide to Programming Logic, Introductory 32
![Page 33: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/33.jpg)
Understanding Programming Environments (continued)
Figure 1-12 A C# number-doubling program in Visual Studio
A Beginner's Guide to Programming Logic, Introductory 33
![Page 34: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/34.jpg)
Understanding User Environments
• Command line – Location on your computer screen at which you type
text entries to communicate with the computer’s operating system
• Graphical user interface (GUI)– Allows users to interact with a program in a graphical
environment
A Beginner's Guide to Programming Logic, Introductory 34
![Page 35: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/35.jpg)
Understanding User Environments (continued)
Figure 1-13 Executing a number-doubling program
in a command-line environment
A Beginner's Guide to Programming Logic, Introductory 35
![Page 36: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/36.jpg)
Understanding User Environments (continued)
Figure 1-14 Executing a number-doubling program in a GUI environment
A Beginner's Guide to Programming Logic, Introductory 36
![Page 37: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/37.jpg)
Understanding the Evolutionof Programming Models
• People have been writing modern computer programs since the 1940s
• Newer programming languages– Look much more like natural language – Easier to use– Create self-contained modules or program segments
that can be pieced together in a variety of ways
A Beginner's Guide to Programming Logic, Introductory 37
![Page 38: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/38.jpg)
Understanding the Evolutionof Programming Models (continued)
• Major models or paradigms used by programmers– Procedural programming
• Focuses on the procedures that programmers create
– Object-oriented programming• Focuses on objects, or “things,” and describes their
features (or attributes) and their behaviors
– Major difference • Focus the programmer takes during the earliest
planning stages of a project
A Beginner's Guide to Programming Logic, Introductory 38
![Page 39: Logic Formulation 1](https://reader033.vdocument.in/reader033/viewer/2022061523/555e379ed8b42a63048b4aba/html5/thumbnails/39.jpg)
Summary
• Computer programming– Requires specific syntax– Must develop correct logic
• Programmer’s job– Understanding the problem, planning the logic,
coding the program, translating the program into machine language, testing the program, putting the program into production, and maintaining it
• Procedural and object-oriented programmers approach problems differently
A Beginner's Guide to Programming Logic, Introductory 39