Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
2 views

Computer Programming Notes-2

The document provides an overview of computer programming, defining key terms such as computer programs, programming languages, and the roles of language translators like assemblers, interpreters, and compilers. It distinguishes between low-level and high-level programming languages, highlighting their features, advantages, and disadvantages. Additionally, it discusses the importance of syntax and semantics in programming, as well as the functions of linkers and loaders in managing program modules.

Uploaded by

aggrey Kegesa
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Computer Programming Notes-2

The document provides an overview of computer programming, defining key terms such as computer programs, programming languages, and the roles of language translators like assemblers, interpreters, and compilers. It distinguishes between low-level and high-level programming languages, highlighting their features, advantages, and disadvantages. Additionally, it discusses the importance of syntax and semantics in programming, as well as the functions of linkers and loaders in managing program modules.

Uploaded by

aggrey Kegesa
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 12

COMPUTER PROGRAMMING MR.

DAVID

Definition of terms
Computer Program:
A computer program is a set of coded instructions given to the computer, and represents a logical solution
to a problem. It directs a computer in performing various operations/tasks on the data supplied to it.
Computer programs may be written by the hardware manufacturers, Software houses, or a programmer to
solve user problems on the computer.
Programming:
Programming is the process of designing a set of instructions (computer programs) which can be used to
perform a particular task or solve a specific problem.
It involves use of special characters, signs and symbols found in a particular programming language to
create computer instructions.
A computer program performs the following:
1. Accepts data from outside the computer as its input.
2. Carries out a set of processes on the data within the computer memory.
3. Presents the results of this processing as its output, and
4. Stores the data for future use.
Programming Languages:
A programming language is a set of symbols (a language) which a computer programmer uses to solve a
given problem using a computer.
The computer must be able to translate these instructions into machine-readable form when arranged in a
particular sequence or order
TERMS USED IN COMPUTER PROGRAMMING
Source program (source code)
The term Source program refers to program statements that the programmer enters in the program editor
window, and which have not yet been translated into machine-readable form.
Source code is the code understood by the programmer, and is usually written in high-level language or
Assembly language.
Object code (object program).
The term Object code refers to the program code that is in machine-readable (binary) form.
This is the code/language the computer can understand, and is produced by a Compiler or Assembler after
translating the Source program into a form that can be readily loaded into the computer.
LANGUAGE TRANSLATORS
A computer uses & stores information in binary form, and therefore, it cannot understand programs
written in either high-level or low-level languages. This means that, any program code written in
Assembly language or high-level language must be translated into Machine language, before the
computer can recognize & run these programs.
A Translator is special system software used to convert the Source codes (program statements written in
any of the computer programming languages) to their Object codes (computer language equivalents).
The Translators reside in the main memory of the computer, and use the program code of the high-level or
Assembly language as input data, changes the codes, and gives the output program in machine-readable
code.
Each language needs its own translator. Generally, there are 3 types of language translators:
1. Assembler.
2. Interpreter.
3. Compiler.
Note. Interpreters & Compilers translate source programs written in high-level languages to their machine
language equivalents.
Assembler
An assembler translates programs written in Assembly language into machine language that the computer
can understand and execute.
Functions of an Assembler.
1). It checks whether the instructions written are valid, and identifies any errors in the program.
The Assembler will display these errors as well as the complete source and object programs. If the
program has no errors, the job control will let it run immediately, or save the object program so that
it may run it later without translating it again.
2). It assigns memory locations to the names the programmer uses.

1
COMPUTER PROGRAMMING MR.DAVID

E.g., the Assembler keeps a table of these names so that if an instruction refers to it, the Assembler
can easily tell the location to which it was assigned.
3). It generates the machine code equivalent of the Assembly instructions.
Usually, the Assembler generates a machine code only when no errors are detected. Some of the
errors include;
- Typing mistakes.
- Using the wrong format for an instruction.
- Specifying a memory location outside the range 0 – 2047.
Note. The Assembler cannot detect Logic errors. The programmer knows of these errors only
when the program is run & the results produced are incorrect (not what the programmer expected).
The programmer must therefore, go through the program & try to discover why an incorrect result
was being produced.
Interpreter
An interpreter translates a source program word by word or line by line. This allows the CPU to execute
one line at a time.
The Interpreter takes one line of the source program, translates it into a machine instruction, and then it is
immediately executed by the CPU. It then takes the next instruction, translates it into a machine
instruction, and then the CPU executes it, and so on.
The translated line is not stored in the computer memory. Therefore, every time the program is needed
for execution, it has to be translated.
Compiler
A compiler translates the entire/whole source program into object code at once, and then executes it in
machine language code. These machine code instructions can then be run on the computer to perform the
particular task as specified in the high-level program.
The process of translating a program written in a high-level source language into machine language using
a compiler is called Compilation
Points to note.
 The job of a Compiler is much more difficult than that of an Assembler in that, a single statement in a
high-level language is equivalent to many machine instructions.
 The format of an Assembly instruction is fairly fixed, while high-level languages give a lot of freedom
in the way the programmer writes statements.
Functions of a compiler.
A Compiler performs the following tasks during the compilation process:
1). It identifies the proper order of processing, so as to execute the process as fast as possible &
minimize the storage space required in memory.
2). It allocates space in memory for the storage locations defined in the program to be executed.
3). It reads each line of the source program & converts it into machine language.
4). It checks for Syntax errors in a program (i.e., statements which do not conform to the grammatical
rules of the language). If there are no syntax errors, it generates machine code equivalent to the
given program.
5). It combines the program (machine) code generated with the appropriate subroutines from the
library.
6). It produces a listing of the program, indicating errors, if any.

Differences between Compilers and Interpreters


Interpreter Compiler
1. Translates & executes each statement of the 1. Translates all the source code statements at
source code one at a time. once as a unit into their corresponding object
The source code instruction is translated & codes, before the computer can execute them.
immediately obeyed by the computer A Compiler translates the entire source
hardware before the next instruction can be program first to machine code, and then the
translated. code is executed by the CPU.
(Translation & execution go together). (Translation & execution are separate phases)

2. Translates the program each time it is needed 2. Compiled programs (object codes) can be
for execution; hence, it is slower than saved on a storage media and run when
compiling. required; hence executes faster than

2
COMPUTER PROGRAMMING MR.DAVID

interpreted programs.
3. Interpreted object codes take less memory
compared to compiled programs. 3. Compiled programs require more memory as
their object files are larger.
4. For an Interpreter, the syntax (grammatical)
errors are reported & corrected before the 4. For a Compiler, the syntax errors are reported
execution can continue. & corrected after the source code has been
translated to its object code equivalent.
5. An Interpreter can relate error messages to the
source program, which is always available to 5. Once the source program has been translated,
the Interpreter. This makes debugging of a it is no longer available to the Compiler, so
program easier when using an Interpreter than the error messages are usually less
a Compiler. meaningful.

Linkers & Loaders


Computer programs are usually developed in Modules or Subroutines (i.e., program segments meant to
carry out the specific relevant tasks). During program translation, these modules are translated separately
into their object (machine) code equivalents.
The Linker is a utility software that accepts the separately translated program modules as its input, and
logically combines them into one logical module, known as the Load Module that has got all the required
bits and pieces for the translated program to be obeyed by the computer hardware.
The Loader is a utility program that transfers the load module (i.e. the linker output) into the computer
memory, ready for it to be executed by the computer hardware.
Syntax
Each programming language has a special sequence or order of writing characters.
The term Syntax refers to the grammatical rules, which govern how words, symbols, expressions and
statements may be formed & combined.
Semantics
These are rules, which govern the meaning of syntax. They dictate what happens (takes place) when a
program is run or executed.
LEVELS OF PROGRAMMING LANGUAGES
There are many programming languages. The languages are classified into 2 major categories:
1). Low-level programming languages.
2). High-level programming languages.
Each programming language has its own grammatical (syntax) rules, which must be obeyed in order to
write valid programs, just as a natural language has its own rules for forming sentences.
LOW-LEVEL LANGUAGES

These are the basic programming languages, which can easily be understood by the computer directly, or
which require little effort to be translated into computer understandable form.
They include:
1. Machine languages.
2. Assembly languages.
Features of low-level languages
 They are machine hardware-oriented.
 They are not portable, i.e., a program written for one computer cannot be installed and used on another
computer of a different family.
 They use Mnemonic codes.
 They frequently use symbolic addresses.
Machine languages (1st Generation languages)
Machine language is written using machine codes (binary digits) that consist of 0’s & 1’s.
The computer can readily understand Machine code (language) instructions without any translation.
A programmer is required to write his program in strings of 0’s & 1’s, calculate & allocate the core
memory locations for his data and/or instructions.
Different CPU’s have different machine codes, e.g., codes written for the Intel Pentium processors may
differ from those written for Motorola or Cyrix processors. Therefore, before interpreting the meaning of
a particular code, a programmer must know for which CPU the program was written.

3
COMPUTER PROGRAMMING MR.DAVID

A machine code instruction is made up of 2 main parts;


(i). An Address (operand):
It specifies the location (address) of the computer memory where the data to be worked upon can
be found.
(ii). A Function (operation) code:
It states to the Control Unit of the CPU what operation should be performed on the data/item held
in the address, e.g., Addition, Subtraction, Division, Multiplication, etc.
Note. The computer can only execute instructions which are written in machine language. This is
because; it is the only language which the computer can understand. Therefore, any program written in
any other programming language must first be translated into machine language (binary digits) before the
computer can understand.
Assembly language (2nd Generation Languages).
Assembly languages were developed in order to speed up programming (i.e., to overcome the difficulties
of understanding and using machine languages).
The vocabulary of Assembly languages is close to that of machine language, and their instructions are
symbolic representations of the machine language instructions.
 Assembly language programs are easier to understand, use & modify compared to Machine language
programs.
 Assembly language programs have less error chances.
To write program statements in Assembly language, the programmer uses a set of symbolic operation
codes called Mnemonic codes
A program written in an Assembly language cannot be executed/obeyed by the computer hardware
directly. To enable the CPU understand Assembly language instructions, an Assembler (which is stored
in a ROM) is used to convert them into Machine language.
The Assembler accepts the source codes written in an Assembly language as its input, and translates them
into their corresponding computer language (machine code/ object code) equivalent.
Comments are incorporated into the program statements to make them easier to be understood by the
human programmers.
Assembly languages are machine-dependent. Therefore, a program written in the Assembly language for
a particular computer cannot run on another make of computer.
Advantages of Low-level languages
1. The CPU can easily understand machine language without translation.
2. The program instructions can be executed by the hardware (processor) much faster. This is because;
complex instructions are already broken down into smaller simpler ones.
3. Low-level languages have a closer control over the hardware, are highly efficient & allow direct
control of each operation.
They are therefore suitable for writing Operating system software & Game programs, which require
fast & efficient use of the CPU time.
4. They require less memory space.
5. Low-level languages are stable, i.e., they do not crash once written.
Disadvantages of Low-level languages
Very few computer programs are actually written in machine or Assembly language because of the
following reasons;
1. Low-level languages are difficult to learn, understand, and write programs in them.
2. Low-level language programs are difficult to debug (remove errors from).
3. Low-level languages have a collection of very detailed & complex instructions that control the
internal circuiting of the computer. Therefore, it requires one to understand how the computer codes
internally.
4. Relating the program & the problem structures is difficult, and therefore cumbersome to work with.
5. The programs are very long; hence, writing a program in a low-level language is usually tedious &
time consuming.
6. The programs are difficult to develop, maintain, and are also prone to errors (i.e., it requires highly
trained experts to develop and maintain the programs).
7. Low level languages are machine-dependent (specific), hence non-portable.
This implies that, they are designed for a specific machine & specific processor, and therefore, cannot
be transferred between machines with different hardware or software specifications.
8. It is not easy to revise the program, because this will mean re-writing the program again.

4
COMPUTER PROGRAMMING MR.DAVID

HIGH-LEVEL PROGRAMMING LANGUAGES


High-level languages were developed to solve (overcome) the problems encountered in low-level
programming languages.
The grammar of High-level languages is very close to the vocabulary of the natural languages used by
human beings. Hence; they can be read and understood easily even by people who are not experts in
programming.
Most high-level languages are general-purpose & problem-oriented. They allow the programmer to
concentrate on the functional details of a program rather than the details of the hardware on which the
program will run.
High-level language programs are machine-independent, (i.e., they do not depend on a particular
machine, and are able to run in any family of computers provided the relevant translator software is
installed).

Programs written in a high-level language cannot be obeyed by the computer hardware directly.
Therefore, the source codes must be translated into their corresponding machine language equivalent. The
translation process is carried out by a high-level language software translator such as a Compiler or an
Interpreter.
Features of high-level programming languages.
They contain statements that have an extensive vocabulary of words, symbols, sentences & mathematical
expressions, which are very similar to the normal English language
 Allow modularization (sub-routines).
 They are ‘user-friendly’ and problem-oriented rather than machine-based. This implies that, during a
programming session, the programmer concentrates on problem-solving rather than how a machine
operates.
 They require one to be obey a set of rules when writing the program.
 Programs written in high-level languages are shorter than their low-level language equivalents, since
