กลับไปหน้าบทความ

อ่าน 3 นาที

ระบบพื้นฐานเซาแธมป์ตัน

ล่ามขั้นพื้นฐาน/ตระกูลภาษาการเขียนโปรแกรม BASIC/CS1 maint: บริการเก็บถาวรที่เลิกใช้แล้ว/ภาษาโปรแกรม ICL/วิทยาศาสตร์และเทคโนโลยีในนิวแฮมป์เชียร์/มหาวิทยาลัยเซาแธมป์ตัน/ใช้วันที่ dmy ตั้งแต่เดือนสิงหาคม 2021

Southampton BASIC System ( SOBS ) เป็นภาษาโปรแกรมBASIC เวอร์ชันหนึ่ง ที่พัฒนาขึ้นสำหรับและใช้งานบน คอมพิวเตอร์ ICT ซีรีส์ 1900 ในช่วงปลายทศวรรษ 1960 และต้นทศวรรษ 1970...

ระบบพื้นฐานเซาแธมป์ตัน

Southampton BASIC System ( SOBS ) เป็นภาษาโปรแกรมBASIC เวอร์ชันหนึ่ง ที่พัฒนาขึ้นสำหรับและใช้งานบน คอมพิวเตอร์ ICT ซีรีส์ 1900 ในช่วงปลายทศวรรษ 1960 และต้นทศวรรษ 1970 โดยได้รับการนำไปใช้เป็น ตัวแปลภาษา BASICแบบเพิ่มทีละขั้นภายใต้ ระบบปฏิบัติการ MINIMOPที่มหาวิทยาลัยเซาแธมป์ตัน[ 1 ]และยังทำงานภายใต้MAXIMOP อีก ด้วย

ระบบนี้ทำงานผ่าน เทอร์มินัล เทเลไทป์ แม้ว่าจะสามารถใช้เทอร์มินัล CRT ได้เช่นกัน

ลักษณะทางภาษา

เช่นเดียวกับโปรแกรม BASIC รุ่นแรกๆ หลายโปรแกรม SOBS จำเป็นต้องมีหมายเลขบรรทัดเพื่อให้ผู้ใช้สามารถเพิ่มบรรทัดใหม่ลงในโปรแกรมในตำแหน่งที่ต้องการได้ และยังใช้เป็นเป้าหมายสำหรับคำสั่งGOTO`and` อีกด้วย มีฟังก์ชันที่อนุญาตให้เปลี่ยนหมายเลขส่วนของโค้ดได้ โดยค่าเริ่มต้นจะเพิ่มขึ้นทีละ 10 เพื่อให้มีพื้นที่ว่างมากขึ้นตรงกลางโปรแกรมGOSUBRENUMBER

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

แถลงการณ์

เมื่อเทียบกับภาษาโปรแกรมสมัยใหม่แล้ว ภาษาดังกล่าวมีคำสั่งค่อนข้างน้อย:

คำแถลงวัตถุประสงค์
DATAข้อมูลที่จัดเก็บไว้สำหรับREADนำไปใส่ในตัวแปรขณะรันไทม์
DIM var(size)...กำหนดมิติให้กับอาร์เรย์ รองรับอาร์เรย์แบบหนึ่งมิติ สองมิติ และสามมิติ
ENDหยุดการทำงานของโปรแกรม
FOR var=start TO end [STEP incr]ดำเนินการชุดคำสั่งซ้ำๆ สำหรับค่าตัวแปรที่แตกต่างกัน
GOSUB lineเรียกใช้ซับรูทีนที่หมายเลขบรรทัดที่กำหนด การทำงานจะกลับไปยังคำสั่งถัดไปเมื่อRETURNเรียกใช้ฟังก์ชัน a แล้ว
GOTO lineกระโดดไปยังบรรทัดหมายเลขที่กำหนดโดยไม่มีเงื่อนไข
IF expr THEN line [ELSE line]แยกสาขาแบบมีเงื่อนไข ส่วน " THENและ" ELSEนั้นสามารถระบุได้เฉพาะหมายเลขบรรทัดที่จะไปเท่านั้น
INPUT varแจ้งให้ผู้ใช้ป้อนข้อมูล
LET var=exprกำหนดค่าให้กับตัวแปร ซึ่งแตกต่างจากภาษา BASIC สมัยใหม่หลายภาษาLETคำว่า "กำหนดค่า" ไม่ใช่คำที่เลือกใช้หรือไม่ใช้ก็ได้
NEXT varดำเนินการวนซ้ำในรอบถัดไปของFORลูป
PRINTส่งออกไปยังเครื่องโทรพิมพ์
READ var...อ่านข้อมูลจากDATAคำสั่งต่างๆ ลงในตัวแปร
REMคำย่อของREMark ซึ่งทำให้สามารถใส่ความคิดเห็นลงในแต่ละบรรทัดได้
RESTORE [line]รีเซ็ตREADตัวชี้เพื่ออ่านใหม่อีกครั้งDATA
RETURNกลับไปที่บรรทัดถัดจากจุด ( GOSUB.)

