2012年10月1日 星期一

Turbo C 使用教學 (請在 Windows XP 下操作)

Turbo C 使用教學

C 語 言 入 門 教 室

請在XP下, 以tc3.0練習編譯下列範例

example -01
//雙斜線後面表示為註解
#include <stdio.h>  //包含 printf function 的標頭檔
void main() {       //主程式開始
 printf("Hello Robot!");  //印出字串
}                   //主程式結束

亂數的使用

example -02
//雙斜線後面表示為註解
#include <stdio.h>  //包含 printf function 的標頭檔
#include <stdlib.h> //包含 srand, rand function 的標頭檔
#include <time.h>   //包含 time function 的標頭檔
void main() {       //主程式開始
 int a;             //宣告一個整數integer的變數variable
 srand(time(NULL)); //產生每次變數均不同的效果;用 srand() 函數改變一開始的亂數值
 a=(rand()%100)+1;  //計算, 取 1-100 的亂數
 printf("The Random Number is %d .\n", a); //印出隨機數的字串
}                   //主程式結束

for 迴圈

example -03
//雙斜線後面表示為註解
#include <stdio.h>  //包含 printf function 的標頭檔
#include <stdlib.h> //包含 srand, rand function 的標頭檔
#include <time.h>   //包含 time function 的標頭檔
void main() {       //主程式開始
 int a;             //宣告一個整數integer的變數variable
 int n;
 srand(time(NULL)); //產生每次變數均不同的效果;用 srand() 函數改變一開始的亂數值
 for (n=1; n <= 10; n++) {  //for 迴圈loop , n=1開始, 當n<=10時, 執行 loop 內的指令, 執行完畢 n+1
  a=(rand()%100)+1;  //計算, 取 1-100 的亂數
  printf("The %ith Random Number is %d .\n", n, a); //印出第n個隨機數的字串
 } // for 迴圈loop 程式碼區塊結束
}                   //主程式結束

example -04

//雙斜線後面表示為註解
#include <stdio.h>  //包含 printf function 的標頭檔
#include <stdlib.h> //包含 srand, rand function 的標頭檔
#include <time.h>   //包含 time function 的標頭檔
void main() {       //主程式開始
 int a;             //宣告一個整數integer的變數variable
 int n;
 srand(time(NULL)); //產生每次變數均不同的效果;用 srand() 函數改變一開始的亂數值
//模擬光感測器讀值10次
 for (n=1; n <= 10; n++) {  //for 迴圈loop , n=1開始, 當n<=10時, 執行 loop 內的指令, 執行完畢 n+1
  a=(rand()%100)+1;  //計算, 取 1-100 的亂數
  printf("The %ith Random Number is %d .\n", n, a); //印出第n個隨機數的字串
//////////////////////////////////////////////////////////////////////////////////////////////////
//模擬跟線自走車的演算法 
//////////////////////////////////////////////////////////////////////////////////////////////////
  if (a < 45) {      // if 條件判斷
    printf("Light Sensor: %i , Detect: BLACK, Left Power: 80, Right Power: 50 \n", a);
//  printf("光感值: %i , 偵測到黑色區域, 左輪Power輸出: 80, 右輪Power輸出: 50 \n", a);
  } // if 條件判斷結束

  if (a > 45) {      // if 條件判斷
    printf("Light Sensor: %i , Detect: WHITE, Left Power: 50, Right Power: 80 \n", a);
//  printf("光感值: %i , 偵測到白色區域, 左輪Power輸出: 50, 右輪Power輸出: 80 \n", a);
  } // if 條件判斷結束

  if (a == 45) {      // if 條件判斷
    printf("Light Sensor: %i , Detect: EDGE, Left Power: 80, Right Power: 80 \n", a);
//  printf("光感值: %i , 偵測到黑線邊緣, 左輪Power輸出: 80, 右輪Power輸出: 80 \n", a);
  } // if 條件判斷結束  
//////////////////////////////////////////////////////////////////////////////////////////////////
 } // for 迴圈loop 程式碼區塊結束
}                   //主程式結束

example -05

//雙斜線後面表示為註解
#include <stdio.h>  //包含 printf function 的標頭檔
#include <stdlib.h> //包含 srand, rand function 的標頭檔
#include <time.h>   //包含 time function 的標頭檔
void main() {       //主程式開始
 int a;             //宣告一個整數integer的變數variable
 int b, loop;
 int n;
 srand(time(NULL)); //產生每次變數均不同的效果;用 srand() 函數改變一開始的亂數值
//模擬光感測器讀值30次
 loop = 0; //紀錄自走車完成迴圈數--變數歸零
 for (n=1; n <= 30; n++) {  //for 迴圈loop , n=1開始, 當n<=10時, 執行 loop 內的指令, 執行完畢 n+1
  a=(rand()%100)+1;  //計算, 取 1-100 的亂數
  printf("The %ith Random Number is %d .\n", n, a); //印出第n個隨機數的字串
//////////////////////////////////////////////////////////////////////////////////////////////////
//模擬跟線自走車的演算法 
//////////////////////////////////////////////////////////////////////////////////////////////////
  if(n%5 == 0){ //n除以5的餘數等於0, n 為 5 的倍數
    b=30;    //表示第二顆感測器看到黑色起跑線
  }
  else{
    b=60;    //表示第二顆感測器看到白色區域 (奔跑中)
  }
  if (b<45){ //表示第二顆感測器看到黑色起跑線
   loop = loop + 1;  //紀錄自走車完成迴圈數--變數+1更新
   printf("Run %ith Loop..\n", loop);
  }
  if (loop >=5 ) { //表示自走車已完成5圈
   printf("Five-loop Task Completed!\n");
   exit(1);  //退出程式
  }
  if (a < 45) {      // if 條件判斷
    printf("Light Sensor: %i , Detect: BLACK, Left Power: 80, Right Power: 50 \n", a);
//  printf("光感值: %i , 偵測到黑色區域, 左輪Power輸出: 80, 右輪Power輸出: 50 \n", a);
  } // if 條件判斷結束
  if (a > 45) {      // if 條件判斷
    printf("Light Sensor: %i , Detect: WHITE, Left Power: 50, Right Power: 80 \n", a);
//  printf("光感值: %i , 偵測到白色區域, 左輪Power輸出: 50, 右輪Power輸出: 80 \n", a);
  } // if 條件判斷結束
  if (a == 45) {      // if 條件判斷
    printf("Light Sensor: %i , Detect: EDGE, Left Power: 80, Right Power: 80 \n", a);
//  printf("光感值: %i , 偵測到黑線邊緣, 左輪Power輸出: 80, 右輪Power輸出: 80 \n", a);
  } // if 條件判斷結束  
//////////////////////////////////////////////////////////////////////////////////////////////////
 } // for 迴圈loop 程式碼區塊結束
}                   //主程式結束

example -05 for RoboLab
 
example -05 for NXT-G


沒有留言:

張貼留言