one statement translates into several machine code instructions.
 The programs are portable between different computers.
Purpose of High-level languages.
1. To improve the productivity of a programmer. This is because; the source programs of high-level
languages are shorter than the source programs of low-level languages, since one statement translates
into several machine code instructions.
2. To ease the training of new programmers, since there is no need to learn the detailed layout of a
procession/sequence.
3. To speed up testing & error correction.
4. To make programs easy to understand & follow.
Advantages of High-level languages.
1. They are easily portable, i.e., they can be transferred between computers of different families and run
with little or no modification.
2. High-level language programs are short, and take shorter time to be translated.
3. They are easy to lean, understand and use.
4. They are easy to debug (correct/remove errors), & maintain.
5. High level language programs are easy to modify, and also to incorporate additional features thus
enhancing its functional capabilities.
6. They are ‘user-friendly’ & problem-oriented; hence, can be used to solve problems arising from the
real world.
7. They enable programmers to adapt easily to new hardware. This is because; they don’t have to worry
about the hardware design of the computer.
8. High-level language programs are self-documenting, i.e., the program statements displays the
transparency of purpose making the verification of the program easy.
9. High level languages are more flexible; hence, they enhance the creativity of the programmer and
increase his/her productivity in the workplace.
Disadvantages of using High-level languages
1. High-level languages are not machine-oriented; hence, they do not use of the CPU and hardware
facilities efficiently.
2. The languages are machine-independent, and cannot be used in programming the hardware directly.
3. Each high-level language statement converts into several machine code instructions. This means that,

5
COMPUTER PROGRAMMING MR.DAVID

they use more storage space, and it also takes more time to run the program.
4. Their program statements are too general; hence, they execute slowly than their machine code
program equivalents.
5. They have to be interpreted or compiled to machine-readable form before the computer can execute
them.
6. The languages cannot be used on very small computers.
The source program written in a high-level language needs a Compiler, which is loaded into the main
memory of the computer, and thus occupies much of memory space. This greatly reduces the
memory available for a source program.
TYPES OF HIGH-LEVEL LANGUAGES.
High-level languages are classified into five different groups:
1. Third generation languages (Structured / Procedural languages).
2. Fourth generation languages (4GLs).
3. Fifth generation languages (5GLs)
4. Object-oriented programming languages (OOPs).
5. Web scripting languages.
STRUCTURED LANGUAGES
A structured (procedural) language allows a large program to be broken into smaller sub-programs called
modules, each performing a particular (single) task. This technique of program design is referred to as
structured programming.

Structured programming also makes use of a few simple control structures in problem solving. The 3
basic control structures are:
 Sequence
 Selection.
 Iteration (looping).
Advantages of structured programming.

1. It is flexible.
2. Structured programs are easier to read.
3. Programs are easy to modify because; a programmer can change the details of a section without
affecting the rest of the program.
4. It is easier to document specific tasks.
5. Use of modules that contain standard procedures throughout the program saves development time.
6. Modules can be named in such a way that, they are consistent and easy to find in documentation.
7. Debugging is easier because; each module can be designed, coded & tested independently.
Examples of Third generation programming languages include
1). BASIC (Beginners All-purpose Symbolic Instructional Code).

2). PASCAL-PASCAL is a general-purpose, high-level programming language, which was named after
a French mathematician called Blaise Pascal.
3). COBOL (COmmon Business Oriented Language)-COBOL is designed for developing programs
that solve business problems
4). FORTRAN (FORmula TRANslator)-It was developed for mathematicians, scientists and engineers
5). Ada-This language was named after the first lady programmer Ada Lovelace.
It is suitable for developing military, industrial and real-time systems.
6). C- is mainly used for developing system software such as the operating system as well as developing
the application packages
7). LOGO- was designed for educational use in which children can explore & develop concepts through
programming the movement of a pen.
8). COROL-COROL is used in Real-time processing.
COROL programs are compiled.
9). RPG (Report Program Generator)-RPG is used in report generating applications, (i.e. it is designed
to facilitate the output of reports of business data).
A Report generator is a software tool that extracts stored data to create customized reports that are
not normally/usually produced by existing applications.

6
COMPUTER PROGRAMMING MR.DAVID

