Introduction to Computer Programming in Engineering

 
Programing Concept
 
Ken Youssefi/Ping Hsu
 
Introduction to Engineering – E10
 
1
 
ENGR 10
Introduction to Engineering
 
(Part A)
Ken Youssefi/Ping Hsu
Introduction to Engineering – E10
2
What is Computer Programming ?
 
One thing that you will realize quickly is that a
computer is very dumb, but obedient.  It does
exactly what you tell it to do, which is not
always what you wanted.
A Math Example
Ken Youssefi/Ping Hsu
Introduction to Engineering – E10
3
 
y 
=
 [ 
3
 
×
 
(
 a 
×
 a 
+
 
7)
 ] / b 
+
 
4
Consider the 
sequential
 execution of the above
expressions to find the value of y:
Ken Youssefi/Ping Hsu
Introduction to Engineering – E10
4
 
p = a x a;
q = p + 7;
r = 3 x q;
s = r / b;
y = s + 4;
y 
=
 [ 
3
 
×
 
(
 a 
×
 a 
+
 
7)
 ] / b 
+
 
4
Ken Youssefi/Ping Hsu
Introduction to Engineering – E10
5
What is a Programming Language?
 
Computers only understand the binary language.
Programming languages were developed to make
it easier for us to communicate with computers.
 
There are many different languages. The main
choices, used by professional programmers, are:  C,
C++ and Java.
Ken Youssefi/Ping Hsu
Introduction to Engineering – E10
6
What is a Programming Language?
Object Oriented Programming (OOP)  
is  a modern
(more user friendly) programming concept where the
programmer creates "objects" like real-life objects,
with both properties and abilities. C++, Java are
examples of widely used OOPs; MATLAB, Perl, EasyC
are examples of special purpose OOPs; there are many
more.
Ken Youssefi/Ping Hsu
Introduction to Engineering – E10
7
Java runs on more than one platform without needing
to be recompiled. Java runs inside web browsers, letting
programmers create little applications which can run on
websites. But Java historically is slower than compiled
languages.
Java
What is a Programming Language?
 
EasyC (VEX Robot)
Over time, special purpose languages have been
developed for specific applications - to make the
programmers job easier. EasyC is a C++ based language
specifically for telling the VEX robot what to do.
A 
compiler
 is a computer
program (or set of
instructions) that
transforms source code
written in a programming
language (the source
language) into another
computer language (the
target language, often
having a binary form
known as object code)
 
 
Ken Youssefi/Ping Hsu
Introduction to Engineering – E10
8
EasyC
cortex – 
new version
 
 
Ken Youssefi/Ping Hsu
Introduction to Engineering – E10
9
 
Function
blocks
 
Flow chart
 
Program
code
EasyC
cortex 
- new version
Use the 
Window
 option to configure the appearance  of the  screen
 
Program
blocks
Ken Youssefi
Introduction to Engineering – E10
10
V
a
r
i
a
b
l
e
s
Ken Youssefi/Ping Hsu
Introduction to Engineering – E10
11
 
A semicolon is required
 
at the end of each
instruction
.
A “variable” is a place where we store a value.
 
 A = 10 ; 
// The value 10 is stored in A.
 
Any statement after the sign “//” is NOT part of the
program.  It is a comment made by the
programmer.
 
Value of 10 is placed in the storage location
called “A”. So “A” is a variable
Variables
Ken Youssefi/Ping Hsu
Introduction to Engineering – E10
12
Every variable in the program needs to be 
declared
in the beginning of the program
.
 
Declaration of the variable tells the
program its 
name
 
and its 
type
Commonly Used Variable Types
Ken Youssefi/Ping Hsu
Introduction to Engineering – E10
13
 
2
15
 
2
31
Variables
Ken Youssefi/Ping Hsu
Introduction to Engineering – E10
14
This variable is accessible from
anywhere within your program.
Global Variable
 
Global Variable Declaration
 
Ken Youssefi/Ping Hsu
 
