ค่า (วิทยาการคอมพิวเตอร์)

ค่า ในทางวิทยาการคอมพิวเตอร์ หมายถึงนิพจน์ที่ไม่สามารถประเมินค่าต่อได้อีก (รูปแบบบรรทัดฐาน) สมาชิกของแบบชนิดก็คือค่าของแบบชนิดนั้นตัวอย่างเช่น นิพจน์ 1 + 2 ยังไม่เรียกว่าเป็นค่า เพราะยังสามารถลดทอนได้อีกเป็นนิพจน์ 3 แต่นิพจน์ 3 ก็ไม่สามารถลดทอนได้มากกว่านี้อีกแล้วดังนั้นมันจึงเป็นค่า ค่าของตัวแปร จะถูกกำหนดโดยการจับคู่ที่สอดคล้องกันในสภาพแวดล้อมของแบบชนิด (typing environment) ในภาษาโปรแกรมที่ตัวแปรสามารถกำหนดค่าได้ การแยกออกเป็น ค่าทางขวา (r-value คือเนื้อหา) และค่าทางซ้าย (l-value คือตำแหน่ง) ในการกำหนดค่าของตัวแปรเป็นสิ่งจำเป็น ในภาษาโปรแกรมเชิงประกาศ (ระดับสูง) ค่าจะต้องมีคุณสมบัติความโปร่งใสเชิงอ้างอิง (referential transparency) หมายความว่า ค่าผลลัพธ์เป็นอิสระจากตำแหน่งของหน่วยความจำที่เก็บบันทึกซึ่งนิพจน์ (หรือนิพจน์ย่อย) จำเป็นต้องใช้คำนวณหาค่า เฉพาะเนื้อหาที่ตำแหน่งนั้น (คือบิตต่าง ๆ อันประกอบด้วย 0 และ 1) และการตีความของมันเท่านั้นที่มีนัยสำคัญภาษาโปรแกรมบางภาษาใช้แนวคิด ค่าทางซ้าย (l-value) และ ค่าทางขวา (r-value)

jumbo jili

กล่าวคือ ค่าทางซ้ายมีตำแหน่งหน่วยความจำที่สามารถเข้าถึงได้โดยโปรแกรมที่กำลังทำงาน (ผ่านตัวดำเนินการตำแหน่งเช่น “&” ในภาษาซี/ซีพลัสพลัสเป็นต้น) หมายความว่าค่าทางซ้ายจะเป็นตัวแปร หรือตัวอ้างอิงที่ถูกอ้างอิงกลับไปยังตำแหน่งที่เจาะจง ส่วนค่าทางขวาอาจเหมือนค่าทางซ้ายหรือไม่เหมือนก็ได้ (ศัพท์ ค่าทางขวา ถูกใช้เพื่อแยกความหมายออกจาก ค่าทางซ้าย เท่านั้น) ให้ลองพิจารณานิพจน์ของภาษาซี 4 + 9 เมื่อทำงาน คอมพิวเตอร์จะสร้างค่าจำนวนเต็ม 13 ขึ้นมา แต่เนื่องจากโปรแกรมยังไม่ได้กำหนดอย่างชัดเจนว่าค่า 13 นี้จะเก็บไว้ที่ใดในคอมพิวเตอร์ ดังนั้นนิพจน์ดังกล่าวจึงเป็นค่าทางขวา ในทางตรงข้าม ถ้าโปรแกรมภาษาซีประกาศตัวแปร x และกำหนดค่า 13 ให้กับ x ดังนั้นนิพจน์ x ก็จะมีค่าเป็น 13 และเป็นค่าทางซ้าย ศัพท์ ค่าทางซ้าย ในภาษาซี เดิมทีหมายถึงบางสิ่งบางอย่างที่สามารถกำหนดค่าได้ (ด้วยชื่อของมันที่แสดงว่าอยู่ทางซ้ายของตัวดำเนินการกำหนดค่า) แต่ตั้งแต่มีคำสงวน const (ค่าคงตัว) เพิ่มเข้ามาในภาษา ศัพท์ดังกล่าวกลายเป็น ค่าทางซ้ายที่ดัดแปรได้ (modifiable l-value)

สล็อต

นิพจน์ค่าทางซ้ายเป็นตัวกำหนด (หรืออ้างถึง) วัตถุ ค่าทางซ้ายประเภทดัดแปรไม่ได้ สามารถระบุตำแหน่งได้แต่เปลี่ยนแปลงค่าไม่ได้ ส่วนค่าทางซ้ายประเภทดัดแปรได้ อนุญาตให้วัตถุที่กำหนดสามารถระบุตำแหน่งและเปลี่ยนแปลงค่าได้ด้วย สำหรับค่าทางขวาสามารถเป็นนิพจน์อะไรก็ได้ รวมทั้งนิพจน์ที่ไม่มีการระบุตำแหน่งแนวคิดสัญกรณ์ค่าทางซ้ายและค่าทางขวาเสนอแนะขึ้นครั้งแรกในภาษาซีพีแอลค่าที่ใช้ในภาษาแอสเซมบลีสามารถเป็นข้อมูลเสมือนอะไรก็ได้โดยชนิดข้อมูลที่กำหนด ตัวอย่างเช่นสายอักขระ ตัวเลข หรือตัวอักษรตัวเดียว ตัวประมวลผลส่วนใหญ่มีชุดคำสั่งหนึ่งชุดหรือมากกว่านั้นเพื่อเก็บบันทึก “ค่าใช้ทันที” (immediate value) ค่าใช้ทันทีที่เก็บไว้จะเป็นส่วนหนึ่งของชุดคำสั่งเมื่อเรียกใช้งาน ซึ่งมักจะบรรจุเข้า บวกเพิ่ม หรือลบออกจากเรจิสเตอร์ ชุดคำสั่งส่วนอื่นเป็นรหัสปฏิบัติการและเป้าหมาย อย่างหลังนี้บอกเป็นนัยว่า ค่าที่ไม่ได้ใช้ทันทีอาจยังหลงเหลืออยู่ในเรจิสเตอร์ หรือถูกเก็บอยู่ที่ใดสักแห่งในหน่วยความจำ ซึ่งจำเป็นต้องใช้ชุดคำสั่งที่มีการระบุตำแหน่งทางตรงหรือทางอ้อมไปยังค่านั้น ตัวประมวลผลบางชนิดรองรับค่าใช้ทันทีที่มีขนาดมากกว่าหนึ่งหน่วย เช่น 8 บิตหรือ 16 บิต โดยใช้รหัสปฏิบัติการและรหัสช่วยจำที่เป็นเอกลักษณ์สำหรับแต่ละชุดคำสั่งที่แตกต่างกัน หากโปรแกรมเมอร์ให้ค่าของข้อมูลที่ไม่เหมาะสม แอสเซมเบลอร์จะแจ้งเตือนข้อความผิดพลาด “เกินพิสัย” (out of range) แอสเซมเบลอร์ส่วนมากอนุญาตให้ค่าใช้ทันทีแสดงออกเป็นข้อมูลแอสกี เลขฐานสิบ ฐานสิบหก ฐานแปด หรือฐานสอง ดังนั้นตัวอักขระ “A” จึงมีความหมายเหมือนกับ “65” หรือ “0x41” เป็นต้น ลำดับไบต์ของสายอักขระอาจต่างกันไปในตัวประมวลผล ขึ้นอยู่กับแอสเซมเบลอร์และสถาปัตยกรรมคอมพิวเตอร์

สล็อตออนไลน์

วิทยาการคอมพิวเตอร์ หรือ วิทยาศาสตร์คอมพิวเตอร์ (computer science หรือ informatics) เป็นศาสตร์เกี่ยวกับการศึกษาค้นคว้าทฤษฎีการคำนวณสำหรับคอมพิวเตอร์ และทฤษฎีการประมวลผลสารสนเทศข้อมูล ทั้งด้านซอฟต์แวร์ ฮาร์ดแวร์ และ เครือข่าย วิทยาการคอมพิวเตอร์มีความเกี่ยวโยงกับทฤษฎีการคำนวณ อัลกอริทึม ปัญหาด้านการคำนวณ การออกแบบฮาร์ดแวร์ ซอฟต์แวร์ และ แอปพลิเคชัน วิทยาการคอมพิวเตอร์ศึกษาเกี่ยวกับกระบวนการประมวลผลข้อมูล ทั้งในสิ่งมีชีวิตตามกระบวนการธรรมชาติ และ ระบบคอมพิวเตอร์ที่มนุษย์สร้างขึ้น เช่น การสื่อสาร การควบคุม การรับรู้ การเรียนรู้ และ สติปัญญา โดยเฉพาะในคอมพิวเตอร์ สาขาวิชาวิทยาการคอมพิวเตอร์ สามารถแบ่งออกเป็น 2 ภาค ได้แก่ ภาคทฤษฎี ซึ่งมีความเป็นนามธรรมสูง เช่น การวิเคราะห์และสังเคราะห์ขั้นตอนวิธี ทฤษฎีความซับซ้อนของการคำนวณ ไปจนถึงภาคปฏิบัติ ที่เน้นการใช้งานที่เป็นรูปธรรม เช่น ทฤษฎีภาษาโปรแกรม ทฤษฎีการพัฒนาซอฟต์แวร์ ทฤษฎีฮาร์ดแวร์คอมพิวเตอร์ คอมพิวเตอร์กราฟิก และ ทฤษฎีเครือข่าย

jumboslot

อัลกอริทึม คือ หัวใจของวิทยาศาสตร์คอมพิวเตอร์ ทฤษฎีภาษาโปรแกรม พิจารณาแนวทางในการอธิบายกระบวนการคำนวณ ในขณะที่วิศวกรรมซอฟต์แวร์เกี่ยวข้องกับการใช้ภาษาโปรแกรมและระบบที่ซับซ้อน สถาปัตยกรรมคอมพิวเตอร์และวิศวกรรมคอมพิวเตอร์เกี่ยวข้องกับการสร้างส่วนประกอบคอมพิวเตอร์และอุปกรณ์ที่ควบคุมด้วยคอมพิวเตอร์ การศึกษาปฏิสัมพันธ์ระหว่างมนุษย์กับคอมพิวเตอร์ พิจารณาถึงความท้าทายในการทำให้คอมพิวเตอร์มีประโยชน์ใช้งานได้และสามารถเข้าถึงได้ ปัญญาประดิษฐ์มีจุดมุ่งหมายเพื่อสังเคราะห์กระบวนการเพื่อการแก้ปัญหา การตัดสินใจ การปรับตัวกับสิ่งแวดล้อม การวางแผน การเคลื่อนไหว การเรียนรู้ และ การสื่อสาร แบบสิ่งมีชีวิตทรงภูมิปัญญา วิทยาการคอมพิวเตอร์ ในฐานะศาสตร์การศึกษานั้น นับเป็นหนึ่งใน 5 สาขาวิชาคอมพิวเตอร์ ประกอบด้วย วิทยาการคอมพิวเตอร์ วิศวกรรมคอมพิวเตอร์ วิศวกรรมซอฟต์แวร์ เทคโนโลยีสารสนเทศ และ ระบบสารสนเทศ

slot

ข้อมูล

ข้อมูล คือค่าของตัวแปรในเชิงคุณภาพหรือเชิงปริมาณ ที่อยู่ในความควบคุมของกลุ่มของสิ่งต่าง ๆ ข้อมูลในเรื่องการคอมพิวเตอร์ (หรือการประมวลผลข้อมูล) จะแสดงแทนด้วยโครงสร้างอย่างหนึ่ง ซึ่งมักจะเป็นโครงสร้างตาราง (แทนด้วยแถวและหลัก) โครงสร้างต้นไม้ (กลุ่มของจุดต่อที่มีความสัมพันธ์แบบพ่อลูก) หรือโครงสร้างกราฟ (กลุ่มของจุดต่อที่เชื่อมระหว่างกัน) ข้อมูลโดยปกติเป็นผลจากการวัดและสามารถทำให้เห็นได้โดยใช้กราฟหรือรูปภาพ ข้อมูลในฐานะมโนทัศน์นามธรรมอันหนึ่ง อาจมองได้ว่าเป็นระดับต่ำที่สุดของภาวะนามธรรมที่สืบทอดเป็นสารสนเทศและความรู้ ข้อมูลดิบ หรือ ข้อมูลที่ยังไม่ประมวลผล เป็นศัพท์อีกคำหนึ่งที่เกี่ยวข้อง หมายถึงการรวบรวมจำนวนและอักขระต่าง ๆ ซึ่งมักจะเกิดขึ้นตามปกติในการประมวลผลข้อมูลเป็นระยะ และ ข้อมูลที่ประมวลผลแล้ว จากระยะหนึ่งอาจถือว่าเป็น ข้อมูลดิบ ของระยะถัดไปก็ได้ ข้อมูลสนามหมายถึงข้อมูลดิบที่รวบรวมมาจากสภาพแวดล้อม ณ แหล่งกำเนิด ที่ไม่อยู่ในการควบคุม ข้อมูลเชิงทดลองหมายถึงข้อมูลที่สร้างขึ้นภายในสภาพแวดล้อมของการค้นคว้าทางวิทยาศาสตร์โดยการสังเกตและการบันทึกศัพท์คำว่าข้อมูล สารสนเทศ และความรู้ บ่อยครั้งถูกใช้แทนมโนทัศน์ที่ทับซ้อนกัน ระดับของภาวะนามธรรมคือความแตกต่างหลักที่จะนำมาพิจารณา ข้อมูลคือระดับของภาวะนามธรรมต่ำที่สุด

jumbo jili

สารสนเทศอยู่ในระดับถัดไป และสุดท้ายความรู้คือระดับสูงที่สุดในสามสิ่งนี้ ข้อมูลโดยตัวมันเองนั้นไม่มีความหมายอะไร เมื่อข้อมูลกลายเป็นสารสนเทศ มันจะต้องถูกตีความและมีความหมายเกิดขึ้น ตัวอย่างเช่น ความสูงของยอดเขาเอเวอเรสต์โดยทั่วไปถือว่าเป็นข้อมูล หนังสือเกี่ยวกับลักษณะภูมิประเทศของยอดเขาเอเวอเรสต์ก็อาจถือว่าเป็นสารสนเทศ และรายงานเกี่ยวกับสารสนเทศเชิงปฏิบัติ เรื่องเส้นทางที่ดีที่สุดในการปีนยอดเขาเอเวอเรสต์ก็เรียกได้ว่าเป็นความรู้เบย์นอน-เดวีส์ใช้มโนทัศน์ของป้ายเพื่อแยกแยะระหว่างข้อมูลกับสารสนเทศ กล่าวคือ ข้อมูลคือสัญลักษณ์ต่าง ๆ ในขณะที่สารสนเทศจะเกิดขึ้นเมื่อสัญลักษณ์เหล่านั้นใช้อ้างถึงบางสิ่งบางอย่างสารสนเทศ (information) เป็นผลลัพธ์ของการประมวลผล การจัดดำเนินการ และการเข้าประเภทข้อมูลโดยการรวมความรู้เข้าไปต่อผู้รับสารสนเทศนั้น สารสนเทศมีความหมายหรือแนวคิดที่กว้าง และหลากหลาย ตั้งแต่การใช้คำว่าสารสนเทศในชีวิตประจำวัน จนถึงความหมายเชิงเทคนิค ตามปกติในภาษาพูด แนวคิดของสารสนเทศใกล้เคียงกับความหมายของการสื่อสาร เงื่อนไข การควบคุม ข้อมูล รูปแบบ

สล็อต

