ชนิดข้อมูลปาสคาล ชนิดข้อมูลอย่างง่าย

ข้อมูลใด ๆ - ค่าคงที่, ตัวแปร, ค่าฟังก์ชันมีลักษณะเฉพาะในภาษาปาสคาลตามประเภทข้อมูล

มากำหนดแนวคิดกันเถอะ ประเภทข้อมูล. ดังที่ทราบแล้ว อ็อบเจกต์โปรแกรมทั้งหมด (ตัวแปร ค่าคงที่ ฯลฯ) จะต้องถูกประกาศ

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

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

ตัวอย่างเช่น ให้ตัวแปร x เป็นประเภทจริงและมีค่าเท่ากับหนึ่ง: x=1 ค่าที่เกี่ยวข้องในหน่วยความจำคอมพิวเตอร์สามารถเป็น 0.999999999 , 1.000000001 หรือ 1.000000000 แต่ถ้าตัวแปร x ถูกประกาศเป็นตัวแปรประเภทจำนวนเต็มหน่วยนั้นจะถูกแทนในคอมพิวเตอร์อย่างแน่นอนและตัวแปร x จะไม่สามารถรับค่าจริง (เศษส่วน) ได้ - หลังจากทั้งหมดมันถูกประกาศ เป็นตัวแปรประเภทจำนวนเต็ม

ดังนั้นประเภทข้อมูลจะกำหนด:

  • การแสดงข้อมูลภายในหน่วยความจำคอมพิวเตอร์
  • ชุดของค่าที่ค่าประเภทนี้สามารถใช้ได้
  • การดำเนินการที่สามารถดำเนินการกับค่าประเภทนี้

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

ชุดของประเภทข้อมูล Turbo Pascal สามารถแบ่งออกเป็นสองกลุ่ม:

  • ประเภทมาตรฐาน (กำหนดไว้ล่วงหน้า) ;
  • ประเภทที่ผู้ใช้กำหนด (ประเภทที่ผู้ใช้กำหนด) .

ประเภทมาตรฐานของ Turbo Pascal ได้แก่:

  • ประเภทจำนวนเต็ม - จำนวนเต็ม ;
  • ประเภทจริง - ของจริง ;
  • ประเภทอักขระ - ถ่าน ;
  • ประเภทบูลีน - บูลีน ;
  • ประเภทสตริง - สตริง ;
  • ประเภทตัวชี้ - ตัวชี้ ;
  • ประเภทข้อความคือข้อความ

ชนิดข้อมูลที่กำหนดเองคือชุดค่าผสมของชนิดมาตรฐานต่างๆ

ประเภทที่กำหนดเอง ได้แก่ :

  • ประเภทแจกแจง;
  • ประเภทช่วงเวลา
  • ประเภทตัวชี้
  • ประเภทโครงสร้าง
  • ประเภทขั้นตอน

ความคิดเห็น. นอกจากนี้ยังสามารถจัดประเภทประเภทข้อมูลอื่นตามประเภทที่แบ่งออกเป็นแบบง่ายและซับซ้อน

ประเภทอย่างง่ายประกอบด้วย: ประเภทจำนวนเต็ม ประเภทจริง ประเภทอักขระ ประเภทบูลีน ประเภทการแจกแจง และประเภทช่วงเวลา

ประเภทที่ซับซ้อนคือการรวมกันของประเภทง่าย ๆ ที่หลากหลาย (อาร์เรย์ เร็กคอร์ด ชุด ไฟล์ ฯลฯ )

ประเภทมาตรฐาน

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

ตัวอย่างเช่น หากโปรแกรมใช้เฉพาะตัวแปร:

ผม,j - จำนวนเต็ม (จำนวนเต็ม);

x,y - จริง (ของจริง);

t,s - ถ่าน (อักขระ);

a,b - บูลีน (ตรรกะ),

จากนั้นต้องการเฉพาะส่วนย่อยของตัวแปร - Var ดังนั้นในส่วนของการอธิบายโปรแกรมจึงเขียนการประกาศตัวแปรดังนี้

ประเภทจำนวนเต็ม

ข้อมูลประเภทนี้รับได้เฉพาะค่าจำนวนเต็มเท่านั้น ในคอมพิวเตอร์ ค่าของประเภทจำนวนเต็มจะแสดงตรงทั้งหมด หากตัวแปรเป็นค่าลบ จะต้องนำหน้าด้วยเครื่องหมาย "-" หากตัวแปรเป็นค่าบวก ให้ละเครื่องหมาย "+" ออกได้ ประเภทนี้จำเป็นในกรณีที่ไม่สามารถแสดงค่าโดยประมาณได้ - เป็นจำนวนจริง เช่น จำนวนคน สัตว์ เป็นต้น

ตัวอย่างการเขียนค่าจำนวนเต็ม: 17, 0, 44789, -4, -127

ช่วงของข้อมูลประเภทจำนวนเต็มถูกกำหนดโดยประเภทจำนวนเต็มมาตรฐานห้าประเภทและแสดงในตาราง:

พิมพ์ พิสัย ขนาดเป็นไบต์
ชอร์ตอินท์ -128...+128 1
จำนวนเต็ม -32768...32767 2
ลองอิน -2147483648...2147483647 4
ไบต์ 0...255 1
คำ 0...65535 2

สองประเภทสุดท้ายใช้แทนจำนวนบวกเท่านั้น และสามประเภทแรกเป็นทั้งจำนวนบวกและลบ

ในข้อความของโปรแกรมหรือเมื่อป้อนข้อมูลประเภทจำนวนเต็มจะมีการเขียนค่า โดยไม่มีจุดทศนิยม . ค่าตัวแปรจริง ต้องไม่เกินค่าที่อนุญาต ของประเภท (Shortint , Integer , Longint , Byte , Word) ที่ใช้อธิบายตัวแปร การคำนวณส่วนเกินที่เป็นไปได้ไม่ได้ถูกควบคุม แต่อย่างใดซึ่งจะนำไปสู่การทำงานที่ไม่ถูกต้องของโปรแกรม

ตัวอย่างการใช้ตัวแปรประเภทจำนวนเต็ม

var a:จำนวนเต็ม; ข: คำ; ค: ไบต์; เริ่มต้น a:=300; (a ตั้งค่าเป็น 300) b:=300; (b ตั้งเป็น 300) c:=200; (c ตั้งค่าเป็น 200) a:=b+c; (a ตั้งค่าเป็น 500) c:=b; (ข้อผิดพลาด! ตัวแปร c รับค่าได้ไม่เกิน 255 ในที่นี้ ตัวแปร c กำหนดค่าเป็น 500 ซึ่งจะทำให้ผลลัพธ์ล้น) จบ

ประเภทจริง

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

พิมพ์ พิสัย จำนวนหลักสำคัญ ขนาดเป็นไบต์
จริง 2.9E-39...1.7E+38 11-12 6
เดี่ยว 1.5E-45...3.4E+38 >7-8 4
สองเท่า 5E-324...1.7E+308 15-16 8
ขยาย 3.4E-4951...1.1E+4932 19-20 10
คอมพ์ -2E+63+1...+2E+63-1 19-20 8

จำนวนจริงสามารถแสดงได้สองรูปแบบ: จุดคงที่และจุดลอยตัว

รูปแบบของจำนวนจุดคงที่จะเหมือนกับสัญลักษณ์ทางคณิตศาสตร์ทั่วไปสำหรับเลขฐานสิบที่มีเศษส่วน ส่วนที่เป็นเศษส่วนจะแยกออกจากส่วนจำนวนเต็มด้วยจุด เช่น

34.5, -4.0, 77.001, 100.56

รูปแบบทศนิยมใช้เมื่อเขียนตัวเลขที่มากหรือน้อย ในรูปแบบนี้ ตัวเลขที่อยู่ก่อน "E" จะคูณด้วยเลข 10 เป็นกำลังที่ระบุหลัง "E"

1E-4 1*10-4
3.4574E+3 3.4574*10+3
4.51E+1 4.51*10+1

ตัวอย่างจุดลอยตัว:

ตัวเลข การเขียนในภาษาปาสคาล
0,0001 1E-4
3457,4 34574E-1
45,1 451E-1
40000 4E+4
124 0.124E+3
124 1.24E+2
124 12.4E+1
124 1240E-1
124 12400E-2

ตารางจาก 5 ถึง 9 แสดงรายการของหมายเลขเดียวกัน 124 โดยการเปลี่ยนตำแหน่งของจุดทศนิยมใน mantissa (จุด "ลอย" ดังนั้นชื่อ "การบันทึกหมายเลขทศนิยม") และในเวลาเดียวกันก็เปลี่ยน เลขชี้กำลัง คุณสามารถเลือกหมายเลขรายการที่เหมาะสมที่สุดได้

ตัวอย่างการประกาศตัวแปรชนิดจริง

ประเภทตัวละคร

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

ประเภทอักขระแสดงโดยคำสงวน Char และออกแบบมาเพื่อเก็บอักขระตัวเดียว ข้อมูลประเภทอักขระในหน่วยความจำใช้หนึ่งไบต์

รูปแบบการประกาศตัวแปรสัญลักษณ์:

<имя переменной>:ถ่าน;

เมื่อกำหนดค่าของตัวแปรอักขระ อักขระนั้นจะถูกเขียนด้วยเครื่องหมายอะพอสทรอฟี นอกจากนี้ คุณสามารถระบุอักขระที่ต้องการได้โดยการระบุค่าตัวเลขของรหัสแอสกีโดยตรง ในกรณีนี้ จำเป็นต้องนำหน้าตัวเลขที่แสดงรหัส ASCII ของอักขระที่ต้องการด้วยเครื่องหมาย #

ตัวอย่างของการใช้ตัวแปรประเภทอักขระ:

วาร์ค:ถ่าน; (c เป็นตัวแปรประเภทอักขระ) เริ่มต้น c:='A'; (อักขระ 'A' ถูกกำหนดให้กับตัวแปร c) c:=#65; (ตัวแปร c ถูกกำหนดสัญลักษณ์ A ไว้ด้วย รหัสแอสกีของมันคือ 65) c:='5'; (ตัวแปร c ถูกกำหนดเป็นอักขระ 5, End. ที่นี่ 5 ไม่ใช่ตัวเลขอีกต่อไป)

ประเภทบูลีน

ประเภทข้อมูลตรรกะเรียกว่าบูลีนหลังจากนักคณิตศาสตร์ชาวอังกฤษ George Boole ผู้สร้างสาขาคณิตศาสตร์ - ตรรกศาสตร์ทางคณิตศาสตร์

รูปแบบการประกาศตัวแปรบูลีน:

<имя переменной>: บูลีน;

ข้อมูลประเภทนี้สามารถรับได้เพียงสองค่าเท่านั้น:

  • จริง - จริง;
  • เท็จ - เท็จ

ข้อมูลบูลีนถูกใช้อย่างแพร่หลายในการตรวจสอบความถูกต้องของเงื่อนไขบางอย่างและในการเปรียบเทียบค่าต่างๆ ผลลัพธ์อาจเป็นจริงหรือเท็จ

ในการเปรียบเทียบข้อมูล มีการดำเนินการเชิงสัมพันธ์ดังต่อไปนี้:

ตัวอย่างของการใช้การดำเนินการเชิงสัมพันธ์:

ความสัมพันธ์ 5>3 ผลลัพธ์ จริง (จริง);

ความสัมพันธ์ 5=3 ผลลัพธ์เป็นเท็จ (เท็จ)

ตัวอย่างการใช้ตัวแปรบูลีน

var a,b:บูลีน; (a,b เป็นตัวแปรบูลีน) เริ่มต้น a:=True; (ตัวแปร a ถูกตั้งค่าเป็นจริง) b:=false; (ตัวแปร b ถูกตั้งค่าเป็นเท็จ) สิ้นสุด

ค่าคงที่

สามารถใช้จำนวนเต็ม จำนวนจริง สัญลักษณ์ สตริงอักขระ ค่าคงที่เชิงตรรกะเป็นค่าคงที่ได้

ต้องประกาศค่าคงที่ในส่วนที่เป็นคำอธิบายโดยใช้คำสงวน const

รูปแบบการประกาศคงที่

