รายวิชา ง40102 หลักการแก้ปัญหาและการโปรแกรม

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
ชนิดของข้อมูลในโปรแกรม Interactive C
Advertisements

Pointers. Why have pointers? / pointers ทำให้ฟังก์ชันหรือส่วนของ โปรแกรมสามารถใช้งานข้อมูลร่วมกันได้ / ใช้ pointers ในการสร้างโครงสร้างข้อมูลที่ ซับซ้อนได้
บทที่ 2 รหัสควบคุมและการคำนวณ
บทที่ 2 รหัสควบคุมและการคำนวณ
ความรู้พื้นฐานเกี่ยวกับการเขียนโปรแกรม
โดยอาจารย์ศิริพร ศักดิ์บุญญารัตน์ ครูชำนาญการ โรงเรียนมหิดลวิทยานุสรณ์
การเขียนโปรแกรมด้วยคำสั่งเบื้องต้น
ประเภทของข้อมูลและตัวดำเนินการ Data Types and Operator (บทที่ 3)
BC320 Introduction to Computer Programming
Introduction to C Programming
Department of Computer Business
บทที่ 3 ตอนที่ 1 คำสั่งเงื่อนไขและการตัดสินใจ(p
Lecture no. 5 Control Statements
C Programming Lecture no. 4 กราบเรียนท่านอาจารย์ และสวัสดีเพื่อนๆ
หลักการโปรแกรม 1 Lecture 3: ตัวแปร, นิพจน์คณิตศาสตร์, การคำนวณทางคณิตศาสตร์,การดำเนินการกับสายอักขระ.
Structure Programming
ชนิดของข้อมูลและตัวดำเนินการ
บทที่ 2 Operator and Expression
Week 6 ประกาศค่าตัวแปร.
ขอความสั่ง Switch/case/break/default
Lab 3: คำสั่งพื้นฐานสำหรับการรับและการแสดงผลข้อมูล
ตัวดำเนินการ (Operator) คือสัญลักษณ์หรือเครื่องหมายแทนการกระทำกับข้อมูล เพื่อบอกให้เครื่องคอมพิวเตอร์ทราบว่าจะต้องดำเนินการใดกับข้อมูลใดบ้าง แบ่งออกเป็น.
การประกาศตัวแปร “ตัวแปร” คือสิ่งที่เราสร้างขึ้นมาเพื่อใช้เก็บค่าต่างๆและอ้างอิงใช้งานภายในโปรแกรม ตามที่เรากำหนดขึ้น การสร้างตัวแปรขึ้นมาเราเรียกว่า.
หน่วยที่ 5 ตัวดำเนินการ (Operators)
Arrays.
ระบบเลข และการแทนรหัสข้อมูล
Operators ตัวดำเนินการ
การเขียนโปรแกรมเชิงวัตถุ ด้วยภาษาจาวา
บทที่ 3 ตัวดำเนินการ และ นิพจน์
บทที่ 11 การเขียนโปรแกรมภาษาซี
ข้อมูลพื้นฐานและตัวดำเนินการ
หน่วยที่ นิพจน์ในภาษา C
หน่วยที่ 1 พื้นฐานภาษา C
ตัวแปร (variable) ตัวแปร เป็นชื่อที่เราตั้งขึ้น เพื่อให้คอมพิวเตอร์เตรียมที่ใน หน่วยความจำไว้สำหรับเก็บข้อมูลที่นำไปประมวลผล การตั้งชื่อตัวแปร ชื่อตัวแปรในภาษา.
การคำนวณทางคณิตศาสตร์ ตัวดำเนินการ
ตัวดำเนินการ(Operator)
การเขียนโปรแกรมภาษาซี
Chapter 3 เครื่องหมายและการคำนวณ
ชนิดของข้อมูล ตัวแปร และตัวดำเนินการ
บทที่ 3 ชนิดของข้อมูลและตัวดำเนินการ
ตัวแปรกับชนิดของข้อมูล
ง40208 การเขียนไดนามิกเว็บเพจ ศูนย์คอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
ง30212 การเขียนโปรแกรมภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
ฟังก์ชัน ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ ศูนย์คอมพิวเตอร์
นิพจน์และตัวดำเนินการ
ตัวดำเนินการในภาษาซี
บทที่ 4 การใช้ตัวดำเนินการ
โปรแกรมยูทิลิตี้.
บทเรียนสาระการเรียนรู้คณิตศาสตร์ โดยใช้โปรแกรม Microsoft Multipoint
เครื่องหมายและการดำเนินการ ในภาษา C
ตัวแปร ชนิดข้อมูล และ ตัวดำเนินการใน PHP
ทบทวน กันก่อน .....กระบวนการแปลโปรแกรม
Week 2 Variables.
บทที่ 8 ตัวดำเนินการ และ นิพจน์
คำสั่งควบคุมขั้นตอน Flow control statements
Operators ตัวดำเนินการ
บทที่ 4 นิพจน์ทางคณิตศาสตร์.
ตัวดำเนินการ และนิพจน์คณิตศาสตร์
บทที่ 3 ชนิดข้อมูล ตัวแปร นิพจน์และตัวดำเนินการ
โครงสร้างภาษาซี #include <stdio.h> void main() {
ง เทคโนโลยีสารสนเทศและการสื่อสาร ระบบเลขฐาน
Output of C.
หลักการเขียนโปรแกรม ( )
บทที่ 5 รหัสควบคุมและ การคำนวณ C Programming C-Programming.
การกระทำทางคณิตศาสตร์
ตัวแปร และชนิดข้อมูล.
การรับและแสดงผลข้อมูล (Input/Output)
CHAPTER 2 Operators.
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
หลักการทั่วไปเกี่ยวกับการเขียนโปรแกรม
ใบสำเนางานนำเสนอ:

รายวิชา ง40102 หลักการแก้ปัญหาและการโปรแกรม Operator & Expression รายวิชา ง40102 หลักการแก้ปัญหาและการโปรแกรม

นิพจน์ นิพจน์ (expression) คือ การดำเนินการที่ประกอบด้วยตัวดำเนินการ(operator) และตัวถูกดำเนินการ (operand) ตัวดำเนินการ (operator) คือ สัญลักษณ์ที่ใช้ในการแทนการกระทำอย่างใดอย่างหนึ่งกับข้อมูล เช่น + - * / % = > < ตัวถูกดำเนินการ (operand) คือ ข้อมูลที่ถูกกระทำโดยตัวดำเนินการ ซึ่งตัวถูกดำเนินการอาจอยู่ในรูปของ ตัวแปร (variable) , ค่าคงที่ (constant) , ค่าที่ได้รับจากฟังก์ชัน (return function) หรือแม้กระทั่งนิพจน์ (expression) เองก็เป็นตัวถูกดำเนินการได้ เช่น a+b , x++ , a != b , x = (a + b) / 2

operand #2 (Expression) 5 * ( a * b - 3 ) operand #2 (Expression) operator (*) operand #1 (constant) operand ( a * b - 3 ) operator

ตัวดำเนินการชนิดต่างๆ ที่ใช้บ่อย + / * / % ใช้เพื่อกระทำการทางคณิตศาสตร์กับข้อมูลที่เป็นตัวเลข +, -, * , / แทนการ บวก, ลบ, คูณ, หาร ตามลำดับ % แทนการหารเอาเศษ (modulo, mod) ใช้กับข้อมูลชนิดจำนวนเต็มทั้งตัวตั้งและตัวหาร ผลลัพธ์คือ เศษของการหาร 0 % 3 => หารได้ 0 ครั้ง เหลือเศษ 0 1 % 3 => หารได้ 0 ครั้ง เหลือเศษ 1 2 % 3 => หารได้ 0 ครั้ง เหลือเศษ 2 3 % 3 => หารได้ 1 ครั้ง เหลือเศษ 0 4 % 3 => หารได้ 1 ครั้ง เหลือเศษ 1 ผลลัพธ์จะมีค่าตั้งแต่ 0 ถึง ตัวที่นำมาหาร - 1

Implicit type conversion สำหรับภาษาซี operand ที่จะนำมาดำเนินการกันผ่าน operator ใดๆ ต้องเป็นข้อมูลชนิดเดียวกัน และผลลัพธ์ที่ได้ เป็นข้อมูลชนิดเดียวกันด้วย เช่น ถ้าจะหาผลลัพธ์ของ a / b , a และ b ต้องเป็นข้อมูลชนิดเดียวกันจึงจะนำมาหารกันได้ ถ้า a และ b เป็นข้อมูลชนิด int ผลลัพธ์ที่ได้ก็จะเป็น int ด้วย ถ้า a และ b ไม่ใช่ข้อมูลชนิดเดียวกัน ภาษาซีจะแปลงให้เป็นข้อมูลชนิดเดียวกันก่อนคำนวณ โดยอัตโนมัติ

Implicit type conversion แปลงจากชนิดข้อมูลที่ใช้เนื้อที่ในการจัดเก็บลงหน่วยความจำน้อยกว่าไปเป็นชนิดข้อมูลที่ใช้เนื้อที่ในการจัดเก็บลงหน่วยความจำมากกว่า แปลงจากข้อมูลที่เป็นเลขจำนวนเต็มไปเป็นข้อมูลชนิดเลขจำนวนจริง ลำดับการแปลง char , short , int , long , float , double ถ้าในโปรแกรมข้อมูลที่นำมาคำนวณเป็นตัวเลข เลข 5 => ข้อมูลชนิดจำนวนเต็ม เลข 5.0 => ข้อมูลชนิดจำนวนจริง

Implicit type conversion: ตัวอย่าง กำหนดให้ char ch ; int i ; float f ; double d ; result = ( ch / i ) + ( f * d ) - ( f + i ) ; int double float int double float double double double double

float float float int float float float float float จากสูตร C = ( 5 / 9 ) * ( F – 32 ) ในภาษาซีต้องเขียนว่า float degC , degF ; … degC = ( 5.0 / 9.0 ) * ( degF – 32 ) ; float float float int float float float float float

ลำดับความสำคัญของตัวดำเนินการ (operator) ตัวดำเนินการแต่ละตัวในภาษาซีต่างก็มีลำดับความสำคัญแตกต่างกันเหมือนกับตัวดำเนินการทางคณิตศาสตร์ เช่น a + b * c – d / e ( a + ( b * c ) ) – ( d / e ) 5.0 / 9.0 * F – 32 ( ( 5.0 / 9.0 ) * F ) - 32 ลำดับ Operators การกระทำ 1 ( ) ซ้ายไปขวา 2 * / % 3 + -

+= , -= , *= , /= , %= ทำหน้าที่คล้ายกัน เป็นการลดรูป = += -= *= /= %= = คือนำผลลัพธ์ทางขวามือมาใส่ในตัวแปรทางซ้ายมือ (ทำจากขวาไปซ้าย) เช่น a = 3 + 5 / 4 ; += , -= , *= , /= , %= ทำหน้าที่คล้ายกัน เป็นการลดรูป Count += 2 ; ลดรูปจาก Count = Count + 2 ; Score – = 2.53 ; ลดรูปจาก Score = Score – 2.53 ; Stock *= value ; ลดรูปจาก Stock = Stock * value ; Divisor /= 10.0 ; ลดรูปจาก Divisor = Divisor / 10.0 ; remind %= 10 ; ลดรูปจาก remind = remind % 10 ;

++ -- ++ ใช้แทนคำสั่ง a += 1 -- ใช้แทนคำสั่ง a -= 1 ++ -- ++ ใช้แทนคำสั่ง a += 1 -- ใช้แทนคำสั่ง a -= 1 สามารถวาง ++ , -- ไว้ก่อนหรือหลังตัวแปรก็ได้ ถ้าวางไว้หลัง (เช่น a++ , a--) หมายถึง นำ a ไปใช้งานก่อน แล้วจึงทำ a += 1 หรือ a -= 1 ถ้าวางไว้ก่อน (เช่น ++a , --a) หมายถึง ทำ a += 1 หรือ a -= 1 ก่อนแล้วจึงนำ a ไปใช้งาน

i = 3 ; b = i ; i = i + 1 ; i = 3 ; b = i++; มีค่าเท่ากับ a++ หมายถึง นำค่าที่อยู่ในตัวแปร a ไปใช้งานก่อน แล้วจึงทำการเพิ่มค่าของ a ขึ้นมาอีก 1 i = 3 ; b = i ; i = i + 1 ; i = 3 ; b = i++; มีค่าเท่ากับ ได้ผลลัพธ์เป็น b = 3 , i = 4

i = 3 ; i = i + 1 ; b = i; i = 3 ; b = ++i; มีค่าเท่ากับ ++a หมายถึง เพิ่มค่าที่เก็บอยู่ในตัวแปร a ขึ้นมาอีก 1 แล้วจึงค่อยนำตัวแปร a ไปใช้งาน i = 3 ; i = i + 1 ; b = i; i = 3 ; b = ++i; มีค่าเท่ากับ ได้ผลลัพธ์เป็น b = 4 , i = 4

i = 3 ; b = i; i = i - 1 ; i = 3 ; b = i--; มีค่าเท่ากับ a-- หมายถึง นำค่าที่อยู่ในตัวแปร a ไปใช้งานก่อน แล้วจึงทำการลดค่าของ a ลงไปอีก 1 i = 3 ; b = i; i = i - 1 ; i = 3 ; b = i--; มีค่าเท่ากับ ได้ผลลัพธ์เป็น b = 3 , i = 2

i = 3 ; i = i - 1 ; b = i; i = 3 ; b = --i; มีค่าเท่ากับ --a หมายถึง ลดค่าที่เก็บอยู่ในตัวแปร a ลงไปอีก 1 แล้วจึงค่อยนำตัวแปร a ไปใช้งาน i = 3 ; i = i - 1 ; b = i; i = 3 ; b = --i; มีค่าเท่ากับ ได้ผลลัพธ์เป็น b = 2 , i = 2

> , < , >= , <= , == , != ใช้ในการเปรียบเทียบ มักเจอในการทำงานแบบมีเงื่อนไข เช่น ให้พิมพ์คำว่า “pass” เมื่อผู้ใช้ได้คะแนนตั้งแต่ 50 ขึ้นไป ให้พิมพ์คำว่า “fail” เมื่อผู้ใช้ได้คะแนนน้อยกว่า 50 > หมายถึงการเปรียบเทียบ “มากกว่า” < หมายถึงการเปรียบเทียบ “น้อยกว่า” >= หมายถึงการเปรียบเทียบ “มากกว่าหรือเท่ากับ” <= หมายถึงการเปรียบเทียบ “น้อยกว่าหรือเท่ากับ” == หมายถึงการเปรียบเทียบ “เท่ากับ” != หมายถึงการเปรียบเทียบ “ไม่เท่ากับ”

ex4.cpp #include <stdio.h> void main() { int num1,num2; printf("Enter 2 integer, and I will tell you\n"); scanf("%d%d",&num1,&num2); if (num1 < num2) printf("%d is less than %d\n",num1,num2); } } // end program

ลองเพิ่มคำสั่งต่อท้ายว่า if (num1 > num2) { printf("%d is greater than %d\n",num1,num2); } แล้วรันโปรแกรมทดสอบ ลองเพิ่มคำสั่ง if ในการเช็คเงื่อนไข <= , >= , == , != แล้วรันโปรแกรมทดสอบ