信息处理技术. chapter 11: computer programming2 111chapter 4: file management, virus...

79
信信信信信信 信信信信信信

Upload: branden-nash

Post on 11-Jan-2016

268 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

信息处理技术信息处理技术

Page 2: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 2111Chapter 4: File Management, Virus Protection, and Backup

1Chapter 1: Computer, Internet, Web, and E-Mail Basics

Page 3: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 3

After this chapter, you should be able to:– Describe the role of computer programmers and

software engineers

– Categorize today’s popular computer programming languages by generation and paradigm

– Explain the process of planning, coding, and testing a computer program

– Describe the advantages and disadvantages of generic text editors, program editors, and VDEs for coding computer programs

– Define the term algorithm and describe how it relates to procedural programming

Chapter 11 Preview

Page 4: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 4

– Identify various tools that programmers use to plan programs, such as flowcharts, structured English, pseudocode, UML diagrams, and decision tables

– Follow the control structures for a procedural program

– Describe the major concepts of object-oriented programming, such as objects, classes, inheritance, messages, methods, polymorphism, and encapsulation

– Create some basic facts and rules using Prolog syntax

– Describe how a declarative language, such as Prolog, satisfies goals by instantiation

Chapter 11 Preview

Page 5: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 5

Chapter 11 Outline

• Section A– Programming Basics

• Section B– Procedural Programming

• Section C– Object-Oriented Programming

• Section D– Declarative Programming

Page 6: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Computer Concepts 8th Edition

Chapter 11Computer Programming

计算机程序

Section A: Programming Basics程序基础

Page 7: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 7

• A computer program is a set of detailed, step-by-step instructions that tell a computer how to solve a problem or carry out a task

• The instructions that make up a computer program are sometimes referred to as code

• Today, program code contains familiar English-like words

• Programs can exist as a single module or multiple modules

What is program code?

Page 570

Page 8: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 8

What is program code?

Page 570

Page 9: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 9

• By the Department of Defense standards, anything you will work on in this chapter is “small”.– “small”- a program with fewer than 100,000

lines of code

– “medium-sized”- a program with 100,000 to 1 million lines

– “large”- a program with more than 1 million lines

How big is a typical computer program?

Page 571

Page 10: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 10

• A computer programmer typically focuses on creating computer programs

• Coding refers to entering the list of commands that become a computer program

• The term computer programming encompasses a broad set of activities that include planning, coding, testing, and documenting

Who creates computer programs?

Page 571

Page 11: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 11

• Software engineering refers to a program development process in which you reduce the cost and complexity of a computer program while increasing its reliability and modifiability

• A software engineer focuses on designing and testing activities

What’s the difference between computer programming and software engineering?

Page 571

Page 12: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 12

• A set of keywords and grammar rules designed for creating instructions that can ultimately be processed, or executed, by the computer– Keywords– Parameters– Syntax

What is a programming language?

Page 572

Page 13: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 13

• Low-level languages vs. high-level languages

• Generation

• Paradigm

How are programming languages categorized?

Page 572

Page 14: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 14

• Typically includes commands that are specific to a particular CPU or microprocessor family

• Includes machine languages and assembly languages

What is a low-level language?

Page 572

Page 15: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 15

• Hides the underlying low-level assembly or machine language, and provides command words and grammar that are more like human languages– COBOL– BASIC– Java– C

What is a high-level language?

Page 572

Page 16: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 16

• Machine languages were the first languages available for programming computers– First-generation languages

• A machine language provides a set of commands, represented as a series of 1s and 0s

What was the first generation of programming languages?

Page 573

Page 17: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 17

• An assembly language allows programmers to use abbreviated command words, called op codes, rather than 1s and 0s

• Classified as a low-level language

• Most often used to write system software

What is a second-generation language?

Page 573

Page 18: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 18

• Third-generation languages use easy-to-remember command words to take the place of several lines of assembly language or endless strings of machine language– COBOL– FORTRAN– Pascal– C– BASIC

What is a third-generation language?

Page 573

Page 19: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 19

• Fourth-generation languages more closely resemble human languages

• Eliminate many of the strict punctuation and grammar rules complicating third-generation languages

• Typically used for database applications– SQL– RPG-I

What is a fourth-generation language?

Page 574

Page 20: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 20

• Some believe a fifth-generation language is a computer programming language based on a declarative programming paradigm

• Other experts feel fifth-generation languages are those that allow programmers to use graphical or visual tools to construct programs

What about fifth-generation languages?

Page 574

Page 21: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 21

• The programming process begins with a problem statement that helps you clearly define the purpose of a computer program

Program Planning: How does a programmer plan a computer program?

Page 576

Page 22: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 22

• Defines certain elements that must be manipulated to achieve a result or goal– Specifies any assumptions that define the

scope of the problem– Clearly specifies the known information– Specifies when the problem has been

solved

What is a problem statement?

