CSC 241 Lecture, Fall 2012

Lebanese American University · Introduction to Computing · 41 pages · Dr. Ramzi Haraty

All CSC 241 files
CSC 241 Lecture, Fall 2012, page 1

Stuck on a question? A tutor can walk you through it.

CSC 241 Lecture, Fall 2012, page 2 CSC 241 Lecture, Fall 2012, page 3 CSC 241 Lecture, Fall 2012, page 4 CSC 241 Lecture, Fall 2012, page 5 CSC 241 Lecture, Fall 2012, page 6 CSC 241 Lecture, Fall 2012, page 7 CSC 241 Lecture, Fall 2012, page 8 CSC 241 Lecture, Fall 2012, page 9 CSC 241 Lecture, Fall 2012, page 10

Showing the first 10 of 41 pages. Download the PDF to see all of it.

More CSC 241 files

Show the text of this lab
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Computer Science: An Overview Tenth Edition by J. Glenn Brookshear Chapter 6: Programming Languages 6-2 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 6: Programming Languages • 6.1 Historical Perspective • 6.2 Traditional Programming Concepts • 6.3 Procedural Units • 6.4 Language Implementation • 6.5 Object Oriented Programming • 6.6 Programming Concurrent Activities • 6.7 Declarative Programming 6-3 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Figure 6.1 Generations of programming languages 6-4 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Second-generation: Assembly language • A mnemonic system for representing machine instructions – Mnemonic names for op-codes – Identifiers: Descriptive names for memory locations, chosen by the programmer 6-5 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Assembly Language Characteristics • One-to-one correspondence between machine instructions and assembly instructions – Programmer must think like the machine • Inherently machine-dependent • Converted to machine language by a program called an assembler 6-6 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Program Example Machine language 156C 166D 5056 30CE C000 Assembly language LD R5, Price LD R6, ShippingCharge ADDI R0, R5 R6 ST R0, TotalCost HLT 6-7 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Third Generation Language • Uses high-level primitives – Similar to our pseudocode in Chapter 5 • Machine independent (mostly) • Examples: FORTRAN, COBOL • Each primitive corresponds to a sequence of machine language instructions • Converted to machine language by a program called a compiler 6-8 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Figure 6.2 The evolution of programming paradigms 6-9 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Figure 6.3 A function for checkbook balancing constructed from simpler functions 6-10 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Figure 6.4 The composition of a typical imperative program or program unit 6-11 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Data Types • Integer: Whole numbers • Real (float): Numbers with fractions • Character: Symbols • Boolean: True/false 6-12 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Variable Declarations float Length, Width; int Price, Total, Tax; char Symbol; 6-13 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Figure 6.5 A two-dimensional array with two rows and nine columns 6-14 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Figure 6.6 The conceptual structure of the heterogeneous array Employee 6-15 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Figure 6.7 The for loop structure and its representation in C++, C#, and Java 6-16 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Procedural Units • Local versus Global Variables • Formal versus Actual Parameters • Passing parameters by value versus reference • Procedures versus Functions 6-17 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Figure 6.8 The flow of control involving a procedure 6-18 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Figure 6.9 The procedure ProjectPopulation written in the programming language C Figure 6.10 Executing the procedure Demo and passing parameters by value Figure 6.11 Executing the procedure Demo and passing parameters by reference 6-21 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Figure 6.12 The function CylinderVolume written in the programming language C 6-22 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Figure 6.13 The translation process 6-23 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Figure 6.14 A syntax diagram of our if-then-else pseudocode statement 6-24 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Figure 6.15 Syntax diagrams describing the structure of a simple algebraic expression 6-25 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Figure 6.16 The parse tree for the string x + y x z based on the syntax diagrams in Figure 6.17 Figure 6.17 Two distinct parse trees for the statement if B1 then if B2 then S1 else S2 6-27 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Figure 6.18 An object-oriented approach to the translation process 6-28 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Objects and Classes • Object: Active program unit containing both data and procedures • Class: A template from which objects are constructed An object is called an instance of the class. 6-29 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Figure 6.19 The structure of a class describing a laser weapon in a computer game 6-30 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Components of an Object • Instance Variable: Variable within an object – Holds information within the object • Method: Procedure within an object – Describes the actions that the object can perform • Constructor: Special method used to initialize a new object when it is first constructed 6-31 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Figure 6.21 A class with a constructor 6-32 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Object Integrity • Encapsulation: A way of restricting access to the internal components of an object – Private versus public 6-33 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Figure 6.22 Our LaserClass definition using encapsulation as it would appear in a Java or C# program 6-34 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Additional Object-oriented Concepts • Inheritance: Allows new classes to be defined in terms of previously defined classes • Polymorphism: Allows method calls to be interpreted by the object that receives the call 6-35 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Programming Concurrent Activities • Parallel (or concurrent) processing: simultaneous execution of multiple processes – True concurrent processing requires multiple CPUs – Can be simulated using time-sharing with a single CPU 6-36 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Figure 6.23 Spawning threads 6-37 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Controlling Access to Data • Mutual Exclusion: A method for ensuring that data can be accessed by only one process at a time • Monitor: A data item augmented with the ability to control access to itself 6-38 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Declarative Programming • Resolution: Combining two or more statements to produce a new statement (that is a logical consequence of the originals). – Example: (P OR Q) AND (R OR Q) resolves to (P OR R) – Resolvent: A new statement deduced by resolution – Clause form: A statement whose elementary components are connected by the Boolean operation OR • Unification: Assigning a value to a variable so that two statements become “compatible.” 6-39 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Figure 6.24 Resolving the statements (P OR Q) and (R OR ¬Q) to produce (P OR R) 6-40 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Figure 6.25 Resolving the statements (P OR Q), (R OR ¬Q), ¬R, and ¬P 6-41 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Prolog • Fact: A Prolog statement establishing a fact – Consists of a single predicate – Form: predicateName(arguments). • Example: parent(bill, mary). • Rule: A Prolog statement establishing a general rule – Form: conclusion :- premise. • :- means “if” – Example: wise(X) :- old(X). – Example: faster(X,Z) :- faster(X,Y), faster(Y,Z).