ปัจจุบันผู้คนพูดเกี่ยวกับยุคสารสนเทศว่าเป็นยุคที่นำไปสู่ยุคแห่งองค์ปัญญา นำไปสู่สังคมอุดมปัญญา หรือสังคมแห่งสารสนเทศ และ เทคโนโลยีสารสนเทศ แม้ว่าเมื่อพูดถึงสารสนเทศ เป็นคำที่เกี่ยวข้องในศาสตร์สองสาขา คือ วิทยาการสารสนเทศ และ วิทยาการคอมพิวเตอร์ ซึ่งคำว่า “สารสนเทศ” ก็ถูกใช้บ่อยในความหมายที่หลากหลายและกว้างขวางออกไป และมีการนำไปใช้ในส่วนของ เทคโนโลยีสารสนเทศ และ การประมวลผลสารสนเทศ สิ่งที่ได้จากการนำข้อมูลที่เก็บรวบรวมไว้มาประมวลผล เพื่อนำมาใช้ประโยชน์ตามจุดประสงค์ สารสนเทศ จึงหมายถึง ข้อมูลที่ผ่านการเลือกสรรให้เหมาะสมกับการใช้งานให้ทันเวลา และอยู่ในรูปที่ใช้ได้ สารสนเทศที่ดีต้องมาจากข้อมูลที่ดี การจัดเก็บข้อมูลและสารสนเทศจะต้องมีการควบคุมดูแลเป็นอย่างดี เช่น อาจจะมีการกำหนดให้ผู้ใดบ้างเป็นผู้มีสิทธิ์ใช้ข้อมูลได้ ข้อมูลที่เป็นความลับจะต้องมีระบบขั้นตอนการควบคุม กำหนดสิทธิ์ในการแก้ไขหรือการกระทำกับข้อมูลว่าจะกระทำได้โดยใครบ้าง นอกจากนี้ข้อมูลที่เก็บไว้แล้วต้องไม่เกิดการสูญหายหรือถูกทำลายโดยไม่ได้ตั้งใจ การจัดเก็บข้อมูลที่ดี จะต้องมีการกำหนดรูปแบบของข้อมูลให้มีลักษณะง่ายต่อการจัดเก็บ และมีรูปแบบเดียวกันอย่างมีระบบ ข้อมูลแต่ละชุดควรมีความหมายและมีความเป็นอิสระในตัวเอง นอกจากนี้ไม่ควรมีการเก็บข้อมูลซ้ำซ้อนเพราะจะเป็นการสิ้นเปลืองเนื้อที่เก็บข้อมูล

สล็อตออนไลน์

สารสนเทศสามารถหมายถึงคุณภาพของข้อความจากผู้ส่งไปหาผู้รับ สารสนเทศจะประกอบไปด้วย ขนาด ปริมาณและเหตุการณ์ของสารสนเทศนั้น สารสนเทศสามารถแทนข้อมูลที่มีความถูกต้องและความแม่นยำหรือไม่มีก็ได้ ซึ่งสามารถเป็นได้ทั้งข้อเท็จจริงหรือข้อโกหกหรือเป็นเพียงเหตุการณ์หนึ่งที่เกิดขึ้น สารสนเทศจะเกิดขึ้นเมื่อมีผู้ส่งข้อความและผู้รับข้อความอย่างน้อยฝ่ายละหนึ่งคนซึ่งทำให้เกิดการสื่อสารของข้อความและเข้าใจในข้อความเกิดขึ้น ซึ่งมีลักษณะใกล้เคียงกับ ความหมาย ความรู้ คำสั่ง การสื่อสาร การแสดงออก และการกระตุ้นภายใน การส่งข้อความที่มีลักษณะเป็นสารสนเทศ ในขณะเดียวกันการรบกวนการสื่อสารสารสนเทศก็ถือเป็นสารสนเทศเช่นเดียวกัน ถึงแม้ว่าคำว่า “สารสนเทศ” และ “ข้อมูล” มีการใช้สลับกันอยู่บ้าง แต่สองคำนี้มีข้อแตกต่างที่เด่นชัดคือ ข้อมูลเป็นกลุ่มของข้อความที่ไม่ได้จัดการรูปแบบ และไม่สามารถนำมาใช้งานได้จนกว่าจะมีการจัดระเบียบและดึงออกมาใช้ในรูปแบบสารสนเทศ การแสดงผลลัพธ์ อุปกรณ์ที่ใช้เทคโนโลยีในการแสดงผลลัพธ์มีมาก สามารถแสดงเป็นตัวหนังสือ เป็นรูปภาพหรือคำพูด ตลอดจนพิมพ์ออกมาที่กระดาษ การแสดงผลลัพธ์มีทั้งที่แสดงเป็นภาพ เป็นเสียง เป็นวีดิทัศน์ เป็นต้น และสามารถเก็บรักษาได้ยาวนาน

jumboslot

สารสนเทศแข็ง คือสิ่งที่เชื่อถือได้ สามารถนำไปใช้ประโยชน์สำหรับการตัดสินใจและการวางแผน หรือการทำงานได้ สารสนเทศอ่อน มีคุณสมบัติตรงข้ามกับสารสนเทศแข็ง คือ เชื่อถือได้น้อย ไม่สามารถนำไปใช้ประโยชน์ได้ ประโยชน์ คือ สามารถสร้างความมั่นใจและการวางแผน ตัวอย่างเช่น การที่เราได้รับข้อมูลหรือสิ่งต่าง ๆ รอบตัวมาอาจจะเป็นสิ่งที่ไม่จริงหรือจริงก็ได้ สิ่งที่ได้กล่าวไปข้างต้นคือ สารสนเทศอ่อน แต่สารสนเทศแข็ง คือ ข้อมูลนั้นจะต้องถูกตรวจสอบ หรือ ลงมือทำก่อนเป็นการพิสูจน์หลักฐานก่อนแต่ต้องเป็นความจริงหรือเท็จก็แจเป็นไปได้ ข้อดีสารสนเทศอ่อน คือ สร้างความอยากรู้อยากลองเพื่อนำไปสู่การแก้ไขปัญหาเพราะอาจจะรับข้อมูลในสิ่งที่ผิด ๆ แต่ถ้าเรามีข้อมูลควรที่จะคิดหรือตรวจสอบให้ดีเสียก่อนจึงสร้างสามารถนำมาปฏิบัติหรือวางแผนในอนาคตได้ ข้อดีของสารสนเทศแข็ง คือ เป็นข้อมูลที่ได้รับการตรวจได้มาว่าถูกต้องหรือเท็จเราก็สามารถได้รับข้อมูลที่ถูกต้องหรือผิดได้ ข้อเสียสารสนเทศอ่อน คือ สารสนเทศอ่อน มีคุณสมบัติตรงข้ามกับสารสนเทศแข็ง คือ เชื่อถือได้น้อย ไม่สามารถนำไปใช้ประโยชน์ได้ ตัวอย่างสารสนเทศอ่อน คือ บริเวณความกดอากาศสูงกำลังค่อนข้างแรงจากประเทศจีนยังคงแผ่ลงมาปกคลุมประเทศไทย และจะแผ่เสริมลงมาอย่างต่อเนื่องจนถึงวันที่ 3 ธันวาคม 2556 ทำให้โดยอุณหภูมิจะลดลงอีก 4-6 องศาเซลเซียส กับมีลมแรง ตัวอย่างสารสนเทศแข็ง คือ เราต้องรอเหตุการณ์นั้นเกิดขึ้นจริง ๆ ก่อนเราสามารถบ่งบอกได้เหตุการณ์นั้นเกิดขึ้นจริงหรือไม่หิวข้าว

slot

การเข้าถึงโดยสุ่ม

ในวิทยาการคอมพิวเตอร์ การเข้าถึงโดยสุ่ม (random access) หรือ การเข้าถึงโดยตรง (direct access) คือความสามารถในการเข้าถึงข้อมูลในลำดับภายในเวลาที่เท่าๆกันสำหรับข้อมูลตัวใด ๆ ก็ตาม เวลาในการเข้าถึงข้อมูลนี้ไม่ขึ้นกับกับขนาดของลำดับด้วย ตัวอย่างของการเข้าถึงโดยสุ่มคือการอ่านข้อมูลจากแผ่นซีดี ซึ่งสามารถอ่านข้อมูลตำแหน่งใดๆได้ทันทีการเข้าถึงข้อมูลที่ตรงกันข้ามกับการเข้าถึงโดยสุ่มคือการเข้าถึงเชิงเส้น ซึ่งข้อมูลที่อยู่ไกลกว่าจะเสียเวลาในการเข้าถึงข้อมูลมากกว่าตัวอย่างเช่นการอ่านข้อมูลจากตลับเทป ซึ่งต้องมีกรอเทปไปยังตำแหน่งที่ต้องการอ่านข้อมูล สำหรับโครงสร้างข้อมูล ความสามารถในการเข้าถึงโดยสุ่มคือความสามารถในการเข้าถึงรายการได้ภายในเวลาคงที่ หรือ {\displaystyle O(1)}{\displaystyle O(1)} ซึ่งโครงสร้างข้อมูลที่เรียบง่ายที่สุดที่มีความสามารถนี้ก็คือแถวลำดับ โครงสร้างข้อมูลที่เหลือที่มีความสามารถนี้ โดยมากแล้วก็จะมาจากการดัดแปลงแถวลำดับ เช่น แถวลำดับพลวัต อย่างไรก็ตาม การมีความสามารถในการเข้าถึงโดยสุ่มก็ความหมายอีกนัยหนึ่งว่าที่อยู่ของหน่วยความจำต้องเรียงกันแบบมีแบบแผน ดังนั้นจึงทำให้โครงสร้างข้อมูลทั้งหลายที่มีความสามารถนี้ไม่สามารถเพิ่มข้อมูลกลางรายการได้อย่างมีประสิทธิภาพ บางโครงสร้างข้อมูลเช่นรายการโยงแลกความสามารถในการเข้าถึงแบบสุ่มด้วยความสามารถในการเพิ่มและลบข้อมูลกลางรายการแทน ความสามารถในการเข้าถึงโดยสุ่มมีความสำคัญมาก มีขั้นตอนวิธีมากมายที่ใช้ประโยชน์จากโครงสร้างข้อมูลที่มีการเข้าถึงข้อมูลโดยสุ่ม เช่น การค้นหาแบบทวิภาค ขั้นตอนวิธีการเรียงลำดับ ตะแกรงเอราทอสเทนีส เป็นต้น