Page 576

Page 23: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 23

• Something that you accept as true in order to proceed with program planning

What is an assumption?

Page 576

Page 24: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 24

• The known information in a problem statement is the information that you supply to the computer to help it solve a problem

How does “known information” apply to a problem statement?

Page 577

Page 25: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 25

• It depends on:– The programming language you use– The programming tools that you selected– The programming paradigm that best fits

the problem you’re trying to solve

Program Coding: How do I code a computer program?

Page 577

Page 26: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 26

What is a generic text editor?

Page 578

Page 27: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 27

What is a program editor?

• A type of text editor specially designed for entering code for computer programs

Page 578

Page 28: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 28

What is a VDE?

Page 579

Page 29: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 29

• A computer program must be tested to ensure that it works correctly

• Testing consists of running the program and entering test data to see whether the program produces the correct results

How does a programmer know if a program works?

Page 581

Page 30: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 30

• A syntax error occurs when an instruction does not follow the syntax rules, or grammar, of the programming language

• A runtime error occurs when the computer can’t execute an instruction

• A logic error is an error in the logic or design of a program

What can cause program errors?

Page 581

Page 31: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 31

• Proofreading lines of code

• Programmers can also use a debugger, which allows programmers to step through a program and monitor the status of variables, input, and output

How do programmers find errors?

Page 581

Page 32: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 32

Do computer programs contain any special documentation?

Page 582

Page 33: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Computer Concepts 8th Edition

Chapter 11Computer Programming

Section B: Procedural Programming程序设计

Page 34: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 34

• The traditional approach to programming uses a procedural paradigm– The procedural paradigm is used to

conceptualize the solution as a sequence of steps

What is procedural programming?

Page 584

Page 35: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 35

• A set of steps for carrying out a task

• Carefully following the steps of a correctly formulated algorithm guarantees that you can accomplish the task for which the algorithm was designed

Algorithms: What is an algorithm?

Page 584

Page 36: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 36

• Written in a format that is not specific to a particular programming language

• This approach allows the programmer to focus on correctly formulating the algorithm, without being distracted by the detailed syntax of a computer programming language

How do I write an algorithm?

Page 584

Page 37: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 37

How do I figure out an algorithm?

Page 585

Page 38: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 38

• Structured English –limited selection of sentence structures that reflect processing activities

• Pseudocode – a mixture of English and your favorite programming language

• Flowcharts – a graphical representation of the way that a computer should progress from one instruction to the next

What’s the best way to express an algorithm?

Page 587

Page 39: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 39Page 588

Page 40: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 40

How do I know if my algorithm is correct?

• Before finalizing the algorithm, perform a walkthrough to verify that your algorithm works– Step through the

problem using realistic test data

Page 589

Page 41: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 41

• During sequential execution, the computer performs each instruction in the order it appears– Normal pattern of program execution

Print “This is the first line.”

Print “This is the second line.”

How do I specify the order in which program instructions are performed by the computer?

Page 590

Page 42: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 42

Is there an alternative to sequential execution?

Page 590

Page 43: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 43

Can the computer make decisions while it executes a program?

• A selection control structure (decision structure or branch) tells a computer what to do, based on whether a condition is true or false

Page 592

Page 44: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 44

Can a computer automatically repeat a series of instructions?

• A repetition control structure directs the computer to repeat one or more instructions until a certain condition is met

Page 593

Page 45: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 45

• Problems that can be solved by following a step-by-step algorithm

• Transaction processing– Characterized by the use of a single

algorithm applied to many different sets of data

What kinds of problems are best suited to the procedural approach?

Page 596

Page 46: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 46

• Tends to produce programs that run quickly and use system resources efficiently

• Does not fit gracefully with certain types of problems– Unstructured problems

– Complex algorithms

• Forces programmers to view problems as a series of steps

What are the advantages and disadvantages of the procedural paradigm?

Page 596

Page 47: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Computer Concepts 8th Edition

Chapter 11Computer Programming

Section C: Object-Oriented Programming面向对象程序设计

Page 48: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 48

• Based on the idea that the solution for a problem can be visualized in terms of objects that interact with each other

• An object is a unit of data that represents an abstract or real-world entity

What is the basic focus of the object-oriented paradigm?

Page 597

Page 49: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 49

• A class is a template for a group of objects with similar characteristics

What’s the difference between an object and a class?

Page 597

Page 50: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 50

• The object-oriented paradigm endows classes with quite a bit of flexibility

• An OO feature called “inheritance” provides flexibility to deal with objects’ unique characteristics

Inheritance: How flexible are classes for defining different types of objects?

Page 599

Page 51: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 51

What is inheritance?

• Inheritance refers to passing certain characteristics from one class to other classes

• The process of producing new classes with inherited attributes creates a superclass and subclasses

Page 599

Page 52: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 52

• Programs use objects to manipulate them with methods

