×

[PR]この広告は3ヶ月以上更新がないため表示されています。
ホームページを更新後24時間以内に表示されなくなります。

モールス信号の変換

ホーム > Programing > Pascalコード集 > モールス信号の変換

注意

このサイトの利用によって生じた損害については当方では責任を負いかねますのでご了承ください。
数字の1は「トン」を表します。
数字の2は「ツー」を表します。

コード

program MorseCoding(input, output);
type MorseCode = array [1 .. 128] of string;

{モールス符号への変換表の作成}
procedure InitMorseCode(var m : MorseCode);
var i : integer;
begin
	for i := 1 to 128 do
		m[i] := '';

	{Definition}
	{0 <-> none}
	{1 <-> .}
	{2 <-> -}

	{0 .. 9}
	m[48] := '22222';
	m[49] := '12222';
	m[50] := '11222';
	m[51] := '11122';
	m[52] := '11112';
	m[53] := '11111';
	m[54] := '21111';
	m[55] := '22111';
	m[56] := '22211';
	m[57] := '22221';

	{A .. Z}
	m[65] := '12';
	m[66] := '2111';
	m[67] := '2121';
	m[68] := '211';
	m[69] := '1';
	m[70] := '1121';
	m[71] := '221';
	m[72] := '1111';
	m[73] := '11';
	m[74] := '1222';
	m[75] := '212';
	m[76] := '1211';
	m[77] := '22';
	m[78] := '21';
	m[79] := '222';
	m[80] := '1221';
	m[81] := '2212';
	m[82] := '121';
	m[83] := '111';
	m[84] := '2';
	m[85] := '112';
	m[86] := '1112';
	m[87] := '122';
	m[88] := '2112';
	m[89] := '2122';
	m[90] := '2211';

	{a .. z}
	m[97] := '12';
	m[98] := '2111';
	m[99] := '2121';
	m[100] := '211';
	m[101] := '1';
	m[102] := '1121';
	m[103] := '221';
	m[104] := '1111';
	m[105] := '11';
	m[106] := '1222';
	m[107] := '212';
	m[108] := '1211';
	m[109] := '22';
	m[110] := '21';
	m[111] := '222';
	m[112] := '1221';
	m[113] := '2212';
	m[114] := '121';
	m[115] := '111';
	m[116] := '2';
	m[117] := '112';
	m[118] := '1112';
	m[119] := '122';
	m[120] := '2112';
	m[121] := '2122';
	m[122] := '2211'
end;

procedure main;
var c : char;
	m : MorseCode;
begin
  {モールス符号表の作成}
	InitMorseCode(m);

	while not eof do
	begin
		while not eoln do
		{行末まで変換}
		begin
			read(c);
			write(m[ord(c)])
		end;

		{読み・書きそれぞれ改行}
		readln;
		writeln
	end;
	readln
end;

begin
	main
end.
			

作成日:2016年9月25日、最終更新日: