Problem Solving
Download
Report
Transcript Problem Solving
Module 1
Problem Solving
حل المسائل
1942102
Computer Skills for Humanities
Lecturer: Dr. Mohammad Abd-Alrahman Mahmoud Abushariah
E-mail: [email protected]
[email protected]
Chapter Objectives
Presents the data types and explains the
constants, variables, strings, …etc.
Introduces the steps to solve a problem through
flowcharts and pseudo codes.
Explains constants, variables, and data types.
Helps understanding and solving problems using
MS-Excel and MS-Access in the following
modules.
2
Data Types
أنواع البيانات
Data: is the main element of programming.
يتم التعامل مع البيانات أو القيم في التطبيقات البرمجية على النحو التالي:
-1كتابتها مباشرة وهو ما نسميه الثوابت الصريحة ).(Literal
-2اإلشارة إليها بإسم وهي المتغيرات ( )Variablesالتي يتم تخزين
القيم فيها الحقا من خالل اإلدخال أو جملة التخصيص.
There are 4 common data types:
1) Strings
2) Integers
3) Real Numbers
3
4) Boolean
Data Types
أنواع البيانات
(Strings):السالسل الرمزية )1
Store a series of characters.
هي مجموعة مكونة من رمز واحد أو أكثر مثل الرسائل واألسماء
والترويسات وغيرها.
عادة يتم وضعها بين عالمتي تنصيص " " إذا إحتوت أكثر من رمز أو
' 'إذا إحتوت رمزا واحدا فقط ،وتقسم إلى:
الحروف األبجديةA, B, C, …, a, b, c, …, :
الرموز الخاصة*, &, %, @, !, #, …, :
األرقام0, 1, 2, 3, …, 9 :
4
Data Types
أنواع البيانات
(Integers):األعداد الصحيحة )2
Represent complete integer values (positives and
negatives).
األعداد الصحيحة تكتب كما هي من دون فراغ ومن دون
فاصلة عشرية وجائز أن يسبقها إشارة العدد – أو .+
أمثلة12, 6, -55, 114, +90 :
5
Data Types
أنواع البيانات
(Real Numbers):األعداد الحقيقية )3
Used to store real numbers using decimal points
or exponential notations.
6
تكتب بشكلين:
بإستخدام الفاصلة العشرية :وتكتب فاصلة عشرية واحده
فقط في العدد .مثل0.001, +54.3, -0.2 :
الصيغة العلمية :وهي ضرب العدد الحقيقي باألساس 10
مرفوعا ألس معين .مثل :العدد 45423.5يمكن كتابته
بالشكل التالي 4.54235 x 104
Data Types
أنواع البيانات
4) ( الثوابت المنطقيةBoolean):
Used to store Boolean values, which can be either
True or False.
Sometimes 0 is used to represent False
statements, whereas 1 is used to represent True
statements.
7
Exercises
Identify the most suitable data type for the followings:
1) statement = “Nobody is perfect";
2) age = 22;
3) –0.35
4) π = 3.14159265;
5) greeting = "Hello World!";
6) weather = 42˚;
7) a = 25, b = 23, a = b “True or False”.
8) L1 = 'J';
9) GPA = 3.67;
10) i = 1000000;
8
Exercises
Answers
Identify the most suitable data type for the followings:
1) String
2) Integer
3) Real Number
4) Real Number
5) String
6) Integer
7) Boolean
8) String
9) Real Number
10) Integer
9
Constants and Variables
الثوابت والمتغيرات
A Constant is a memory location whose value
remains the same during the execution of the
program.
.الثابت عبارة عن قيمة ثابته ال تتغير أثناء تنفيذ البرنامج
A Variable is a memory location whose contents
can be changed during the execution of the
program.
المتغير هو عبارة عن قيمة قد تتبدل (تتغير) أثناء تنفيذ
.البرنامج
10
Constants and Variables
الثوابت والمتغيرات
Question:
Determine the constants and variables when calculating
a commission for a salesman with a percentage of (4%)
of sales.
)Commission( حدد الثوابت والمتغيرات في عملية إحتساب عمولة
من قيمة4% )Percentage( مندوب مبيعات في مؤسسة وقيمتها
.)Sales( المبيعات
Answer:
Constant is the percentage = 4%.
Variables are the sales and commissions.
11
Constants and Variables
الثوابت والمتغيرات
Question:
University of Jordan has 5000 academic and
administrative staff each of which earns a different
salary based on his/her rank. Every staff in the university
is subject to an income tax, which is 20% per annum.
Identify the constants and variables in the above
scenario.
Answer:
Number of staff = 5000 is a constant
Income tax = 20% is a constant
Salary = x is a variable
12
Constants and Variables
الثوابت والمتغيرات
Question:
Identify the constants and the variables in the following
quadratic equation.
y = 2x2 + 5x + 10
Answer:
Constants: 2, 5, and 10
Variables: x and y
13
Assignment Statements
جمل التعيين
Assignment statement is used to assign values to the
declared variables.
البد من تحديد قيم للمتغيرات التي بدورها ستخزن في مواقع محددة داخل
.ذاكرة الحاسوب
The general format of the assignment statement is:
Variable_Name = Expression
Variable_Name is the name of a variable that is
previously declared.
The left hand side cannot be an expression.
وإنما يجب أن يكون،ال يجوز أن يكون الطرف األيسر تعبيراً أو ثابتا
.متغيراً وحيداً فقط
14
Assignment Statements
جمل التعيين
15
Expression can be a constant, variable, logical,
arithmetic or string of characters.
الطرف األيمن من جملة التعيين يمكن أن يكون ثابتاً أو متغيراً آخر معرفاً
في جملة سابقة ،أو سلسلة حروف أو تعبيراً رياضياً أو منطقياً.
Important Note:
The left and right hand sides of the assignment statement
must be of the same data type.
البد أن يكون هنالك توافق ما بين الطرف األيمن والطرف األيسر في
جملة التعيين (حول إشارة المساواة =).
أي أن يكون ناتج الطرف األيمن من نوع البيانات نفسه للمتغير في
الطرف األيسر.
Assignment Statements
جمل التعيين
Examples:
1) X = 6;
This assignment statement assigns the value 6 to the variable X.
2) S = X + 10;
This assignment statement assigns the value of the expression
X + 10 to the variable S.
This implies that the value of the expression will be evaluated
first.
Increment and decrement of variables:
Increment the variable X by 5, X+=5, OR X = X + 5;
Decrement the variable X by 2, X – =2, OR X = X – 2;
16
Arithmetic, Logical, and Relational Operations
العمليات الحسابية والمنطقية والعالئقية
هنالك مجموعة من العمليات الحسابية والمنطقية والعالئقية تستخدم في أي
تعبير رياضي أو منطقي.
) are:العمليات الحسابية( The arithmetic operations
17
العملية
رمز العملية
Operation
Operation Code
الجمعً Addition
+
الطرح Subtraction
الضرب Multiplication
*
القسمة Division
/
المعاملًالمطلق Modulus
Mod
المعاملًاألسي Exponentiation
^
Arithmetic, Logical, and Relational Operations
العمليات الحسابية والمنطقية والعالئقية
Important Notes:
بالنسبة لعملية القسمة فالمطلوب هو القسمة الحقيقية.
بالنسبة لعملية إيجاد الباقي ( )Modفالتركيز فقط على األعداد الصحيحة
الموجبة فقط.
Examples:
Calculate Mod of 5 when x = 17
Mod 5 = 2
Calculate Mod of 17 when x = 5
Mod 17 = 5
السبب :إذا كان المقسوم علية أكبر من القاسم فتكون اإلجابة هي قيمة القاسم.
18
Arithmetic, Logical, and Relational Operations
العمليات الحسابية والمنطقية والعالئقية
هنالك أيضا مجموعة من العمليات المنطقية تستطيع إستخدامها في
برنامجك.
) are:العمليات المنطقية( The logical operations
AND
OR
NOT
تستخدم هذه العمليات في تكوين تعبير منطقي ،وقيمة التعبير المنطقي
تحتمل اإلجابة الصحيحة ( )Trueأو اإلجابة الخاطئة (.)False
19
Arithmetic, Logical, and Relational Operations
العمليات الحسابية والمنطقية والعالئقية
AND النتائج المنطقية عند إستخدام
A
True
True
False
False
B
True
False
True
False
A AND B
True
False
False
False
20
Arithmetic, Logical, and Relational Operations
العمليات الحسابية والمنطقية والعالئقية
OR النتائج المنطقية عند إستخدام
A
True
True
False
False
B
True
False
True
False
A OR B
True
True
True
False
21
Arithmetic, Logical, and Relational Operations
العمليات الحسابية والمنطقية والعالئقية
NOT النتائج المنطقية عند إستخدام
A
True
False
NOT A
False
True
22
Arithmetic, Logical, and Relational Operations
العمليات الحسابية والمنطقية والعالئقية
هنالك نوع آخر من العمليات تسمى بالعمليات العالئقية ( )Relationalأو
معامالت المقارنة.
) are:العمليات العالئقية( The relational operations
23
العملية
الرمز
Operation
Symbol
أكبرًمنً Greater than
>
أقلًمن Less than
<
أكبرًمنًأوًتساوي Greater than or equal
=>
أقلًمنًأوًتساوي Less than or equal
=<
المساواة Equal
=
الًتساوي Not Equal
><
Arithmetic, Logical, and Relational Operations
العمليات الحسابية والمنطقية والعالئقية
Such operations are used for comparison, and the result
is of a logical type (True/False).
هذه العمليات تحتمل اإلجابة الصحيحة ( )Trueأو اإلجابة الخاطئة
(.)False
ولكن كيف يقوم الحاسوب بحساب التعابير المختلفة ويحد لها قيمة محتملة
واحدة؟
إن الحاسوب يعتمد على قاعدة أساسية للتطبيق وهي أولوية تنفيذ العمليات،
وينفذ أي تعبير حسب القواعد واألولويات التالية:
24
يقوم بإجراء العمليات من اليسار إلى اليمين
في حالة وجود أقواس يبدأ أوالً باألقواس من اليسار إلى اليمين ،وعندما تكون هنالك
أقواس متداخلة ،يبدأ باألقواس الداخلية ومن ثم ينتقل بإتجاه األقواس التالية خارجياً.
يتم تنفيذ العمليات من اليسار إلى اليمين حسب األولويات التالية( :يتبع) <----
Arithmetic, Logical, and Relational Operations
العمليات الحسابية والمنطقية والعالئقية
Operations in an expression are performed according to
the following priorities (orders):
الرمز
Symbol
()
^
*, /
Arithmetic
Mod
+, -
Relational
Logical
>, <, >=, <=, =, < >
NOT
AND
OR
العملية
األولوية
Operation
Priority
Parenthesis األقواس
.1
Exponentiation رفعًالقوى
.2
Multiplication الضرب
.3
Division القسمة
Modulus المعاملًالمطلق
.4
Addition الجمع
.5
Subtraction الطرح
Comparison المقارنة
.6
Logical المنطقية
.7
25
Exercises
Example 1: (Refer to Page 7)
Solve the following equation:
A = 2 * 3 + 6 * 3 – (4 + 2) * 2
Example 2: (Refer to Pages 7 – 8)
Assume that a = 1, b = 2, c = 3, and d = 2 are given, what
does each of the following expressions produce?
(d <= 99 AND c < d)
(b >= a OR c = d)
(c + d < b OR 3 – b >= c)
26
Exercises
Example 3: (Refer to Page 8)
Assume that A = 50, B = 70, C = 80, and D = 90 are given,
what does each of the following expressions produce?
V1 = (A > B) AND (B < C)
V2 = (A < > B) AND (B < > C)
V3 = (A < C) OR (D > A)
V4 = V1 AND (V2 OR V3) OR (A < C)
27
Additional Exercises
Solve the following equations:
1) Y = 6 * 3 – (4 + 2) * 2 + 10 MOD 3 ^ 1 ^ 2 – 8
2) X = 3.6 + 9 MOD (6 * (3 + 2)) / 2 + 2 ^ (3 – 2) * 2
3) X = 1 and Y = 5
Z = X <= Y – 4 AND NOT X * 5 < > Y OR X + 2 < (X + Y) / 2
4) Y = 3 >= 9 OR (5+1) < > 2 AND NOT ((7 – 3) < 2 OR FALSE)
28
Problem Solving
حل المسائل
The basic flow of computer processing is input, process,
and output. This is done through programming.
Refer to Figure (1 – 1).
Input
Process
Output
يقوم الحاسوب بإدخال البيانات ومعالجتها وإخراج النتائج بشكل معلومات
.عن طريق كتابة البرنامج وإدخالها للحاسوب
29
Problem Solving
حل المسائل
Computer program is a set of
instructions that tell the computer how to
process data.
البرنامج عبارة عن مجموعة من األوامر والتعليمات
.تخبر الحاسوب كيف سيقوم بمعالجة البيانات
30
Problem Solving
حل المسائل
Example:
How would be the input, process, and output to calculate
a semester grade average?
Input:
Student’s grades from all the courses in the semester.
Process:
Adding up the grades and dividing them by the
number of courses.
Output:
The semester grade average
31
Problem Solving
حل المسائل
To solve a problem, do the following:
1) Analyze )(فهم وتحليل المسألة
This requires the following:
Problem understanding )فهم المسألة (المشكلة
Knowing what the inputs to the problem are تحديد
المدخالت
Determining the desired outputs تحديد المخرجات
Knowing what the necessary processing steps to
the solution are إتباع الخطوات المطلوبة للحصول على
المخرجات المرغوبة
32
Problem Solving
حل المسائل
To solve a problem, do the following:
2) Design a solution تصميم الحل
Developing a set of steps that, when applied, will lead
to the best solution using flowcharts or (and) pseudo
codes.
تحدد في هذه الخطوة الخطوات المقترحة للحصول على المخرجات
وفي هذه الخطوة أيضا. وإختيار أفضل إقتراح للحل،المطلوبة
. أو أشباه العمليات/ نستخدم مخططات سير العمليات و
33
Problem Solving
حل المسائل
To solve a problem, do the following:
3) Coding the program كتابة البرنامج
This is done using a programming language.
تتم بإستخدام إحدى لغات البرمجة وأشباه اللغات لتسهيل الحل وكتابة
.البرنامج
4) Test the program فحص وتدقيق البرنامج
Each part of the program must be tested to make sure
that the program is free of errors.
. التأكد من عدم وجود أخطاء برمجية في البرنامج
34
Problem Solving
حل المسائل
To solve a problem, do the following:
5) Validate the solution تقييم الحل
The program should be validated by extensive testing.
التأكد من أن البرنامج يعمل على مجموعة من البيانات المختلفة بشكل
.سليم
35
Pseudo Codes
أشباه البرامج
Pseudo code is a set of English-like statements used to
help in solving problems.
شبه البرنامج هو مجموعة من الجمل (أوامر وتعليمات) لخطوات حل
.المسألة بلغة قريبة إلى لغة اإلنسان
Example:
Write a pseudo code to calculate and print a student’s
semester grade average for five scores.
1. Get scores for 5 courses
2. Add (sum) the scores together
3. Divide the sum by 5 (number of courses)
4. Print the results (Average)
36
Flowcharts
مخططات سير العمليات
Flowcharts are used to express the flow of data
and processing.
A flowchart is a structure graph which shows the
steps of the algorithm.
مخطط سير العمليات عبارة عن مجموعة من الرسومات
التوضيحية لخطوات حل المسائل وبيان تدفق البيانات.
يساعد هذا المخطط على إكتشاف األخطاء المنطقية في حل
المسألة.
37
Flowcharts
مخططات سير العمليات
38
Flowchart Constructs
تراكيب المخططات
Regardless of how you represent your solution, you
will quickly find that no matter how complicated
your solution is, when you simplify it, it is made up
of only three very simply constructs.
.يمكن أن تتجزأ المسألة في المخططات لتتكون من تركيبة أو أكثر
The three constructs are:
Sequence التركيبة المتتالية
Selection التركيبة اإلختيارية
Iteration (Looping) )التركيبة التكرارية (الدورانية
39
Flowchart Constructs
تراكيب المخططات
Sequence التركيبة المتتالية
A sequence, as the name indicates, means to perform
one step at a time, and follow it by the next step, and so
on so forth. Refer to Figure (1 – 2).
.التركيبة المتتالية تمثل سرداً للتعليمات واحدة تلو األخرى
40
Flowchart Constructs
تراكيب المخططات
Sequence التركيبة المتتالية
Example 1:
Draw the flowchart and write a pseudo code to
determine the Celsius equivalent for a Fahrenheit
temperature. The formula to calculate Celsius is:
Celsius = 5 * (Fahrenheit – 32) / 9
Pseudo code 1:
INPUT Fahrenheit Temperature
CALCULATE Celsius Temperature
OUTPUT Celsius Temperature
41
Flowchart Constructs
تراكيب المخططات
Sequence التركيبة المتتالية
Example 1:
Pseudo code 2:
BEGIN
INPUT Fahrenheit
SUBTRACT 32 from Fahrenheit
MULTIPLY difference by 5
DIVIDE quotient by 9
OUTPUT Celsius
END
42
Flowchart Constructs
تراكيب المخططات
Sequence التركيبة المتتالية
Example 1:
Flowchart:
43
Flowchart Constructs
تراكيب المخططات
Sequence التركيبة المتتالية
Example 2:
Draw the flowchart to solve the following equation:
X=A*B–C/5
Flowchart:
44
Flowchart Constructs
تراكيب المخططات
Selection التركيبة اإلختيارية
A selection means to perform an action only if a
condition is true. Refer to Figure (1 – 5).
.التركيبة اإلختيارية تقوم بتنفيذ التعليمات عند تحقيق شرط
Syntax تركيب الجملة
If Condition then
Statement (A)
Else
Statement (B)
End if
45
Flowchart Constructs
تراكيب المخططات
التركيبة اإلختيارية Selection
46
Flowchart Constructs
تراكيب المخططات
Selection التركيبة اإلختيارية
Example:
Draw a flowchart to calculate the function f(X) such as:
X + 5, X < 50
f(X) =
X + 3, Otherwise
Pseudo code:
Input X
If X < 50 then F = X + 5
Else
F=X+3
End if
Print F
47
Flowchart Constructs
تراكيب المخططات
Selection التركيبة اإلختيارية
Example:
Flowchart:
48
Flowchart Constructs
تراكيب المخططات
Iteration or Looping )التركيبة التكرارية (الدورانية
Iteration or looping means to perform an action as
long as a condition is true as shown in Figure (1 –
7), or false as shown in Figure (1 – 8).
التركيبة التكرارية (الدورانية) تقوم بتنفذ التعليمات مادام الشرط
) أو غير متحقق كما يوضح الشكل1 – 7( متحققاً كما في الشكل
.)1 – 8(
Each time we perform the action, it is known as
iteration.
49
Flowchart Constructs
تراكيب المخططات
التركيبة التكرارية (الدورانية) Iteration or Looping
Note that if the condition tested in the decision is not
changed in the True branch, the possibility for an
endless loop exists.
إذا بقي الشرط متحققا كما في الشكل ( )1 – 7فسندخل في تركيبة
دورانية غير منتهية ،كذلك األمر بالنسبة للشكل ( )1 – 8إذا لم
يتحقق الشرط فسندخل في تركيبة دورانية غير منتهية.
50
Flowchart Constructs
تراكيب المخططات
Iteration (Looping) )التركيبة التكرارية (الدورانية
Refer to Figure (1 – 7)
51
Flowchart Constructs
تراكيب المخططات
Iteration (Looping) )التركيبة التكرارية (الدورانية
Refer to Figure (1 – 8)
52
Exercises
Example 1: What is the output for the following flowchart?
343
334
Finish
3
53
Exercises
Example 2: What is the output for the following flowchart?
Assume the inputs are:
10, 3, and 4
Choices:
4 10 3 5
7 7 10 3 8
7 7
None of them
54
References
مهارات الحاسوب ،Computer Skill 2 / 2الدكتور "محمد
بالل" الزعبي،الدكتور احمد الشرايعة ،الدكتور أمجد هديب،خالدة
محمد الزعبي/ 2012 ,الطبعة األولى
55