![]() |
在這個頁面顯示本主題全部的 18 個文章 |
奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- If ..Then 寫法的問題 (已看過教學) (http://www.chiefox.com.tw/bbs/showthread.php?threadid=9991)
If ..Then 寫法的問題 (已看過教學)
myHour := HOUR;
myMin := MINUTE;
If ((myHour = 9) And (myMin = 1)) Then Begin
Exp1;
Exp2;
:
:
Exp100;
End;
編譯結果是 "語法錯誤" , 好像是錯在 序列變數上,
但是, 類似的程式區塊, 如何改寫呢 ?
回覆: If ..Then 寫法的問題 (已看過教學)
引用:
最初由 xbeyoung 發表
myHour := HOUR;
myMin := MINUTE;
If ((myHour = 9) And (myMin = 1)) Then Begin
Exp1;
Exp2;
:
:
Exp100;
End;
編譯結果是 "語法錯誤" , 好像是錯在 序列變數上,
但是, 類似的程式區塊, 如何改寫呢 ?
個人覺得 奇狐的 "if ... then ... else" 根本是個沒用的東西, 直言感覺, 若有得罪, 請見諒 !!
引用:
最初由 xbeyoung 發表
個人覺得 奇狐的 "if ... then ... else" 根本是個沒用的東西, 直言感覺, 若有得罪, 請見諒 !!
謝謝版主的耐心回應, 只是個人覺得 if 後面的條件裡的限制規則,
真是綁手綁腳 , 而他的精簡版 if 函數, 卻無如此限制, 當然我無從知道此程式語言內部的實作, 但是他真的讓程式邏輯無法像一般程式語言一樣順暢
引用:
最初由 xbeyoung 發表
謝謝版主的耐心回應, 只是個人覺得 if 後面的條件裡的限制規則,
真是綁手綁腳 , 而他的精簡版 if 函數, 卻無如此限制, 當然我無從知道此程式語言內部的實作, 但是他真的讓程式邏輯無法像一般程式語言一樣順暢
呵呵
if ... then ... else 是極具威力的東西之一啊
另外 其它語言中 C , C++ , VB , Java .... 你所可以找到的語言中 , 哪裡會看不見他的身影
針對數列的 if(cond,a,b) 是為了簡化一些 "經常用到" 的功能 , 而再去延生出來的功用函數
它把迴圈步驟 , 判斷式包覆了起來 , 因而簡化了程式碼
__________________
偶而是不是也感覺有些老
像個大人般的戀愛
有時心情糟
請你相信我在你身邊別忘了
引用:
最初由 alpha 發表
if ... then ... else 是極具威力的東西之一啊
另外 其它語言中 C , C++ , VB , Java .... 你所可以找到的語言中 , [/B]
if ... then ... else 是極具威力的東西之一啊
===================================
沒錯.....可是再在奇狐裡面簡直無用武之地
原因為使用者求出來的值都是列數
跟本無法使用於極具威力的東西........可惜ㄚ
建議改善.....提供一個能從列數求取整數值的功能
整數值A:H;
整數值B:C;
整數值C:O;
就能使用... if 整數值B> 整數值C then ... else
這將使奇狐的公式活用度大增百倍
引用:
最初由 kway 發表
if ... then ... else 是極具威力的東西之一啊
===================================
沒錯.....可是再在奇狐裡面簡直無用武之地
原因為使用者求出來的值都是列數
跟本無法使用於極具威力的東西........可惜ㄚ
建議改善.....提供一個能從列數求取整數值的功能
整數值A:H;
整數值B:C;
整數值C:O;
就能使用... if 整數值B> 整數值C then ... else
這將使奇狐的公式活用度大增百倍
引用:
最初由 kway 發表
我想版主應該會說.....用....
if(C>O,.....,......);
這樣就可以了...其實整數的功能在有邏輯運算時才能用.....
引用:
最初由 kway 發表
if ... then ... else 是極具威力的東西之一啊
===================================
沒錯.....可是再在奇狐裡面簡直無用武之地
原因為使用者求出來的值都是列數
跟本無法使用於極具威力的東西........可惜ㄚ
建議改善.....提供一個能從列數求取整數值的功能
整數值A:H;
整數值B:C;
整數值C:O;
就能使用... if 整數值B> 整數值C then ... else
這將使奇狐的公式活用度大增百倍
引用:
最初由 xbeyoung 發表
我沒有否定 "If ... Then ... else" 的意思, 畢竟這個語法我自己也用了二三拾年了, 沒有任何程式語言可以沒有他, 我只單就 "奇狐" 在此語法加了一些限制, 覺得很不滿而已, 要能博大精深, 限制還是少一些好 !! 不過, 也謝謝你的指教 !!
以前說明過, 在此
我再舉例說明一次
運算式 X=A+B+C , 其中 A,B,C,X 均為數列
一般而言程式語言有兩種方法處理這樣的運算
第一種
步驟1: X[1]=A[1]+B[1]+C[1]
步驟2: X[2]=A[2]+B[2]+C[2]
如此一直算下去
第二種
步驟1: 先計算整個 A+B 的結果
步驟2: 算完後再加入 C
最終再將結果給X
在奇狐中採用的是第二種算法
這兩種算法各有利弊的地方
有些 第一種可寫的很精簡,第二種很麻煩
有些 第二種可寫的很精簡,第一種很麻煩
沒有絕對的對錯和好壞
算法基礎的不同
很自然就會影響到語言的結構用法
當你了解這其中的特性和道理時, 前面的問題就不是問題了
就能體會出設計者的精心巧妙安排了
若將觀念死放在第一種來寫奇狐程式
將會處處碰壁
請問版主?
if(C>O,.....,......);這樣可以
if C>O then .....;這樣不行,語法錯誤(因為是c及o數列)
若想運用到C及O及H及L來做迴圈控制該如何做?
(1)
教學
http://www.chiefox.com.tw/bbs/forum...p?s=&forumid=46
(2)
奇狐並沒有限制 IF .... THEN ...... ELSE
它的 "基礎架構" 本來 就是長成這樣
IF 單值數值 THEN ...... ELSE
並不是長成
IF 陣列 THEN ...... ELSE
(3)
函數型的
if(條件, A1, B1);
條件: 可以是 單值數值, 也可以是 數列
A1: 可以是 單值數值, 也可以是 數列
B1: 可以是 單值數值, 也可以是 數列
__________________
偶而是不是也感覺有些老
像個大人般的戀愛
有時心情糟
請你相信我在你身邊別忘了
入境隨俗, 照規則來 Coding, 問題已經解決, 希望不要有不必要的誤解, 可能是一開始期望太高, 將這個工具在心中有過高的定位, 回想以前開發一個"開發工具"給 User 使用, 也是會訂一些規則讓 User 來遵守, 不然程式會寫不完, 程式也會暴大,
反正, 奇狐是個賺錢工具, 可以賺到錢最重要, 就是好工具 !!
引用:
最初由 kway 發表
請問版主?
if(C>O,.....,......);這樣可以
if C>O then .....;這樣不行,語法錯誤(因為是c及o數列)
若想運用到C及O及H及L來做迴圈控制該如何做?
原碼:
OO:O;
CC:C;
for i=1 to datacount do begin
if OO[i]>CC[i] then begin
..........符合條件之處理..........
end else begin
..........不符合條件之處理..........
end;
end;
全部時間均為台灣時間, 現在時間為06:10 | 在這個頁面顯示本主題全部的 18 個文章 |
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved.