1. 用電腦怎麼編程
給你pascal編程吧..第一章 PASCAL程序設計介紹1.1 PASCAL介紹1.1.1 PASCAL語言介紹PASCAL語言是由瑞士的沃斯(N.Wirth)教授於1971年提出來的。它的命名是為了紀念法國數學家Pascal。它是世界上第一個結構化的高級程序設計語言。結構化程序設計主要由三種基本結構(順序結構、選擇結構、循環結構)組成。後來有人把函數和過程作為第四種基本結構。這四種結構對外看都有一個入口,一個出口,結構清晰,避免了由GOTO語句所引起的混亂。另外在程序設計方法方面,主張採用自頂向下,逐步求精的方法。即將一個大的復雜問題,劃分成若干少的易解決的問題。每個小問題,又可劃分成一些更小的更易解決的問題。這樣,每個小問題解決了,整個大問題也就解決了。這種方法也為多個人合作編程提供方便。由於PASCAL語言具有良好的結構程序設計特性,適合於教學,特別是適合於培養學生掌握自頂向下逐步求精的結構化程序設計思想和方法,並養成良好的程序設計風格和習慣,因此,國內外許多大學都將PASCAL作為一門程序設計教學語言。1.1.2 PASCAL程序設計的編輯、保存、調試例1-1:輸入半徑求園的周長和面積?program circle; const Pi=3.14; var r,L,s:real;begin write('r='); readln(r); L:=2*pi*r; s:=pi*r*r; writeln('R=',r:8:2,' L=',L:8:2,' S=',s:8:2);end .1.2 PASCAL基本組成1.2.1 PASCAL中使用的常量與變數程序中數據分為兩類:一類是在程序執行過程中其值保持不變的量,稱為常量;另一類是在程序執行過程中,其值可以改變的,這類數據稱為變數。1.常量說明在程序中,如果一個常數反復多次出現在程序中,用戶可以通過說明語句來定義一個標識符來代表這個常量。如: const pi=3.14; country='China'; success=true;2.變數說明PASCAL程序中數值可以改變的量稱為變數,由於變數可以取不同的值,因此變數必須通過標識符來代表。程序中出現的每個變數都必須在程序的變數說明部分進行類型說明.變數說明語法圖如下:如: var x,y,z:real; i,j,k:integer; ch:char; t,f:boolean; name:string;1.2.2 Turbo Pascal中標准數據類型介紹數據的類型確定了該類數據的表示形式和取值范圍,而且確定了其所能參加的各種運算。1.整型名稱類型標識符數據表示範圍佔用存儲空間整型integer-32768 ~ +327671byte短整型shortint-128 ~ +1272byte長整型longint-2147483648 ~ +21474836474byte位元組型byte0 ~ 2551byte字型word0 ~ 655352byte2.實型:實型有4種類型,如下表示實型名稱類型標識符數據表示範圍有效位佔用存儲空間實型real-2.9*10^39~+1.7*10^3811~126byte單精度型single-1.5*10^45~+3.4*10^387~84byte雙精度型double-5.0*10^-324~+1.7*10^30815~168byte擴展型extended-1.9*10^-4932~+1.1*10^493219~2010byte裝配十進制型comp-2^63+1 ~ +2^63 –1 19~208byte例:var x:real;當x的數學值為2時,在計算機中的值為:2.0000000000E+00當x的數學值為-25時,在計算機中的值為:-2.5000000000E+01當x的數學值為0.05時,在計算機中的值為:5.0000000000E-023. 字元型和字元串型名稱類型標識符說明字元型char單個字元用一對單引號括起的數據。字元串型string一個或一串字元用一對單引號括起來的數據。例: var ox:char; note:string; name:string[5];4.布爾型名稱類型標識符說明布爾型boolean值只有true和false,分別表示真和假或對與錯。1.2.3 運算符、標准函數及標准過程1.運算符2.標准函數和過程PASCAL中提供了很多標准函數和過程給用戶直接使用,方便了我們編程,下面介紹一些常用的標准函數和標准過程,其它函數和過程可以在Trurbo Pascal的幫助文件中查閱。(1) 算術標准函數函數名稱X類型結果類型說明abs(x)絕對值整型,實型整型,實型Abs(-25)=25sqr(x)平方值整型,實型整型,實型Sqr(5)=25sqrt(x)平方根整型,實型實型sqrt(25)=5.0000000000E+00trunc(x)取整整型,實型整型截取整數部分。trunc(-2.3)=-2round(x)取整整型,實型整型四捨五入取整。trunc(-2.6)=-3trunc(-2.3)=-2int(x)取整整型,實型實型截取整數部分int(2.5)=2.0000000000E+00int(-2.5)=-2.000000000E+00frac(x)取小數整型,實型實型frac(2.5)=5.0000000000E-01exp(x)指數整型,實型實型例:求e3 即,e為2.718exp(3)=2.0085536923E+01ln(x)對數整型,實型實型例:求log10(2)ln(2)=6.9314718056E-01random隨機數無實型隨機產生(0,1)間的隨機數random(x)隨機數整型整型隨機產生[0,x-1]間的隨機數其它函數還有正弦函數sin(x),餘弦函數cos(x),反正切函數arctan(x),自然對數函等等,請需要時從Turbo Pascal中的幫助文件查閱。註:在PASCAL中沒有定義冪運算函數xn 。但可採用下面式子計算:exp(n*ln(x)) 。(2) 算術標准過程[1] dec(x) 相當於 x:=x-1[2] dec(x,n) 相當於 x:=x-n[3] inc(x) 相當於 x:=x+1[4] inc(x,n) 相當於 x:=x+n(3) 字元處理標准函數為了說明方便,設s,str,str1,str2為字元串型(string),ch為字元型(char)變數。[1] concat(str1,str2)作用:把兩字元串連接成新字元中串。例:concat('abc','def') 結果:'abcdef'[2] (str,a,b)作用:從字元串str的左邊第a(整數)位開始截取b(整數)位字元串。例:('abcdef',2,4) 結果:'bcde'[3] length(str)作用:求字元串str的長度。例: length('abcdef') 結果:6 ;length('') 結果:0 ;length(' ') 結果:1[4] chr(x)作用:求x(x為整數1--255)表示的ASCII代碼對應的字元例:chr(65) 結果:'A' ;chr(66) 結果:'B'[5] ord(x)作用:求x的序號,其中x必須為有序類型。有序類型如:字元型、布爾型、整型、枚舉型、子界型等。例:ord('A') 即'A'的ASCII碼值為:65 ;ord('B') 即'B'的ASCII碼值為:66 ord(true) 結果:1; ord(false)結果:0 ord(13) 結果:13;ord(0)結果:0[6] pos(str1,str2)作用:求字元串str1在字元串str2中的開始位置,結果為整數。例:pos('abc','efabcdg') 結果:3 ;pos('abc','efabfgh') 結果:0[7] upcase(ch)作用:把ch對應的字元轉為大寫字母。例:upcase('a') 結果:'A' (4) 字元串處理標准過程[1] delete(str,a,b)作用:從字元串str的左邊第a(整數)個字元開始向右連續刪除b(整數)位字元,並把剩餘字元串賦給str例:str:='abcdefgh';delete(str,4,3); 最後str結果為:'abcgh' str:='abcdef';delete(str,8,3); 最後str結果為:'abcdef'[2] insert(str1,str,a)作用:把字元串str1插入字元串str中由第a(整數)位字元之前,並把新字元串賦給字元串變數str。例:str:='efghy';insert('abc',str,3);最後str結果為:'efabcghy' str:='efghy';insert('abc',str,8);最後str結果為:'efghyabc'[3] str(x,s)作用:將x(x為整數或實數)轉化為數字字元串,結果存入S。例:str(12.4,s) s的結果為:'1.2400000000E+01' str(124,s) s的結果為:'124'[4] val(str,a,code)作用:將數字字元串轉換成數字,並將該數字存入實型或整型變數a中,code為返回的錯誤代碼,code=0 表示轉換成功,無錯誤。 例:val('12',a,code) 若a為實型,a的結果為:1.2000000000E+01;若a為整型,a的結果為:12(5) 布爾型標准函數[1] odd(x)作用:判斷自變數x的奇偶特性,其中x為整型。奇數為true,偶數為false。例:odd(13) 結果:true ;odd(10)結果:false 。[2] eof(x)作用:判斷文件x是否處於結束狀態。其中x為文件型變數。文件結束為true,否則為false 。[3] eoln(x)作用:判斷文件x是否處於行結束狀態。其中x為文件型變數。行結束為true,否則為false 。(6) 順序類型函數[1] pred(x)作用:求x的前一個量值,其中x為字元型、布爾型、整型、枚舉型、子界型等有序類型。例:pred(6)=5 ;pred('b')='a' ;pred(true)=false ; pred(false)=true[2] succ(x)作用:作用:求x的後一個量值,其中x為字元型、布爾型、整型、枚舉型、子界型等有序類型。 例:succ(5)=6 ;pred('a')='b' ;pred(true)=false; pred(false)=true(7) 標准單元中常用標准過程Turbo Pascal中系統提供了八個標准單元,分別是:system(系統單元)、printer(列印單元)、dos(dos單元)、crt(顯示單元)、overlay(覆蓋單元)、graph(圖形單元)、turbo3(與3.0版兼容單元)、graph3(3.0海龜圖形單元)。這些單元中分別定義了大量的函數和過程供用戶使用。但注意在使用標准單元的函數和過程前,除system單元可省略說明外,其它要在程序開頭說明。說明格式如下:use 標准單元; 或 use 標准單元1,...,標准單元n;另外,前面介紹過的標准函數和過程都在system單元中。下面補充一些常用標准函數和過程。[1] clrscr 過程 在crt單元 格式:clrscr 作用:清文本屏幕,並將游標移到屏幕左上角。[2] delay 過程 在crt單元 格式:delay(ms) 作用:延遲ms毫秒數,其中ms為word型。[2] gotoxy 過程 在crt單元 格式:gotoxy(x,y) 作用:稱游標到y行x列上,其中x,y為byte型。[3] sound 過程 在crt單元 格式:sound(hz) 作用:按hz(word型)指定的頻率發音,調用該過程後會一直響,直到調用nosound過程將其關閉。[4] nosound 過程 在crt單元 格式:nosound 作用:關閉揚聲器。[5] readkey 函數 在crt單元 格式:readkey 作用:從鍵盤讀入一個字元,函數類型結果為char。[6] exit 過程 在system單元 格式:exit 作用:退出當前過程或模塊。[7] halt 過程 在system單元 格式:halt 作用:停止程序執行。[8] getdate 過程 在dos單元 格式:getdate(y,m,d,dw) 作用:返回當前日期(年,月,日,星期),其中y,m,d,dw為word型。1980<=y<=2099,1<=m<=12,1<=d<=31,0<=dw<=6(星期日為0)。[9] gettime 過程 在dos單元 格式:gettime(h,m,s,se) 作用:返回當前時間(時,分,秒,毫秒),其中h,m,s,se為word型。0<=h<=24,0<=m<=59,0<=s<=59,0<=se<=99秒。還有setdate(y,m,d,dw),settime(h,m,s,se),請讀者查閱Turbo Pascal的幫助文件。[10] read或readln過程 在system單元格式:read(f,v1,v2,...,vn)或readln(f,v1,v2,..vn) 其中f為文件型變數,標准輸入文件input(如鍵盤輸入)時可省,v1,v2,...,vn為變數名表。作用:從標准輸入文件(如鍵盤輸入)或磁碟文件中讀入數據到變數中,多個變數時,要用逗號分隔。 read與readln的區別是:readln會掉丟當前輸入行中多餘的數據。而read不會,多餘的數據可留待下一個read或readln使用。[11] write或writeln過程 在system單元 格式:write(f,v1,v2,...,vn)或writeln(f,v1,v2,...,vn) 其中f為文件型變數,標准輸出文件OUTPUT(如顯示器)可省,v1,v2,...,vn為表達式,且每個表達式的必須有唯一確定值,類型為標准類型。write與writeln區別是:writeln輸完所有數據項後,游標自動移動到下一行,即自動換行。1.2.4 一個較完全的PASCAL程序結構一個較完整和PASC程序結構如下:program 程序名(程序參數表)label 標號說明;const 常量說明;type 類型說明;var 變數說明;function 函數說明;procere 過程說明;begin 語句; ... 語句;end .本 章 練 習練習1:指出下面PASCAL表達式的錯誤,並改正。 (1) 7>2 AND (8<>6) (2) NOT 3>2 (3) 3+3/2+1 要求結果為4 (4) sqr 4 / 2 (5) sqrt(4-6)/2 (6) 1/(3-6/2) (7) 3.0 div 2 (8) a(b+c)/d練習2:補充完成程序,實現計算下面兩條數學表達式的運算結果,存檔文件用lx1_2.pas 。(1) (2)(5>2) and not (3<>1) program rzy1;begin writeln( ); writeln( );end .正確運行結果:練習3:補充完成程序,實現輸入長方形兩邊,求周長及面積。存檔文件用lx1_3.pasprogram rzy2;var a,b,L,s:real;begin write('a='); readln(a); write('b='); readln(b); L:=( )*2; s:= ; writeln('L=',L); writeln('S=',s);end .運行輸入數據 a= 4 ←┘ b= 5 ←┘正確運行結果:試把writeln('L=',L);改為writeln('L=',L:5:2);輸出結果有什麼不同?試輸入不同數據,結果如何?
2. 編程:用C語言求a、b、c三個數之和
#include
"stdio.h"
#include
<Windows.h>
void
main()
{
int
a=0,b=0,c=0,sum=0;
printf("請你輸入三個數,例如:1
2
3\n");
scanf("%d
%d
%d",&a,&b,&c);
sum=a+b+c;
printf("\n計算結果的:%d\n",sum);
system("pause");
}
3. CNC三軸數控彎管機Y B C,怎麼計算和編程,最好能詳細說明,有公式。
首先,你要會畫零件圖紙,會畫了以後,圖紙上出來的尺寸,基本就是YBC值,或者畫出來XYZ,然後再轉換成YBC,有這個轉化軟體的,程序輸入後再彎曲後細微調整一下。