You are on page 1of 29

Chapter 1:

Introduction to Computer and Programming

OBJECTIVES
In this chapter you will learn about:
Overview of PC components
The different types of language
Natural Language
Formal Language
Functional / Imperative Language
Programming Languages
C as an imperative language

C program at a glance

Overview of PC Components

COMPUTER HARDWARE COMPONENTS

Components of a PC
4

INPUT / OUTPUT DEVICES


Input Devices
Accepts information from the user and transforms it to
digital codes that the computer can process
Example: keyboard, mouse, scanner
Output Devices
An interface by which the computer conveys the output to
the user
Example: monitor, printer

MAIN MEMORY
A semiconductor device which stores the

information necessary for a program to run.


2 types
ROM (Read Only Memory)
Contains information that is necessary for the computer to

boot up
The information stays there permanently even when the
computer is turned off.

RAM (Random Access Memory)


Contains instruction or data needed for a program to run
Got erased when the computer is turned off.
6

CENTRAL PROCESSING UNIT (CPU)


Does most of the work in executing a program

The CPU inside a PC is usually the microprocessor


3 main parts:
Control Unit
Fetch instructions from main memory and put them in the

instruction register

ALU (Arithmetic Logic Unit)


Execute arithmetic operations
Registers
Temporarily store instructions or data fetched from
memory
7

STORAGE DEVICES
A magnetic device used to store a large amount of

information.

Store the software components or data needed for

the computer to execute its tasks.

Could be read only or writable.


Example: Hard drive, CD ROM, floppy disks

NETWORK DEVICES
Connect a computer to the other computers.

Enable the users to access data or execute programs

remotely.

Example: modem, Ethernet card

The different types of language

NATURAL LANGUAGE
Our everyday-language; spoken and written
Not 100% needed to understand:
Do you want to buy this computer ? remains
comprehensible
Depends on circumstances; the context:
Do you like one ? doesn't make sense on its

own. It needs a situation around it:

someone holding a bouquet of flowers: you might take

one
someone pointing to an expensive car: your opinion is
asked
someone 'offers' you an oily cloth to sneeze: you don't
take it
11

SEMANTICS AND SYNTAX


Semantics the meaning of the language within a

given context

Syntax - Syntax are the rules to join words

together in forming a correct expression or phrase.


In natural languages it is often possible to assemble

a sentence in more than one correct ways.

12

FORMAL LANGUAGE
Language with limited, defined, words

Each concatenation of words ('phrase') has a single,

clearly defined meaning


no (miss-)interpretation possible

Sometimes called Context Free Language


To 'talk' to a computer; to instruct a computer; our

commands must be 100% clear and correct.

Often there is only a single, correct syntax.

13

FUNCTIONAL / IMPERATIVE LANGUAGE


Functional Language:
Tell what to do, but not how:

sum [1...10]
Imperative Language:
Tell what to do, but mainly how:

Take number 1 and add the next number to it;


then add the next number to the sum; and so on;
until you have reached 10 as number to be added.
Then print the sum of all numbers

14

WHAT IS PROGRAMMING?
Programming is instructing a computer to do

something for you with the help of a programming


language

The two roles of a programming language:


Technical: It instructs the computer to perform tasks.
Conceptual: It is a framework within which we organize our
ideas about things and processes.
In programming, we deal with two kind of things:
Data - representing 'objects' we want to manipulate
Procedures -'descriptions' or 'rules' that define how to
manipulate data.
15

PROGRAMMING LANGUAGE
Formal

Language used to communicate to a


computer.

A programming language contains instructions for

the computer to perform a specific action or a


specific task:
'Calculate the sum of the numbers from 1 to 10
'Print I like programming
'Output the current time'

16

PROGRAMMING LANGUAGE
Can be classified into as a special-purpose and

general-purpose programming languages.

Special-purpose : is design for a particular type of

application

Structured Query Language (SQL)

General-purpose : can be used to obtain solutions

for many types of problems


Machine Languages

Assembly Languages
High-Level Languages
17

MACHINE LANGUAGE
The only language that the processor actually

'understands
Consists of binary codes: 0 and 1
Example:

00010101
11010001
01001100

Each of the lines above corresponds to a specific

task to be done by the processor.


Programming in machine code is difficult and slow
since it is difficult to memorize all the instructions.
Mistakes can happen very easily.
Processor and Architecture dependent
18

ASSEMBLY LANGUAGE
Enables machine code to be represented in words

and numbers.
Example of a program in assembler language:
LOAD A, 9999
LOAD B, 8282
SUB B
MOV C, A
LOAD C, #0002
DIV A, C
STORE A, 7002

Easier

to understand and memorize (called


Mnemonics), compared to machine code but still
quite difficult to use.
Processor and Architecture dependent

19

HIGH-LEVEL LANGUAGE
Use more English words. They try to resemble English

sentences. Therefore, it is easier to program in these


languages.
The programming structure is problem oriented - does
not need to know how the computer actually executes
the instructions.
Processor independent - the same code can be run on
different processors.
Examples: Basic, Fortran, Pascal, Cobol, C, C++, Java
A high level language needs to be analyzed by the
compiler and then compiled into machine code so that
it can be executed by the processor.
20

C PROGRAMMING LANGUAGE
Why 'C' ?
Because based on 'B'; developed at Bell Laboratories
Developed by Dennis Ritchie at Bell Laboratories in

the 1960s

In cooperation with Ken Thomson it was used for

Unix systems

The C Language was only vaguely defined, not

standardized, so that almost everyone had his own


perception of it, to such an extend that an urgent
need for a standard code was creeping up

21

C PROGRAMMING LANGUAGE
In 1983, the American National Standards Institute

(ANSI) set up X3J11, a Technical Committee to draft a


proposal for the ANSI standard, which was approved
in 1989 and referred to as the ANSI/ISO 9899 : 1990
or simply the ANSI C, which is now the global
standard for C.

This standard was updated in 1999; but there is no

compiler yet

22

C as an Imperative Language

C AN IMPERATIVE LANGUAGE
C is a highly imperative language
We must tell it exactly how to do what;
the means and functions to use;
which libraries to use;
when to add a new line;
when an instruction is finished;
in short: everything and anything

Hint: Observe the syntax in the next slide

24

C Program at a Glance

A SIMPLE PROGRAM IN C
#include <stdio.h>
int main()

{
printf("I like programming in C.\n");

return 0;
}
26

A SIMPLE PROGRAM IN C - EXPLANATION


#include <stdio.h>
standard Library, input-output, header-file
Begin of program

int main()
Start of Segment
{
Function for printing text

printf("I like programming in C.\n");


return 0;
Insert a new line

}
End of Segment

End of statement

27

C OUTPUT

I like programming in C.

28

SUMMARY
We have looked at some underlying hardware
We have seen some different types of languages;
the relevance of semantics and syntax.
We have observed the detail necessary in an

imperative language to instruct a computer


properly.

Finally, we examined the syntax to print a line of

text to the screen of our computer.

29

You might also like