โปรดสังเกตโดยเฉพาะอย่างยิ่งการขาดWHILEคำสั่งที่คล้ายกับคำสั่ง `-` FORซึ่งเป็นโครงสร้างการวนซ้ำเพียงอย่างเดียวที่มีให้โปรแกรมเมอร์ใช้

ตัวแปร

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

ฟังก์ชัน

มีฟังก์ชันเชิงตัวเลขให้เลือกใช้จำนวนจำกัด โดยทุกฟังก์ชันรับพารามิเตอร์เชิงตัวเลขเพียงตัวเดียว:

การทำงานฟังก์ชัน( ) ส่งคืนค่า
SIN
COS
ATN
SQR
LOG
EXP
INTจำนวนเต็มที่มากที่สุดที่ไม่มากกว่า
SGN 1, 0 หรือ 1 ขึ้นอยู่กับว่าค่าที่ได้นั้นน้อยกว่า เท่ากับ หรือมากกว่าศูนย์
ABSถ้าเป็นค่าลบ มิฉะนั้นจะเป็นค่าอื่น

การรองรับสตริงมีจำกัดกว่า โดยมีเพียงฟังก์ชันเดียวคือLENซึ่งส่งคืนความยาวของสตริงที่เป็นพารามิเตอร์ ส่วนสตริงย่อยนั้นรองรับโดยใช้เครื่องหมายวงเล็บเหลี่ยม ดังนั้น จึงA£[2,3]หมายถึงสตริงย่อยของสตริงตั้งแต่ตัวอักษรที่ 2 ถึงตัวอักษรที่ 3 รวมทั้งสองค่าด้วย

10 LET A £ = "FOO" 20 PRINT A £ [ 2 , 3 ]

จะพิมพ์OO

ไวยากรณ์นี้ยังได้รับการสนับสนุนทางด้านซ้ายของการกำหนดค่าด้วย ดังนั้น

10 LET A £ = "FOO" 20 LET A £ [ 2 , 2 ] = "BAR" 30 PRINT A £

จะพิมพ์FBARO

อาร์เรย์

การรองรับการจัดการอาร์เรย์ของข้อมูลค่อนข้างแข็งแกร่ง โดยมีMATคำสั่งที่สามารถอ่านอาร์เรย์ทั้งหมดจากDATAคำสั่งอื่น และดำเนิน การคำนวณ เมทริกซ์ ที่มีประโยชน์ เช่นการบวกเมทริกซ์ การลบเมทริกซ์ การ คูณเมทริกซ์ และการหาเมทริกซ์ผกผันสำหรับเมทริกซ์จัตุรัส

ตัวอย่าง:

10 DIM A ( 3 , 3 ) 20 MAT READ A 30 DATA 1 , 1 , 2 , 1 , 0 , 2 , 0 , 2 , 1 40 DIM B ( 3 , 3 ) 50 MAT READ B 60 DATA 0 , 0 , 1 , 0 , 1 , 0 , 1 , 0 , 0 70 DIM C ( 3 , 3 ), D ( 3 , 3 ) 80 MAT C = A * B 90 MAT D = INV ( C ) 100 MAT PRINT D ,
Aอ่านจากDATAประโยค แรก
Bอ่านจากDATAข้อความ ที่สอง
CคำนวณโดยการคูณAและB
Dคำนวณโดยใช้ค่าผกผันของC

ผลลัพธ์จะเป็น 2 2 1 1 -1 0 4 -3 -2

การดีบัก

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

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Southampton_BASIC_System&oldid=1292452783 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ระบบพื้นฐานเซาแธมป์ตัน

Southampton BASIC System ( SOBS ) เป็นภาษาโปรแกรมBASIC เวอร์ชันหนึ่ง ที่พัฒนาขึ้นสำหรับและใช้งานบน คอมพิวเตอร์ ICT ซีรีส์ 1900 ในช่วงปลายทศวรรษ 1960 และต้นทศวรรษ 1970...

ลักษณะทางภาษา

เช่นเดียวกับโปรแกรม BASIC รุ่นแรกๆ หลายโปรแกรม SOBS จำเป็นต้องมี หมายเลขบรรทัด เพื่อให้ผู้ใช้สามารถเพิ่มบรรทัดใหม่ลงในโปรแกรมในตำแหน่งที่ต้องการได้ และยังใช้เป็นเป้าหมายสำหรับคำสั่ง GOTO `and` อีกด้วย มีฟังก์ชันที่อนุญาตให้เปลี่ยนหมายเลขส่วนของโค้ดได้...

แถลงการณ์

เมื่อเทียบกับภาษาโปรแกรมสมัยใหม่แล้ว ภาษาดังกล่าวมีคำสั่งค่อนข้างน้อย:

ตัวแปร

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