• 検索結果がありません。

プログラミングI (手続き)

N/A
N/A
Protected

Academic year: 2021

シェア "プログラミングI (手続き)"

Copied!
9
0
0

読み込み中.... (全文を見る)

全文

(1)

プログラミング1 (手続き) 例プログラム program Project1; {$APPTYPE CONSOLE} uses SysUtils; const n = 3; type

TVector = array[1..n] of integer; // 3 次元ベクトルを表示するための手続き procedure print(a:TVector); var i: integer; begin write('('); for i := 1 to n-1 do write(a[i],','); write(a[n],')'); end; // プログラム本体 var i: integer; vec: TVector; begin for i := 1 to n do begin write(i, '>> '); readln(vec[i]); end; print(vec); readln; end.

(2)

例プログラム program Project1; {$APPTYPE CONSOLE} uses SysUtils; const n = 3; type

TVector = array[1..n] of integer; procedure print(a:TVector); var i: integer; begin write('('); for i := 1 to n-1 do write(a[i],','); write(a[n],')'); end; function plus(v1,v2:TVector):TVector; var i: integer; answer: TVector; begin for i := 1 to n do

answer[i] := v1[i] + v2[i]; plus := answer; end; var i: integer; vec1,vec2,vec3: TVector; begin for i := 1 to n do begin

(3)

write(i, '>> '); readln(vec1[i]); end; for i := 1 to n do begin write(i, '>> '); readln(vec2[i]); end; vec3 := plus(vec1,vec2); print(vec1); write('+'); print(vec2); write('='); print(vec3); readln; end. 例プログラム program Project1; {$APPTYPE CONSOLE} uses SysUtils; procedure koukan(x,y:integer); var tmp: integer; begin tmp := x; x := y; y :=tmp; end; var a,b: integer; begin write('>> '); readln(a);

(4)

write('>> '); readln(b); writeln('a: ',a,'b: ',b); koukan(a,b); writeln('a: ',a,'b: ',b); readln; end. 例プログラム program Project1; {$APPTYPE CONSOLE} uses SysUtils;

procedure koukan(var x,y:integer); var tmp: integer; begin tmp := x; x := y; y :=tmp; end; var a,b: integer; begin write('>> '); readln(a); write('>> '); readln(b); writeln('a: ',a,'b: ',b); koukan(a,b); writeln('a: ',a,'b: ',b); readln; end.

(5)

例プログラム // 平均を求めるプログラム program Project1; {$APPTYPE CONSOLE} uses SysUtils; const n = 5; type

TData = array[1..n] of integer; function average(data1:TData):real; var i,sum: integer; begin sum := 0; for i := 1 to n do begin

sum := sum + data1[i]; end;

average := sum / n; end;

procedure InputData(var data1:TData); var i: integer; begin for i := 1 to n do begin write('>> '); readln(data1[i]); end; end; var data: TData; begin

(6)

InputData(data); writeln('平均: ',average(data):10:3); readln; end. 例プログラム // 小文字を大文字に変換するプログラム program Project1; {$APPTYPE CONSOLE} uses SysUtils; const n = 30; type TStr30 = string[n]; procedure henkan(var s:TStr30); var len,i: integer; begin len := Length(s); for i := 1 to len do begin

if (Ord(s[i]) >= 97) and (Ord(s[i]) <= 122) then s[i] := Chr(Ord(s[i])-32); end; end; var str: TStr30; begin write('>> '); readln(str); henkan(str); writeln('変換後: ',str); readln; end.

(7)

例プログラム // 整数を降順に並び替えるプログラム program Project1; {$APPTYPE CONSOLE} uses SysUtils; const n = 5; type

TData = array[1..n] of integer; procedure koujun(var data1:TData); var

i,j,tmp: integer; begin

for i := 1 to n-1 do for j := i+1 to n do

if data1[i] < data1[j] then begin tmp := data1[i]; data1[i] := data1[j]; data1[j] := tmp; end; end;

procedure InputData(var data1:TData); var i: integer; begin for i := 1 to n do begin write('>> '); readln(data1[i]); end; end; procedure OutputData(data1:TData); var

(8)

i: integer; begin for i := 1 to n do writeln('<< ', data1[i]); end; var data: TData; begin InputData(data); koujun(data); OutputData(data); readln; end. 課題問題 1. 4 個の整数を読み込んで、2 行 2 列の行列を表示するプログラムを作成せよ。ただし、 行列を表示する部分は手続きを用いること。 2. 2 行 2 列の行列の和を計算し、表示するプログラムを作成せよ。ただし、行列の和を計 算する部分は関数を用い、行列を表示する部分は手続きを用いること。 3. 5 個の整数を読み込んで、横 1 列に表示するプログラムを作成せよ。ただし、整数を横 1 列に表示する部分は手続きを用いること。 4. 5 個の整数を読み込んで、横 1 列に昇順に表示するプログラムを作成せよ。ただし、昇 順に並び替える部分は関数を用い、横1 列に表示する部分は手続きを用いること。 5. 九九の表を書き出すプログラムを作成せよ。ただし、九九の表を書き出す部分は手続 きを用いること。 6. 正整数 a,b を読み込んで、a/b の分数表記をするプログラムを作成せよ。ただし、分数 表記をする部分は手続きを用いること。 7. 複素数を書き出すプログラムを作成すること。ただし、複素数を書き出す部分は手続 きを用いること。 8. 乱数を用いて 0 以上 1000 以下の整数を 100 個生成し、最大値を求めるプログラムを作 成せよ。ただし、整数を生成する部分は手続きを、最大値を求める部分は関数を用い ること。 9. 英字からなる文字列を読み込んで、先頭の文字を大文字に、それ以降の文字のすべて を小文字に変換するプログラムを作成せよ。ただし、変換する部分は手続きを用いる こと。

(9)

10. 英字からなる文字列 str と文字 ch1, ch2 を読み込んで、str に含まれる文字 ch1 を ch2 に置き換えてできる文字列を出力するプログラムを作成せよ。ただし、変換する部分 は手続きを用いること。

11. サイズ 10 の整数の配列を別の配列にコピーするプログラムを作成せよ。ただし、テー タを読み込む部分とコピーする部分は手続きを用いること。

12. 正整数 a,b を読み込んで、a/b の分数表記をするプログラムを作成せよ。ただし、a/b は既約分数とし、分数表記をする部分は手続きを、最大公約数を用いる部分は関数を 用いること。

参照

関連したドキュメント

(注)本報告書に掲載している数値は端数を四捨五入しているため、表中の数値の合計が表に示されている合計

本手順書は複数拠点をアグレッシブモードの IPsec-VPN を用いて FortiGate を VPN

“〇~□までの数字を表示する”というプログラムを組み、micro:bit

調査の結果を反映し、IoT

・発電設備の連続運転可能周波数は, 48.5Hz を超え 50.5Hz 以下としていただく。なお,周波数低下リレーの整 定値は,原則として,FRT

・発電設備の連続運転可能周波数は, 48.5Hz を超え 50.5Hz 以下としていただく。なお,周波数低下リレーの整 定値は,原則として,FRT

(注)本報告書に掲載している数値は端数を四捨五入しているため、表中の数値の合計が表に示されている合計

(売手R)と締結した売買契約に基づき、売手Rから 2,000 個を単価 600 円(CIF建 て)で購入(輸入)したものである。なお、売手Rは