High Level Programming Languages

advertisement
YILDIZ TECHNICAL
UNIVERSITY
Introductory Computer
Sciences
ASST. PROF. DR. CENK
BUDAYAN
Email: budayan@yildiz.edu.tr ve
YARBİS
http://www.yarbis.yildiz.edu.tr/budayan
Office Hours:
Monday 14:00 – 16:00
Wednesday 15:00-17:00
Office: 1-064
How we communicate with the computer
 Machine Language (Lowest Level)
 00010001111010111100011111000111111
 Symbolic Language
 Low Level Programming Languages: It is close to the
machine language. It converts to the machine language by
using a small program, therefore it is faster than the high level
programming languages (assembly).
 High Level Programming Languages: It consists of
instructions to which people can relate, such as Click, If, and
Do. (Visual Basic, C, C++, Java)
High Level Programming Languages
Language
Description
Visual Basic, C#
Popular programming languages for building windows and
web applications. Use a graphical user interface
C, C++
Powerful advanced programming languages that emphasize
flexibility and fast running times. C++ is also object oriented.
Java
Flexible and powerful programming language that runs on
many different computer systems. Often used to teach objectoriented programming
Python
Simple, yet powerful programming language used for graphics
and small applications
PHP
Programming language used for creating interactive Web sites
JavaScript
Scripting language used in Web applications that provides rich
used interfaces for Web Browsers.
Object oriented programming
 Is an industry standard model for designing and coding
programs.
 When designing applications, designers use real-world objects to
express patterns, called classes in software.
 For example, a student registration application:

Students and transcripts as possible classes
 Classes contain attributes, expressed as variables.
 For example, student class can have attributes such as

Student ID, name, surname
Graphical User Interface (GUI)
 User Friendly.
 Simplified interaction with the computer.
 Not simplified the task of programming.
 Require on-screen elements such as windows, dialog boxes,
buttons and menus.
 Uses mouse for interaction.
 No longer does the user respond to a program – now the
program responds to a user.
Visual Basic
 Visual Basic (VB) is one of the programming environment which can be
used for performing many purposes easily.
 In the early 1960s, two mathematics professors at Dartmouth College
developed a programming language called BASIC to provide their
students with an easily learned language that could tackle complicated
programming projects. As the popularity of BASIC grew, refinements
were introduced that permitted structured programming, which
increased the reliability of programs. Visual Basic 1.0 is a graphical
version of BASIC developed in 1991 by the Microsoft Corporation to
allow easy, visual-oriented development of Windows applications.
Visual Basic
 VB is not only limited with programming, but also it can be
used for developing programs in MS Office (Excel, Word,
Powerpoint and Outlook Express) via Visual Basic
Application(VBA).
 VBScript used for developing Web applications is one of the
subsets of VB.
 VB can be used for programming for many different
objects. It varies for a small program to a web application
which can be used by the entire world.
 As you can understand, VB is a simple however a powerful
language.
Installation of Visual Basic
 http://www.visualstudio.com/en-us/downloads/
Programming
 Programming: creating a sequence of instructions to
enable the computer to do something.
 Program: is a set of instructions a computer follows
in order to perform a specific task.
 A program can consist of one or two command lines
or can consist of million command lines.
 For example; Windows operating system is written
with millions of command lines, on the other a tax
program can be formed of two command lines.
Program
 Computers are designed to follow instructions.
 These instructions are called an algorithm. An
algorithm is a set of well-defined steps for
performing a task or solving a problem.
 These steps should be sequentially ordered.
 The computers can only follow the instructions and
they do not evaluate these instructions and examine
whether these instructions are logic or not.
Procedure
Input
Process
Output
Performing a task on the computer
The first step in writing instructions to carry out a
task is to determine what the output should be —
that is, exactly what the task should produce.
2. The second step is to identify the data, or input,
necessary to obtain the output.
3. The last step is to determine how to process the
input to obtain the desired output – that is, to
determine what formulas or ways of doing things
should be used to obtain the output.
1.
Example
 How fast is a car moving if it travels 50 miles in 2
hours



The type of the answer requested. (speed)
The information needed to obtain the answer. (distance and
time)
The procedure required to obtain the answer by using the
available information. (distance / time)
Example
 Finding the tax for a product. (tax: 18% of the price
of the product)
Price of the
product
Price*
0,18
Tax
Program planning
 Software Development Cycle
 Analyze: Define the problem
 Design: Plan the solution to the problem.
 Design the interface: Select objects (text boxes, buttons etc.)
Program planning

Code: Translate the algorithm into a programming language.

Test and correct: Locate and remove any errors in the
program.

Complete the documentation: Organize all the material that
describes the program.
Example
 Calculate the gas mileage which is the number of miles
traveled divided by the number of gallons of gas used.
 Therefore, your program needs to compute the number of
miles traveled since the last fill-up, and the number of
gallons used during this period.
 Let’s suppose that you always fill up the gas tank. Therefore,
the amount of gas that you put in the car is the amount used
since the last fill-up.
Example
 To compute the number of miles you need to subtract the
odometer reading at the last time you filled up the tank
from the odometer reading at this filling time. This means
that you need to have saved the odometer reading from the
last time you filled up.
 Suppose you have done so by writing the odometer reading
and storing it in your glove compartment.
 Therefore, the inputs to your procedure are:


The current odometer reading
The amount of gas pumped
First Solution
1. Read odometer value.
2. Subtract previous odometer value from the current
odometer value to obtain the number of miles traveled.
3. Divide by the number of gallons of gas pumped to
determine the mileage
Second Solution
1. Read the current odometer value.
2. Write the odometer value obtained in step 1 on a piece of paper
3. Retrieve the previous value from the glove compartment.
4. Store the paper from step 2 in the glove compartment.
5. Subtract the value obtained in step 3 from the value obtained in
step 1.
6. Fill the tank.
7. Read the number of gallons pumped.
8. Divide the number obtained in step 5 by the number obtained in
step 7.
9. Display the number obtained in step 8 as the mileage.
10. Stop.
Third Solution
1. Read the current odometer value.
2. Write the odometer value obtained in step 1 on a piece of paper.
3. Is this the first time for this procedure?
(a) If the answer is yes,
(i) Store the paper from step 2 in the glove compartment.
(ii) Stop.
(b) If the answer is no, retrieve the previous value from the glove
compartment.
4. Store the paper from step 2 in the glove compartment.
5. Subtract the value obtained in step 3(b) from the value obtained in step 1.
6. Fill up the tank.
7. Read the number of gallons pumped.
8. Divide the number obtained in step 5 by the number obtained in step 7.
9. Display the number obtained in step 8 as the mileage.
10. Stop.
Fourth Solution
1. Read the current odometer value.
2. Write the odometer value obtained in step 1 on a piece of paper.
3. Is there a previous odometer reading in the glove compartment?
(a) If the answer is no,
(i) Store the paper from step 2 in the glove compartment.
(ii) Stop.
(b) If the answer is yes, retrieve the previous value from the glove
compartment.
4. Store the paper from step 2 in the glove compartment.
5. Subtract the value obtained in step 3(b) from the value obtained in step 1.
6. Fill up the tank.
7. Read the number of gallons pumped.
8. Divide the number obtained in step 5 by the number obtained in step 7.
9. Display the number obtained in step 8 as the mileage.
10. Stop.
Programming tools
 Pseudocode: Uses English-like phrases with some Visual Basic
terms to outline the task.
 Flowcharts: Graphically depict the logical steps to carry out a
task and show how the steps relate to each other.
 Hierarchy charts: Show how the different parts of a program
relate to each other.
Programming tools
 You decide to mail a letter, however you must decide
how much postage to put on the envelope. One rule
of thumb is to use one stamp for every five sheets of
paper. Suppose a friend asks you to determine the
number of stamps to place on an envelope.
Flowchart
Symbol
Name
Meaning
Flowline
Used to connect symbols and indicate the flow
of logic
Terminal
Used to represent the beginning or the end of
a task
Input/Output
Used for input and output operations, such as
reading and displaying. The data to be read or
displayed are described inside.
Process
Used for arithmetic and data manipulation
operations. The instructions are listed inside
the symbol.
Decision
Used for any logic or comparison operations.
Unlike the other symbols, the decision symbol
has one entry and two exits.
Connector
Used to join different flowlines
Annotation
Used to provide additional information about
another flowchart symbol
Flowchart
Pseudocode
 Pseudocode is an abbreviated plain English version of
actual computer code
 The geometric symbols used in flowcharts are replaced by
English-like statements that outline the process. As a result,
pseudocode looks more like computer code than does a
flowchart.
 Pseudocode allows the programmer to focus on the steps
required to solve a problem rather than on how to use the
computer language.
 The programmer can describe the algorithm in Visual
Basic- like form without being restricted by the rules of
Visual Basic.
Pseudocode
 Read sheets number (input)
 Set the number of stamps to Sheets (sheets/5) (process)
 Round the number of stamps up to the next whole number
(process)
 Display the number of stamps(output)
Advantages
It is compact and probably will not extend for many pages as
flowcharts commonly do. Also, the plan looks like the code to
be written and so is preferred by many programmers.
Hierarchy Chart
 shows the overall program structure.
 depict the organization of a program but omit the specific processing




logic.
describe what each part, or module, of the program does and they show
how the modules relate to each other.
The details on how the modules work, however, are omitted.
The chart is read from top to bottom and from left to right. Each
module may be subdivided into a succession of submodules that branch
out under it.
The main benefit of hierarchy charts is in the initial planning of a
program. We break down the major parts of a program so we can see
what must be done in general. From this point, we can then refine each
module into more detailed plans using flowcharts or pseudocode. This
process is called the divide-and-conquer method.
Hierarchical Chart
Postage
stamp
program
Read sheets
Set stamps=
sheets / 5
Calculate
stamps
Round
stamps up to
next whole
number
Display
stamps
Decision Structure
Repetition Structure
Homework
 Calculate and report the average grade for a class.
 Output: Average grades
 Input: Student grades
 Process: Find the sum of the grades, count the
number of students, calculate the average grade =
sum of grades / number of students
 Draw the flowchart of this program.
Download