* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Intro to computer programming
Programming language wikipedia , lookup
Reactive programming wikipedia , lookup
Abstraction (computer science) wikipedia , lookup
Stream processing wikipedia , lookup
Go (programming language) wikipedia , lookup
Structured programming wikipedia , lookup
Interpreter (computing) wikipedia , lookup
C Sharp (programming language) wikipedia , lookup
Parallel computing wikipedia , lookup
PGT106 – C PROGRAMMING
Introduction to Computers and Programming Languages (Part 1)
Computer Fundamentals
Computer system is divided into hardware and software.
Hardware refers to physical components of computer which are:
o Main Memory
o Central Processing Unit (CPU)
o Input Device
o Output Device
o Secondary Memory Device
Figure 1.1 - example of processors (CPU)
The Intel Atom processor chip contains the full circuitry of a central
processing unit in an integrated circuit whose small size and low power
requirements make it suitable for use in mobile internet devices. (Intel
Corporation Pressroom Photo Archives)
Figure 1.2 - Types of Computers
(a) Notebook Computer (HP Pavilion dv5©, Courtesy of Hewlett-Packard).
(b) Palmtop Computer (iPhone 3G©, Courtesy of Apple, Inc.)
(c) Desktop Computer (iMac©, Courtesy of Apple, Inc.)
1
PGT106 – C PROGRAMMING
Figure 1.3 Components of a Computer
CPU
Control Unit
Input Device
Arithmetic and
Logic Unit
Output Device
Register
Main Memory
Secondary Memory
Central Processing Unit (CPU)
o CPU is the computer’s administrator and is responsible for supervising
the operation of the other sections
o Consists of two functional units;
control unit
- supervises all activities of the computer system
arithmetic-logic unit (ALU)
- performs basic arithmetic operations and comparison
operations
2
PGT106 – C PROGRAMMING
Main
o
o
o
Memory
keeps information from the input unit.
Used only during processing of data.
also keeps processed information until it can be placed on output
devices
o all programs must be loaded into main memory before they can be
executed and all data must be brought into main memory before it can
be manipulated.
o However, the data/information is temporary. It will be discarded after a
program ends, or when the computer is turned off.
o Main memory can be further classified into two types:
Random Access Memory (RAM)
- information in RAM will be lost when the computer is
turned-off.
Read Only Memory (ROM)
- It has been set during manufacturing process. ROM
usually contains instructions and information considered
to be fundamental to the computer.
o Figure 1.4
Visual representation of 1000 Memory Cells in Main Memory
Secondary Memory/ Secondary storage
o Stores information permanently (as compared to temporary
information retain of main memory)
o The stored information can be retrieved later.
o Examples of information/data that is stored :
program file, data file, image file, etc
o Examples of secondary storage devices:
hard disk, diskette, CD, USB drives, etc
(refer to figure 1.3)
3
PGT106 – C PROGRAMMING
Input/Output Devices
o Input devices –
feed data and programs into computers
e.g. keyboard, mouse, touch screen, scanners
o Output devices –
display results produced by computer
e.g. monitor, printer, speaker
Software
o As a complement to hardware, computer system needs software to
work/function.
o Softwares are classified into :
System software
Application software
Programming Languages
o System software : manages the computer and its peripheral devices
(hardware)
E.g. Operating system (OS)
Text editor
Pre-processor
Language translator
Linker
Loader
o Application software : performs specific tasks
E.g. word processor, desktop publishing software, spreadsheets,
database, graphics, communication, programs perform specific
tasks such as accounting, scientific, engineering, education, etc
Programming Fundamentals
Programming Languages
o Programming language is divided into three categories:
Machine Language
Assembly Language
High-Level Language
o Machine Language
Language understood by the computer
Bunch of 0’s and 1’s (binary code)
Program written in machine language can be executed without
being translated
Nevertheless, hard to learn because it is written in 0’s and 1’s
Program is too long to solve simple problem
Machine-dependant and not portable
E.g.
1011 1100 0100 1011 1000
1010 0101 1001 1100 0111
4
PGT106 – C PROGRAMMING
Figure 1.6 Relationship Between a Byte and a Bit
o Assembly Language
Strings of 0’s and 1’s are replaced into instructions which
resemble English language to represent computer operation
element
Easier to understand and write
E.g.
LOAD
MULT
STOR
rate
hour
wages
Nevertheless, needs a language translator called Assembler to
change Assembly Language to Machine Code for execution
purpose
still too long and not portable
o High-Level Language
Improves weaknesses in Machine Language and Assembly
Language
Easier understood because it is closer to natural language
(especially English)
Portable (Can be executed on more than one platforms/
environments)
Written in one instruction to carry out several instructions in
machine level
E.g. discount_price = price – discount;
needs a compiler : a system software that translates source
program to object program
- translates the codes into machine language
Examples:
- C, C++, Java, Visual Basic, Pascal.
Algorithms
o Refers to the solution to any computing problem which involves
executing series of actions in a specific order (step-by-step
instructions)
o Represented in writing, and can be replicated (used again and again)
5
PGT106 – C PROGRAMMING
o Two most common ways of representing an algorithm:
Pseudo code
Flow chart
o Pseudo code : artificial and informal language that helps programmers
develop algorithms
E.g. :
Start
Get student’s grade.
if student’s grade is greater than or equal to 50
Print “Pass”
else
Print “Fail”
End
o Flowchart: visual-form of an algorithm
E.g.
start
Read grade
grade >= 50
True
Print “Pass”
False
Print “Fail”
end
o Basic symbols in a flowchart
Terminator
(start/ end)
Direction flow
Process
connector
Input/ output
(data)
Decision
6
PGT106 – C PROGRAMMING
Basics of a Typical C Program Development Environment
7
PGT106 – C PROGRAMMING
Figure 1.7 Entering, Translating, and Running a High-Level Language
Program
Figure 1.8 Flow of Information During Program
Execution
8
PGT106 – C PROGRAMMING
Simple C Program: Program to add two numbers
o For starters, just remember that a program MUST include the parts
marked as * .
#include <stdio.h>
*
int main()
{
int dA, dB, dSum;
printf (“Input first integer \n”);
scanf (“%d”, &dA);
printf (“Input second integer \n”);
scanf (“%d”, &dB);
dSum = dA + dB;
printf (“Sum is %d\n”, dSum);
return 0;
*
}
9