Introduction to Engineering – E10
 
15
 
To declare a global variable, right
click on the tab “Global” in the
Main program and select 
Edit
Block  
(or double click the block)
 
Starting value of the variable
 
Variable name
 
Example of Assigning Variables
 
Ken Youssefi/Ping Hsu
 
Introduction to Engineering – E10
 
16
Assignment Operator
Ken Youssefi/Ping Hsu
Introduction to Engineering – E10
17
In C language 
“ = ” 
is an 
assignment operator
, NOT
an “ is equal to ” statement.
 
A = A+1; //means assign the value A+1
 
   
 // back to A, i.e., increase A by 1.
 
A = 10;   // means assign 10 to A.
 
A = B;  //  means assign the value of B to A
 
This == symbol is used for checking ‘equal’
condition, not for value assignment.
Assignment Operator: Examples:
Ken Youssefi/Ping Hsu
Introduction to Engineering – E10
18
int A; 
// a variable named A of type integer
int B; 
// a variable named B of type integer
 
A = 10; 
// value 10 is assigned to variable A
B = (24+16)/2; 
// 20 is assigned to variable B
 
A = A + 15; 
// value of (A+15) is first evaluated
                         and then assigned to A.
                         So now A=(10+15)=25
 
B = A + B ;
 
A = B – 40; 
// Now A=(45-40)=5, B=45
 
A = A * B; 
// Now A=(5*45)=225, B=45
 
B = A / 9; 
// Now A=225, B=25
 
// Now A = 25, B = (25+20)=45
Decision Making
Ken Youssefi/Ping Hsu
Introduction to Engineering – E10
19
 
 
A linear (sequential) execution of
instructions can only perform a simple task
that does not involve decision making.
 
Most common conditional statements are:
IF 
statement
IF - Else 
statement
While
 statement
The ability to make decision is the most
basic form of intelligence.
 
IF
 Statement (logic statement)
 
Ken Youssefi/Ping Hsu
 
Introduction to Engineering – E10
 
20
 
 
if (Number == 0)
    {
    PrintToScreen (“The Number is Zero”);
    }
if (Number < 0)
    {
    PrintToScreen (“The Number is negative”);
    }
 
Example
 
Only if 
this condition
 is true,
this instruction
 is executed.
 
IF
 Statement
 
Ken Youssefi/Ping Hsu
 
Introduction to Engineering – E10
 
21
 
Select, drag and drop the 
IF 
statement into the flow chart
 
IF-ELSE
 Statement
 
Ken Youssefi/Ping Hsu
 
Introduction to Engineering – E10
 
22
 
IF-ELSE
 
statement should be used where there
are only two possible cases.
 
If (score <60)
 
{  PrintToScreen(“You failed the test”);}
   else
 
{  PrintToScreen(“You passed the test”);}
 
EasyCPro - Example
 
Ken Youssefi/Ping Hsu
 
Introduction to Engineering – E10
 
23
 
Drag and drop the 
IF
 module, the Print To Screen, and 
Else
module into the flow chart
 
Ken Youssefi/Ping Hsu
 
Introduction to Engineering – E10
 
24
 
How to Add a User Code
 
Enter the expression
to be executed
 
Drag and drop
User Code
WHILE
 Statement
Ken Youssefi/Ping Hsu
Introduction to Engineering – E10
25
The 
WHILE
 statement is useful for repeating a set
of instructions
 
Suppose we have to add the first 50
positive integers
      1+2+3+4+……………………+48+49+50
 
You could use a single statement:
int SUM ; // integer variable for the result
SUM = 1+2+3+………………..+48+49+50;
 
Ken Youssefi/Ping Hsu
Introduction to Engineering – E10
26
Much better approach is
To use “
While
” statement
 
Finite loop
Solution to Clicker question 3
Ken Youssefi/Ping Hsu
Introduction to Engineering – E10
27
 
Initially i = 0, 
x
 = 0.
First iteration
: condition 0<3 is 
true
x
 = 0+0=0, i = 1
