TI-Basic Z80 程式設計/錯誤
外觀
在 TI-84 上程式設計時,計算器會假設編寫的程式碼有效。如果在執行程式碼時發現意外標記或遇到其他無效語句,TI-84 會丟擲錯誤。計算器將停止執行程式中的程式碼,並在螢幕上顯示錯誤型別。錯誤分為兩種:語法錯誤和執行時錯誤。
例如,考慮以下示例
:Output(1,"TI84")
的語法Output(命令期望兩個整數,然後是一個字串。在此示例中,第二個引數是字串,計算器不知道如何解釋它。在這種情況下,計算器會丟擲錯誤
ERR:ARGUMENT 1:Quit 2:Goto
程式碼執行停止,並顯示一個選單。第一個選項退出程式並返回到主螢幕。第二個選項將開啟程式碼編輯器並滾動到程式碼中發生錯誤的行。
第二種錯誤是執行時錯誤。這些錯誤不一定可以透過程式碼的外觀來檢測。考慮以下示例,它顯示輸入值的倒數
:Prompt A
- Disp A-1
程式碼在大多數情況下都能正常工作
A=?4
.25
但是,考慮當用戶輸入0時
A=?0
ERR:DIVIDE BY 0
1:Quit
2:Goto
這種行為可能是不可取的,因為如果發生錯誤,程式碼將停止執行,不會繼續執行。因此,在考慮計算和語句時,必須考慮所有極端情況。在這種情況下,在Disp之前新增一行:If A≠0可以防止錯誤發生。
執行時錯誤不一定必須顯示錯誤才能是錯誤。例如,一個應該顯示字母表中偶數字母的程式,但實際上顯示的是字母表中奇數字母,就會出現執行時錯誤,因為程式沒有按預期工作。這些錯誤可能是最難修復和最容易修復的錯誤!
檢查以下示例,確定出現的錯誤型別,並給出解決錯誤的修復方法。
以下程式應該將 10 個隨機數儲存到L1中,但包含錯誤。找到、識別並修復錯誤。
- 0→dim(L1
- For(I,1,10
- rand→L1[I]
- End
解決方案
|
|---|
|
錯誤在第 3 行。給定程式使用方括號([和])而不是圓括號。修復了錯誤的相同程式
|
在此示例中,程式應該輸出L1中的最大數字(此程式假設L1).
- -9E99→L
- For(A,1,dim(L1
- If L1(A)>L
- A→L
- End
- Disp L
解決方案
|
|---|
|
錯誤在第 4 行。給定程式將最大數字的索引儲存到L中,而應該儲存值本身。修復後的程式
將來,直接使用max(. |