การคำนวณทางคณิตศาสตร์ ตัวดำเนินการ

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
บทที่ 2 รหัสควบคุมและการคำนวณ
Advertisements

บทที่ 2 รหัสควบคุมและการคำนวณ
รายวิชา ง40102 หลักการแก้ปัญหาและการโปรแกรม
โครงสร้างโปรแกรมภาษา C
โดยอาจารย์ศิริพร ศักดิ์บุญญารัตน์ ครูชำนาญการ โรงเรียนมหิดลวิทยานุสรณ์
ตัวแปรชุด การเขียนโปรแกรมภาษาคอมพิวเตอร์ 1
การเขียนโปรแกรมด้วยคำสั่งเบื้องต้น
บทที่ 2 ภาษาปาลคาลเบื้องต้น.
ประเภทของข้อมูลและตัวดำเนินการ Data Types and Operator (บทที่ 3)
BC320 Introduction to Computer Programming
Introduction to C Programming
ครั้งที่ 8 Function.
การรับค่าและแสดงผล.
Principles of Programming
C Programming Lecture no. 4 กราบเรียนท่านอาจารย์ และสวัสดีเพื่อนๆ
Lecture No. 3 ทบทวนทฤษฎีและแบบฝึกหัด
หลักการโปรแกรม 1 Lecture 3: ตัวแปร, นิพจน์คณิตศาสตร์, การคำนวณทางคณิตศาสตร์,การดำเนินการกับสายอักขระ.
ชนิดของข้อมูลและตัวดำเนินการ
บทที่ 2 Operator and Expression
Week 6 ประกาศค่าตัวแปร.
การแสดงผล และการรับข้อมูล
รับและแสดงผลข้อมูล.
ปฏิบัติการครั้งที่ 9 ฟังก์ชัน.
Lecture no. 2: Overview of C Programming
คำสั่งควบคุมการทำงาน
ตัวแปรชุด.
หน่วยที่ 5 ตัวดำเนินการ (Operators)
Arrays.
C Programming Lecture no. 6: Function.
การเขียนโปรแกรมเชิงวัตถุ ด้วยภาษาจาวา
บทที่ 3 ตัวดำเนินการ และ นิพจน์
บทที่ 11 การเขียนโปรแกรมภาษาซี
ข้อมูลพื้นฐานและตัวดำเนินการ
หน่วยที่ นิพจน์ในภาษา C
หน่วยที่ 1 พื้นฐานภาษา C
อาร์เรย์และข้อความสตริง
ตัวอย่างโปรแกรมคำนวณหาพื้นที่สี่เหลี่ยม
ตัวแปร (variable) ตัวแปร เป็นชื่อที่เราตั้งขึ้น เพื่อให้คอมพิวเตอร์เตรียมที่ใน หน่วยความจำไว้สำหรับเก็บข้อมูลที่นำไปประมวลผล การตั้งชื่อตัวแปร ชื่อตัวแปรในภาษา.
Flow Control.
ตัวดำเนินการ(Operator)
การเขียนโปรแกรมภาษาซี
Chapter 3 เครื่องหมายและการคำนวณ
ตัวแปรกับชนิดของข้อมูล
ฟังก์ชัน ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ ศูนย์คอมพิวเตอร์
ตัวดำเนินการในภาษาซี
โปรแกรมยูทิลิตี้.
C language W.lilakiatsakun.
การรับและพิมพ์ข้อมูลเบื้องต้น
ทบทวน กันก่อน .....กระบวนการแปลโปรแกรม
Week 2 Variables.
Computer Programming for Engineers
คำสั่งควบคุมขั้นตอน Flow control statements
1 Special Operators Special Operators ตัวดำเนินการพิเศษ Increment and decrement operators Conditional Operator.
2 /* ข้อความนี้เป็นเพียงคำอธิบาย ไม่มีผลต่อขั้นตอนการ ทำงานของโปรแกรม */ /* A simple program to display a line of text */ #include void main ( ) { printf.
บทที่ 4 นิพจน์ทางคณิตศาสตร์.
ค21201 คณิตศาสตร์เพิ่มเติม 1
Overview of C Programming
โครงสร้างภาษาซี #include <stdio.h> void main() {
คำสั่งเกี่ยวกับการรับ และแสดงผล
โครงสร้างโปรแกรมภาษาซี
Output of C.
บทที่ 7 เงื่อนไขในภาษาซี
บทที่ 5 รหัสควบคุมและ การคำนวณ C Programming C-Programming.
บทที่ 2 โครงสร้างของภาษา C.
การกระทำทางคณิตศาสตร์
ตัวแปร และชนิดข้อมูล.
การรับและแสดงผลข้อมูล (Input/Output)
CHAPTER 2 Operators.
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
หลักการทั่วไปเกี่ยวกับการเขียนโปรแกรม
ใบสำเนางานนำเสนอ:

การคำนวณทางคณิตศาสตร์ ตัวดำเนินการ การทดลองที่ 5 การคำนวณทางคณิตศาสตร์ ตัวดำเนินการ

ทบทวน โปรแกรม อย่างน้อยมีส่วนประกอบดังนี้ #include <stdio.h> preprocessor void main() { int a, b, c; a = 10; b = 20; c = a + b; printf(“c = %d\n”, c); } int a, b, c; declaration a = 10; input b = 20; c = a + b; process printf(“c = %d\n”, c); output

ทบทวน โปรแกรม อย่างน้อยมีส่วนประกอบดังนี้ #include <stdio.h> preprocessor void main() { } int a, b, c; declaration scanf(“%d”, &a); input scanf(“%d”, &b); c = a + b; process printf(“c = %d\n”, c); output

ต้องการคำนวณว่าพื้นที่ x ไร่ y งาน มีกี่ตารางวา #include <stdio.h> void main() { int x, y, va; x = 5; y = 3; va = x * 400 + 3 * 100; printf(“area in square va = %d\n”, va); } preprocessor declaration input process output

ต้องการคำนวณว่าพื้นที่ x ไร่ y งาน มีกี่ตารางวา #include <stdio.h> void main() { int x, y, va; scanf(“%d”, &x); scanf(“%d”, &y); va = x * 400 + 3 * 100; printf(“area in square va = %d\n”, va); } preprocessor declaration scanf(“%d”, &x); input scanf(“%d”, &y); process output

นิพจน์ (expression) การรวมกันของ อาจมีไม่ครบทุกส่วนก็ได้ ข้อมูล (values) ตัวแปร (variables) ตัวดำเนินการ (operators) ฟังก์ชัน (functions) อาจมีไม่ครบทุกส่วนก็ได้ เมื่อประมวลผลตามกฎการทำก่อน แล้วจะได้ค่าใหม่ออกมา

นิพจน์ (expression) ตัวอย่าง 2, 3 + 4, 5 + 3 * 2 a, a + b, a * b + c 2, 3 + 4, 5 + 3 * 2 a, a + b, a * b + c cos(x) + sin(y)

การกำหนดค่า (assignment) ใช้ตัวดำเนินการ “=” หมายถึงการนำผลลัพธ์ของนิพจน์ทางซ้าย มาเก็บในตัวแปรทางขวา x = y + z; salary = salary + ot; inch = cm / 2.54; cm = m * 100;

ตัวดำเนินการทางคณิตศาสตร์ การคำนวณ ตัวดำเนินการ ตัวอย่าง การทำงาน บวก + c = a + b; นำค่าในตัวแปร a และค่าในตัวแปร b มาบวก กันแล้วเก็บผลลัพธ์ไว้ที่ตัวแปร c ลบ - c = a - b; นำค่าในตัวแปร b มาลบออกจากค่าใน ตัวแปร a แล้วเก็บผลลัพธ์ไว้ที่ตัวแปร c คูณ * c = a * b; นำค่าในตัวแปร a และค่าในตัวแปร b มาคูณ หาร / c = a / b; นำค่าในตัวแปร a เป็นตัวตั้งและนำค่าใน ตัวแปร b เป็นตัวหารแล้วเก็บผลลัพธ์ไว้ที่ ตัวแปร c มอดูลัส % c = a % b; นำค่าที่เก็บไว้ในตัวแปร a เป็นตัวตั้งและค่า ในตัวแปร b เป็นตัวหาร โดยเก็บเศษไว้ที่