Second iteration 
: condition 1<3 is 
true
x
 = 0+1=1, i = 2
Third iteration 
: condition 2<3 is 
true
So 
x
 = 1+2=3, i = 3
Fourth iteration 
:
 
condition 3<3 is 
false
So the WHILE loop stops.
 
Final Value of 
x
 is 3.
int 
x
;
int i;
x
 = 0;
i = 0;
while (i < 3)
          {
 
x
 = 
x
 + i;
           i = i + 1;
          }
Finite and Infinite Loop
Ken Youssefi/Ping Hsu
Introduction to Engineering – E10
28
In the previous examples we have employed
condition checking in order to control the flow of
execution.
We have made the loop to repeat only a finite number
of times.
 
The infinite loop is necessary
to continuously check the
signal coming from the
sensor. This loop is included
in the 
Go-To-Beacon
 program.
 
Infinite loop
Ken Youssefi/Ping Hsu
Introduction to Engineering – E10
29
 
Write a short program so that the robot
moves forward as long as it has not
encounter any obstacles  (bumper
sensor is not pressed), and it stops when
bumper is activated (hit an obstruction).
Most commonly used logic statements:
IF
 
statement
IF – ELSE 
statement (for two cases only)
ELSE – IF 
statement (for more than two cases)
WHILE loop 
(finite or infinite) statement
In Summary
 
Setting up the program for the Sensors
 
Ken Youssefi/Ping Hsu
 
Introduction to Engineering – E10
 
30
 
Double click the Variable block to create a
new “int” variable named “bumper”
 
Declare the variable Bumper
Setting up the program for the Sensors
Ken Youssefi/Ping Hsu
Introduction to Engineering – E10
31
Select, drag and drop the 
While Loop
icon between the BEGIN and End
Setting up the program for the Sensors
Ken Youssefi/Ping Hsu
Introduction to Engineering – E10
32
Setting up the program for the Sensors
Ken Youssefi/Ping Hsu
Introduction to Engineering – E10
33
Set the Digital Input # to the port
that the sensor is plugged in
Select Bumper from the list
of variables
Integrating Motors with Sensors
Ken Youssefi/Ping Hsu
Introduction to Engineering – E10
34
Drag and drop an 
IF
and 
ELSE
 icons from
the Program Flow
into the program
below the sensor
Integrating Motors with Sensors
Ken Youssefi/Ping Hsu
Introduction to Engineering – E10
35
Your robot will be using
two motors. Drag and
drop two motors in the
IF loop 
and two motors
in the 
ELSE loop
. Set the
motor ports and speeds.
Go
forward
Stop
 
With this program, the
robot moves forward as
long as the bumper is not
pressed (value=1). Robot
will stop if it hits an
obstacle (value=0)
Ken Youssefi/Ping Hsu
Introduction to Engineering – E10
36
Slide Note
Embed
Share

Computer programming in engineering involves breaking down tasks into small steps to instruct a computer. This process requires understanding programming languages such as C, C++, and Java, and concepts like Object-Oriented Programming (OOP). The sequential execution of expressions and the importance of choosing the right language are also discussed.

  • Computer Programming
  • Engineering
  • Object-Oriented Programming
  • C++
  • Java

