-
1.讀取 A 和 B 兩個資料,並逐個輸出。 第乙個 a b 應該是指 a b 的可除性,然後小數除法是帶小數的除法,即普通除法。
過程 vara, b: 整數;
beginreadln(a,b);
writeln(a,'+',b,'=',a+b);
writeln(a,'-',b,'=',a-b);
writeln(a,'*',b,'=',a*b);
writeln(a,'/',b,'=',a div b);
writeln(a,'/',b,'=',a/b:2:2);
writeln(a,'/',b,'=',a div b,'...',a mod b);
readln;
end.2.首先讀取這個字元,使用 pred() 函式查詢前體字元,使用 succ() 函式查詢後續字元,然後比較它們的 ASQII 程式碼值,並按大小輸出。
程式:var
a:char;
beginreadln(a);
write(pred(a),' ',a,' ',succ(a));
readln;
-
例如,a 等於 10,b 等於 5,a + b 的結果是 10 + 5 = 15
vara,b,s:real;
beginread(a,b);
s:=a+b;
write("a+b=",s);end
-
按順序,第乙個滿足,然後下乙個不會執行,所以只執行。
你要注意理解其他意味著什麼"否則"
因為他們是"否則"因此,一定不滿足前面的條件,所以內容不然,就需要執行內容。
只是否則它只是另乙個 if 語句。
-
如果找到第乙個匹配的語句,請執行 then following 語句,然後跳到下乙個分號以繼續。
-
(師父,呵呵)只執行乙個語句。 請記住,這 if 集 else 語句將始終只執行一次。 既然第乙個是滿意的,那就只執行”。
-
vara,i,n,k:longint;
beginread(n);
a:=1;i:=1;
repeat
inc(i);
a:=a*2;
k:=k+a;
until i=n;
writeln(k);
end.你可以問我任何問題。
-
樓下的方法很好,但你真的能理解嗎?
讓我解釋一下:
1.首先,將 1 粒小麥放入第乙個網格中,1 >> 1
在第二個隔間裡放了 2 粒小麥,2 >> 2
在第三個隔間裡放了 4 粒小麥,3 >> 4
將 2 (n-1) 粒小麥放入第 n 批。
這能做到嗎?
2.接下來我們需要做的是計算如何為輸入 n 設計演算法輸出 2 (n-1)。 首先想到的是:
var i,n,s:longint;
beginreadln(n);
s:=1;for i:=1 to n-1 do
s:=s*2;
writeln(s);
end.但! Longint 只能儲存 -2147483648 到 2147483647 的數量(即 -2 31 到 2 31-1),最大計算量為 2 30,這不符合問題的條件,我們用高精度說,這是乙個解決方案。
有關 Pascal 中各種資料型別的儲存範圍,請參閱:
請看樓下那張的**,很短,但實際上效率很高,很適合這個問題。 為什麼?
TA使用qword型別,在百科全書上解釋:
-
讓我們從這個想法開始。
從字串的開頭查詢它。
3:重複 1 和 2,比較子字串的長度得到新的最大長度值,修改源基的內容和起始值的最長子字串。
該計畫的具體實施將在後面給出。
-
我不知道 lz 是否知道位操作不是。 如果您不知道,只需搜尋百科全書即可。
例如,6 的二進位是 110,右邊的兩位數字是 1,即 6 shr 2=1,a[n+1]:=maxlongint>>2; 這就是它的意思。
a[n+1]:=maxlongint shr 2;實際上,這也可以被認為是 a[n+1]:=maxlongint div 2 div 2; 只是位元運算的效率非常高。
-
maxlongint 是 longint 的最大值,即 2 31-1,>>2 和 shr 2 或 div 4 是同乙個函式,這 4 句話是將 b 陣列的 1 n、n+1 和 n+2 的值賦值給 (2 31-1) div 4
Pascal編譯系統是乙個系統軟體。 Pascal 是第一種結構化程式設計語言,具有嚴格的語法、清晰的層次結構、易於編寫和可讀的程式。 Pascal語言廣泛應用於各種軟體中,程式分為名稱(程式後自提)、設定(var後定義)、開始(begin)、程式(body)、read(讀read ln)、結束(end),結構層次分明,嚴謹嚴密。 >>>More
簡單的 pacal 編譯器實現。 rar] - 此原始碼是乙個簡單的 Pascal 編譯器實現,使用 lex 和 yacc 工具實現。 >>>More