ekt150 introduction to computer programmingportal.unimap.edu.my/portal/page/portal30/lecturer...

27
EKT150 Introduction to Computer Programming Wk1-Introduction to Computer and Computer Program

Upload: lamquynh

Post on 10-Jul-2018

241 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: EKT150 Introduction to Computer Programmingportal.unimap.edu.my/portal/page/portal30/Lecturer Notes... · EKT150 Introduction to Computer Programming ... number of days present and

EKT150 Introduction to Computer Programming

Wk1-Introduction to Computer and Computer Program

Page 2: EKT150 Introduction to Computer Programmingportal.unimap.edu.my/portal/page/portal30/Lecturer Notes... · EKT150 Introduction to Computer Programming ... number of days present and

A Brief Look At Computer

Computer

is a device that receives input, stores and processes data, and provides output in a useful format. Computers process data according to sets of instructions called computer programs Example: laptops, PCs, mainframes, even everyday objects such as mobile phones, washing-machines, TV sets, cars contain computers

Hardware Physical components of a computerExample: Keyboard, screen, mouse, disks, memory, CD-ROM, and processing units

Software Programs that run on a computerExample: Operating System such as windows XP -Vista -7, Word processing packages such as MS Word, registration program

Page 3: EKT150 Introduction to Computer Programmingportal.unimap.edu.my/portal/page/portal30/Lecturer Notes... · EKT150 Introduction to Computer Programming ... number of days present and

Computer Hardware

Page 4: EKT150 Introduction to Computer Programmingportal.unimap.edu.my/portal/page/portal30/Lecturer Notes... · EKT150 Introduction to Computer Programming ... number of days present and

Exercise :Distinguishing between

input-process-output-storage

The scenario: At the end of each month, a clerk enters the employee name, number of days present and absent, and the number of overtime done in the system. The system then calculates the normal salary, the amount for overtime and the total salary. The clerk then saves the information in the computer hard disk, and takes a backup on a cd. A report is produced for the clerk so that the latter can show to the manager.

Task: Identify the following for that particular system

● Input: the employee name, number of days present and absent, the number of overtime

● Process(es): calculate normal income, calculate amount for overtime, calculate total salary

● Output: Report● Storage: Harddisk, CD-ROM

Page 5: EKT150 Introduction to Computer Programmingportal.unimap.edu.my/portal/page/portal30/Lecturer Notes... · EKT150 Introduction to Computer Programming ... number of days present and

How Computer Processes Information

Computers are NOT intelligentComputers do what we tell them to do they don’t do anything by themselves.

We must clearly tell a computer what to do in a step by step manner using a programming language.

Computers only understand “electronic”High voltage/low voltage – The machine language

Machine language is binary (two values: high/low) 1’s and 0’s

Page 6: EKT150 Introduction to Computer Programmingportal.unimap.edu.my/portal/page/portal30/Lecturer Notes... · EKT150 Introduction to Computer Programming ... number of days present and

Why we use computer

Computers produce fast, accurate and reliable results.

While computers do the boring, repetitive, ordinary tasks, we can spend our efforts and time to work on more interesting and creative tasks.

The use of computers in business and manufacturing decreases the cost of goods and services produced.

It is more difficult and needs more time to find or grow up a skill-full labour in IT industry, while buying an additional computer and installing the required software on is easier and cheaper.

Page 7: EKT150 Introduction to Computer Programmingportal.unimap.edu.my/portal/page/portal30/Lecturer Notes... · EKT150 Introduction to Computer Programming ... number of days present and

Programming / Program / Programmer

Programming in general term is planning or implementation of a task or event command. In the computing field, is instructing a computer to perform specific tasks.

Computer programming can be defined as the process of planning a set of sequence commands to be executed by a computer.

Program be defined as a set of sequence commands that have been determined to be executed by a computer.

Computers are just electronic devices that have the power to perform difficult tasks but they do not ‘KNOW’ what to do therefore - programmers tell the computers what to do by writing programs

Page 8: EKT150 Introduction to Computer Programmingportal.unimap.edu.my/portal/page/portal30/Lecturer Notes... · EKT150 Introduction to Computer Programming ... number of days present and

Types of Programming languages

Machine language

Strings of numbers giving machine specific instructions Example: +1300042774, +1400593419, +1200274027

Assembly languageEnglish-like abbreviations representing elementary computer operations (translated via assemblers) Example:

LOAD BASEPAYADD OVERPAYSTORE GROSSPAY

High level languageCodes similar to everyday English. Use mathematical notations (translated via compilers) Example Code:

– grossPay = basePay + overTimePay