jumbo jili

วิทยาการคอมพิวเตอร์ หรือ วิทยาศาสตร์คอมพิวเตอร์ (computer science หรือ informatics) เป็นศาสตร์เกี่ยวกับการศึกษาค้นคว้าทฤษฎีการคำนวณสำหรับคอมพิวเตอร์ และทฤษฎีการประมวลผลสารสนเทศข้อมูล ทั้งด้านซอฟต์แวร์ ฮาร์ดแวร์ และ เครือข่าย วิทยาการคอมพิวเตอร์มีความเกี่ยวโยงกับทฤษฎีการคำนวณ อัลกอริทึม ปัญหาด้านการคำนวณ การออกแบบฮาร์ดแวร์ ซอฟต์แวร์ และ แอปพลิเคชัน วิทยาการคอมพิวเตอร์ศึกษาเกี่ยวกับกระบวนการประมวลผลข้อมูล ทั้งในสิ่งมีชีวิตตามกระบวนการธรรมชาติ และ ระบบคอมพิวเตอร์ที่มนุษย์สร้างขึ้น เช่น การสื่อสาร การควบคุม การรับรู้ การเรียนรู้ และ สติปัญญา โดยเฉพาะในคอมพิวเตอร์ สาขาวิชาวิทยาการคอมพิวเตอร์ สามารถแบ่งออกเป็น 2 ภาค ได้แก่ ภาคทฤษฎี ซึ่งมีความเป็นนามธรรมสูง เช่น การวิเคราะห์และสังเคราะห์ขั้นตอนวิธี ทฤษฎีความซับซ้อนของการคำนวณ ไปจนถึงภาคปฏิบัติ ที่เน้นการใช้งานที่เป็นรูปธรรม เช่น ทฤษฎีภาษาโปรแกรม ทฤษฎีการพัฒนาซอฟต์แวร์ ทฤษฎีฮาร์ดแวร์คอมพิวเตอร์ คอมพิวเตอร์กราฟิก และ ทฤษฎีเครือข่าย

สล็อต

อัลกอริทึม คือ หัวใจของวิทยาศาสตร์คอมพิวเตอร์ ทฤษฎีภาษาโปรแกรม พิจารณาแนวทางในการอธิบายกระบวนการคำนวณ ในขณะที่วิศวกรรมซอฟต์แวร์เกี่ยวข้องกับการใช้ภาษาโปรแกรมและระบบที่ซับซ้อน สถาปัตยกรรมคอมพิวเตอร์และวิศวกรรมคอมพิวเตอร์เกี่ยวข้องกับการสร้างส่วนประกอบคอมพิวเตอร์และอุปกรณ์ที่ควบคุมด้วยคอมพิวเตอร์ การศึกษาปฏิสัมพันธ์ระหว่างมนุษย์กับคอมพิวเตอร์ พิจารณาถึงความท้าทายในการทำให้คอมพิวเตอร์มีประโยชน์ใช้งานได้และสามารถเข้าถึงได้ ปัญญาประดิษฐ์มีจุดมุ่งหมายเพื่อสังเคราะห์กระบวนการเพื่อการแก้ปัญหา การตัดสินใจ การปรับตัวกับสิ่งแวดล้อม การวางแผน การเคลื่อนไหว การเรียนรู้ และ การสื่อสาร แบบสิ่งมีชีวิตทรงภูมิปัญญา วิทยาการคอมพิวเตอร์ ในฐานะศาสตร์การศึกษานั้น นับเป็นหนึ่งใน 5 สาขาวิชาคอมพิวเตอร์ ประกอบด้วย วิทยาการคอมพิวเตอร์ วิศวกรรมคอมพิวเตอร์ วิศวกรรมซอฟต์แวร์ เทคโนโลยีสารสนเทศ และ ระบบสารสนเทศ

สล็อตออนไลน์

คำที่ใช้ในภาษาฝรั่งเศสคือ Informatique จาก “information” (สารสนเทศ) และ “automatique” (อัตโนมัติ) บัญญัติโดย Philippe Dreyfus ในปี พ.ศ. 2505 (ค.ศ. 1962) ซึ่งคำในภาษาอิตาลี Informatica และภาษาสเปน Informática ก็มีที่มาจากคำในภาษาฝรั่งเศสคำนี้ ส่วนคำที่ใช้ในภาษาเยอรมันคือ Informatik ซึ่งก็ดูคล้ายกัน และมีรากจากคำทั้งสองเหมือนกัน แต่ได้ถูกบัญญัติใช้ในเยอรมันมาตั้งแต่ปี พ.ศ. 2500 (ค.ศ. 1957) และเมื่อไม่นานมานี้ ในภาษาอังกฤษเอง ก็ได้มีการใช้คำว่า informatics ซึ่งก็มาจากรากเดียวกัน แต่มักใช้หมายความถึง information science (สารสนเทศศาสตร์) หรือในบางครั้งใช้แทนคำว่า computer science (หรือ computing science) แต่กินความหมายที่กว้างไปกว่าคอมพิวเตอร์หรือเครื่องจักร โดยรวมถึงการคำนวณและสารสนเทศในธรรมชาติด้วย

jumboslot

คำว่า “computer science” แต่เดิมในภาษาไทยเรียกทับศัพท์ว่า “คอมพิวเตอร์ไซแอนส์” โดยเป็นชื่อของหน่วยงานหนึ่งของจุฬาลงกรณ์มหาวิทยาลัย ซึ่งเป็นหน่วยงานแรกในประเทศไทยที่สอนวิชาวิทยาศาสตร์คอมพิวเตอร์ ต่อมาได้ย้ายมาเป็นภาควิชาวิศวกรรมคอมพิวเตอร์ สังกัดคณะวิศวกรรมศาสตร์ และยังคงหลักสูตรวิทยาศาสตร์คอมพิวเตอร์มหาบัณฑิตไว้ ซึ่งเป็นหลักสูตรเดียวในประเทศที่ใช้คำว่า “วิทยาศาสตร์คอมพิวเตอร์” ส่วนหน่วยงานที่เปิดสอนวิชานี้ในระดับปริญญาตรีแห่งแรกในประเทศไทยคือ สาขาศาสตร์คอมพิวเตอร์ (ชื่อเดิม) คณะวิทยาศาสตร์และเทคโนโลยี มหาวิทยาลัยธรรมศาสตร์ ซึ่งสาเหตุที่เดิมเรียกว่า “ศาสตร์คอมพิวเตอร์” เนื่องจากคำว่า “ไซน์” ในความหมายนี้คือ “ศาสตร์” เช่นเดียวกับใน สังคมศาสตร์ หรือ โซเชียลไซน์ (social science) รากฐานที่เก่าแก่ที่สุดของสิ่งที่จะกลายมาเป็นวิทยาศาสตร์คอมพิวเตอร์ มีมาก่อนการประดิษฐ์คอมพิวเตอร์ดิจิทัลเสียอีก เครื่องมือสำหรับคำนวณงานที่เป็นตัวเลขคงที่ เช่น ลูกคิด มีมาตั้งแต่สมัยจีนโบราณเพื่อช่วยในการคำนวณ เช่น การคูณและการหาร อัลกอริทึมสำหรับการคำนวณมีมาตั้งแต่สมัยโบราณก่อนที่จะมีการพัฒนาอุปกรณ์คอมพิวเตอร์ที่มีความซับซ้อน นายวิลแฮม ชิคคาร์ด (Wilhelm92 Schickard) ได้ออกแบบและสร้างเครื่องคำนวณเชิงกลที่ใช้งานได้เครื่องแรกในปี ค.ศ. 1623