คอนสต<имя константы>= <значение>;

หากใช้ค่าคงที่หลายค่าในโปรแกรมหนึ่งๆ จะอนุญาตให้มีค่าคงที่เพียงค่าเดียว คำสำคัญ Const คำอธิบายของแต่ละค่าคงที่ลงท้ายด้วยเครื่องหมายอัฒภาค บล็อกคงที่ลงท้ายด้วยการประกาศของส่วนอื่นหรือการประกาศของบล็อกคำสั่งปฏิบัติการ

Const (การประกาศส่วนคงที่) year=2003; (ค่าคงที่ของประเภทจำนวนเต็ม เนื่องจากไม่มีจุดทศนิยมในบันทึก) เวลา=14.05; (ค่าคงที่ประเภทจริง) N=24; (ค่าคงที่ของประเภทจำนวนเต็ม เนื่องจากไม่มีจุดทศนิยมในเรกคอร์ด) P=3.14; (ค่าคงที่ประเภทจริง) A=จริง; (ค่าคงที่บูลีน) str1='7'; (ค่าคงที่ของประเภทอักขระ) str2='A'; (ค่าคงที่ของประเภทอักขระ) str3='Turbo'; (ค่าคงที่ประเภทสตริง) Var (การประกาศส่วนตัวแปร) X,y:integer; (ตัวแปรประเภทจำนวนเต็ม)

ประเภทที่กำหนดเอง

จากชุดประเภทที่กำหนดเองเราจะพิจารณาเท่านั้น

  • ประเภทแจกแจง;
  • ประเภทช่วงเวลา

เราจะต้องใช้ทั้งสองประเภทนี้เมื่อศึกษาอาร์เรย์

ประเภทแจกแจง

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

รูปแบบประเภทที่ระบุ:

<имя типа>= (ค่าคงที่ 1, ค่าคงที่ 2,... ค่าคงที่ N);

ที่ไหน
ค่าคงที่ 1 , ค่าคงที่ 2 ,... ค่าคงที่ N เป็นชุดค่าระบุลำดับที่ถือว่าเป็นค่าคงที่

ตัวอย่างของการประกาศประเภทที่แจกแจง:

ประเภท ball=(หนึ่ง สอง สาม สี่ ห้า); vart:บอล;

นี่บอลเป็นชื่อประเภทแจกแจง; หนึ่ง สอง สาม สี่ ห้า เป็นค่าคงที่ t เป็นตัวแปรที่สามารถรับค่าคงที่ใดๆ

ในประเภทแจกแจง ค่าคงที่เป็นตัวระบุ ดังนั้นจึงไม่อยู่ในเครื่องหมายอัญประกาศและไม่สามารถเป็นตัวเลขได้ ดังนั้น ในประเภทแจกแจง ค่าคงที่คือค่าคงที่ชนิดพิเศษที่ไม่สามารถ:

  • ค่าคงที่ประเภทตัวเลข: 1, 2, 3, 4, ฯลฯ;
  • ค่าคงที่ของประเภทอักขระ: "a", "s", "1", "3" ฯลฯ;
  • ค่าคงที่ประเภทสตริง: "ที่หนึ่ง", "วินาที" ฯลฯ

นอกจากนี้ การดำเนินการทางคณิตศาสตร์และขั้นตอนอินพุตและเอาต์พุตมาตรฐาน อ่าน , เขียน ไม่สามารถใช้ได้กับค่าประเภทนี้

ตัวอย่างการใช้ตัวแปรประเภทแจกแจง:

ประเภทวัน = (วันจันทร์ วันอังคาร วันพุธ วันพฤหัสบดี วันศุกร์ วันเสาร์ วันอาทิตย์); วัน Var: วัน; เริ่มต้น ถ้าวัน = วันอาทิตย์ แล้วเขียน ('วันนี้เป็นวันอาทิตย์!'); จบ.

องค์ประกอบในคำนิยามประเภทที่แจงนับจะถือว่าเรียงลำดับตามรายการ การนับเริ่มต้นจากศูนย์ ดังนั้นในตัวอย่างข้างต้น วันในสัปดาห์จึงมีเลขลำดับดังต่อไปนี้

ในการกำหนดหมายเลขลำดับโดยทางโปรแกรม ให้ใช้ฟังก์ชัน Ord()

ในตัวอย่างของเรา หมายเลขประจำเครื่องจะเท่ากัน:

ออร์ด(วันจันทร์) = 0;

ออร์ด(วันเสาร์) = 5;

ออร์ด(วันอาทิตย์) = 6.

ประเภทช่วงเวลา

หากตัวแปรบางตัวไม่ใช้ค่าทั้งหมดของประเภท แต่เฉพาะค่าที่อยู่ในช่วงที่กำหนด ประเภทข้อมูลดังกล่าวจะเรียกว่าประเภทช่วงเวลา บ่อยครั้งที่ประเภทช่วงเวลาเรียกว่าประเภทที่มีขอบเขตและประเภทช่วง ประเภทช่วงเวลาถูกกำหนดโดยขอบเขตของค่า:

<минимальное значение>..<максимальное значение>

  • อักขระ ".." สองตัวถือเป็นอักขระเดียว ดังนั้นจึงไม่อนุญาตให้มีช่องว่างระหว่างอักขระทั้งสอง
  • ปลายด้านซ้ายของช่วงต้องไม่เกินด้านขวา

ประเภทช่วงเวลาคือประเภทข้อมูลที่ผู้ใช้กำหนด ดังนั้นการประกาศประเภทนี้จะเริ่มต้นด้วยคำหลัก TYPE

ตัวอย่างของคำอธิบายประเภทช่วงเวลา:

พิมพ์หลัก = 1..10; เดือน = 1..31; lat = 'A'..'Z';

พบมากที่สุดในวิชาคณิตศาสตร์ ประเภทตัวเลข- นี้ ทั้งหมดตัวเลขที่แสดงค่าที่ไม่ต่อเนื่องเป็นจำนวนไม่สิ้นสุด และ ถูกต้องตัวเลขที่แสดงค่าต่อเนื่องไม่จำกัด