ตัวอย่างการพิมพ์ข้อมูลจากตัวแปรหรือผลลัพธ์การคำนวณ #include <stdio.h> void main() { int a=4, b=5; printf(“ a = %d\n”, a); printf(“ b = %d\n”, b); printf(“ Sum = %d\n”, a+b); } ข้อมูลของตัวแปรหรือผลลัพธ์การคำนวณจะถูกดนำไปพิมพ์ที่ตำแหน่งการกำหนดรูปแบบการพิมพ์ (“%d, %f,…”) a = 4 b = 5 Sum = 9

ตัวอย่างการพิมพ์ข้อมูลหรือผลลัพธ์การคำนวณ #include <stdio.h> void main() { int a=4, b=5; printf(“ a = %d b = %d\n”, a, b); printf(“ Sum = %d\n”, a+b); } ข้อมูลของตัวแปรหรือผลลัพธ์การคำนวณจะถูกดึงไปพิมพ์ที่ตำแหน่งการกำหนดรูปแบบการพิมพ์ (“%d, %f,…”) a = 4 b = 5 Sum = 9

จำนวนใดเป็นจำนวนเต็ม √ 0.0 0.2 1 1.0 1. .0 x x √ x x x

ข้อควรระวังในการหาร จำนวนเต็ม หาร จำนวนเต็ม ได้ผลลัพธ์เป็นจำนวนเต็ม จำนวนทศนิยม หารกัน ได้ผลลัพธ์เป็นจำนวนทศนิยม 3/2 = 1 2/3 = 0 22/7 = 3 3/4 = 0 5/2 = 2 3/2.0 = 1.5 2.0/3.0 = 0.666666… 22/7.0 = 3.142… 3.0/4 = 0.75 5/2.0 = 2.5

การกำหนดชนิดไม่ถูกต้อง ภาษาซีไม่เข้มงวดในการกำหนดชนิดข้อมูลตัวเลข int a = 1.5; //OK แต่เมื่อพิมพ์ข้อมูลจะไม่ถูกต้อง printf(“%d\n”, a);  1 Printf(“%f\n”, a);  0.00000 ควรประกาศเป็น float a = 1.5

การกำหนดชนิดไม่ถูกต้อง ภาษาซีไม่เข้มงวดในการกำหนดชนิดข้อมูลตัวเลข int a = 3*2.5; //OK แต่เมื่อพิมพ์ข้อมูลจะไม่ถูกต้อง printf(“%d\n”, a);  6 Printf(“%f\n”, a);  0.00000 ควรประกาศเป็น float a = 3*2.5

ถ้า x%y เท่ากับ 0 แสดงว่า ตัวดำเนินการ % (mod) หมายถึงการคำนวณหาเศษจากการหาร เช่น 3%2  1 5%3  2 7%2  1 3%5  3 4%2  0 10%3  1 5%1  0 ถ้า x%y เท่ากับ 0 แสดงว่า x หารด้วย y ลงตัว

ลำดับการทำก่อนของนิพจน์คณิตศาสตร์ กฎของการดำเนินการ ลำดับสูงกว่า ทำก่อน ลำดับเท่ากัน ทำงานจากซ้ายไปขวา สูง ( ) *, /, % +, - ต่ำ

ตัวอย่างแสดงลำดับการทำก่อน 20 + 30 * 5 – 20 / 2 20 + 150 – 20 / 2 20 + 150 – 10 170 – 10 160

ตัวอย่างแสดงลำดับการทำก่อน 10 % 3 * ( 50 – 200 % 20 / 10 ) * 5 10 % 3 * ( 50 – 0 / 10 ) * 5 10 % 3 * ( 50 – 0 ) * 5 10 % 3 * 50 * 5 1 * 50 * 5 250

ลองทำดู 20 – 3 * 3 – 9 / 3 + 3 * 2 14 12 – 3 + 3 % 9 / (3 + 3 * 2) 9 2 % 5 * 3 / 3 / 9 + 3 * 2 6 (2 * 5 – (10 + 3)) / 4 + 2 * 3 6

ตัวดำเนินการเอกภาค(Unary Operator) ได้แก่ตัวดำเนินการ ++ และ -- การทำงานคือเพิ่ม หรือ ลดค่าตัวแปรครั้งละ 1 รูปแบบการใช้งานมีสองแบบ Prefix Unary Operator (เติมหน้า) เช่น ++a; --x; Postfix Unary Operator (เติมหลัง) เช่น b--; y++;

ตัวดำเนินการเอกภาค(Unary Operator) postfix จะทำงานในส่วนของนิพจน์ให้เสร็จสิ้นก่อน จากนั้นจึงทำการเพิ่มหรือลดค่าให้กับตัวถูกดำเนินการ prefix จะทำการเพิ่มหรือลดค่าให้กับตัวถูกดำเนินการก่อน จากนั้นจึงทำงานในส่วนของนิพจน์

ตัวอย่าง #include <stdio.h> void main() { int a=0 ; printf(“ Value of a is %d\n”,a); a++; } Value of a is 0 Value of a is 1

ตัวอย่าง #include <stdio.h> void main() { int a=0 ; printf(“ Value of a is %d\n”,a); ++a; } Value of a is 0 Value of a is 1

ตัวอย่าง #include <stdio.h> void main() { int a=10 ; printf(“ Value of a is %d\n”,a); a--; } Value of a is 10 Value of a is 9

ตัวอย่าง #include <stdio.h> void main() { int a=10 ; printf(“ Value of a is %d\n”,a); --a; } Value of a is 10 Value of a is 9

ตัวอย่าง int a = 10; int b = ++a; int c = ++a; int d = ++a; a = 11, b = 11 a = 12, c = 12 a = 13, d = 13 int a = 10; int b = a++; int c = a++; int d = a++; b = 10, a = 11 c = 11, a = 12 d = 12, a = 13

ตัวอย่าง int a = 10, b = 20; int x = ++a + b++; x = 31, a = 11, b = 21

ตัวอย่าง int a = 10, b = 20, c = 30; int y = ++c + ++a + b--; y = 62, a = 11, b = 19, c = 31

ตัวอย่าง int a = 10, b = 20; printf(“a = %d b = %d\n”, ++a, b++);

ตัวอย่าง int a = 10, b = 20; printf(“a = %d b = %d\n”, a--, --b);

ลองทำดู x = 1 y = 39 int a = -10, b = 10, c = 50; int x = a++ + ++b; int y = --c - --b; printf(“x = %d y = %d\n”, x, y); x = 1 y = 39

ตัวดำเนินการประกอบ (compound operator) ตัวอย่าง การทำงาน += x+=5 x=x+5 -= x-=5 x=x-5 *= x*=5 x=x*5 /= x/=5 x=x/5 %= x%=5 x=x%5

ตัวดำเนินการประกอบ (compound operator) int x = 10; x += 5;  x = x + 5  x = 15 x -= 5;  x = x - 5  x = 10 x *= 2;  x = x * 2  x = 20 x /= 10;  x = x / 10  x = 2 x %= 2;  x = x % 2  x = 0

ลำดับการทำก่อน สูง ( ) ++ -- * / % + - += *= /= -= %= ต่ำ

ตัวอย่าง #include <stdio.h> void main() { int a=0 , sum=0 ; printf (“Value a is %d\n”,a); sum+=1; printf(“Value sum is %d\n”,sum); } Value a is 1 Value sum is 1

ตัวอย่าง 10 20 20 19 19 19 18 38 17 18 #include <stdio.h> void main() { int x=10, y=20; printf(“\n%d %d”,x,y); x+=10 ; --y ; printf(“\n%d %d”,x,y); y = --x ; y = x-- + y ; printf(“\n%d %d”,x,y) ; y = x-- ; } 10 20 20 19 19 19 18 38 17 18

ตัวอย่าง คำสั่ง ค่า x ค่า y int x=10, y=20; 10 20 x+=10 ; --y ; 19 18 38 y = x-- ; 17

Go to Laboratory Room now !