procedure 手続き名(仮引数の宣言);
(この手続き宣言部でのみ有効な定義・宣言部)
begin
(実行文部)
end;
function 関数名(仮引数の宣言): 関数の作る値の型;
program sample3a; { 'た'ぬきプログラム } type moji=varying[255] of char; var bun:moji; procedure tanuki(var a:moji); var i,j:integer; b,c:moji; begin i:=index(a,'た'); j:=length(a); if i<>0 then begin b:=substr(a,1,i-1); c:=substr(a,i+2,j-i-1); a:=b+c; end; if index(a,'た')<>0 then tanuki(a); end; begin bun:='たんたんたぬきのかたたたき'; writeln(bun); writeln(' ↓'); { ↓ は日本語コード入力で 02 & 変換 } tanuki(bun); writeln(bun); end.
program sample3b; { 最大公約数 } var tama,koro:integer; function gcd(a,b:integer):integer; var c:integer; begin if a<b then begin c:=a; a:=b; b:=c end; if b=0 then gcd:=a else gcd:=gcd(b,a mod b); end; begin writeln('最大公約数を計算します。'); writeln('自然数をふたつ入力してください。'); readln(tama); readln(koro); write(tama:1,' と ',koro:1,' の最大公約数は '); writeln(gcd(tama,koro):1); end.