關於Free Pascal程式設計問題

2022-03-03 21:05:32 字數 3645 閱讀 5598

1樓:匿名使用者

迴圈問題。樓上講得很詳細,對樓上的進行補充一下迴圈語句的基本格式,這對初學者的用處也是不可忽視,得從基本的開始,先掌握理論,進行實戰,事半功倍。

for 《迴圈變數》:=《初始值》to《終值》 do迴圈體;

接著就是了解方法,樓上已經把解題的方法講的很詳細了,綜合的應用就要看樓主自己的啦,多練習兩次,相信不難掌握迴圈語句。

告戒:語言是招式,演算法是內功,要想成為變成界的高手,演算法內功要一起學。

祝:樓主早日成為「高手」。

2樓:鍾闊

**如下:

problemn 表是你問的第n個問題。

迴圈很簡單,很好學。

varm,n:longint;

procedure problem1//第1個問題,下同;

var i,j:longint;

begin

for i:=10 downto 0 do //三角形的層數

begin

for j:=1 to i do write(' ');//空格數,遞減

for j:=1 to 10-i do write('*');//三角形,遞增

writeln;//每次寫完一行要回車

end;

end;

procedure problem2; //(problem1的逆運算)

var i,j:longint;

begin

for i:=0 to 10 do

begin

for j:=1 to i do write(' ');

for j:=1 to 10-i do write('*');

writeln;

end;

end;

procedure problem3;

var i,j:longint;

begin

for i:=1 to 5 do

begin

for j:=6-i downto 1 do write(' ');//就是兩個直角三角形在一起

for j:=1 to i do write('*');

for j:=1 to i-1 do write('*');

writeln;//回車。

end;

end;

procedure problem4;//仔細觀察,也是上一個的逆運算,不多說。

var i,j:longint;

begin

for i:=5 downto 1 do

begin

for j:=6-i downto 1 do write(' ');

for j:=1 to i do write('*');

for j:=1 to i-1 do write('*');

writeln;

end;

end;

procedure problem5;

var i,j:longint;

begin

for i:=1 to 4 do //左邊空格數,右邊不用寫的

begin

for j:=5-i downto 1 do write(' ');//同p3,空格遞減

write('*');//寫一個『*』

for j:=1 to i-1 do write(' ');//中間是空格,同p3的『*』,內容不同

for j:=1 to i-2 do write(' ');//右面的空格

if i<>1 then writeln('*') else writeln;//補回一個『*』,但注意第一行的不要補回

end;

for i:=1 to 9 do write('*');//最後一行全是『*』

writeln;

end;

procedure problem6;//上一題的逆運算,自己看一下吧。

var i,j:longint;

begin

for i:=1 to 9 do write('*');

writeln;

for i:=4 downto 1 do

begin

for j:=5-i downto 1 do write(' ');

write('*');

for j:=1 to i-1 do write(' ');

for j:=1 to i-2 do write(' ');

if i<>1 then writeln('*') else writeln;

end;

end;

[begin

writeln('case 1:');

problem1;

writeln;

writeln('case 2:');

problem2;

writeln;

writeln('case 3:');

problem3;

writeln;

writeln('case 4:');

problem4;

writeln;

writeln('case 5:');

problem5;

writeln;

writeln('case 6:');

problem6;

writeln;

end.]

裡面的是枝幹。

就這樣。圖案很好看。你肯定很快學會的,加油!

3樓:

var m,n:longint;

procedure problem1//第1個問題var i,j:longint;

begin

for i:=10 downto 0 dobegin

for j:=1 to i do write(' ');//空格數,遞減

for j:=1 to 10-i do write('*');//三角形,遞增

writeln;

end;

end;

4樓:環英楠

有語言篇嗎??這種題目很基礎的

一個關於free pascal的程式設計問題,高手進進來

5樓:匿名使用者

不知道你要什麼形式的值班表,我這個是按照a~g每個大夫的值班日輸出的:

var a,b,c,d,e,f,g,i,j:longint;

begin

f:=4;

for a:=1 to 7 do

for b:=1 to 7 do

for c:=1 to 7 do

if (a=c+1)and(bf) thenfor d:=1 to 7 do

for e:=1 to 7 do

if d=e+2 then

for g:=1 to 7 do

if (b+3=g)and(a+b+c+d+e+f+g=28)and(a*b*c*d*e*f*g=5040) then

writeln(a,' ',b,' ',c,' ',d,' ',e,' ',f,' ',g);

end.

臨時寫的,給點分吧~~~

6樓:往事已隨流年

先列舉值班順序,然後判斷是否合法即可。

複雜度 7!

free pascal中的for多重迴圈問題

你的程式有一個嚴重的語法錯誤。freepascal的主程式 必須 被包括在一對begin.end中 最後一個end後加點 你的程式可以改成 program sy var a,b integer begin for a 1 to 5 do beginfor b 1 to 10 do write end...

關於c 程式設計

所謂轉置,就是將矩陣的一個三角和對對應三角的資料互換,也就是 a i j 和 a j i 互換,給你段4 4矩陣轉置的參考 自己去實現吧,不難的。for i 0 i 3 i cout 轉置後矩陣 a m n b m n for int i 0 i for i 0 i 見 include includ...

c語言程式設計問題 約瑟夫問題求解,C語言程式設計問題 約瑟夫問題求解

include include n表示最初有多少個人,m表示報數到多少的人離開,函式joseph返回最後剩下的人的編號 這個演算法應該比較經典,等高手解答。我的想法的是,兩數列不斷交替篩選。用一個迴圈連結串列就可以完成了!include struct nodenode,list,p,r void j...