คำอธิบายประเภทข้อมูลตัวเลข (จำนวนเต็ม) ภาษาปาสคาล

ภายในภาษาเดียวกัน สามารถใช้ชุดย่อยที่แตกต่างกันของชุดจำนวนเต็มได้ ช่วงของค่าที่เป็นไปได้ของประเภทตัวเลขจำนวนเต็มขึ้นอยู่กับการแทนค่าภายในซึ่งอาจเป็นหนึ่ง สอง หรือสี่ไบต์ ดังนั้น Pascal 7.0 จึงใช้ประเภทข้อมูลตัวเลขจำนวนเต็มต่อไปนี้:

ด้วยทั้งหมด ชนิดข้อมูลตัวเลข Pascal สามารถดำเนินการดังต่อไปนี้:

  • เลขคณิต:
    นอกจากนี้ (+);
    การลบ (-);
    คูณ (*);
    ส่วนที่เหลือของส่วน (mod);
    ยกกำลัง;
    เอกนารีบวก (+);
    ยูนารีลบ (-)
  • การดำเนินความสัมพันธ์:
    ความสัมพันธ์ความเท่าเทียมกัน (=);
    ความสัมพันธ์อสมการ (<>);
    อัตราส่วนน้อยกว่า (<);
    อัตราส่วนมากกว่า (>);
    อัตราส่วนไม่น้อยกว่า (>=);
    อัตราส่วนไม่เกิน (<=).

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

ควรให้ความสนใจเป็นพิเศษกับการดำเนินการหารประเภทข้อมูลตัวเลขจำนวนเต็ม ในภาษาปาสคาล อนุญาตให้ดำเนินการสองส่วนได้ ซึ่งแสดงตามลำดับ "/" และ แผนก. คุณต้องรู้ว่าผลลัพธ์ของการหาร "/" ไม่ใช่จำนวนเต็ม แต่ เบอร์จริง(สิ่งนี้เป็นจริงแม้ว่าคุณจะหาร 8 ด้วย 2 เช่น 8/2=4.0) การหารคือ การหารจำนวนเต็ม, เช่น. ประเภทผลลัพธ์จำนวนเต็ม

คำอธิบายประเภทข้อมูลตัวเลข (จริง) ภาษาปาสคาล

ชนิดข้อมูลตัวเลขจริงหมายถึงชุดย่อยของจำนวนจริงที่สามารถแสดงในรูปแบบทศนิยมที่มีจำนวนหลักคงที่ เมื่อใช้ทศนิยม ข้อมูลตัวเลขแต่ละประเภทจะแสดงเป็นตัวเลขสองกลุ่ม ตัวเลขกลุ่มแรกเรียกว่าแมนทิสซากลุ่มที่สองคือลำดับ โดยทั่วไป ชนิดข้อมูลตัวเลขในรูปแบบทศนิยมสามารถแสดงได้ดังนี้: X= (+|-)MP (+ | -) r โดยที่ M คือแมนทิสซาของตัวเลข r คือลำดับของตัวเลข (r คือจำนวนเต็ม); P คือฐานของระบบตัวเลข ตัวอย่างเช่น สำหรับฐานทศนิยม การแทนค่าของ 2E-1 (ในที่นี้ E คือฐานของระบบเลขฐานสิบ) จะมีลักษณะดังนี้: 2*10 -1 =0.2 และการแทนค่าของ 1.234E5 จะสอดคล้องกับ: 1.234* 10 5 =123400.0.

ภาษาปาสคาลใช้จำนวนจริงประเภทต่างๆ ต่อไปนี้ ซึ่งกำหนดจำนวนตามอำเภอใจด้วยความแม่นยำจำกัดบางอย่างเท่านั้น ทั้งนี้ขึ้นอยู่กับรูปแบบภายในของจำนวนจริง:

เมื่ออธิบายตัวแปรจริงประเภทจริง ตัวแปรขนาด 4 ไบต์จะถูกสร้างขึ้นในหน่วยความจำของคอมพิวเตอร์ ในกรณีนี้ mantissa จะได้รับ 3 ไบต์และหนึ่ง - ภายใต้คำสั่ง

คุณสามารถดำเนินการต่อไปนี้กับชนิดข้อมูลตัวเลขจริง:

  • เลขคณิต:
    นอกจากนี้ (+);
    การลบ (-);
    คูณ (*);
    แผนก(/);
    ยกกำลัง;
    เอกนารีบวก (+);
    ยูนารีลบ (-)
  • การดำเนินความสัมพันธ์:
    ความสัมพันธ์อสมการ (<>);
    อัตราส่วนน้อยกว่า (<);
    อัตราส่วนมากกว่า (>);
    อัตราส่วนไม่น้อยกว่า (>=);
    อัตราส่วนไม่เกิน (<=).

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

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

เกี่ยวกับการแปลงชนิดข้อมูลตัวเลขในภาษาปาสคาล

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

VarX: จำนวนเต็ม; Y: จริง

จากนั้นผู้ประกอบการ

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

แนวคิดเรื่องประเภทเป็นหนึ่งในแนวคิดพื้นฐานของภาษาโปรแกรมใดๆ ออบเจกต์ (ค่าคงที่ ตัวแปร ฟังก์ชัน นิพจน์) ที่โปรแกรมดำเนินการนั้นเป็นประเภทหนึ่ง

พิมพ์ คือชุดของค่าที่วัตถุโปรแกรมสามารถใช้และชุดของการดำเนินการที่อนุญาตสำหรับค่าเหล่านี้

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

ทุกประเภทที่อนุญาตในภาษาปาสคาลแบ่งออกเป็นสองกลุ่มใหญ่: ง่ายและซับซ้อน (มีโครงสร้าง)

พิมพ์ พิสัย มันทิสสา, สัญญาณ หน่วยความจำที่จำเป็น (ไบต์)
จริง 2.9*10E-39..1.7*10E38 11-12
เดี่ยว 1.5*10E-45..3.4*10E38 7-8
สองเท่า 5.0*10E-324..1.7*10E308 15-16
ขยาย 1.9*10E-4951..1.1*10E4932 19-20
คอมพ์ -2Е+63+1..2Е+63-1 10-20