Example high level languages: C, C++, Cobol, Java, Pascal (Delphi), Basic (Visual Basic) Fortran, SQL, T-SQL, C# …

Page 9: EKT150 Introduction to Computer Programmingportal.unimap.edu.my/portal/page/portal30/Lecturer Notes... · EKT150 Introduction to Computer Programming ... number of days present and

Programming Problem

Problem that can be solve using programming language.

Suppose you want to add 34 and 56, this is easy. But to add 100 numbers is difficult for us need to use calculator or paper and pencil. Or we can write a program for computer to help us.

Can these problems solve by computer programming?Converting units from kilograms to grams.

Counting the number of cars on a highway.

Finding a life partner

Total rain in a week

How long we live

What we want to eat for dinner

Page 10: EKT150 Introduction to Computer Programmingportal.unimap.edu.my/portal/page/portal30/Lecturer Notes... · EKT150 Introduction to Computer Programming ... number of days present and

Use of programs to solve problems

Page 11: EKT150 Introduction to Computer Programmingportal.unimap.edu.my/portal/page/portal30/Lecturer Notes... · EKT150 Introduction to Computer Programming ... number of days present and

Data, Information and Knowledge

Data are the raw facts, gathered from the environment which does not have much meaning. Note: Data is plural, singular form is Datum.

Information is the end product of the processing of data, which has more meaning, and is used in decision making.

Knowledge is the proved and generalized form of information, that is used in strategic planning.

Page 12: EKT150 Introduction to Computer Programmingportal.unimap.edu.my/portal/page/portal30/Lecturer Notes... · EKT150 Introduction to Computer Programming ... number of days present and

Properties of Well Designed Programs

Well designed programs must be: Correct and accurate

Easy to understand

Easy to maintain and update

Efficient -

Reliable – can be rely on

Flexible – easily adapt in other situation / problem

Correct and

accurate

Easy to understa

nd

Easy to maintain

and update

Efficient Reliable Flexible

Page 13: EKT150 Introduction to Computer Programmingportal.unimap.edu.my/portal/page/portal30/Lecturer Notes... · EKT150 Introduction to Computer Programming ... number of days present and

Steps involve in programming (Planning)

Requirement Specification: Eliminate ambiguities, Clearly understand the problem

Analyze the problem: Understand the inputs, outputs and processes used for manipulating the data, formulas and constraints

Design: Write the algorithm (flowchart or pseudocode) to represent the solution

Testing and verification: Check the algorithm.

Implement the algorithm: Write a program

Testing and Verification: Check the program

Documentation

Page 14: EKT150 Introduction to Computer Programmingportal.unimap.edu.my/portal/page/portal30/Lecturer Notes... · EKT150 Introduction to Computer Programming ... number of days present and

Algorithm

An algorithm is the plan for writing a program.

Steps required for solving a problem are listed by using an algorithm tool.

Algorithm tools make program solutions more clear, more understandable, and easier to remember.

Algorithms are written according to rules so that other programmers are also able to read and understand the solution easily.

Page 15: EKT150 Introduction to Computer Programmingportal.unimap.edu.my/portal/page/portal30/Lecturer Notes... · EKT150 Introduction to Computer Programming ... number of days present and

Tools of Algorithm

There are many Algorithm tools in use, but the most popular ones are Pseudo-Codes and Flowcharts.

In this course for all problems we will use both of these tools but in general you choose only one.

Page 16: EKT150 Introduction to Computer Programmingportal.unimap.edu.my/portal/page/portal30/Lecturer Notes... · EKT150 Introduction to Computer Programming ... number of days present and

Example flowchart / pseudo-code

Pseudocode

1. Insert key

2. Free the gear

3. Turn on to starting position

4. IF (engine starts in 6 sec)

4.1 YES – go to step 5

4.2 NO – IF (> 5 times)

4.2.1 YES – call workshop go to step 5

4.2.2 NO – go to step 3

5. Release the key 6. End

Page 17: EKT150 Introduction to Computer Programmingportal.unimap.edu.my/portal/page/portal30/Lecturer Notes... · EKT150 Introduction to Computer Programming ... number of days present and

Structured Programming

All programs can be written using three control structures

RepetitionStatements are executed repeatedly until a condition evaluates to TRUE or FALSE. Example: while, for

SelectionA statement is executed or skipped depending on whether a condition evaluates to TRUE or FALSE. Example: if, switch

SequenceOne statement is executed after another

Page 18: EKT150 Introduction to Computer Programmingportal.unimap.edu.my/portal/page/portal30/Lecturer Notes... · EKT150 Introduction to Computer Programming ... number of days present and