slot

EDI

EDI ย่อมาจาก “Electronic Data Interchange” คือ การแลกเปลี่ยนเอกสารทางธุรกิจระหว่างบริษัทคู่ค้าในรูปแบบมาตรฐานสากลจากเครื่องคอมพิวเตอร์เครื่องหนึ่งไปยังเครื่องคอมพิวเตอร์อีกเครื่องหนึ่ง โดยระบบ EDI จะมีองค์ประกอบที่สำคัญอยู่ 2 อย่างคือ การใช้เอกสารอิเล็กทรอนิกส์แทนเอกสารที่เป็นกระดาษ และเอกสารอิเล็กทรอนิกส์เหล่านี้ต้องอยู่ในรูปแบบมาตรฐานสากล ด้วยสององค์ประกอบนี้ทำให้ทุกธุรกิจสามารถแลกเปลี่ยนเอกสารกันได้ทั่วโลกในปี ค.ศ.1673 นายก็อทฟรายด์ ไลบ์นิซ (Gottfried Leibniz) ได้แสดงเครื่องคำนวณเชิงกลแบบดิจิทัลที่เรียกว่า “Stepped Reckoner” ไลบ์นิซอาจถือได้ว่าเป็นนักวิทยาศาสตร์คอมพิวเตอร์และนักทฤษฎีสารสนเทศคนแรก โดยเฉพาะการที่เขาได้จัดทำเอกสารทางวิชาการเกี่ยวกับระบบเลขฐานสอง
ในปี ค.ศ.1820 นายโทมัส เดอ กอลมาร์ (Thomas de Colmar)ได้เปิดตัวอุตสาหกรรมเครื่องคิดเลขเชิงกล เมื่อเขาประดิษฐ์เครื่องวัดเลขคณิตแบบง่าย เครื่องคำนวณเครื่องแรกที่แข็งแกร่งเพียงพอและเชื่อถือได้เพียงพอที่จะใช้งานได้ทุกวันในสภาพแวดล้อมของสำนักงาน

jumbo jili

นายชาร์ลส์ แบ็บเบจ (Charles Babbage) เริ่มออกแบบเครื่องคิดเลขเชิงกลอัตโนมัติเครื่องแรกชื่อ “Difference Engine” ของเขาในปี ค.ศ.1822 ซึ่งในที่สุดเขาก็มีแนวคิดเกี่ยวกับเครื่องคำนวณเชิงกลที่ตั้งโปรแกรมได้เครื่องแรกชื่อ Analytical Engine โดยเขาเริ่มพัฒนาเครื่องนี้ในปี ค.ศ.1834 และในเวลาไม่ถึงสองปี เขาได้ร่างคุณลักษณะเด่น ๆ ของคอมพิวเตอร์สมัยใหม่ขึ้นขั้นตอนสำคัญคือการสร้างระบบบัตรเจาะรูที่ได้มาจากเครื่องทอผ้า Jacquard ทำให้สามารถตั้งโปรแกรมได้อย่างไม่สิ้นสุดในการทอผ้า ชาร์ลส์ แบบเบจ Charles Babbage บิดาแห่งวิทยาการคอมพิวเตอร์”ในปี ค.ศ.1953 มหาวิทยาลัยแมนเชสเตอร์ได้สร้างคอมพิวเตอร์ทรานซิสเตอร์เครื่องแรก เรียกว่า Transistor Computer อย่างไรก็ตามทรานซิสเตอร์ในยุคแรกเป็นอุปกรณ์ที่ค่อนข้างเทอะทะ ซึ่งยากต่อการผลิตเป็นจำนวนมาก ทรานซิสเตอร์สนามเอฟเฟกต์โลหะ – ออกไซด์ – ซิลิคอน (MOSFET หรือ MOS) ถูกประดิษฐ์ขึ้นโดย โมฮัมเม็ด อาตัลลา (Mohamed Atalla) และ เดวอน คัง (Dawon Kahng) ที่ Bell Labs ในปี ค.ศ.1959 เป็นทรานซิสเตอร์ขนาดกะทัดรัดตัวแรกที่สามารถย่อส่วนและผลิตจำนวนมากเพื่อการใช้งานที่หลากหลาย MOSFET ช่วยให้สามารถสร้างชิปวงจรรวมที่มีความหนาแน่นสูงได้ ซึ่งนำไปสู่สิ่งที่เรียกว่า การปฏิวัติคอมพิวเตอร์ หรือการปฏิวัติไมโครคอมพิวเตอร์ เป็นช่วงเวลาที่ได้เห็นการปรับปรุงอย่างมีนัยสำคัญในการใช้งานและประสิทธิผลของเทคโนโลยีคอมพิวเตอร์ สังคมสมัยใหม่ได้เห็นการเปลี่ยนแปลงอย่างมีนัยสำคัญในด้านประชากรที่ใช้เทคโนโลยีคอมพิวเตอร์ การใช้งานได้เปลี่ยนจากการใช้เฉพาะผู้เชี่ยวชาญเป็นส่วนใหญ่ ไปสู่ฐานผู้ใช้ที่แพร่หลายในวงกว้าง ในขั้นต้นคอมพิวเตอร์มีค่าใช้จ่ายค่อนข้างสูงและจำเป็นต้องได้รับความช่วยเหลือด้วยมนุษย์ในระดับหนึ่ง เพื่อให้ใช้งานได้อย่างมีประสิทธิภาพ เนื่องจากการใช้คอมพิวเตอร์แพร่หลายมากขึ้นและราคาไม่แพง ความช่วยเหลือจากมนุษย์ในการใช้งานคอมพิวเตอร์จึงจำเป็นน้อยลงอย่างมากสำหรับการใช้งานทั่วไป

สล็อต

เอดา เลิฟเลซ (Ada Lovelace) สตรีชาวฝรั่งเศส ผู้เขียนเรื่องอัลกอริทึมสำหรับคอมพิวเตอร์ขึ้นครั้งแรกของโลก ในปี ค.ศ.1843 ในปี ค.ศ.1843 ระหว่างการแปลบทความภาษาฝรั่งเศส เรื่องเครื่องมือวิเคราะห์ เอดา เลิฟเลซ (Ada Lovelace) ได้เขียนอัลกอริทึมในการคำนวณจำนวนแบร์นูลลี ซึ่งถือเป็นอัลกอริทึมที่เผยแพร่ครั้งแรกที่ได้รับการออกแบบมาโดยเฉพาะสำหรับการใช้งานบนคอมพิวเตอร์ Bประมาณปี ค.ศ.1885 นายเฮอร์แมน ฮอลเลอริธ (Herman Hollerith) ได้ประดิษฐ์ตัวเลื่อนซึ่งใช้บัตรเจาะรูเพื่อประมวลผลข้อมูลทางสถิติ ในที่สุด บริษัท ของเขาก็กลายเป็นส่วนหนึ่งของ IBM นายเพอร์ซี ลุจเกต (Percy Ludgate) ในปี ค.ศ.1909 ได้ตีพิมพ์ แบบสำหรับประดิษฐ์เครื่องยนต์วิเคราะห์เชิงกลเป็นครั้งที่ 2 ในประวัติศาสตร์ ตามรอยของนายชาร์ลส์ แบ็บเบจ (Charles Babbage) แม้ว่าลุจเกตจะไม่รู้ถึงผลงานก่อนหน้านี้ของแบ็บเบจมาก่อนก็ตาม

สล็อตออนไลน์