การใช้ประเภท SINGLE, DOUBLE, EXTEND, COMP อย่างมีประสิทธิภาพจะเป็นไปได้ก็ต่อเมื่อมีคำสั่ง ($N+) รวมอยู่ด้วย โดยค่าเริ่มต้น จะอยู่ในสถานะปิด เพื่อแก้ปัญหาทางวิศวกรรมและเศรษฐกิจค่าของประเภท REAL ก็เพียงพอแล้ว

ตัวอย่าง

วาร์ เรส, ซัมมา, อิต็อก: ตัวจริง;

บูเลฟสกี้ชนิดข้อมูลอธิบายโดยตัวระบุ BOOLEAN ตัวแปรและค่าคงที่ประเภทนี้สามารถรับค่าใดค่าหนึ่งจากสองค่าเท่านั้น: TRUE (จริง) หรือ FALSE (เท็จ)

ตัวอย่าง

Var Sel1, Sel2: บูลีน;

A,B,C,D: บูลีน;

นิพจน์ประเภทบูลีนใช้หน่วยความจำ 1 ไบต์และใช้ในนิพจน์เชิงตรรกะและเชิงสัมพันธ์ ตลอดจนควบคุมลำดับการดำเนินการของคำสั่งโปรแกรม

ตัวอักษร (ตัวอักษร)ประเภทอธิบายโดยตัวระบุมาตรฐาน CHAR ค่าคงที่และตัวแปรประเภทนี้สามารถใช้หนึ่งในค่าของตารางรหัส ASCII ค่าของค่าคงที่หรือตัวแปรประเภทนี้จะอยู่ในเครื่องหมายอัญประกาศเดี่ยว

ตัวอย่างเช่น, Var Bukva, Znak, สัญลักษณ์: ถ่าน;

ตัวอักษร:='A'; เครื่องหมาย:='+'; สัญลักษณ์:='!'

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

นอกจากประเภทข้อมูลมาตรฐานแล้ว Pascal ยังสนับสนุนประเภทสเกลาร์ ผู้ใช้กำหนด. เหล่านี้รวมถึง นับได้และ ช่วงเวลาประเภท ชนิดข้อมูลเหล่านี้ใช้หน่วยความจำ 1 ไบต์ ดังนั้นประเภทที่ผู้ใช้กำหนดเองไม่สามารถมีมากกว่า 255 องค์ประกอบ การใช้งานช่วยเพิ่มการมองเห็นของโปรแกรมทำให้ง่ายต่อการค้นหาข้อผิดพลาดและบันทึกหน่วยความจำ

ประเภทแจกแจงถูกระบุโดยตรงโดยการแสดงรายการค่าทั้งหมดที่ตัวแปรประเภทที่กำหนดสามารถทำได้ ค่าแต่ละค่าจะคั่นด้วยเครื่องหมายจุลภาค และรายการทั้งหมดจะอยู่ในวงเล็บ

รูปแบบ

พิมพ์<имя типа>=(<значение1, значение2, ..., значениеN>);

วาร์<идентификатор, ...>: < имя типа>;

ตัวอย่าง

ประเภท Season = (ฤดูใบไม้ผลิ ฤดูร้อน ฤดูใบไม้ร่วง ฤดูหนาว);

Var S1, S2: ฤดู;

ฤดูใบไม้ร่วง: (กันยายน ตุลาคม พฤศจิกายน);

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

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

รูปแบบ

พิมพ์<имя типа> = <константа1> .. <константа2>;

วาร์<идентификатор>: < имя типа>;

ตัวอย่าง

ประเภท วัน = 1.. 31;

Var Work_d, Free_d: วัน;

ในตัวอย่างนี้ ตัวแปร Work_d, Free_dเป็นประเภท วันและสามารถรับค่าใด ๆ จากช่วง 1 . 31.

อยู่นอกช่วงทำให้เกิดการขัดจังหวะของซอฟต์แวร์

คุณสามารถกำหนดประเภทช่วงเวลาได้โดยการระบุขีดจำกัดของช่วง ไม่ใช่ค่าคงที่ แต่ตามชื่อ:

ค่าต่ำสุด = 1; สูงสุด=31;

ประเภท วัน = ต่ำสุด .. สูงสุด;

Var Work_d, Free_d: วัน;

ประเภทโครงสร้างข้อมูลขึ้นอยู่กับประเภทสเกลาร์และอาจมีชุดค่าผสมต่างๆ พวกเขากำหนดชุดขององค์ประกอบสเกลาร์ที่สั่งซื้อและกำหนดลักษณะตามประเภทของส่วนประกอบ Pascal จัดเตรียมประเภทข้อมูลที่มีโครงสร้างดังต่อไปนี้:

เส้น -ลำดับของอักขระที่อยู่ในเครื่องหมายอะพอสทรอฟี

อาร์เรย์ -ประเภทข้อมูลที่มีโครงสร้างประกอบด้วยองค์ประกอบประเภทเดียวกันในจำนวนคงที่ เข้าถึงได้โดยดัชนี ;

พวงของ -ชุดของวัตถุที่เลือกตามแอตทริบิวต์หรือกลุ่มของแอตทริบิวต์ซึ่งถือได้ว่าเป็นทั้งหมด

บันทึก -ชุดขององค์ประกอบจำนวนคงที่ประเภทต่างๆ

ไฟล์- ลำดับของส่วนประกอบประเภทเดียวกันและความยาวเท่ากัน

อีกสองประเภทที่มีโครงสร้าง - ขั้นตอนและ ประเภทวัตถุ(วัตถุประสงค์) - เป็นการยากที่จะจับคู่ข้อมูลในการแสดงตามปกติ

รูปภาพที่ 1- ชุดของประเภทพื้นฐานของภาษาปาสคาล

ในภาษาปาสคาลตัวแปรมีลักษณะโดยพวกเขา พิมพ์. ประเภทเป็นคุณสมบัติของตัวแปรตามที่ตัวแปรสามารถใช้กับชุดของค่าที่อนุญาตโดยประเภทนี้และเข้าร่วมในชุดของการดำเนินการที่อนุญาตในประเภทนี้

