Chapter 3 Introduction to SQL Yonsei University 1 st Semester, 2014 Sanghyun Park.
Chapter 6 Programming Languages (1) Introduction to CS 1 st Semester, 2015 Sanghyun Park.
-
Upload
louisa-reeves -
Category
Documents
-
view
223 -
download
0
Transcript of Chapter 6 Programming Languages (1) Introduction to CS 1 st Semester, 2015 Sanghyun Park.
Chapter 6Programming Languages (1)
Introduction to CS
1st Semester, 2015 Sanghyun Park
Outline Historical Perspective Traditional Programming Concepts Procedural Units (next
file) Language Implementation (next file)
Object-Oriented Programming (skip) Programming Concurrent Activities (skip) Declarative Programming (skip)
Programming Language History ____________ languages (e.g., 5123)
____________ languages (e.g., ADDI R1, R2, R3)
____________ languages (e.g., sum = a + b)
First Generation Language Machine code Specific to the machine __________ _____ to write Even harder to read
Second Generation Language Assembly language Usually a 1-1 _________ to machine code,
e.g., ADDI R1, R2, R3 instead of 5123 ______ to read and write Still specific to the machine architecture Better, but not by much
Assemblers Since assembly language is _____ to machine language,
_________ can be done automatically
ADDI R1,R2,R3 Assembler 5123
Third Generation Languages High level, machine ___________ Much easier to read and write,
e.g., money = bills + coins instead of ADDI R1, R2, R3 Fortran and ______ are early examples
Compilers and Interpreters High-level code needs to be translated into machine
language Compilers do so _______ of time Interpreters do so ___________
CompilerA = B * C
1101
1202
5312
3300
Programming Paradigms Languages can be classified by ________
Many different programming languages
Only a few programming paradigms Imperative/Procedural programming Object-oriented programming Functional programming Logic/Declarative programming
Imperative Programming Traditionally the most _________ The approach we have seen so far Program is a _______ of steps
Receives input Executes a sequence of commands for some computation Generates output
Examples: Fortran, C, COBOL, Pascal
Object-Oriented Programming Program is a collection of ________
An object contains __________ describinghow that object should respond to various ________(icon object and list object, for example)
Interaction between objects is via __________ passing
Examples: Smalltalk, C++, Java, C#
Functional Programming This paradigm views the process of program
development as connecting predefined “______ ______”, each of which accepts inputs and produces outputs
Lisp Expression:(Divide (Sum Numbers) (Count Numbers))
Example: Lisp, Scheme, ML
Logic/Declarative Programming Describe the _________ not the solution The idea here is to discover and implement a ________
problem-solving algorithm Once this is done, problems can be solved by
developing a precise _________ of the problem A major obstacle is the discovery of the underlying
problem-solving algorithm For this reason early declarative languages were
designed for use in _________ applications More recently, formal logic within ____________ gave a
tremendous boost to this paradigm; this resulted in the emergence of logic programming (e.g., Prolog)
Evolution of Programming Paradigms
Traditional Programming Concepts We consider some of the concepts found in imperative
and object-oriented programming languages
We will draw examples from the languagesC, C++, C#, Fortran, Java and Pascal
Appendix D contains a brief background of each lang.
Variables Hold a temporary value that can _______ Some languages insist that a variable should have a
______, while others do not Example: Java
To store an integer, use an int To store a real number, use a float To store a string, use a String
Data Types Common
integer for ______ numbers (16 or 32 bits) float for ______ numbers (32 or 64 bits) character for data consisting of _________
(ASCII (8 bits) or Unicode(16 bits))
Sometimes available Boolean for 0 or 1 (1 bit) String for string of characters (variable length) Many others
Sample Variable Declarations
Literals Value is explicitly stated in a program
int X = 10 (10 is a literal) String Name = “Bob” (“Bob” is a literal) Wage = hours 9.00 (9.00 is a literal)
Although sometimes necessary,the use of literals should be _______ wherever possible
Literals: Problem Example
AverageSales = Sales / 10 AverageSalary = Salary / 10 Pay = Hours 10
What does 10 mean in each of the previous examples? Literals can ______ the meaning of the statements
in which they appear Literals can complicate the task of ________ the program _________ should be used wherever possible
Constants Variables that are not allowed to _____ Once defined, it can’t be changed later Why use constants?
More ________ code _______ to modify code
Pascal const pi=3.14159;
const numDays=10;
Fortran REAL PARAMETER :: pi = 3.14159
INTEGER PARAMETER :: numDays=10
C,C++ const float pi = 3.14159;
const int numDays=10;
Java static final float pi = 3.14159;
static final int numDays=10;
Data Structures A way of thinking _________ data items
as ______ larger data item
Different operations can be performedon different data structures
________ is the most basic example
We will see others later
Arrays: Homogeneous A structure that contains multiple values of the ______
kind
An array of integers
A string can be thought of as an array of _________“This is a string”
12
334
43
693
23
43
345
Arrays: Homogeneous Example In C, C++, Java
char B[20] = “This is a string”;
You can access any item in an array
Index starts at __, not at __
For instance, if we execute B[2] = ‘u’,the array above will become “_____________”
Arrays: Heterogeneous A structure that contains multiple values of different kinds
Assignment Statements Assign to a variable
Value of another variable Result of a computation Result from a function
C, C++, Java Total = Price + Tax;
Pascal Total := Price + Tax;
Assignment Example What are A and B at the end of the following?
int A, B;A = 2;B = 3;A = A+A;A = A+B;B = B B;
Operator Precedence What is A at the end of the following?
int A=2, B=3;A = A / B + B * A – A + B;
Most programming languages will doA = (A / B) + (B * A) – A + B;
Use ___________ to override precedenceA = A /( (B + B) * (A – (A + B)));
Control Statements Alter order of execution of statements in a program
______-entry / ______-exit
Most common ones if-then-else while switch for
If Statement
While Statement
Switch Statement
For Statement
Comments ____________ statements within the code Should not just repeat the code, but __________ on it ________ by compiler C, C++, Java
/* Insert Comments here */
// Or put them here