ในปี ค.ศ.1937 100 ปีหลังจากความฝันที่เป็นไปไม่ได้ของนายชาลส์ แบบเบจ (Charles Babbage) นายโฮวาร์ด ไอเค็น (Howard Aiken) ได้โน้มน้าวให้ IBM พัฒนาเครื่องคิดเลขที่ตั้งโปรแกรมได้ขนาดยักษ์ของเขา ที่มีชื่อว่า ASCC / Harvard Mark I ตามรอยเครื่องมือวิเคราะห์ของแบ็บเบจ ซึ่งใช้การ์ดและหน่วยประมวลผลกลาง เมื่อเครื่องนี้สร้างเสร็จ ได้มีการยกย่องเครื่องนี้ว่าเป็น “ความฝันที่เป็นจริงของแบ็บเบจ” ในช่วงทศวรรษที่ 1940 ด้วยการพัฒนาเครื่องคอมพิวเตอร์รุ่นใหม่และมีประสิทธิภาพมากขึ้น เช่น คอมพิวเตอร์ Atanasoff – Berry และ ENIAC คำว่าคอมพิวเตอร์ ได้เปลี่ยนความหมายไป กลายเป็นหมายถึง เครื่องจักรที่ใช้ในการคำนวณ มากกว่าอาชีพนักคำนวณของมนุษย์ ที่เคยแพร่หลายก่อนยุคของคอมพิวเตอร์ เมื่อเห็นได้ชัดว่าคอมพิวเตอร์สามารถใช้เพื่อการคำนวณทางคณิตศาสตร์ได้มากกว่าศักยภาพของมนุษย์ สาขาวิทยาศาสตร์คอมพิวเตอร์จึงได้เกิดการศึกษาอย่างเป็นวงกว้าง เพื่อศึกษาการคำนวณโดยทั่วไป ในปีพ. ศ. 2488 IBMได้ก่อตั้งห้องปฏิบัติการคอมพิวเตอร์วิทยาศาสตร์วัตสัน ที่มหาวิทยาลัยโคลัมเบีย ในกรุงนิวยอร์ก เป็นห้องปฏิบัติการแรกของ IBM ที่อุทิศให้กับวิทยาศาสตร์บริสุทธิ์ ห้องปฏิบัติการนี้เป็นผู้บุกเบิกแผนกวิจัยของไอบีเอ็มซึ่งปัจจุบันดำเนินงานด้านการวิจัยทั่วโลก

jumboslot

ในที่สุดความสัมพันธ์ที่ใกล้ชิดระหว่างไอบีเอ็มและมหาวิทยาลัยก็มีส่วนสำคัญในการเกิดระเบียบทางวิทยาศาสตร์ขึ้นใหม่ โดยมหาวิทยาลัยโคลัมเบีย เปิดสอนหลักสูตรวิชาการครั้งแรกในสาขาวิทยาการคอมพิวเตอร์ เมื่อปี ค.ศ.1946 วิทยาการคอมพิวเตอร์เริ่มได้รับการยอมรับให้เป็นสาขาวิชาการที่แตกออกมาจากวิทยาศาสตร์และคณิตศาสตร์ทั่วไป ในช่วงทศวรรษที่ 1950 และต้นทศวรรษที่ 1960 หลักสูตรปริญญาวิทยาการคอมพิวเตอร์ หลักสูตรแรกของโลก คือ “Cambridge Diploma in Computer Science” เริ่มต้นที่ห้องปฏิบัติการคอมพิวเตอร์ของมหาวิทยาลัยเคมบริดจ์ ในปี ค.ศ.1953 แผนกวิทยาการคอมพิวเตอร์แห่งแรกในสหรัฐอเมริกาก่อตั้งขึ้นที่มหาวิทยาลัยเพอร์ดู ในปี ค.ศ.1962 นับตั้งแต่คอมพิวเตอร์สามารถใช้งานได้อย่างสะดวกแพร่หลาย การใช้งานคอมพิวเตอร์ในแต่ละสาขา กลายเป็นศาสตร์ลึกซึ้งเฉพาะตัว แม้ว่าในตอนแรก หลายคนเชื่อว่ามันเป็นไปไม่ได้เลยที่คอมพิวเตอร์จะสามารถเป็นสาขาการศึกษาทางวิทยาศาสตร์ได้ แต่ในช่วงปลายทศวรรษที่ 50 การศึกษาเกี่ยวกับคอมพิวเตอร์ ก็ค่อย ๆ เป็นที่ยอมรับในหมู่นักวิชาการจำนวนมาก ปัจจุบันเป็นแบรนด์ IBM ที่รู้จักกันดี และยังคงเป็นส่วนหนึ่งของการปฏิวัติวิทยาการคอมพิวเตอร์ในช่วงเวลานี้ IBM (ย่อมาจาก International Business Machines) เปิดตัว IBM 704 และ ต่อมาคอมพิวเตอร์ IBM 709 ซึ่งใช้กันอย่างแพร่หลายในยุคแห่งการสำรวจทางเทคโนโลยี ในช่วงปลายทศวรรษที่ 50 สาขาวิชาวิทยาการคอมพิวเตอร์ยังคงอยู่ในขั้นตอนของการพัฒนาอย่างมากและมีการพบปัญหาต่าง ๆ อยู่บ่อยครั้งจูเลียส เอ็ดการ์ ลิเลียนเฟลด์ (Julius Edgar Lilienfeld) นักฟิสิกส์ชาวออสเตรีย-ฮังการี ได้เสนอแนวคิดเกี่ยวกับ ทรานซิสเตอร์สนามไฟฟ้า ในปี ค.ศ.1925 และต่อมา จอห์น บาร์ดีน (John Bardeen) และ วอลเตอร์ แบรเทน (Walter Brattain) ได้สร้างทรานซิสเตอร์ที่ใช้งานได้ตัวแรกซึ่งเป็นทรานซิสเตอร์แบบจุดสัมผัส ในปี ค.ศ.1947 ในขณะที่ทำงานภายใต้ วิลเลียม ช็อกลีย์ (William Shockley) ที่ Bell Labs

slot

DataPortability

DataPortability คือความสามารถในการควบคุม แชร์ และเคลื่อนย้ายข้อมูลจากระบบหนึ่งไปสู่อีกระบบหนึ่ง สำหรับบนเว็บคือการแชร์และเชื่อมโยงข้อมูลระหว่างผู้ให้บริการ โดยมีกลุ่มทำงานที่มีชื่อว่า Data Portability Working Group เข้ามาร่วมผลักดันการใช้เทคโนโลยีเปิด (open standard และ protocols) ที่มีอยู่แล้ว อาทิ OpenID, OAuth, RDF, RSS, Microformat ฯลฯ กับเว็บเซอร์วิซจากผู้ให้บริการต่างๆ ประโยชน์สำหรับผู้ให้บริการที่เด่นชัดคือโอกาสในการขยายฐานลูกค้าใหม่ๆ ส่วนสำหรับผู้ใช้ทั่วไปคือความสะดวกและง่าย ที่ไม่ต้องสมัครสมาชิกใหม่ทุกครั้งในการใช้เว็บเซอร์วิซใหม่ๆ ที่เกิดขึ้นมาวิทยาการคอมพิวเตอร์ครอบคลุมหัวข้อต่างๆ ตั้งแต่การศึกษาทางทฤษฎีของอัลกอริทึม และ ขีดจำกัดของการคำนวณ ไปจนถึงประเด็นทางปฏิบัติของการนำระบบคอมพิวเตอร์มาใช้ในฮาร์ดแวร์และซอฟต์แวร์ โดยองค์กร CSAB (เดิมเรียกว่า Computing Sciences Accreditation Board ซึ่งประกอบด้วยตัวแทนของ Association for Computing Machinery (ACM) และ IEEE Computer Society (IEEE CS)) ระบุว่ามี 4 สาขา ที่สำคัญในสาขาวิทยาการคอมพิวเตอร์ ประกอบด้วย: ทฤษฎีการคำนวณอัลกอริทึม, โครงสร้างข้อมูลและอัลกอริทึม, ระเบียบวิธีการเขียนโปรแกรมและภาษาโปรแกรม, องค์ประกอบและสถาปัตยกรรมของคอมพิวเตอร์ นอกเหนือจากสี่ด้านนี้แล้ว CSAB ยังระบุสาขาต่าง ๆ เพิ่มเติม เช่น วิศวกรรมซอฟต์แวร์, ปัญญาประดิษฐ์, ระบบเครือข่ายคอมพิวเตอร์และการสื่อสาร, ระบบฐานข้อมูล, การคำนวณแบบขนาน, การคำนวณแบบกระจาย, ปฏิสัมพันธ์ระหว่างมนุษย์กับคอมพิวเตอร์, กราฟิกคอมพิวเตอร์. ระบบปฏิบัติการ และ การคำนวณเชิงตัวเลขและสัญลักษณ์ ซึ่งถือเป็นพื้นที่สำคัญของวิทยาการคอมพิวเตอร์