ประเภทกำหนดชุดของค่าที่ถูกต้องซึ่งตัวแปรของประเภทที่กำหนดสามารถใช้ได้ นอกจากนี้ยังกำหนดชุดของการดำเนินการที่อนุญาตในตัวแปรประเภทที่กำหนดและกำหนดการแสดงข้อมูลใน หน่วยความจำเข้าถึงโดยสุ่มคอมพิวเตอร์.

ตัวอย่างเช่น:

n:จำนวนเต็ม;

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

[ชื่อ] = [ประเภท]

ระบบประเภทมาตรฐานมีโครงสร้างแบบแยกย่อยและลำดับชั้น

หลักในลำดับชั้นคือ ประเภทที่เรียบง่าย. ประเภทดังกล่าวมีอยู่ในภาษาการเขียนโปรแกรมส่วนใหญ่และเรียกว่าง่าย แต่ใน Pascal มีโครงสร้างที่ซับซ้อนกว่า

ประเภทโครงสร้างถูกสร้างขึ้นตามกฎบางอย่างจากประเภทง่ายๆ

ตัวชี้ถูกสร้างขึ้นจากมุมมองที่เรียบง่ายและใช้ในโปรแกรมเพื่อตั้งค่าที่อยู่

ประเภทขั้นตอนเป็นนวัตกรรมของภาษา เทอร์โบปาสคาลและอนุญาตให้คุณเข้าถึงรูทีนย่อยได้ราวกับว่ามันเป็นตัวแปร

วัตถุยังใหม่และมีวัตถุประสงค์เพื่อใช้เป็นภาษาเชิงวัตถุ

จำนวนเต็มมี 5 ประเภทในภาษาปาสคาล แต่ละคนกำหนดลักษณะช่วงของค่าที่ยอมรับและตำแหน่งในหน่วยความจำ

เมื่อใช้จำนวนเต็ม หนึ่งควรได้รับคำแนะนำจากการซ้อนของประเภท เช่น ประเภทช่วงที่เล็กกว่าสามารถซ้อนอยู่ในประเภทช่วงที่ใหญ่กว่าได้ ประเภทไบต์สามารถซ้อนอยู่ในทุกประเภทที่ใช้ 2 และ 4 ไบต์ ในเวลาเดียวกัน ประเภท Short Int ซึ่งใช้พื้นที่ 1 ไบต์ ไม่สามารถซ้อนในประเภท Word ได้ เนื่องจากไม่มีค่าลบ

มี 5 ประเภทจริง:

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

2358.8395

0.23588395*10 4

0.23588395*จ4

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

ประเภทลำดับ

ประเภทลำดับรวมประเภทง่าย ๆ หลายประเภท เหล่านี้รวมถึง:

  • จำนวนเต็มทุกประเภท
  • ประเภทของตัวละคร
  • ประเภทบูลีน
  • ช่วงประเภท;
  • ชนิดแจกแจง.

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

สำหรับค่าประเภทลำดับ คุณสามารถใช้ฟังก์ชัน ODD(x) ซึ่งจะส่งคืนจำนวนลำดับของอาร์กิวเมนต์ x

ฟังก์ชัน PRED(x) - ส่งกลับค่าก่อนหน้าของประเภทลำดับ พรีเด(A) = 5.

ฟังก์ชัน SUCC(x) - ส่งกลับค่าถัดไปของประเภทลำดับ SUCC(A) = 5.

ประเภทตัวละคร

ค่าประเภทอักขระคือ 256 อักขระจากชุดที่อนุญาตโดยตารางรหัสของคอมพิวเตอร์ที่ใช้งาน พื้นที่เริ่มต้นของชุดนี้ เช่น ช่วงตั้งแต่ 0 ถึง 127 สอดคล้องกับชุดของรหัส ASCII ที่โหลดอักขระของตัวอักษร ตัวเลขอารบิก และอักขระพิเศษ สัญลักษณ์ พื้นที่เริ่มต้นปรากฏบนแป้นพิมพ์พีซีเสมอ พื้นที่ที่เก่ากว่าเรียกว่าทางเลือกประกอบด้วยอักขระของตัวอักษรประจำชาติและอักขระพิเศษต่างๆ และอักขระเทียมที่ไม่สอดคล้องกับรหัส ASCII

ค่าประเภทอักขระใช้หนึ่งไบต์ใน RAM ในโปรแกรม ค่าจะอยู่ในเครื่องหมายอัญประกาศเดี่ยว นอกจากนี้ยังสามารถระบุค่าในรูปแบบของรหัส ASCII ในกรณีนี้ ตัวเลขที่มีรหัสอักขระจะต้องนำหน้าด้วยเครื่องหมาย #

ค:= 'เอ'

ประเภทบูลีน (บูลีน)

ประเภทบูลีนมีสองค่าคือ True (จริง) และ False (เท็จ) ตัวแปรประเภทนี้ระบุโดยบริการคำ BOOLEAN ค่าบูลีนใช้หนึ่งไบต์ใน RAM ค่า True และ False สอดคล้องกับค่าตัวเลข 1 และ 0

ประเภทช่วง

มีเซตย่อยของประเภทฐานซึ่งสามารถเป็นประเภทลำดับใดก็ได้ ประเภทช่วงถูกกำหนดโดยขอบเขตภายในประเภทฐาน

[ค่าต่ำสุด]…[ค่าสูงสุด]

สามารถระบุประเภทช่วงได้ในส่วนประเภทเป็นประเภทเฉพาะ หรือระบุโดยตรงในส่วน Var

เมื่อกำหนดประเภทช่วง ควรได้รับคำแนะนำจาก:

  • เส้นขอบด้านซ้ายไม่ควรเกินขอบด้านขวา
  • ประเภทช่วงจะสืบทอดคุณสมบัติทั้งหมดของประเภทฐาน แต่มีข้อจำกัดที่เกี่ยวข้องกับจำนวนสมาชิกที่ต่ำกว่า

ประเภทแจกแจง

ประเภทนี้อ้างถึงประเภทลำดับและระบุโดยการแสดงรายการค่าที่สามารถระบุได้ แต่ละค่าได้รับการตั้งชื่อตามตัวระบุบางตัวและอยู่ในรายการที่อยู่ในวงเล็บ ประเภทที่ระบุได้ระบุไว้ในประเภท:

คน = (ผู้ชาย, ผู้หญิง);

ค่าแรกคือ 0 ค่าที่สองคือ 1 ไปเรื่อยๆ

กำลังไฟสูงสุด 65535 ค่า

ประเภทสตริง

ประเภทสตริงอยู่ในกลุ่มประเภทโครงสร้างและประกอบด้วยประเภทฐาน Char ประเภทสตริงไม่ใช่ประเภทลำดับ กำหนดชุดของสตริงอักขระที่มีความยาวตามอำเภอใจได้สูงสุด 255 อักขระ

ในโปรแกรมจะประกาศประเภทสตริงด้วยคำว่า String เนื่องจาก String เป็นประเภทพื้นฐาน จึงมีการประกาศในภาษา และการประกาศตัวแปรประเภท String จะทำใน Var เมื่อประกาศตัวแปรประเภทสตริงที่อยู่หลังสตริง ขอแนะนำให้ระบุความยาวของสตริงในวงเล็บเหลี่ยม ระบุจำนวนเต็มระหว่าง 0 ถึง 255

แฟม: สตริง;

การระบุความยาวสตริงทำให้คอมไพเลอร์จัดสรรจำนวนไบต์ที่ระบุใน RAM สำหรับตัวแปรที่กำหนด หากไม่ได้ระบุความยาวสตริง คอมไพเลอร์จะจัดสรรจำนวนไบต์ที่เป็นไปได้สูงสุด (255) สำหรับค่าของตัวแปรนี้

บทเรียนจะกล่าวถึงประเภทข้อมูลมาตรฐานหลักในภาษาปาสคาล แนวคิดของตัวแปรและค่าคงที่ อธิบายวิธีการทำงานกับการดำเนินการทางคณิตศาสตร์

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

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

ลองมาดูที่พบบ่อยที่สุด ประเภทของภาษาปาสคาลข้อมูล.

ชนิดข้อมูลจำนวนเต็มในภาษาปาสคาล

พิมพ์ พิสัย หน่วยความจำที่จำเป็น (ไบต์)
ไบต์ 0..255 1
สั้น -128..127 1
จำนวนเต็ม -32768.. 32767 2
คำ 0..65535 2
ยาว -2147483648..2147483647 4

ต้องระลึกไว้เสมอว่าเมื่อเขียนโปรแกรมในภาษาปาสคาล จำนวนเต็ม(แปลจากภาษาอังกฤษเป็นจำนวนเต็ม) เป็นที่นิยมใช้มากที่สุดเนื่องจากช่วงของค่าเป็นที่ต้องการมากที่สุด หากต้องการระยะที่กว้างขึ้น ให้ใช้ ยาว(จำนวนเต็มยาว แปลจากจำนวนเต็มยาวภาษาอังกฤษ) พิมพ์ ไบต์ใน Pascal จะใช้เมื่อไม่จำเป็นต้องทำงานกับค่าลบ เช่นเดียวกับประเภท คำ(เฉพาะช่วงของค่าที่นี่ใหญ่กว่ามาก)

ตัวอย่างของการอธิบายตัวแปร (ประกาศ) ในภาษาปาสคาล:

โปรแกรม a1; varx,y:จำนวนเต็ม; (ชนิดจำนวนเต็ม) myname:string; (ประเภทสตริง) เริ่มต้น x:=1; y:=x+16; myname:="ปีเตอร์"; สิ้นสุดการเขียน ("ชื่อ: ",ชื่อของฉัน", อายุ: ", y)

ผลลัพธ์:
ชื่อ ปีเตอร์ อายุ 17 ปี

ความคิดเห็นในภาษาปาสคาล

ให้ความสนใจกับวิธีการ ใช้ความคิดเห็นของปาสคาล. ในตัวอย่าง ข้อคิดเห็น เช่น ข้อความบริการที่คอมไพเลอร์ "มองไม่เห็น" นั้นอยู่ในวงเล็บปีกกา โดยทั่วไปแล้ว โปรแกรมเมอร์จะแสดงความคิดเห็นเพื่อชี้แจงข้อมูลโค้ด

ภารกิจที่ 3ประชากรของมอสโก = 9,000,000 คน จำนวนประชากรของ New Vasyukov เท่ากับ b=1,000 คน เขียนโปรแกรมที่กำหนดความแตกต่างของจำนวนผู้อยู่อาศัยระหว่างสองเมือง ใช้ตัวแปร

ประเภทข้อมูลจริงในภาษาปาสคาล

จำนวนจริงในภาษาปาสคาลและโดยทั่วไปในการเขียนโปรแกรมเป็นชื่อของจำนวนเศษส่วน

พิมพ์ พิสัย หน่วยความจำที่จำเป็น (ไบต์)
จริง 2.9*10E-39..1.7*10E38 6
เดี่ยว 1.5*10E-45..3.4*10E38 4
สองเท่า 5*10E-324..1.7*10E308 8
ขยาย 1.9*10E-4951 .. 1.1*10E4932 10

ประเภทจริงในภาษาปาสคาลเป็นชนิดที่ใช้บ่อยที่สุดในประเภทจริง

นำเสนอไปแล้วข้างต้น ชนิดข้อมูลอย่างง่ายในภาษา Pascal ซึ่งรวมถึง:

  • ลำดับ
  • ทั้งหมด
  • พัฒนาสมอง
  • สัญลักษณ์
  • แจกแจง
  • ช่วงเวลา
  • จริง