Uploaded on Sep 13, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. Programing Concept (Part A) ENGR 10 Introduction to Engineering 1 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  2. What is Computer Programming ? Programming is breaking a task into small steps As a computer programmer, your job is to instruct a computer to perform tasks One thing that you will realize quickly is that a computer is very dumb, but obedient. It does exactly what you tell it to do, which is not always what you wanted. 2 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  3. A Math Example y = [ 3 ( a a +7) ] / b +4 a2 a2 + 7 3 (a2 + 7) = 3a2 + 21 (3a2 + 21) / b (3a2 + 21) / b + 4 3 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  4. Consider the sequential execution of the above expressions to find the value of y: y = [ 3 ( a a +7) ] / b +4 p = a x a; q = p + 7; r = 3 x q; s = r / b; y = s + 4; 4 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  5. What is a Programming Language? Computers only understand the binary language. Programming languages were developed to make it easier for us to communicate with computers. There are many different languages. The main choices, used by professional programmers, are: C, C++ and Java. C Probably the most widely-used, it is the oldest of the three languages. It's been in use since the 70s, and is a very compact , powerful and well-understood language. 5 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  6. What is a Programming Language? Object Oriented Programming (OOP) is a modern (more user friendly) programming concept where the programmer creates "objects" like real-life objects, with both properties and abilities. C++, Java are examples of widely used OOPs; MATLAB, Perl, EasyC are examples of special purpose OOPs; there are many more. C++ This language includes pretty much all of C with more features added. Its main advantage over C is that it s object oriented. 6 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  7. What is a Programming Language? Java is a computer Java runs on more than one platform without needing to be recompiled. Java runs inside web browsers, letting programmers create little applications which can run on websites. But Java historically is slower than compiled languages. written in a programming EasyC (VEX Robot) Over time, special purpose languages have been developed for specific applications - to make the programmers job easier. EasyC is a C++ based language specifically for telling the VEX robot what to do. 7 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  8. EasyCcortex new version Open a New Standslone Project and select Autonomous Only Project 8 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  9. EasyCcortex - new version Use the Window option to configure the appearance of the screen Your program is inserted here Program code Function blocks Flow chart 9 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  10. Program blocks Sensor blocks Outputs options 10 Ken Youssefi Introduction to Engineering E10

  11. Variables A variable is a place where we store a value. A = 10 ; // The value 10 is stored in A. Value of 10 is placed in the storage location called A . So A is a variable A semicolon is requiredat the end of each instruction. Any statement after the sign // is NOT part of the program. It is a comment made by the programmer. 11 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  12. Variables Every variable in the program needs to be declared in the beginning of the program. Declaration of the variable tells the program its name and its type intspeed ; The word int indicates that the variable speed is an integer variable. 12 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  13. Commonly Used Variable Types Variable Type Description Range Stores integer values EX: 5, -3200 -32,768 to +32,767 215 Int Stores integer values with extended range EX: 56, 6000, -4,234,128 -2,147,483,648 to +2,147,483,647 231 Long Stores values with decimal point EX: 1.245, -4.2341 [-10^+38, -10^-38] 0 [10^-38, 10^+38] float Stores characters* EX: A, B, @, # _ char 13 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  14. Variables Global Variable This variable is accessible from anywhere within your program. Local Variable This variable is only accessible from a local area within your program ( functions will be discussed later). 14 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  15. Global Variable Declaration To declare a global variable, right click on the tab Global in the Main program and select Edit Block (or double click the block) Starting value of the variable Variable name Select variable type 15 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  16. Example of Assigning Variables 16 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  17. Assignment Operator In C language = is an assignment operator, NOT an is equal to statement. This == symbol is used for checking equal condition, not for value assignment. A = 10; // means assign 10 to A. A = B; // means assign the value of B to A A = A+1; //means assign the value A+1 // back to A, i.e., increase A by 1. 17 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  18. Assignment Operator: Examples: int A; // a variable named A of type integer int B; // a variable named B of type integer A = 10; // value 10 is assigned to variable A B = (24+16)/2; // 20 is assigned to variable B A = A + 15; // value of (A+15) is first evaluated and then assigned to A. So now A=(10+15)=25 B = A + B ; // Now A = 25, B = (25+20)=45 A = B 40; // Now A=(45-40)=5, B=45 A = A * B; // Now A=(5*45)=225, B=45 B = A / 9; // Now A=225, B=25 18 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  19. Decision Making The ability to make decision is the most basic form of intelligence. A linear (sequential) execution of instructions can only perform a simple task that does not involve decision making. Most common conditional statements are: IF statement IF - Else statement While statement 19 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  20. IF Statement (logic statement) Only if this condition is true, this instruction is executed. Example if (Number == 0) { PrintToScreen ( The Number is Zero ); } if (Number < 0) { PrintToScreen ( The Number is negative ); } 20 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  21. IF Statement Select, drag and drop the IF statement into the flow chart 21 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  22. IF-ELSE Statement IF-ELSE statement should be used where there are only two possible cases. If (score <60) { PrintToScreen( You failed the test );} else { PrintToScreen( You passed the test );} 22 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  23. EasyCPro - Example Drag and drop the IF module, the Print To Screen, and Else module into the flow chart 23 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  24. How to Add a User Code Enter the expression to be executed Drag and drop User Code 24 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  25. WHILE Statement The WHILE statement is useful for repeating a set of instructions Suppose we have to add the first 50 positive integers 1+2+3+4+ +48+49+50 You could use a single statement: int SUM ; // integer variable for the result SUM = 1+2+3+ ..+48+49+50; 25 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  26. Much better approach is To use While statement Initialize the variables SUM and COUNTER This condition is checked first. If it is true, the block of instructions enclosed by the curly brackets { } is executed. This block of instructions is executed repeatedly until the condition is not true. Finite loop 26 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  27. Solution to Clicker question 3 Initially i = 0, x = 0. First iteration: condition 0<3 is true x = 0+0=0, i = 1 Second iteration : condition 1<3 is true x = 0+1=1, i = 2 Third iteration : condition 2<3 is true So x = 1+2=3, i = 3 Fourth iteration : condition 3<3 is false So the WHILE loop stops. int x; int i; x = 0; i = 0; while (i < 3) { x = x + i; i = i + 1; } Final Value of x is 3. 27 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  28. Finite and Infinite Loop In the previous examples we have employed condition checking in order to control the flow of execution. We have made the loop to repeat only a finite number of times. We can also make the loop to repeat infinitely The infinite loop is necessary to continuously check the signal coming from the sensor. This loop is included in the Go-To-Beacon program. Infinite loop 28 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  29. In Summary Most commonly used logic statements: IFstatement IF ELSE statement (for two cases only) ELSE IF statement (for more than two cases) WHILE loop (finite or infinite) statement Write a short program so that the robot moves forward as long as it has not encounter any obstacles (bumper sensor is not pressed), and it stops when bumper is activated (hit an obstruction). 29 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  30. Setting up the program for the Sensors Declare the variable Bumper Double click the Variable block to create a new int variable named bumper 30 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  31. Setting up the program for the Sensors Select, drag and drop the While Loop icon between the BEGIN and End In the config. window set the condition of the while loop to be 1==1, this will force the while loop to loop for an infinite amount of time 31 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  32. Setting up the program for the Sensors Select, drag and drop the Bumper Switch icon into the program in the WHILE loop 32 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  33. Setting up the program for the Sensors Set the Digital Input # to the port that the sensor is plugged in This is an infinite loop to check the signal from the bumper. If the bumper is pushed its value will change to 0 Select Bumper from the list of variables 33 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  34. Integrating Motors with Sensors Drag and drop an IF and ELSE icons from the Program Flow into the program below the sensor Set the condition for the IF statement, bumper ==1, no obstacle (not pressed) 34 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  35. Integrating Motors with Sensors Your robot will be using two motors. Drag and drop two motors in the IF loop and two motors in the ELSE loop. Set the motor ports and speeds. [ 2 , 127] ; Go forward [ 3 , -127] ; With this program, the robot moves forward as long as the bumper is not pressed (value=1). Robot will stop if it hits an obstacle (value=0) [ 2 , 0] ; Stop [ 3 , 0] ; 35 Ken Youssefi/Ping Hsu Introduction to Engineering E10

  36. Bumper is not pressed [ 2 , 127] ; [ 3 , -127] ; Bumper is pressed [ 2 , 0] ; [ 3 , 0] ; 36 Ken Youssefi/Ping Hsu Introduction to Engineering E10

Related


More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#