ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
1
นิพจน์ ตัวแปร และฟังก์ชัน
2
เนื้อหา การคำนวณบนคอมพิวเตอร์ นิพจน์ ตัวแปร และลำดับความสำคัญ
ประเภทตัวแปร การอ่านข้อมูลเข้า ตัวอย่างการคำนวณอย่างง่าย
3
Python Shell ใน Wing IDE
เครื่องคิดเลข เราสามารถใช้คอมพิวเตอร์เป็นเครื่องคิดเลขได้ พิมพ์ใน Python Shell Python Shell ใน Wing IDE
4
เครื่องคิดเลข ทดลองพิมพ์ >>> 10 * 5 50
ป้อนลงใน Python Shell >>> 10 * 5 50 >>> 10 >>> >>> 1 * ** 10 คำตอบที่ได้รับ ช่องว่างไม่มีผล คือการยกกำลัง
5
นิพจน์ สิ่งที่เราป้อนเข้าไปใน Console ของไพธอนเรียกว่านิพจน์ (expression) ที่ Console เมื่อคอมพิวเตอร์ได้รับนิพจน์จะนำไปประมวลผลโดยการคำนวณ แล้วพิมพ์ผลลัพธ์ออกมา
6
ทดลองคำนวณ วัตถุชิ้นหนึ่งเคลื่อนที่ด้วยความเร็วต้น 10 เมตรต่อวินาที มีความเร่ง 2 เมตร2/วินาที เมื่อเคลื่อนที่ไป 5 วินาที วัตถุจะอยู่ห่างจากจุดเริ่มต้นกี่เมตร? s = ut + at2/2 10 * * (5*5) / 2
7
ตัวดำเนินการ (1) ในการเขียนนิพจน์ ในการคำนวณข้างต้น เราได้ใช้ "ตัวดำเนินการ (Operator)" เช่น +, -, *, / เพื่อนำข้อมูลมาประมวลผล ตัวดำเนินการระบุการประมวลผลที่เกิดขึ้นกับตัวถูกดำเนินการ (Operand) ตัวถูกดำเนินการ 10 * 5 ตัวดำเนินการ
8
ตัวดำเนินการ (2) ตัวดำเนินการมีทั้งแบบ
ทวิภาค (binary) ที่ทำงานกับข้อมูลสองตัว เช่น +, -, * 5 * – *7 เอกภาค (unary) ที่ทำงานกับข้อมูลตัวเดียว เช่น – * 7
9
ตัวดำเนินการ (3) ตัวดำเนินการทางคณิตศาสตร์บางส่วนแสดงดังตารางต่อไปนี้
ความหมาย ตัวอย่าง + บวก 3+5 - ลบ 4-2 * คูณ 4.5*10 / หาร หน้าถัดไป % หารเอาเศษ ** ยกกำลัง 3**4
10
การหารในไพธอน ตัวดำเนินการหารมีหลัก ๆ สองแบบ หารเอาผลลัพธ์ หารเอาเศษ
นิพจน์ ผลลัพธ์ 4/2 2.0 3/2 1.5 10/7 4286 3.0/2 10/7.0 1.4286 นิพจน์ ผลลัพธ์ 4%2 3%2 1 10%7 3 3.0%2 1.0 10%7.0 3.0
11
ประเภทของจำนวนในไพธอน
ข้อมูลประเภทตัวเลขในไพธอนมี 2 แบบคือ จำนวนเต็ม (integer) กับ จำนวนจริง (floating point) จำนวนเต็ม ค่า จำนวนจริง 10 10.0 3-2 1 3.0-2 1.0 19*5 95 19*5.2 98.8
12
ทดสอบความเข้าใจ นิพจน์ ค่า 2 + 3 * 6 20 (2+3) *6 30 3/5*2 1.2 3*5.0/2
7.5
13
สรุป: จำนวนเต็ม - จำนวนจริง
ถ้าเขียนจำนวนโดยไม่ใส่จุดทศนิยม จะถือว่าเป็นจำนวนเต็ม ผลลัพธ์ การดำเนินการระหว่างจำนวนเต็มกับจำนวนเต็มได้ผลลัพธ์เป็นจำนวนเต็ม ยกเว้นการหาร การหารจะให้ผลลัพธ์เป็นจำนวนจริง การดำเนินการที่เกี่ยวข้องกับจำนวนจริง ได้ผลลัพธ์เป็นจำนวนจริง
14
3/5*2 การคำนวณทั่วไปจะกระทำจากซ้ายไปขวา ((3/5)*2) ( 0.6 *2)
15
ลำดับความสำคัญของตัวดำเนินการ
แต่ตัวดำเนินการมีความสำคัญไม่เท่ากัน เช่น * หรือ / สำคัญกว่า + หรือ - 2+3*6 2+(3*6)
16
นี่มันก็แค่... คณิตศาสตร์ระดับประถมเท่านั้นเอง!
17
ความสำคัญของตัวดำเนินการ
ลำดับที่ ตัวดำเนินการ ตัวอย่าง 1 () (3+4) 2 ** 2**3 3 -,+ (เอกภาพ) -5, +10 4 *,/,% 3*4, 7%2 5 -,+ 2+7, 3-4 ตัวดำเนินการที่สำคัญเท่ากันจะทำจากซ้ายไปขวา ยกเว้นการยกกำลัง
18
ทดลองคำนวณ (1) 2+5*6/3+(7-2*3) ผลลัพธ์คือ? 13.0
19
ทดลองคำนวณ (2) 2 ** 2 ** 3 ผลลัพธ์คือ? 2 ** (2 ** 3) 28 = 256
20
การคำนวณซ้ำ ๆ ซ้ำ ซ้อน (2.5/2.0)*1*1/2 (2.5/2.0)*5*5/2
ก้อนหินมวล 2 kg เริ่มต้นหยุดนิ่ง มีแรงกระทำไปทางซ้าย 2.5 นิวตั้น อยากทราบว่าที่เวลา 1 วินาที, 5 วินาที และ 15 วินาที ก้อนหินจะอยู่ที่ตำแหน่งใด ซ้ำ ซ้อน (2.5/2.0)*1*1/2 (2.5/2.0)*5*5/2 (2.5/2.0)*15*15/2
21
ตัวแปร a = 2.5/2.0 a*1*1/2 a 1.25 a*5*5/2 a*15*15/2
เราสามารถใช้ตัวแปรในการอ้างถึงผลลัพธ์จากการคำนวณได้ a = 2.5/2.0 a*1*1/2 a 1.25 a*5*5/2 a*15*15/2
22
a = 2.5/2.0 ตัวแปร a 1.25 ตัวแปรเป็นสิ่งที่ใช้อ้างถึงข้อมูลต่าง ๆ
กำหนดให้ตัวแปรอ้างถึงข้อมูลโดยใช้เครื่องหมาย = หลังจากนั้นเมื่ออ้างตัวแปรก็จะได้ข้อมูลนั้นกลับมา
23
ตัวแปรเปลี่ยนค่าได้ (1)
a = 10 a * 5 b = 3 a + b a = 7 a + b a = b + 5 a a + b 50 13 10 8 11
24
ตัวแปรเปลี่ยนค่าได้ (2)
a = 10 a = a + 1 11
25
ตัวแปรเปลี่ยนค่าได้ (3)
x = 10 x = x * 2 20
26
ตัวแปรเปลี่ยนค่าได้ (4)
x = 10 x = x * 2 + 5 25
27
การทำงานบน Wing IDE Shell หรือ Console
พิมพ์คำสั่งหรือนิพจน์ Python จะคำนวณ แล้วแสดงผลลัพธ์ทันที เมื่อกด Enter
28
ป้อนโปรแกรมใน WingIDE
ส่วนพิมพ์/แก้ไขโปรแกรม คำสั่งในนี้จะถูกทำงานเมื่อสั่ง Run สามารถเขียนและแก้คำสั่ง ได้หลายบรรทัดก่อนสั่งให้ทำงาน
29
ทดลอง นำไปป้อนใน Wing IDE
โปรแกรม โปรแกรมคือรายการของคำสั่งที่เรียงต่อกัน a = 10 b = a + 5 a - b c = 12 b = a + c c = a*b a + b + c 1 + a - c ทดลอง นำไปป้อนใน Wing IDE
30
ผลลัพธ์คือความว่างเปล่า!
เพราะว่าในโปรแกรมยังไม่มีคำสั่งที่สั่งให้แสดงผลลัพธ์ของการคำนวณ
31
print คำสั่งพิมพ์ ในการพิมพ์ค่าของข้อมูล สามารถใช้ฟังก์ชัน
ในการสั่งพิมพ์ได้
32
เพิ่มคำสั่ง print ให้แสดงผลลัพธ์ ของนิพจน์ที่ต้องการ
โปรแกรม โปรแกรมคือรายการของคำสั่งที่เรียงต่อกัน เพิ่มคำสั่ง print ให้แสดงผลลัพธ์ ของนิพจน์ที่ต้องการ a = 10 b = a + 5 print(a – b) c = 12 b = a + c c = a*b print(a + b + c) print(1 + a – c)
33
เมื่อสั่ง Run จะเห็นผลลัพธ์
34
อาร์กิวเมนท์ (argument)
การเรียกฟังก์ชัน print(10) ชื่อฟังก์ชัน อาร์กิวเมนท์ (argument)
35
การทำงานในการเรียกฟังก์ชัน
print(a + b * 2) 20 สมมติว่า a = 5 b = 10 25 print(25) จะมีการคำนวณนิพจน์ที่ถูกส่งให้กับฟังก์ชันให้เสร็จก่อนส่งค่าไปให้กับฟังก์ชันนั้น
36
มีเงินรวมทั้งสิ้นกี่บาท?
โปรแกรมง่าย ๆ เรามีเงินในกระเป๋าดังนี้ เหรียญบาท 5 เหรียญ เหรียญสิบบาท 7 เหรียญ ธนบัตรใบละ 20 บาท 2 ใบ ธนบัตรใบละ 100 บาท 3 ใบ มีเงินรวมทั้งสิ้นกี่บาท? sum1 = 1 * 5 sum10 = 10 * 7 sum20 = 20 * 2 sum100 = 100 * 3 sum = sum1+sum5+sum20+sum100 print(sum)
37
โปรแกรมง่าย ๆ (2) หรือสามารถเขียนโดยไม่ต้องใช้ตัวแปร sum ก็ได้
sum1 = 1 * 5 sum10 = 10 * 7 sum20 = 20 * 2 sum100 = 100 * 3 print(sum1+sum5+sum20+sum100)
38
ชื่อและความหมาย พิจารณาโปรแกรมสองโปรแกรมนี้
a = 1 * 5 b = 10 * 7 c = 20 * 2 d = 100 * 3 e = a + b + c + d print(e) โปรแกรมทั้งสองทำงานเหมือนกัน sum1 = 1 * 5 sum10 = 10 * 7 sum20 = 20 * 2 sum100 = 100 * 3 sum = sum1+sum5+sum20+sum100 print(sum) โปรแกรมใด ที่อ่านแล้วเข้าใจเป้าหมายมากกว่า?
39
คำแนะนำ เขียนโปรแกรมให้คนอ่าน
เพราะอย่างน้อยก็คุณคนหนึ่งนั่นเอง ที่ต้องอ่านโปรแกรมที่คุณเขียน
40
การใส่หมายเหตุ (#) เพื่อทำให้โปรแกรมอ่านง่ายขึ้น เราสามารถใส่หมายเหตุ (comment) ที่เขียนอธิบายโปรแกรมได้ ทุกอย่างหลังเครื่องหมาย # จะถือว่าเป็นหมายเหตุ
41
โปรแกรมพร้อมหมายเหตุ
# โปรแกรมนี้คำนวณเงินรวม # จากจำนวนธนบัตรประเภทต่างๆ sum1 = 1 * # เงินรวมของธนบัตร 1 บาท sum10 = 10 * 7 sum20 = 20 * 2 sum100 = 100 * 3 print(sum1+sum5+sum20+sum100)
42
”Hello ข้อมูลประเภทข้อความ ”Hello, world”
คอมพิวเตอร์นอกจากจะคำนวณด้านตัวเลขได้แล้ว ยังสามารถประมวลผลข้อมูลแบบอื่น ๆ ได้มากมาย ข้อความ (string) ก็เป็นข้อมูลอีกประเภทหนึ่งที่สามารถประมวลผลได้ สตริงเป็นประเภทข้อมูลสำหรับลำดับของของอักขระ ”Hello ”Hello, world”
43
การระบุข้อมูลประเภทข้อความ
ระบุภายในเครื่องหมายคำพูดคู่ ”Hello” หรือภายในเครื่องหมายคำพูดเดี่ยว ’World’ เครื่องหมายคำพูดที่ใช้จะต้องเปิด-ปิดแบบเดียวกัน นอกจากนี้ยังสามารถใส่เครื่องหมายพิเศษภายในได้โดยขึ้นต้นด้วยเครื่องหมาย \ (ทับกลับข้าง)
44
ตัวอย่างข้อมูลประเภทข้อความ (1)
print("hello") hello print('hello') hello print("I'm 9") I'm 9 print('I'm 9') ผิดพลาด print('I\'m 9') I'm 9 print("I\'m 9") I'm 9
45
ตัวอย่างข้อมูลประเภทข้อความ (2)
print("123") 123 print(123) 123 print("12" + "3") 123 print(12 + 3) 15 print("12" + '3') 123 print("12" + 3) ผิดพลาด
46
โปรแกรมคำนวณที่ดูดีขึ้น
sum1 = 1 * 5 sum10 = 10 * 7 sum20 = 20 * 2 sum100 = 100 * 3 sum = sum1+sum5+sum20+sum100 print("The total is",sum) The total is 415
47
โปรแกรมคำนวณที่ดูดีขึ้น
sum1 = 1 * 5 sum10 = 10 * 7 sum20 = 20 * 2 sum100 = 100 * 3 sum = sum1+sum5+sum20+sum100 print("The total is",sum,"bath.") The total is 415 bath.
48
ของแถม: print ไม่ขึ้นบรรทัดใหม่
พิมพ์เสร็จจะขึ้นบรรทัดใหม่ ถ้าต้องการยกเว้นการขึ้นบรรทัดใหม่ ให้ระบุ option end เพิ่มเติม ดังตัวอย่างด้านล่าง print(10) print(20) print(10,end='') print(20) ส่วนนี้ระบุให้ฟังก์ชัน print พิมพ์สตริงว่างแทนการขึ้นบรรทัดใหม่ท้ายการพิมพ์
49
การรับข้อมูลจากผู้ใช้
เราสามารถอ่านข้อมูลจากผู้ใช้โดยใช้ฟังก์ชัน input ฟังก์ชันดังกล่าวจะคืนค่าเป็นข้อมูลประเภท string
50
ตัวอย่างการใช้งานใน Console
>>> name = input() Somchai >>> print("Hello", name) Hello Somchai >>> a = input() 10 >>> b = input() 100 >>> print(a+b) 10100
51
ข้อสังเกต พิจารณาคำสั่ง print(a+b)
เนื่องจากตัวแปร a และ b เก็บข้อมูลประเภท string ที่ได้รับจากฟังก์ชัน input การนำ string มาบวกกันจึงเป็นการนำข้อความมาต่อกันเฉย ๆ
52
????? แล้วเราจะคำนวณค่าที่ได้รับจากผู้ใช้ได้อย่างไร ในเมื่อข้อมูลที่รับได้มีแค่ข้อมูลประเภทข้อความ (string) เท่านั้น
53
การแปลงประเภทข้อมูล เรามีฟังก์ชัน int, float, และ str สำหรับแปลงข้อมูลให้เป็นข้อมูลประเภทต่าง ๆ int("10") 10 float("10") 10.0 float(10) 10.0 int(10.6) 10
54
การแปลงประเภทข้อมูล int("10")+10 float("10")+10 float(10)+int(5)
20 float("10")+10 20.0 float(10)+int(5) 15.0 str(10)+str(5) 105
55
การแปลงระหว่าง float และ int
10 int(10.9) 10 int(-10.1) -10 ฟังก์ชัน int คืนจำนวนเต็มที่ได้หลังจากการตัดส่วนทศนิยมออก
56
Conversion between float and int (2)
เราสามารถใช้ฟังก์ชัน round ที่ปัดค่าให้เป็นจำนวนเต็มที่ใกล้ที่สุดได้ round(10.2) 10 round(10.9) 11 round(-10.1) -10
57
ฟังก์ชันที่สำคัญอีกสองฟังก์ชัน
ความหมาย abs(x) คืนค่าสัมบูรณ์ของ x pow(x,y) คืนค่า xy
58
โปรแกรมบวกเลข # This program adds two numbers astr = input() a = int(astr) bstr = input() b = int(bstr) print("The result is",a+b)
59
การส่งค่าต่อเนื่องในฟังก์ชัน (1)
พิจารณาส่วนของโปรแกรม เราใช้ตัวแปร astr เพื่อรับสตริงจากผู้ใช้แล้วนำมาแปลงเป็นจำนวนเต็มเก็บไว้ที่ตัวแปร a เท่านั้น เราสามารถละตัวแปร astr ออกได้โดยเขียนเป็น astr = input() a = int(astr) a = int(input())
60
การส่งค่าต่อเนื่องในฟังก์ชัน (2)
พิจารณาการทำงานของส่วนของโปรแกรม a = int(input()) input() "12345" int 12345 a a = 12345
61
โปรแกรมคำนวนเงิน (ปรับปรุง)
# This program calculates total amount # of money from numbers of bank notes p1 = int(input()) sum1 = 1 * p1 p5 = int(input()) sum5 = 10 * p5 p20 = int(input()) sum20 = 20 * p20 p100 = int(input()) sum100 = 100 * p100 sum = sum1+sum5+sum20+sum100 print("The total is",sum,"bath.")
62
การระบุข้อความนำ เราสามารถระบุให้ฟังก์ชัน input แสดงข้อความนำก่อนจะอ่านข้อมูลได้ โดยส่งค่าสตริงให้กับฟังก์ชัน input x = int(input("Enter X: ")) print(x+10) Enter X: 100 110
63
มุมนักคิด มีวัตถุชิ้นหนึ่ง เคลื่อนที่จากสถาพหยุดนิ่งด้วยความเร่ง a m/s2 เป็นเวลา t วินาที เขียนโปรแกรมรับความเร่งและเวลา จากนั้นคำนวณระยะที่วัตถุเคลื่อนที่ไปได้
64
เฉลย a = float(input("Enter a: ")) t = float(input("Enter t: ")) print("Total distance =", a*t*t/2)
65
มุมนักคิด: การกระจายหน่วย
Enter length in inch: 320 It is 26 feet, 8 inch. x = int(input("Enter length in inch")) xf = int(x/12) xi = x – xf * 12 print("It is", xf, "feet,",xi,"inch.")
66
คำนวณปริมาตร คำนวณปริมาตรของทรงกระบอก r r2 x h h
67
3.141592653589793 ค่า เราสามารถใช้ค่าประมาณ 22/7
เราอาจจะใช้ค่าคงที่ที่ละเอียดกว่าได้ ซึ่งอยู่ในโมดูล math
68
โมดูล math ภาษาไพธอนมีการแบ่งคำสั่งมาตรฐานออกเป็นกลุ่ม ๆ เป็นหมวดหมู่ เรียกว่า โมดูล (module) ก่อนใช้ต้องมีการประกาศขอใช้ก่อน ด้วยคำสั่ง import จากนั้นฟังก์ชัน รวมถึงค่าคงที่ต่าง ๆ ใน โมดูลสามารถเรียกใช้ได้โดยระบุชื่อโมดูลนำหน้า import math print("Pi is", math.pi)
69
มุมนักคิด เขียนโปรแกรมรับค่า r และ h จากนั้นคำนวณปริมาตรของทรงกระบอก r r2 x h h
70
เฉลย import math r = float(input("Enter r: ")) h = float(input("Enter h: ")) print("Volume =", math.pi*r*r*h)
71
ฟังก์ชันในโมดูล math ฟังก์ชัน ความหมาย คืนค่าสัมบูรณ์ของ x
fabs(x) คืนค่าสัมบูรณ์ของ x sin(x), cos(x), tan(x) ฟังก์ชันตรีโกณมิติของ x (มุมเป็นหน่วยเรเดียล) pi ค่าพาย e ค่า e log(x),log10(x) ค่า log ฐานธรรมชาติ, ค่า log ฐาน 10 exp(x) ค่า ex sqrt(x) รากที่สองของ x
72
ตัวอย่างการใช้ฟังก์ชันคณิตศาสตร์
การแตกแรง # อย่าลืม import math # ถ้ามุมเป็นองศา ต้องแปลงก่อน r = t * math.pi/180 fy = f * math.sin(r) fx = f * math.cos(r) # อย่าลืม import math # กรณีมุมเป็นเรเดียล fy = f * math.sin(t) fx = f * math.cos(t) t f
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.