Flowchart

Flowcharts are graphical tools, containing a set of shapes, each expressing a different action in a sequence of program execution.

There are many different shapes that are used for specific purposes, to avoid complexity, in this course, only a limited subset of these shapes will be shown and used in applications.

Page 19: EKT150 Introduction to Computer Programmingportal.unimap.edu.my/portal/page/portal30/Lecturer Notes... · EKT150 Introduction to Computer Programming ... number of days present and

Flowchart ShapesTerminal Indicates the starting or ending of the

program

Input Used for data entry from keyboard.

Display Use display on screen

Process Indicates any type of internal operation inside the Processor or Memory (STORE INFORMATION & DO CALCULATIONS -variables)

Decision Used to ask a question that can be answered in a binary format (Yes/No, True/False)

Connector Allows the flowchart to be drawn without intersecting lines or without a reverse flow.

Predefined Process

Used to invoke a subroutine or an interrupt program.

Page 20: EKT150 Introduction to Computer Programmingportal.unimap.edu.my/portal/page/portal30/Lecturer Notes... · EKT150 Introduction to Computer Programming ... number of days present and

Flowchart: Sequence/Selection/Repetition

Page 21: EKT150 Introduction to Computer Programmingportal.unimap.edu.my/portal/page/portal30/Lecturer Notes... · EKT150 Introduction to Computer Programming ... number of days present and

Example:Using

Connectors

Page 22: EKT150 Introduction to Computer Programmingportal.unimap.edu.my/portal/page/portal30/Lecturer Notes... · EKT150 Introduction to Computer Programming ... number of days present and

Pseudo-code

Pseudo-code is structured english that is used as an alternative method to flowcharts for planning structured programs.

There are no general accepted standards for pseudocodes.

We will work with a form that has minimum number of rules and is essentially language-independent.

Pseudo-code instructions are written in English, they can be easily understood and reviewed by users.

The only syntax rules to be concerned with involve the LOOP and SELECTION structures. They must be used as CAPITALISED words.

Page 23: EKT150 Introduction to Computer Programmingportal.unimap.edu.my/portal/page/portal30/Lecturer Notes... · EKT150 Introduction to Computer Programming ... number of days present and

You can use either one of these assignment statements. We prefer the second one

Pseudo-Code ConstructsAssignment:

– Set num1 to 1

– Num1 =1

Computation

Use all arithmetic operators: addition (+), subtraction (-) . Division (/), multiplication (*), modulus (%) …

Input

Input : to enter from the keyboard

Read : to read from a file

Output

Display : to display on screen

Print : to print on the printer

Selection

IF .. END IF

IF .. ELSE …END IF

IF .. ELSE IF .. ELSE …END IF

SWITCH .. CASE …

Repetition

Repeat …..... Until (condition)

While (condition)

● Begin

:

● End

For (condition)

● Begin

:

● End

Page 24: EKT150 Introduction to Computer Programmingportal.unimap.edu.my/portal/page/portal30/Lecturer Notes... · EKT150 Introduction to Computer Programming ... number of days present and

Example 1

Write an algorithm that will ask user to input a number then your design will calculate and display the square of input number:

Page 25: EKT150 Introduction to Computer Programmingportal.unimap.edu.my/portal/page/portal30/Lecturer Notes... · EKT150 Introduction to Computer Programming ... number of days present and

Example 2

Write an algorithm that will ask user to input 10 students' marks and calculate the average students' mark and display all ten marks and the average students' mark:

Page 26: EKT150 Introduction to Computer Programmingportal.unimap.edu.my/portal/page/portal30/Lecturer Notes... · EKT150 Introduction to Computer Programming ... number of days present and

Exercise

Write an algorithm that will ask user to input height in meters then your design will convert and display the cm value of input numberWrite an algorithm to input a student's mark and determine the student's grade. Use table below to determine the grade

B Grade

>=90 A

80 - 89 B

70 - 79 C

60 - 69 D

< 60 E

Page 27: EKT150 Introduction to Computer Programmingportal.unimap.edu.my/portal/page/portal30/Lecturer Notes... · EKT150 Introduction to Computer Programming ... number of days present and

References

Yuksel Uckan, Problem Solving Using C,Structured Programming Techniques, McGraw-Hill

Deitel and Deitel, C: How to Program, McGraw-HillCheng, H., “C for Engineers and Scientists”, McGraw Hill, 2010.

Hanly, J.R. and Koffman, E.B., “C Program Design for Engineers”, 2nd Ed., Addison-Wesley, 2001.

ISBN : 0321204174