第5講 メソッド(1)
第5話 引数を利用した様々なメソッド
@引数(は1つ)を2倍にして表示するプログラム
解答例
//以下C#を始めるためのお呪い
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//以上C#を始めるためのお呪い
namespace a //初心者はお呪い=決まり事と思い一切気にしない
{
class Program //初心者はお呪い=決まり事と思い一切気にしない
{
static void Main(string[] args) //私は社長だ。
{
f(10); //社員f()に仕事を命じている。
}
static void f(int x)
{
Console.WriteLine("{0:d}の2倍は{1:d}", x,2*x);
}
}
}
実行結果
10の2倍は20
A引数を初項・交差・末項にして等差数列の和を計算。ただし、初項3・交差2・末項11とする。
解答例
//以下C#を始めるためのお呪い
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//以上C#を始めるためのお呪い
namespace a //初心者はお呪い=決まり事と思い一切気にしない
{
class Program //初心者はお呪い=決まり事と思い一切気にしない
{
static void Main(string[] args) //私は社長だ。
{
f(3,2,11); //社員f()に仕事を命じている。
}
static void f(int s,int k,int m)
{
int w = 0;
for (int i = s; i<= m; i += k) w += i;
Console.WriteLine("初項{0:d}、交差{1:d}、末項{2:d}の等差数列の和={3:d}",
s, k, m, w);
}
}
}
実行結果
初項3,交差2,末項11の等差数列の和=35
B引数を初項・交差・末項にして等差数列の和を計算。ただし、引数の各値はmain()においてキーボード上から取得。
//以下C#を始めるためのお呪い
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//以上C#を始めるためのお呪い
namespace a //初心者はお呪い=決まり事と思い一切気にしない
{
class Program //初心者はお呪い=決まり事と思い一切気にしない
{
static void Main(string[] args) //私は社長だ。
{
int s, k, m; //s:初項 k:交差 m:末項
Console.WriteLine("キーボーから初項、交差、末項を順に入力して下さい。");
Console.Write("初項=");
s = int.Parse(Console.ReadLine()); //キーボードからsの値を取得
Console.Write("交差=");
k = int.Parse(Console.ReadLine()); //キーボードからkの値を取得
Console.Write("末項=");
m = int.Parse(Console.ReadLine()); //キーボードからmの値を取得
f(s, k, m); //社員f()に仕事を命じている。
}
static void f(int s,int k,int m)
{
int w = 0;
for (int i = s; i<= m; i += k) w += i;
Console.WriteLine("初項{0:d}、交差{1:d}、末項{2:d}の等差数列の和={3:d}",
s, k, m, w);
}
}
}
実行結果
キーボーから初項、交差、末項を順に入力して下さい。
初項=5
交差=2
末項=199
初項5,交差2,末項199の等差数列の和=9996
C引数をa,b,cとしてa*b+cを表示させるプログラム。ただし、a,b,cはMain()おいてキーボードから取得。
解答例
//以下C#を始めるためのお呪い
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//以上C#を始めるためのお呪い
namespace a //初心者はお呪い=決まり事と思い一切気にしない
{
class Program //初心者はお呪い=決まり事と思い一切気にしない
{
static void Main(string[] args) //私は社長だ。
{
int a, b, c; //s:初項 k:交差 m:末項
Console.WriteLine("キーボーからa,b,cの順に入力して下さい。");
Console.Write("a=");
a = int.Parse(Console.ReadLine()); //キーボードからaの値を取得
Console.Write("b=");
b = int.Parse(Console.ReadLine()); //キーボードからbの値を取得
Console.Write("c=");
c = int.Parse(Console.ReadLine()); //キーボードからcの値を取得
f(a, b, c); //社員f()に仕事を命じている。
}
static void f(int a,int b,int c)
{
Console.WriteLine("a*b+c={0:d}", a * b + c);
}
}
}
実行画面
キーボーからa,b,cを順に入力して下さい。
a=59
b=67
c=109
a*b+c=4062
さて、なぜ単なる部品にすぎないものをメソッド=関数というのでしょうか。
その答えは、第6話以降の戻り値を学ぶとわかります。