ในการส่งออกค่าของตัวแปรประเภทจริง มักใช้เอาต์พุตที่จัดรูปแบบ:

  • รูปแบบใช้ตัวเลขเดียวซึ่งหมายถึงจำนวนตำแหน่งที่กำหนดให้กับตัวเลขนี้ในรูปแบบเลขชี้กำลัง
  • พี:=1234.6789; เขียนใน (p:6:2); (1234.68)

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

    ค่าคงที่ในภาษาปาสคาล

    บ่อยครั้งที่โปรแกรมรู้ล่วงหน้าว่าตัวแปรจะใช้ค่าเฉพาะและไม่เปลี่ยนแปลงตลอดการทำงานของโปรแกรมทั้งหมด ในกรณีนี้ คุณต้องใช้ค่าคงที่

    การประกาศค่าคงที่ในภาษาปาสคาลเกิดขึ้นก่อนการประกาศตัวแปร (ก่อนเซอร์วิสเวิร์ด var) และมีลักษณะดังนี้:

    ตัวอย่างของคำอธิบายคงที่ในภาษาปาสคาล:

    1 2 3 4 5 6 คอสต์ x= 17 ; var myname: สตริง ; เริ่มต้น myname: = "ปีเตอร์" ; writeln ("ชื่อ: " , myname, ", อายุ: " , x) end .

    คอสต์ x=17; varmyname:สตริง; start myname:="ปีเตอร์"; สิ้นสุดการเขียน ("ชื่อ: ", ชื่อของฉัน, ", อายุ: ", x)

    ผลลัพธ์ "สวยงาม" ของจำนวนเต็มและจำนวนจริง

    ในการเว้นการเยื้องหลังจากเอาต์พุตของค่าของตัวแปร เพื่อไม่ให้ค่า "รวม" เข้าด้วยกัน เป็นเรื่องปกติที่จะต้องระบุผ่านเครื่องหมายโคลอนว่าต้องระบุอักขระกี่ตัวสำหรับเอาต์พุต ของมูลค่า:


    การดำเนินการทางคณิตศาสตร์ในภาษาปาสคาล

    ลำดับการดำเนินงาน

    1. การประเมินนิพจน์ในวงเล็บ
    2. การคูณ การหาร div mod จากซ้ายไปขวา
    3. การบวกและการลบจากซ้ายไปขวา

    ขั้นตอนและฟังก์ชันเลขคณิตมาตรฐานของ Pascal

    ที่นี่ควรค่าแก่การอาศัยรายละเอียดเพิ่มเติมเกี่ยวกับการดำเนินการทางคณิตศาสตร์

    • ตัวดำเนินการ inc ในภาษาปาสคาล ออกเสียงว่า เพิ่มขึ้น เป็นขั้นตอนมาตรฐานของปาสคาล ซึ่งหมายถึงการเพิ่มขึ้นทีละหนึ่ง
    • ตัวอย่างการทำงานของ Inc:

      x:=1; รวม (x); (เพิ่มทีละ x ทีละ 1 เช่น x=2) ขีดเขียน (x)

      การใช้ขั้นตอน inc ที่ซับซ้อนมากขึ้น:
      Inc(x,n) โดยที่ x เป็นประเภทลำดับ n เป็นประเภทจำนวนเต็ม ขั้นตอน inc เพิ่มขึ้น x คูณ n

    • ขั้นตอน Dec ใน Pascal ทำงานคล้ายกัน: Dec(x) - ลดลง x ทีละ 1 (ลดลง) หรือ Dec(x,n) - ลดลง x ทีละ n
    • ตัวดำเนินการ abs แสดงถึงโมดูลัสของตัวเลข ทำงานเช่นนี้:
    • ก: =- 9 ; ข:=เอบีเอส(ก); (ข=9)

      ก:=-9; ข:=เอบีเอส(ก); (ข=9)

    • ตัวดำเนินการ div ในภาษาปาสคาลเป็นตัวดำเนินการที่ใช้กันทั่วไป เนื่องจากงานจำนวนหนึ่งเกี่ยวข้องกับการดำเนินการหารจำนวนเต็ม
    • ส่วนที่เหลือของการหารหรือตัวดำเนินการ mod ใน pascal ยังขาดไม่ได้สำหรับการแก้ปัญหาต่างๆ
    • ที่น่าสังเกตคือ ฟังก์ชั่นมาตรฐานคี่ ปาสคาล กำหนดว่าจำนวนเต็มเป็นเลขคี่หรือไม่ นั่นคือจะส่งกลับค่าจริง (จริง) สำหรับเลขคี่ คืนค่าเท็จ (เท็จ) สำหรับเลขคู่
    • ตัวอย่างการใช้ฟังก์ชันคี่:

      varx:จำนวนเต็ม; เริ่มต้นx:=3; ตัวเขียน(sqr(x)); (ตอบ 9) จบ.

    • การยกกำลังดำเนินการในภาษาปาสคาลหายไปเช่นนี้ แต่ในการเพิ่มจำนวนเป็นยกกำลัง คุณสามารถใช้ฟังก์ชัน exp
    • สูตรคือ: exp(ln(a)*n) โดยที่ a เป็นตัวเลข n คือกำลัง (a>0)

      อย่างไรก็ตามในคอมไพเลอร์ ปาสคาล abcการยกกำลังทำได้ง่ายกว่ามาก:

      varx:จำนวนเต็ม; เริ่มต้นx:=9; ตัวเขียน(sqrt(x)); (ตอบ 3) จบ

    ภารกิจที่ 4ขนาดของกล่องไม้ขีดไฟเป็นที่รู้จัก: ความสูง - 12.41 ซม., ความกว้าง - 8 ซม., ความหนา - 5 ซม. คำนวณพื้นที่ฐานของกล่องและปริมาตร
    (S=กว้าง*หนา, V=พื้นที่*สูง)

    ภารกิจที่ 5มีช้างสามตัวและกระต่ายจำนวนมากในสวนสัตว์ และจำนวนกระต่ายจะเปลี่ยนแปลงบ่อย ช้างควรกินแครอทวันละร้อยแครอทและกระต่ายสองหัว ทุกเช้าผู้ดูแลสวนสัตว์จะรายงานจำนวนกระต่ายไปยังคอมพิวเตอร์ ในการตอบสนอง คอมพิวเตอร์ควรบอกผู้ดูแลถึงจำนวนแครอททั้งหมดที่ต้องป้อนให้กระต่ายและช้างในวันนี้

    ภารกิจที่ 6เป็นที่รู้จักกันว่า xกิโลกรัมของขนม รูเบิล กำหนดเท่าไหร่ กิโลกรัมของขนมเหล่านี้รวมถึงขนมที่ซื้อได้กี่กิโลกรัม เครูเบิล ผู้ใช้ป้อนค่าทั้งหมด



    กำลังโหลด...
    สูงสุด