• A method is a segment of code that defines an action

Methods and Messages: How does an OO program use objects?

Page 600

Page 53: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 53

• Collect input

• Perform calculations

• Make comparisons

• Execute decisions

• Produce output

What can a method do?

Page 600

Page 54: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 54

• A method is activated by a message, which is included as a line of program code, sometimes called a “call”

What activates a method?

Page 601

Page 55: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 55

• Methods can be defined along with the class they affect

How do methods relate to classes?

Page 601

Page 56: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 56

• The ability to redefine a method in a subclass– Sometimes called overloading

What is polymorphism?

Page 602

Page 57: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 57

• Begins by locating a standard method called main()– Contains code to send messages to

objects by calling methods

How does a Java program begin?

Page 605

Page 58: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 58

What happens when the completed program runs?

Page 606

Page 59: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 59

• Computer historians believe that SIMULA, developed in 1962, was the first computer language to work with objects, classes, inheritance, and methods

• The second major development in object-oriented languages came in 1972 when Alan Kaye began work on the Dynabook project

How did object-oriented languages originate?

Page 606

Page 60: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 60

• Ada95

• C++

• Visual Basic

• C#

• Java

Which object-oriented languages are popular today?

Page 606

Page 61: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 61

• Programmers may be able to visualize the solutions to problems more easily

• Encapsulation allows objects to be adapted and reused in a variety of different programs

• OO programs tend to require more memory and processing resources than procedural programs

What are the advantages and disadvantages of the OO paradigm?

Page 607

Page 62: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Computer Concepts 8th Edition

Chapter 11Computer Programming

Section D: Declarative Programming

Page 63: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 63

• Attempts to describe a problem without specifying exactly how to arrive at a solution

What is a declarative paradigm?

Page 608

Page 64: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 64

• Describes aspects of a problem that lead to a solution

• Focuses on describing the problem

What is unique about the declarative paradigm?

Page 608

Page 65: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 65

• Use a collection of facts and rules to describe a problem– A fact provides the computer with basic

information for solving a problem

What are the building blocks for the declarative paradigm?

Page 608

Page 66: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 66

• The core of most declarative programs is a set of facts and rules that describe a problem

• A decision table is a tabular method for visualizing and specifying rules based on multiple factors

How does a programmer plan a declarative program?

Page 609

Page 67: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 67

• An argument represents one of the main subjects that a fact describes

• The predicate describes the relationship between the arguments

Prolog Facts: How does a programmer code facts?

Page 609

shapeof(pizza,round).

Page 68: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 68

What is a goal?

Page 611

Page 69: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 69

What is instantiation?

Page 612

Page 70: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 70

Prolog Rules: How does a programmer code Prolog rules?

Page 613

Page 71: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 71

Does the order of rules affect the way a Prolog program works?

• The order or sequence of rules in a Prolog program is not critical

Page 615

Page 72: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 72

What does a complete program look like in Prolog?

Page 616

Page 73: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 73

Input Capabilities: How do I collect input from the user?

Page 617

Page 74: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 74

• You can use Prolog’s built-in asserta predicate to temporarily add facts to the program

asserta(priceof(pizza1,10))

How can I add facts at runtime?

Page 617

Page 75: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 75

• Most Prolog compilers provide a trace feature that allows you to track through each instantiation

Debugging with Trace: How do I test a Prolog program?

Page 618

Page 76: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 76

• Databases that contain complex relationships

• Decision support systems that handle semi-structured problems

• Expert systems that require analysis of multiple, interrelated factors

What kinds of problems are suitable for the declarative approach?

Page 618

Page 77: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 77

• Provide a great deal of flexibility for querying a set of facts and rules

• Not very popular and not widely used for production applications

• Provide minimal input and output capabilities• Relatively poor performance on today’s

personal computer architecture

What are the advantages and disadvantages of declarative languages?

Page 619

Page 78: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 78

You should now be able to:– Describe the role of computer programmers and

software engineers

– Categorize today’s popular computer programming languages by generation and paradigm

– Explain the process of planning, coding, and testing a computer program

– Describe the advantages and disadvantages of generic text editors, program editors, and VDEs for coding computer programs

– Define the term algorithm and describe how it relates to procedural programming

Conclusion

Page 79: 信息处理技术. Chapter 11: Computer Programming2 111Chapter 4: File Management, Virus Protection, and Backup 1Chapter 1: Computer, Internet, Web, and E-Mail

Chapter 11: Computer Programming 79

– Identify various tools that programmers use to plan programs, such as flowcharts, structured English, pseudocode, UML diagrams, and decision tables

– Follow the control structures for a procedural program

– Describe the major concepts of object-oriented programming, such as objects, classes, inheritance, messages, methods, polymorphism, and encapsulation

– Create some basic facts and rules using Prolog syntax

– Describe how a declarative language, such as Prolog, satisfies goals by instantiation

Conclusion