jumbo jili

ทฤษฎีวิทยาการคอมพิวเตอร์ ทฤษฎีวิทยาการคอมพิวเตอร์ เป็นการศึกษาทางคณิตศาสตร์เชิงทฤษฎี มีความเป็นนามธรรมสูง แต่มีต้นกำเนิดมาจากการคำนวณเชิงปฏิบัติในชีวิตประจำวัน จุดมุ่งหมายคือ การเข้าใจธรรมชาติของการคำนวณ เพื่อทำให้มีวิธีการคำนวณที่มีประสิทธิภาพมากขึ้น การศึกษาเชิงคณิตศาสตร์ทั้งหมดที่เกี่ยวข้องกับตรรกศาสตร์ และ วิธีการทางคณิตศาสตร์ อาจถือได้ว่าเป็นทฤษฎีวิทยาการคอมพิวเตอร์ โดยมีเงื่อนไขว่าจุดประสงค์ของการศึกษานั้นมีขึ้นเพื่อการศึกษาวิทยาการคอมพิวเตอร์อย่างชัดเจน จากข้อมูลของ Peter Denning คำถามพื้นฐานที่แฝงอยู่ในวิทยาการคอมพิวเตอร์คือ “อะไรบ้างที่ทำให้เป็นอัตโนมัติได้” ทฤษฎีการคำนวณมุ่งเน้นไปที่การตอบคำถามพื้นฐานเกี่ยวกับสิ่งที่สามารถคำนวณได้และจำนวนทรัพยากรที่ต้องใช้ในการคำนวณเหล่านั้น ในความพยายามที่จะตอบคำถามแรกนั้น ทฤษฎีความสามารถในการคำนวณ (computability theory) จะตรวจสอบว่าปัญหาการคำนวณใดที่สามารถแก้ไขได้บนแบบจำลองการคำนวณ (models of computation) ทางทฤษฎีต่าง ๆ คำถามที่สองได้รับการแก้ไขโดย ทฤษฎีความซับซ้อนในการคำนวณ (computational complexity theory)ซึ่งศึกษาต้นทุนด้านเวลาและพื้นที่ ที่เกี่ยวข้องกับแนวทางที่หลากหลายในการแก้ปัญหาด้านการคำนวณที่หลากหลาย

สล็อต

สมการปัญหา P = NP? ที่มีชื่อเสียง เป็นสมการปัญหาหนึ่งใน “ปัญหารางวัลแห่งสหัสวรรษ (Millennium Prize Problems) เป็นปัญหาที่เปิดกว้างในทฤษฎีการคำนวณทฤษฎีสารสนเทศ (Information theory) เกี่ยวข้องกับความน่าจะเป็น การหาปริมาณข้อมูล และ สถิติ พัฒนาขึ้นโดย คล็อด แชนนอน (Claude Shannon) เพื่อค้นหาขีดจำกัดพื้นฐานในการประมวลผลสัญญาณ ( signal processing) เช่น การบีบอัดข้อมูล และ การจัดเก็บและสื่อสารข้อมูลที่เชื่อถือได้ ทฤษฎีการเขียนโค้ด (Coding theory) คือการศึกษาคุณสมบัติของรหัส (ระบบสำหรับการแปลงข้อมูลจากรูปแบบหนึ่งไปเป็นอีกรูปแบบหนึ่ง) และความเหมาะสมของรหัสสำหรับการใช้งานเฉพาะ รหัสใช้สำหรับการบีบอัดข้อมูล (data compression), การเข้ารหัส (cryptography), การตรวจจับและแก้ไขข้อผิดพลาด (error detection and correction) และ การเข้ารหัสเครือข่าย (network coding) การศึกษารหัสมีเป้าหมายเพื่อการออกแบบวิธีการส่งข้อมูล ( data transmission) ที่มีประสิทธิภาพและเชื่อถือได้

สล็อตออนไลน์

ในวิทยาการคอมพิวเตอร์ การเข้าถึงโดยสุ่ม (random access) หรือ การเข้าถึงโดยตรง (direct access) คือความสามารถในการเข้าถึงข้อมูลในลำดับภายในเวลาที่เท่าๆกันสำหรับข้อมูลตัวใด ๆ ก็ตาม เวลาในการเข้าถึงข้อมูลนี้ไม่ขึ้นกับกับขนาดของลำดับด้วย ตัวอย่างของการเข้าถึงโดยสุ่มคือการอ่านข้อมูลจากแผ่นซีดี ซึ่งสามารถอ่านข้อมูลตำแหน่งใดๆได้ทันทีการเข้าถึงข้อมูลที่ตรงกันข้ามกับการเข้าถึงโดยสุ่มคือการเข้าถึงเชิงเส้น ซึ่งข้อมูลที่อยู่ไกลกว่าจะเสียเวลาในการเข้าถึงข้อมูลมากกว่า ตัวอย่างเช่นการอ่านข้อมูลจากตลับเทป ซึ่งต้องมีกรอเทปไปยังตำแหน่งที่ต้องการอ่านข้อมูล สำหรับโครงสร้างข้อมูล ความสามารถในการเข้าถึงโดยสุ่มคือความสามารถในการเข้าถึงรายการได้ภายในเวลาคงที่ หรือ {\displaystyle O(1)}{\displaystyle O(1)} ซึ่งโครงสร้างข้อมูลที่เรียบง่ายที่สุดที่มีความสามารถนี้ก็คือแถวลำดับ โครงสร้างข้อมูลที่เหลือที่มีความสามารถนี้ โดยมากแล้วก็จะมาจากการดัดแปลงแถวลำดับ เช่น แถวลำดับพลวัต อย่างไรก็ตาม การมีความสามารถในการเข้าถึงโดยสุ่มก็ความหมายอีกนัยหนึ่งว่าที่อยู่ของหน่วยความจำต้องเรียงกันแบบมีแบบแผน ดังนั้นจึงทำให้โครงสร้างข้อมูลทั้งหลายที่มีความสามารถนี้ไม่สามารถเพิ่มข้อมูลกลางรายการได้อย่างมีประสิทธิภาพ บางโครงสร้างข้อมูลเช่นรายการโยงแลกความสามารถในการเข้าถึงแบบสุ่มด้วยความสามารถในการเพิ่มและลบข้อมูลกลางรายการแทน

jumboslot

ความสามารถในการเข้าถึงโดยสุ่มมีความสำคัญมาก มีขั้นตอนวิธีมากมายที่ใช้ประโยชน์จากโครงสร้างข้อมูลที่มีการเข้าถึงข้อมูลโดยสุ่ม เช่น การค้นหาแบบทวิภาค ขั้นตอนวิธีการเรียงลำดับ ตะแกรงเอราทอสเทนีส เป็นต้น สาขาวิชาวิทยาการคอมพิวเตอร์ สามารถแบ่งออกเป็น 2 ภาค ได้แก่ ภาคทฤษฎี ซึ่งมีความเป็นนามธรรมสูง เช่น การวิเคราะห์และสังเคราะห์ขั้นตอนวิธี ทฤษฎีความซับซ้อนของการคำนวณ ไปจนถึงภาคปฏิบัติ ที่เน้นการใช้งานที่เป็นรูปธรรม เช่น ทฤษฎีภาษาโปรแกรม ทฤษฎีการพัฒนาซอฟต์แวร์ ทฤษฎีฮาร์ดแวร์คอมพิวเตอร์ คอมพิวเตอร์กราฟิก และ ทฤษฎีเครือข่าย

slot

ข้อมูล (คอมพิวเตอร์)

