COS401a Compiler Theory

advertisement
533557214
Page 1
COS120 Software Development Using C++ – Lecture 1
AUBG, COS dept
Lecture 1





Introduction to Computers, Problem Solving and Programming.
Computer hardware. Computer software. Software development method.
Algorithms – definition and classification. Flowcharts as a tool for
algorithm description.
F&K, Sec 1.1-1.2, 1.5
Computers = Hardware + Software
Computer Hardware:
Computer Software:
Central Processing Unit (CPU);
 Operating Systems;
Memory;
 Programming Languages;
Secondary Storage (HD, FDD, CD);
 Software Applications;
Input/Output (I/O) devices;
 Executing a Program.
Computer Networks.
Program – a list of instructions that enables a computer to perform a specific task.
Numeric systems. Binary number – a number whose digits are 0s and/or 1s only.
Bit (BInary digiT) – has two only values: 0 or 1
1 Byte = 8 Bits – amount of storage required to store a single character
KB – KiloByte
MB – MegaByte
GB – GigaByte TB – TeraByte
1KB
1MB
1GB
1TB
=
1024 bytes
=
1024 KB =
1024 x 1024 bytes
=
1024 MB =
1024 x 1024 KB =
1024 x 1024 x 1024 bytes
= 1024 GB = 1024 x 1024 MB = 1024 x 1024 x 1024 KB = 1024 x 1024 x 1024 x 1024 bytes
Software Development Method
 Specify the problem
requirements;
 Analyze the problem;
 Design the algorithm to
solve the problem;
 Implement the algorithm;
 Test and verify the
completed program;
 Maintain and update the
program.
Software Life Cycle
Program Development Cycle
 Systems Analysis;
 Systems Design;
 Systems Implementation;
 Systems Support.






Analyze;
Design;
Choose interface;
Code;
Test & debug;
Complete
documentation.
More on back page
>>
533557214
Page 2
Algorithms. Origin of term.
Basic idea: the solution to any computing problem involves executing a series of actions
in a specific order.
Algorithm definitions:
Definition1: A procedure
for solving a problem in terms of
1. the actions to be executed, and
2. the order in which these actions are to be executed
is called an algorithm.
Definition2:
An algorithm is a list of steps for solving a problem.
Classification of algorithms:
linear algorithm
branch algorithm
loop algorithm
One way to document algorithms is by using flowcharts (control flow diagrams).
Typical components to build a flowchart (control flow diagram):
 Begin;
 End;
 Activity (action, processing);
 Selection – binary condition (two versions);
 Input – to read data from keyboard or from a file (specific activity);
 Output – to display data or save data to a file (specific activity).
Download