Data Type part.II.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Pointers. Why have pointers? / pointers ทำให้ฟังก์ชันหรือส่วนของ โปรแกรมสามารถใช้งานข้อมูลร่วมกันได้ / ใช้ pointers ในการสร้างโครงสร้างข้อมูลที่ ซับซ้อนได้
Advertisements

สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
โดยอาจารย์ศิริพร ศักดิ์บุญญารัตน์ ครูชำนาญการ โรงเรียนมหิดลวิทยานุสรณ์
ตัวแปรชุด การเขียนโปรแกรมภาษาคอมพิวเตอร์ 1
ข้อมูลชนิดสตริง String บทที่ 8
ข้อมูลชนิดอาร์เรย์ Array (บทที่ 5)
BC322 ครั้งที่ 10 ตัวแปรชุด (Array)
สายอักขระและ การประมวลผลสายอักขระ (String and String manipulation)
Principles of Programming
Functional programming part II
Lecture 11: อาร์เรย์แบบหลายมิติ
ชนิดของข้อมูลและตัวดำเนินการ
Week 6 ประกาศค่าตัวแปร.
บทที่ 3 พื้นฐานการเขียนโปรแกรม Visual Basic
รับและแสดงผลข้อมูล.
PHP LANGUAGE.
ตัวชี้ P O I N T E R Created By Tasanawan Soonklang
อาเรย์ (Array).
Lecture no. 6 Structure & Union
การประกาศตัวแปร “ตัวแปร” คือสิ่งที่เราสร้างขึ้นมาเพื่อใช้เก็บค่าต่างๆและอ้างอิงใช้งานภายในโปรแกรม ตามที่เรากำหนดขึ้น การสร้างตัวแปรขึ้นมาเราเรียกว่า.
Arrays.
บทที่ 12 Structure and union Kairoek choeychuen
บทที่ 2 ประเภทข้อมูล (DATA TYPE)
การเขียนโปรแกรมคอมพิวเตอร์และอัลกอริธึม
บทที่ 11 การเขียนโปรแกรมภาษาซี
ข้อมูลพื้นฐานและตัวดำเนินการ
อาร์เรย์และข้อความสตริง
อาร์เรย์ (Array).
อาร์เรย์ (Array).
ไวยากรณ์ของภาษาการทำโปรแกรม (1) (Syntax of programming languages)
สตริง (String).
ตัวแปร (Variable) คือ ชื่อที่ตั้งขึ้นเพื่อเก็บข้อมูลในหน่วยความจำ สามารถเก็บข้อมูลชนิดใดก็ ได้ ลักษณะที่สำคัญ ค่าที่จัดเก็บ เมื่อปิดโปรแกรมข้อมูลจะหายไป.
บทที่ 7 คำสั่งสำหรับเขียนโปรแกรม
บทที่ 8 อาร์เรย์.
ตัวแปรกับชนิดของข้อมูล
Data Structure and Algorithm
ตัวแปรในภาษา JavaScript
แถวอักขระ (string) ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
แถวลำดับ (array) ง40202 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
นิพจน์และตัวดำเนินการ
ง30212 พื้นฐานการเขียนโปรแกรม ศูนย์คอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Java Programming Language.
ฟังก์ชั่นเกี่ยวกับสตริง
ตัวแปรกับชนิดของข้อมูล
ตัวแปร ชนิดข้อมูล และ ตัวดำเนินการใน PHP
Week 2 Variables.
Week 12 Engineering Problem 2
การประมวลผลสายอักขระ
Week 12 Engineering Problem 2
Computer Programming for Engineers
ตัวแปรชุด Arrays.
หลักการเขียนโปรแกรม ( )
Overview of C Programming
อาร์เรย์ (Arrays).
บทที่ 10 สตริง.
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
การสร้างแบบสอบถาม และ การกำหนดเงื่อนไข.
บทที่ 6 โครงสร้างข้อมูลเบื้องต้น
ตัวแปร Array แบบ 1 มิติ การเขียนโปรแกรมแบบวนซ้ำ
Java Programming Java Structure and Datatype,Variable
อาจารย์ปิยศักดิ์ ถีอาสนา
หน่วยที่ 4 โครงสร้างโปรแกรมภาษาซี
บทที่ 2 โครงสร้างของภาษา C.
ตัวแปร และชนิดข้อมูล.
บทที่ 11 การจัดการข้อมูลสตริง
stack #1 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
บทที่ 6 ตัวแปรชุดและ สตริง รายวิชา ง การเขียนโปรแกรมเชิง วัตถุ Reading: ใบความรู้ บทที่ 6.
Computer Programming Asst. Prof. Dr. Choopan Rattanapoka
หลักการทั่วไปเกี่ยวกับการเขียนโปรแกรม
ใบสำเนางานนำเสนอ:

Data Type part.II

Composite data type เป็นชนิดข้อมูลที่มีค่าเป็นกลุ่ม (compound or aggregated data) Array String Union Structure Pointer สร้างจากชนิดข้อมูลพื้นฐานที่เป็นค่าเดี่ยว แล้วนำมาประกอบกันให้เกิดเป็นค่ากลุ่ม เช่น อาร์เรย์ของจำนวนเต็ม สร้างขึ้นจากเลขจำนวนเต็ม (int) หลายจำนวนรวมไว้เป็นกลุ่มเดียวกัน

ชนิดข้อมูลอาร์เรย์ (Array) อาร์เรย์ (แถวลำดับ) เป็นชนิดข้อมูลคอมโพสิต ที่เก็บข้อมูลประเภทเดียวกัน และมีจำนวนข้อมูลคงที่ เช่น คำประกาศในภาษา C int A[10]; ภาษา Pascal A : array [1 .. 10] of integer; [1 .. 10] เป็นการระบุหมายเลขอินเด็กซ์ (index or subscript) : 1, 2, …, 10 ดังนั้น เราสามารถกำหนดให้หมายเลขอินเด็กซ์เริ่มที่เท่าไรก็ได้ เช่น [-4 .. 3] จะหมายถึง -4, -3, …, 3 (ต่างจาก Java หรือ C ที่อินเด็กซ์ต้องเริ่มที่ 0 เท่านั้น)

Array (cont) นอกจากนี้ ภาษา Pascal ยังอนุญาตให้กำหนดอินเด็กซ์ด้วยค่าประเภทอื่น นอกเหนือจากเลขจำนวนเต็มได้ type Computer_Manufacturer = (IBM, HP, SUN, APPLE); var profit : array (Computer_Manufacturer) of integer; Computer_Manufacturer เป็นชนิดข้อมูลแจกแจงค่าเพื่อแทนชื่อบริษัทผู้ผลิตเครื่องคอมพิวเตอร์ Profit เป็น ตัวแปรชนิดอาร์เรย์เก็บค่าเลขจำนวนเต็ม ดังนั้น Profit(IBM) จึง...

Array (cont) อย่างไรก็ดี ข้อมูลแต่ละจำนวนในอาร์เรย์ สามารถเป็นอาร์เรย์ได้ Multi-dimensional array เช่น ภาษา C int x[10][20] เป็นการกำหนดค่าตัวแปร x ให้เป็นอาร์เรย์สองมิติ ที่มี 10 แถว และ 20 คอลัมน์ ภาษา Pascal var x : array [1 .. 10, 1 .. 20] of integer; ภาษา Ada x(3 .. 5) การระบุอินแด็กซ์เป็นช่วงแบบนี้ เรียกว่า slicing แทน x(3), x(4) และ x(5)

Array (cont) รูปภาพแสดงการ slice อาร์เรย์สองมิติ และสามมิติในภาษา FORTRAN ระบุช่วงข้อมูลบนอาร์เรย์ด้วยคำสั่งภาษาฟอร์แทรน…

Array (cont) ภาษา SNOBOL เป็นภาษาที่มีชนิดข้อมูลแบบพลวัต (dynamically typed language) จะเรียกอาร์เรย์ว่า เทเบิล (TABLE) โดยสมาชิกภายในอาร์เรย์ มีชนิดแตกต่างกันได้ วิธีสัมพันธ์ (associate) เช่น T<b> จะสัมพันธ์กับ 25 อาร์เรย์แบบนี้ จะเรียกว่า associate array

Array (cont) ภาษา Perl ก็มีการใช้ associate array เช่นเดียวกัน โดยใช้เครื่องหมายพิเศษ % นำหน้าชื่อตัวแปร เพื่อระบุว่าตัวแปรนั้นเป็นชนิด associative array %ClassList = (“Michelle”, ‘A’, “Doris”, ‘B’, “Mike”, ‘D’); การใช้งานอาร์เรย์แสดงตัวอย่างได้ดังนี้ ลองเขียนเอาท์พุตดูนะครับ