10). SNOBOL (String Oriented Symbolic Language).-It is a high-level language designed to manipulate
strings of characters. It is therefore used for non-numeric applications
FOURTH GENERATION LANGUAGES (4GL’S).
4GLs make programming even easier than the 3GLs because; they present the programmer with
more programming tools, such as command buttons, forms, textboxes etc. The programmer simply
selects graphical objects called controls on the screen, and then uses them to create designs on a
form by dragging a mouse pointer
4GLs are used to enquire & access the data stored in database systems; hence, they are described as the
Query languages.
Purpose of fourth generation languages.

The 4GL’s were designed to meet the following objectives: -


1. To speed up the application-building process, thereby increasing the productivity of a programmer.
2. To enable quick & easy amendments and alteration of programs.
3. To reduce development & maintenance costs.
4. To make languages user-friendly. This is because, the 4GL’s are designed to be user-oriented, unlike
the 3rd generation languages which are problem & programmer oriented.

5. To allow non-professional end-users to develop their own solutions.


6. To generate bug-free codes from high-level expressions of requirements.
Examples of 4GLs are:
 Visual Basic
 Delphi Pascal
 Visual COBOL (Object COBOL)
 Access Basic
Advantages of fourth generation languages.
1. They are user-based, and therefore, easy to learn & understand.
2. The grammar of 4GL’s is very close to the natural English language. It uses menus & prompts to
guide a non-specialist to retrieve data with ease.
3. Very little training is required in order to develop & use 4GL programs.
4. They provide features for formatting of input, processing, & instant reporting.
FIFTH GENERATION LANGUAGES (5GL’S).
The 5GL’s are designed to make a computer solve a problem by portraying human-like intelligence.
The languages are able to make a computer solve a problem for the programmer; hence, he/she does not
spend a lot of time in coming up with the solution. The programmer only thinks about what problem
needs to be solved and what conditions need to be met without worrying about how to implement an
algorithm to solve the problem.
5GLs are mostly used in artificial intelligence.
Examples of 5GLs are:
 PROLOG(PROgramming in LOGic
 LISP( LISt Processing)
 Mercury
 OCCAM.
OBJECT-ORIENTED PROGRAMMING LANGUAGES (OOPs)
Object-Oriented Programming is a new approach to software development in which data &
procedures that operate on data are combined into one object.
Examples of Object-oriented programming languages are: -
 Simula
 C++
 SmallTalk
 Java
Comparison of Programming languages.
Machine language Assembly language High-level languages
1. Instruction set is made up of 1. Instruction set is made up of 1. Instruction set is similar to
binary digits (0’s & 1’s). Mnemonics & labels. English language statements
2. Instruction is made of 2 2. Instruction is made up of 2 & mathematical operators.
parts: operation code & parts: operation code & 2. The instruction varies

7
COMPUTER PROGRAMMING MR.DAVID

operand. operand, but comments can depending on the particular


3. No translation is needed. be added. language.
(This is the computer 3. Uses an Assembler to convert 3. Uses compiler or interpreter
language; hence, the the assembly language source Compiler translates all the
computer understands it codes to their object code source code at once into
directly). equivalents object code; Interpreter
4. Executed by the hardware 4. Executed faster than High- translates line by line.
directly & is faster. level, but slower than the 4. Translation & execution is
machine code programs. very slow.
5. Difficult to learn, develop & 5. It’s easier to learn, develop & 5. Easy to learn, develop,
maintain. maintain as compared to maintain and use.
6. Programs are lengthy & machine code programs. 6. Programs are shorter &
tedious. 6. Like machine code language, simpler than Machine &
7. It is time-consuming to the programs are lengthy & assembly lang. programs.
develop machine code tedious. 7. Developing High-level
programs. 7. They take a shorter time to language programs takes very
8. Used in applications where develop as compared to short time.
efficient use of the CPU machine code programs, but 8. Most High-level languages
time is necessary, e.g., take longer than High-level are general-purpose, & can be
developing Operating language programs. used to do almost all
systems & other Control 8. Like machine language, computer-processing tasks.
programs that coordinate the Assembly language programs
working of peripherals. are used in applications where
efficient use of the CPU time
is necessary.

Factors to consider when choosing a Programming language.


The following factors should be considered when choosing a Programming language to use in solving a
problem:
1). The availability of the relevant translator
2). Whether the programmer is familiar with the language
3). Ease of learning and use
4). Purpose of the program, i.e., application areas such as education, business, scientific, etc.
5). Execution time-Applications that require quick response are best programmed in machine code or
assembly language. High-level languages are not suitable for such application because, they take
long to be translated & executed.
6). Development time-Development time is the time a programmer takes to write and run a program.
High-level languages are easy to read, understand and develop; hence, they require less development
time. Machine code & Assembly languages are relatively difficult to read, understand and develop;
hence, they are time-consuming.
7). Popularity-The language selected should be suitable and/or successful in the market with respect to
the problems to be solved.
8). Documentation-It should have accompanying documentation (descriptions) on how to use the
language or maintain the programs written in the language.
9). Maintenance-Programs are developed to solve specific problems, and the problems keep on
changing; hence, the programs are also changed to perform the new functions.
Understand.
10). Availability of skilled programmers The language selected should have a pool of readily available
programmers to ease the programming activity, and reduce development time.