ข้อมูล คือลำดับของสัญลักษณ์ใด ๆ ที่มีความหมายโดยการปฏิบัติการเฉพาะเพื่อตีความ ข้อมูลดิจิทัลคือปริมาณ อักขระ หรือสัญลักษณ์ในการดำเนินการอันกระทำโดยคอมพิวเตอร์ เก็บและบันทึกลงในสื่อแม่เหล็ก เชิงแสง หรือเชิงกลเป็นต้น และส่งผ่านในรูปแบบสัญญาณไฟฟ้า โปรแกรมคือกลุ่มข้อมูลที่ประกอบด้วยอนุกรมของชุดคำสั่งซอฟต์แวร์ที่ลงรหัสไว้ สำหรับควบคุมการดำเนินการของคอมพิวเตอร์หรือเครื่องจักรอื่น องค์ประกอบของหน่วยความจำคอมพิวเตอร์ทางกายภาพ ประกอบด้วยเลขที่อยู่และหน่วยเก็บข้อมูลไบต์หรือเวิร์ด ข้อมูลดิจิทัลมักจะถูกเก็บในฐานข้อมูลเชิงสัมพันธ์ เช่นตารางหรือฐานข้อมูลเอสคิวแอล และโดยทั่วไปสามารถแทนด้วยข้อมูลคู่กุญแจ-ค่าแบบนามธรรม ข้อมูลสามารถถูกจัดการให้เป็นโครงสร้างข้อมูลได้หลายชนิด อาทิ แถวลำดับ กราฟ วัตถุ ฯลฯ และโครงสร้างข้อมูลสามารถเก็บข้อมูลได้หลายประเภท เช่น จำนวนตัวเลข สายอักขระ หรือแม้แต่โครงสร้างข้อมูลอื่น ข้อมูลถูกส่งผ่านเข้าและออกคอมพิวเตอร์ผ่านทางอุปกรณ์รอบข้าง

jumbo jili

ในการใช้คำอีกทางหนึ่ง ไฟล์ฐานสอง (ซึ่งมนุษย์อ่านไม่ได้) บางครั้งก็ถูกเรียกว่า “ข้อมูล” เพื่อให้แตกต่างจาก “ข้อความ” ที่มนุษย์อ่านได้ มีการประมาณการไว้ว่า ปริมาณของข้อมูลดิจิทัลใน พ.ศ. 2550 มีทั้งหมด 281 เอกซะไบต์ (2.81 แสนล้านจิกะไบต์) สิ่งสำคัญของข้อมูลคือ ข้อมูลอันหนึ่งคือค่าที่เก็บอยู่ที่ตำแหน่งเฉพาะแห่งหนึ่ง โดยพื้นฐานแล้ว คอมพิวเตอร์จะปฏิบัติการตามลำดับของชุดคำสั่งที่กำหนดไว้ในรูปแบบของข้อมูล กลุ่มของชุดคำสั่งที่ทำงานตามที่กำหนดเรียกว่า “โปรแกรม” หากพิจารณาตามที่เรียก โปรแกรมที่ถูกเรียกใช้โดยคอมพิวเตอร์จะประกอบด้วยรหัสเครื่องฐานสอง องค์ประกอบของหน่วยเก็บที่จัดดำเนินการโดยโปรแกรมก็เป็นข้อมูลเช่นกัน (ไม่คำนึงถึงส่วนที่ดำเนินการจริงโดยซีพียู) บทสรุปที่น่าพิศวงก็คือ ทั้งชุดคำสั่งของโปรแกรมและข้อมูลที่โปรแกรมจัดการ ต่างก็ถูกเก็บบันทึกด้วยวิธีเดียวกัน ดังนั้นมันจึงเป็นไปได้ว่า โปรแกรมคอมพิวเตอร์ก็อาจทำงานบนโปรแกรมคอมพิวเตอร์อื่นได้ โดยจัดดำเนินการบนข้อมูลเชิงโปรแกรมของมัน

สล็อต

เส้นแบ่งระหว่างโปรแกรมกับข้อมูลนั้นก็อาจคลุมเครือ ยกตัวอย่างอินเทอร์พรีเตอร์เป็นโปรแกรมหนึ่ง ข้อมูลที่ป้อนเข้าอินเทอร์พรีเตอร์ก็เป็นโปรแกรมโดยตัวมันเอง เพียงแต่ว่ามันยังไม่ได้ถูกแปลเป็นภาษาเครื่องเพื่อให้เครื่องทำงานได้ ในหลาย ๆ กรณี โปรแกรมที่ป้อนเข้าอินเทอร์พรีเตอร์นั้นจะเป็นไฟล์ข้อความที่มนุษย์สามารถอ่านได้ ซึ่งจัดดำเนินการโดยโปรแกรมแก้ไขข้อความ (อันเกี่ยวข้องกับข้อมูลข้อความล้วนมากกว่า) เมทาโปรแกรมมิงก็เป็นอีกตัวอย่างหนึ่งที่เกี่ยวกับโปรแกรมที่จัดดำเนินการโปรแกรมอื่นเป็นข้อมูล โปรแกรมอย่างเช่นคอมไพเลอร์ ลิงเกอร์ ดีบักเกอร์ ตัวอัปเดตโปรแกรม โปรแกรมสแกนไวรัส ฯลฯ ก็ใช้โปรแกรมอื่นเป็นข้อมูลเช่นกัน

สล็อตออนไลน์

ในสาขาวิทยาการคอมพิวเตอร์ โครงสร้างข้อมูล ( Data structure) เป็นวิธีการจัดเก็บข้อมูลในคอมพิวเตอร์เพื่อให้สามารถใช้งานได้อย่างมีประสิทธิภาพ บ่อยครั้งที่การเลือกโครงสร้างข้อมูลที่เหมาะสมจะทำให้เราสามารถเลือกใช้ขั้นตอนวิธีที่มีประสิทธิภาพไปพร้อมกันได้ การเลือกโครงสร้างข้อมูลนั้นโดยส่วนใหญ่แล้วจะเริ่มต้นจากการเลือกแบบชนิดข้อมูลนามธรรม โครงสร้างข้อมูลที่ออกแบบเป็นอย่างดีจะสามารถรองรับการประมวลผลที่หนักหน่วงโดยใช้ทรัพยากรที่น้อยที่สุดเท่าที่จะเป็นไปได้ ทั้งในแง่ของเวลาและหน่วยความจำ โครงสร้างข้อมูลแต่ละแบบจะเหมาะสมกับงานที่แตกต่างกัน และโครงสร้างข้อมูลบางแบบก็ออกแบบมาสำหรับบางงานโดยเฉพาะ อย่างเช่น ต้นไม้แบบบีจะเหมาะสำหรับระบบงานฐานข้อมูล

jumboslot

ในกระบวนการออกแบบโปรแกรมคอมพิวเตอร์ การเลือกโครงสร้างข้อมูลเป็นสิ่งสำคัญอันดับแรกที่ต้องคำนึงถึง ซึ่งจากการพัฒนาระบบงานใหญ่ๆได้แสดงให้เห็นว่า ความยากในการพัฒนาและประสิทธิภาพของระบบจะขึ้นอยู่กับโครงสร้างข้อมูลที่เลือกใช้อย่างมาก หลังจากตัดสินใจเลือกโครงสร้างข้อมูลที่จะใช้แล้วก็มักจะทราบถึงขั้นตอนวิธีที่ต้องใช้ได้ทันที แต่ในบางครั้งก็อาจจะกลับกัน คือ การประมวลผลที่สำคัญๆของโปรแกรมได้มีการใช้ขั้นตอนวิธีที่ต้องใช้โครงสร้างข้อมูลบางแบบโดยเฉพาะ จึงจะทำงานได้เต็มประสิทธิภาพ ถึงอย่างไรก็ตาม ไม่ว่าจะเลือกโครงสร้างข้อมูลด้วยวิธีการใด โครงสร้างข้อมูลที่เหมาะสมก็เป็นสิ่งที่สำคัญมากอยู่ดี แนวความคิดในเรื่องโครงสร้างข้อมูลนี้ส่งผล กับการพัฒนาวิธีการมาตรฐานต่างๆในการออกแบบและเขียนโปรแกรม หลายภาษาโปรแกรมนั้นได้พัฒนารวมเอาโครงสร้างข้อมูลนี้ไว้เป็นส่วนหนึ่งของระบบโปรแกรม เพื่อประโยชน์ในการใช้ซ้ำ

slot