Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer...
Transcript of Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer...
![Page 1: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/1.jpg)
1
Python - Week 1
Mohammad Shokoohi-Yekta
![Page 2: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/2.jpg)
2
An Introduction to Computers and Problem Solving
• 1.1 An Introduction to Computers• 1.2 Program Development Cycle• 1.3 Programming Tools• 1.4 Starting Python
![Page 3: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/3.jpg)
3
Communicating with the Computer
• Machine language – low level, hard for humans to understand
• Python – high level, understood by humans, consists of instructions such as Click, If, and Do
![Page 4: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/4.jpg)
4
Popular High-Level Languages
•COBOL (COmmon Business Oriented Language)•FORTRAN (FORmula TRANslation) •BASIC (Beginner All-purpose Symbolic Instructional Code) •Pascal (named for Blaise Pascal) •Ada (named for Ada Lovelace) •C (whose developer designed B first)•Visual Basic (Basic-like visual language developed by Microsoft) •Delphi (Pascal-like visual language developed by Borland) •C++ (an object-oriented language, based on C)•C# (a Python-like language developed by Microsoft)•Python (We use it in the book)
![Page 5: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/5.jpg)
Compiler• A compiler translates a high-level language
into machine language.• The Python compiler points out certain types
of errors during the translation process.
5
![Page 6: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/6.jpg)
6
Programming and Complicated Tasks
• Tasks are broken down into instructions that can be expressed by a programming language
• A program is a sequence of instructions• Programs can be only a few instructions
or millions of lines of instructions
![Page 7: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/7.jpg)
7
All Programs Have in Common:
• Take data and manipulate it to produce a result
• Input – Process – Output• Input – from files, the keyboard, or other
input device• Output – usually to the monitor, a printer, or
a file
![Page 8: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/8.jpg)
8
Hardware and Software• Hardware – the physical components of
the computer• Central processing unit• Disk drive• Monitor
• Software – The instructions that tell the computer what to do
![Page 9: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/9.jpg)
9
Programmer and User• Programmer – the person who solves the
problem and writes the instructions for the computer
• User – any person who uses the program written by the programmer
![Page 10: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/10.jpg)
10
Problem Solving• Developing the solution to a problem• Algorithm – a step by step series of
instructions to solve a problem
![Page 11: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/11.jpg)
11
1.2 Program Development Cycle
• Performing a Task on the Computer
• Program Planning
![Page 12: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/12.jpg)
12
TerminologyA computer program may also be called:
• Project• Application• Solution
![Page 13: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/13.jpg)
13
Program Development Cycle• Software refers to a collection of
instructions for the computer• The computer only knows how to do
what the programmer tells it to do• Therefore, the programmer has to know
how to solve problems
![Page 14: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/14.jpg)
14
Performing a Task on the Computer
• Determine Output• Identify Input• Determine process necessary to turn
given Input into desired Output
![Page 15: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/15.jpg)
15
Problem-Solving: Approach Like Algebra Problem
• How fast is a car traveling if it goes 50 miles in 2 hours?
• Output: a number giving the speed in miles per hour
• Input: the distance and time the car has traveled
• Process: speed = distance / time
![Page 16: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/16.jpg)
16
Pictorial representation of the Problem Solving Process
![Page 17: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/17.jpg)
17
Program Planning• A recipe is a good example of a plan• Ingredients and amounts are
determined by what you want to bake
• Ingredients are input• The way you combine them is the
processing• What is baked is the output
![Page 18: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/18.jpg)
18
Program Planning (continued)• Always have a plan before trying to
write a program• The more complicated the
problem, the more complex the plan must be
• Planning and testing before coding saves time
![Page 19: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/19.jpg)
19
Program Development Cycle1. Analyze: Define the problem.2. Design: Plan the solution to the
problem.3. Choose the interface: Select the
objects (text boxes, buttons, etc.).
![Page 20: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/20.jpg)
20
Program Development Cycle (continued)
4. Code: Translate the algorithm into a programming language.
5. Test and debug: Locate and remove any errors in the program.
6. Complete the documentation: Organize all the materials that describe the program.
![Page 21: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/21.jpg)
21
1.3 Programming Tools• Flowcharts• Pseudocode• Hierarchy Chart• Direction of Numbered NYC Streets
Algorithm• Class Average Algorithm
![Page 22: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/22.jpg)
22
Programming ToolsThree tools are used to convert algorithmsinto computer programs: • Flowchart - Graphically depicts the logical
steps to carry out a task and shows how the steps relate to each other.
• Pseudocode - Uses English-like phrases with some Python terms to outline the program.
• Hierarchy chart - Shows how the different parts of a program relate to each other.
![Page 23: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/23.jpg)
23
AlgorithmA step-by-step series of instructions for solving a problem (a recipe is an example of an algorithm).
![Page 24: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/24.jpg)
24
Problem Solving Example• How many stamps should you use when
mailing a letter?• One rule of thumb is to use one stamp
for every five sheets of paper or fraction thereof.
![Page 25: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/25.jpg)
25
Algorithm1. Request the number of sheets of paper;
call it Sheets. (input)2. Divide Sheets by 5. (processing)3. Round the quotient up to the next
highest whole number; call it Stamps. (processing)
4. Reply with the number Stamps. (output)
![Page 26: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/26.jpg)
26
FlowchartGraphically depicst the logical steps to carry out a task and show how the steps relate to each other.
![Page 27: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/27.jpg)
27
Flowchart Symbols
![Page 28: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/28.jpg)
28
Flowchart Symbols (continued)
![Page 29: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/29.jpg)
29
Flowchart Example
![Page 30: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/30.jpg)
30
PseudocodeUses English-like phrases with some Python terms to outline the task.
![Page 31: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/31.jpg)
31
Pseudocode ExampleDetermine the proper number of stamps for
a letterRead Sheets (input)Set the number of stamps to Sheets / 5 (processing)
Round the number of stamps up to the next whole number (processing)
Display the number of stamps (output)
![Page 32: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/32.jpg)
32
Hierarchy Chart• Shows how the different parts of a program
relate to each otherHierarchy charts are also called • structure charts• HIPO (Hierarchy plus Input-Process-Output)
charts• top-down charts• VTOC (Visual Table of Contents) charts
![Page 33: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/33.jpg)
33
Hierarchy Charts Example
![Page 34: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/34.jpg)
34
Divide-and-Conquer Method• Used in problem solving – take a large
problem and break it into smaller problems
• Solve the small problems first
![Page 35: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/35.jpg)
35
Statement Structures• Sequence – execute instructions from
one line to the next without skipping over any lines
• Decision - if the answer to a question is “Yes” then one group of instructions is executed. If the answer is “No,” then another is executed
• Looping – a series of instructions are executed repeatedly
![Page 36: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/36.jpg)
36
Sequence Flow Chart
![Page 37: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/37.jpg)
37
Decision Flow Chart
![Page 38: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/38.jpg)
38
Looping Flow Chart
![Page 39: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/39.jpg)
39
Direction of Numbered NYC Streets Algorithm
• Problem: Given a street number of a one-way street in New York City, decide the direction of the street, either eastbound or westbound
• Discussion: in New York City even numbered streets are Eastbound, odd numbered streets are Westbound
![Page 40: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/40.jpg)
40
Flowchart
![Page 41: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/41.jpg)
41
PseudocodeProgram: Determine the direction of a
numbered NYC streetGet streetIf street is even Then
Display EastboundElse
Display WestboundEnd If
![Page 42: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/42.jpg)
42
Hierarchy Chart
![Page 43: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/43.jpg)
43
Class Average AlgorithmProblem: Calculate and report the average
grade for a classDiscussion: The average grade equals the
sum of all grades divided by the number of students
Input: Student gradesProcessing: Find sum of the grades; count
number of students; calculate averageOutput: Average grade
![Page 44: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/44.jpg)
44
Flowchart
![Page 45: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/45.jpg)
45
PseudocodeProgram: Determine average grade of a classInitialize Counter and Sum to 0Do While there are more data
Get the next GradeAdd the Grade to the SumIncrement the Counter
LoopCompute Average = Sum / CounterDisplay Average
![Page 46: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/46.jpg)
46
Hierarchy Chart
![Page 47: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/47.jpg)
47
Comments• When tracing a flowchart, begin at the start
symbol and follow the flow lines to the end symbol.
• Testing an algorithm at the flowchart stage is known as desk checking.
• Flowcharts, pseudocode, and hierarchy charts are program planning tools that are in dependent of the language being used.
![Page 48: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/48.jpg)
48
Tips and Tricks of Flowcharts• Flowcharts are time-consuming to write and
difficult to update• For this reason, professional programmers
are more likely to favor pseudocode and hierarchy charts
• Because flowcharts so clearly illustrate the logical flow of programs, they are a valuable tool in the education of programmers
![Page 49: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/49.jpg)
1.4 Starting PythonPython is a general purpose programming language. Python are now used in: Google search engine, NASA, NYSE, …
49
![Page 50: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/50.jpg)
Python 2 vs. Python 3
Python 3 is a newer version, but it is not backward compatible with Python 2. That means if you write a program using Python 2, it may not work on Python 3.
50
![Page 51: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/51.jpg)
https://docs.python.org/
51
![Page 52: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/52.jpg)
Install Python (3.5.1)• https://www.python.org/downloads/
52
![Page 53: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/53.jpg)
For Windows Users
53
![Page 54: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/54.jpg)
Install PyCharm (Community Version)
• https://www.jetbrains.com/pycharm/download/
54
![Page 55: Python - Week 1 22 Programming Tools Three tools are used to convert algorithms into computer programs: • Flowchart - Graphically depicts the logical steps to carry out a task and](https://reader030.fdocuments.in/reader030/viewer/2022040304/5e9f04e784f3e556c715bc46/html5/thumbnails/55.jpg)
55
C U next week J