[go: up one dir, main page]

0% found this document useful (0 votes)
83 views28 pages

Chapter2 1

This document provides an overview of programming fundamentals including: 1. It discusses the programming process which involves writing source code, compiling it into object code, linking to create an executable, and running the program. 2. It covers program design which involves defining algorithms using steps, decisions, and repetition to solve problems as well as using flowcharts to plan programs. 3. It introduces integrated development environments (IDEs) like Visual Studio which provide tools to simplify writing, compiling, and testing programs.

Uploaded by

Yosef Kiros
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
83 views28 pages

Chapter2 1

This document provides an overview of programming fundamentals including: 1. It discusses the programming process which involves writing source code, compiling it into object code, linking to create an executable, and running the program. 2. It covers program design which involves defining algorithms using steps, decisions, and repetition to solve problems as well as using flowcharts to plan programs. 3. It introduces integrated development environments (IDEs) like Visual Studio which provide tools to simplify writing, compiling, and testing programs.

Uploaded by

Yosef Kiros
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 28

Programming Fundamentals

Chapter 2
To be discussed in this chapter:
•Programs and Programming Languages
•The programming process
•(Complie Link and Run process)
•Source code , Object code, and Executable
code
•The integrated development environment
(IDE)
•Program Design
•Algorithms
•Flowcharting (Starting out with C++,
appendix O)
The Basics
• Program: a list of instructions that tells the
computer how to solve a problem or perform
a task.
• Programming: the act of defining these
instructions.
• Programmer: the person doing the defining.
• User: the person who ultimately makes use of
the program. (Examples??)
Remember
• Computers are digital devices that simply do
what they are told.
• We must speak their language to tell them
what to do. ??
• Does this mean, we should
speak binary? ( 0’s and 1’s)??
Programming Languages
Very High Level
Languages
(SQL, Prolog, …)

High Level Languages


(C++)

Low Level Languages


(Assembly, Machine Code)
Features of High Level Languages
• Designed to make programming easier
• Emphasis on logic
• Aids in the design process
• Independence (relatively) from the Operating
System and Hardware
• One HLL instruction gets translated to multiple
machine level instructions
The Programming Process
Machine
#include
Code
Int main(
{ Compile 10101
LINK

00101
Object 0101
Source
Code
Code

Libraries,
Other Object RUN
Code
How exactly do we program?
1. Using a text editor, write the program
2. Save it as a file (.cpp extension)
3. Fix any errors that you might have
4.Compile your program into object code. If there are errors, go back
to step 3
5.Run the linker to generate executable code. If there are errors, go
back to step 3
6. Run (execute) your program and test it. If there are errors, go back
to step 3.

This is an algorithm for programming with C++. Algorithms will be


discussed later.

• Source Code: The instructions written in C++. This is the only part
that we can understand.
• Compiler: Translates the source code into some intermediate form
IDE
• IDE stands for Integrated Development
Environment
– Includes the compiler and the linker
– Has tools to assist the programmer
– Automates and simplifies the programming
process
• For this course, we will be using the visual
studio IDE.
2.2

PROGRAM DESIGN
The Basics
PROGRAMS = ALGORITHMS + Data Structures
Niklaus Wirth

• Algorithm??
An effective procedure for
solving a problem in a finite
number of steps.
Program Development Algorithm
1. Using a text editor, write the program
2. Save it as a file (.cpp extension)
3. Fix any errors that you might have
4. Compile your program into object code.
5. If compilation is successful, continue to step 6. If it fails, go
back to step 3.
6. Run the linker to generate executable code.
7. If linking is successful, continue to step 8. Otherwise, go back
to step 3.
8. Run (execute) your program and test it.
9. If there are errors, go back to step 3. Otherwise finish.
The Blueprint
• You can think of an algorithm as the blueprint
(plan) of your program.
• Before you begin writing a program, you first
have to understand the problem and then
develop a step-by-step solution (the
algorithm).
• Developing an algorithm to solve a problem is
usually more difficult than writing the code.
Characteristics of Algorithms
• An algorithm for a computer program must
– Have precisely defined steps
– Not be ambiguous
– Terminate after a finite number of steps
• An algorithm exhibits
– Sequence (Process)
– Decision (Selection)
– Repetition (Iteration/Looping)
Sequence
• Each task follows the previous one without
altering the order of the tasks. Each task is
executed once.
Decision
• Allows only one of two tasks to be carried out,
depending on a controlling logical condition.
The selected task is executed only once.
If…then…, If… then… else…
If today is Sunday then don’t go to school
If today is Saturday or today is Sunday then
don’t go to school, else go to school
• The outcome of a decision is either true or
false.
Repetition
• Enables a task to be repeated until a
controlling condition no longer holds.
Keep going to school until you graduate.
Repeat this example until the students
understand and go to the next example when
they do.
• What if it loops infinitely???
More Concepts – Input/Output
• Your algorithm usually needs a set of inputs
from the user and may give outputs to the
user.
• Examples
More Concepts - Variables
• Variables are a way of representing data in
your programs. You can think of them as
containers for a value.
• Examples
Expressing Algorithms
1. Plain English (the step-by-step way)
2. Pseudocode (False code)
– Uses much restricted vocabulary
– Closer to a Programming Language
– Uses variables and symbols
– There are different types available
3. Flowchart
– Graphical method
– Uses various symbols for various actions
– Very easy to draw
– Very easy to read and understand
Flowchart Basics
• A flowchart represents an algorithm or
process, showing the steps as various symbols
and showing their order by connecting them
with arrows.
• The basic symbols are used in flowcharts are
discussed here
Terminal Points
• Rounded rectangles, or terminal points,
indicate the starting and ending points of the
flowchart.
Input/Output Operations
• Parallelograms designate input or output
operations.
Processing
• A rectangle depicts a process such as a
mathematical computation or a variable
assignment.
Connectors
• A connector symbol, which is a circle, is used
to break flowchart into multiple parts.
Example Flowcharts
The Decision Structure
• With decisions, the path to follow is
determined by the outcome of a test. The
diamond symbol is used to represent the test
to be performed.
Program Development Cycle

You might also like