8
COMPUTER PROGRAMMING MR.DAVID

CIS 17 & 18 JAN

1. Differentiate between Testing and Debugging.


2. What is Dry running?
3. What is program designing?
4. (a). Define program documentation.
5. (b). What does a program documentation contain?
6. Briefly explain how each of the following documents are useful in programming?
a. User manual / guide.
b. Reference guide.
c. Quick reference guide.
7. Program documentation is different from Implementation. Explain.
8. Outline and briefly explain the stages involved in program development.

9. (a). What is a Programming language?


(b). Explain the two levels of programming languages.
10. (a). What is meant by ‘Machine language’?
(b). Explain why machine language programming is so error-prone.
(c). Show the difference between Machine language and Assembly language.
(d). Give two advantages & three disadvantages of Machine language programming.
11. (a). What are High-level languages?
(b). Give the features/characteristics of high-level programming languages.
(c). Describe briefly how a program written in high-level programming language becomes a
machine code program ready for operational use.
(d). Explain the advantages and disadvantages of using a High-level programming language for
writing a program.
(e). List four examples of high-level programming languages. Indicate the application of each
language in computing.
12. (a). What is meant by program portability?
(b). Why are low-level languages not considered to be portable?
13. List 8 factors that need to be considered when selecting a programming language.
14. Define the following terms:
-Computer program.
-Programming.
-Programming language.
15. With reference to programming, distinguish between Source program and Object code.
16. What is the function(s) of: Assemblers, Interpreters and Compilers in a computer system?
17. (a). What are the main functions of a Compiler?
(b). Differentiate between a Compiler and an Interpreter.

9
COMPUTER PROGRAMMING MR.DAVID

DIS 17 & 18 JAN

1. Using examples, explain the difference between ‘Data’ and ‘Information’.


2. Briefly explain Batch processing.
3. Describe the application, advantages and disadvantages of batch processing.
4. Discuss Online processing.
5. Mention and explain the Application, Advantages and disadvantages of Online
6. Processing mode
7. Name two industries that extensively use Real-time processing.
8. Name 3 advantages of a Real-time system.
9. Define Multi-programming.
10. What are the factors which make multiprogramming possible?
11. (State the benefits to be derived from Multi-programming?
12. Discuss the hardware and software facilities necessary to facilitate Multi-programming.
13. Most companies are now shifting from the use of centralized mainframe computers to the use
of geographically distributed personal computers. This method of data processing is known
as Distributed data processing (DDP).
Required:
1. Name any three computing resources that can be distributed.
2. Name four examples of industries and business organizations that
extensively use distributed processing systems.
3. List and explain three ways of networking
microcomputers/personal computers to form a distributed data
processing system.
4. Name three risks that might be associated with the distributed data
processing system.
14. Explain the difference between Multi-Programming and Multi-Processing
15. State 5 factors to be considered when selecting the data processing mode suitable for use in
organization
16. Briefly describe the history of computers.
17. (a). What do you mean by computer generations?
(b). Describe the FIVE generations of computers in terms of technology used and give an
Example of a computer developed in each generation.
(c). Compare computer memory sizes during the Five computer generation periods.
18. What was the most remarkable discovery during the second computer generation?
19. (a). Technology is the basis of computer classification. Based on this, explain briefly the
Difference between the first three computer generations.
(b). what is so peculiar in the fourth and fifth generation of computers?
20. Match the following generations of computers with the technology used to develop them.

Generation Technology
First generation A). Very Large Integrated Circuit
Second B). Thermionic valves (Vacuum tubes)
generation
Third generation C). Transistors
Fourth generation D). Integrated Circuits

21. Give four characteristics of First generation computer.


22. Write the following abbreviations in full:
i. ENIAC iii. IC
ii. VLSI

1
COMPUTER PROGRAMMING MR.DAVID

23. What is Artificial Intelligence?


24. State TWO advantages and TWO
disadvantages of using Speech
recognition devic

1
1

You might also like