ชนิดข้อมูลสตริง (String) ตัวอย่าง ภาษา C char name[10] = {‘B’, ’i’, ’l’, ’l’, ’\0’}; หรือจะประกาศแบบนี้ char name[10] = “Bill”; ทั้งสองแบบนี้ ประกาศต่างกันแต่คงความหมายเดิม

String (cont) ในภาษา Java นั้น สตริงจะถูกเก็บในลักษณะ object ของ class string ดังนั้น การประกาศตัวแปรจึงเป็นการประกาศ object ดังนี้ String name = “Bill”; การปฏิบัติกับสตริงมีได้หลากหลายรูปแบบ แตกต่างกันไปในแต่ละภาษา ซึ่งมีรูปแบบสำคัญๆ ดังนี้ ... การเชื่อมต่อสตริง (concatenation) การเปรียบเทียบสตริง (comparison) การคัดเลือกส่วนย่อยของสตริง (substring selection) การจับคูแพทเทิร์น (pattern matching)

String (cont) Concatenation Java ใช้ “+” ในการเชื่อมต่อสตริง C ใช้ฟังก์ชัน strcat ในการเชื่อมต่อสตริง

String Comparison Substring selection การเปรียบเทียบสตริง จะเป็นการเปรียบเทียบลำดับก่อน-หลัง ของตัวอักษรในข้อความ ภาษา C ใช้ฟังก์ชัน strcmp int strcmp(char *str1, char *str2) ถ้าสิ่งที่ส่งกลับมา เท่ากันศูนย์ แสดงว่า str1 และ str2 เท่ากัน ถ้าสิ่งที่ส่งกลับมา น้อยกว่าศูนย์ แสดงว่า str1 น้อยกว่า str2 เท่ากัน ถ้าสิ่งที่ส่งกลับมา มากกว่าศูนย์ แสดงว่า str1 มากกว่า str2 เท่ากัน Substring selection เป็นการระบุตำแหน่งของอักขระภายในสตริง ภาษา FORTRAN NEXT = STR (6:10)

String (cont) Pattern matching ภาษาที่ใช้ pattern มากคือ SNOBOL และ Perl Perl จะใช้รูปแบบของ regular expression / [A-Z a-z] [A-Z a-z \d]+ / เมื่อโปรแกรมรับข้อความเข้า จากนั้น จะตรวจสอบข้อความตั้งแต่ต้นบรรทัด จนถึงท้ายบรรทัด เพื่อตรวจสอบว่า …

ชนิดข้อมูลยูเนียน (Union) Union หมายถึง OR หรือ การเลือกค่าใดค่าหนึ่งเพียงหนึ่งค่า ชนิดข้อมูลยูเนียนจึงเป็นชนิดข้อมูลที่มีการประกาศรวมได้หลายชนิด แต่การเก็บข้อมูลจริง ณ ช่วงเวลาหนึ่งๆ จะเลือกเก็บค่าได้เพียงประเภทเดียวเท่านั้น ภาษา C

ชนิดข้อมูลโครงสร้าง (Structure) Structure or record เป็นการเก็บข้อมูลหลายจำนวนที่มีประเภทแตกต่างกัน ภาษา C

Structure (cont) การประกาศโครงสร้าง เพื่อเก็บข้อมูลของ Employee จำนวน 500 คน สามารถทำได้โดยการสร้างอาร์เรย์ของ struct ดังนี้ ดังนั้น หากเราต้องการระบุเงินเดือนจำนวน 13000.00 บาท ให้กับพนักงานคนที่ 4 ก็สามารถกำหนดได้ดังนี้ …

Structure (cont) ภาษา Pascal จะเรียกข้อมูลโครงสร้างว่า เรคคอร์ด และสามารถกำหนดฟิลด์ในเรคคอร์ด ให้มีค่าแปรผันได้ (variant record) เงินเดือนของพนักงานอาจจะแยกออกเป็นสองประเภทคือ พนักงานที่ได้รับเงินรายเดือน (มีข้อมูลอัตราเงินเดือน และวันที่เริ่มทำงาน) และพนักงานที่ได้รับเงินเป็นรายชั่วโมง ประกาศเรคคอร์ดแบบแปรผัน ในภาษา Pascal