ファーストイヤー・セミナーⅡ 第8回 データの入力 第7回のレポート課題(1) 整数を入力して絶対値を表示 入力された数値が 負なら-1をかける 第7回のレポート課題(2) 2001~2050年までのうるう年を表示 2001~2050まで繰り返す 年を4で割って余りが0なら その年を表示する 第7回のレポート課題(3) 横縞模様を表示 i, j の2重ループ iの値が偶数なら、 10個の■を表示 第7回のレポート課題(4) 1~20の整数a, b, cで a2 + b2 = c2 となる組み合わせを表示 a, b, c で3重ループを作り、もし a2 + b2 = c2 となったら表示する データの入力 キーボード(標準入力)からのデータ入力には、scanf関 数を用いる scanf関数の書式は「scanf(“書式”,&読み込む変数名)」と なる 例)整数値をxという変数に読み込む (=キーボードからxの値を入力する) scanf (“%d”, &x); 復習 キーボードから整数値を3つ入力し、その和を計算して表 示するプログラムを作ってみよう 作り方は色々あるので試してみましょう – scanf関数の入力値を3つにする – scanf関数を3回書く – for文を用いてscanf関数を3回実行する 例1:scanf関数に3つの引数を使う 注意:変数名の前の「&」を忘れないように 例2:scanf関数を3回書く 例3:for文を用いる 配列(1) 先ほどの例では入力値が3つだったため、 a, b, c という 変数を用いた 仮に「100個の数値を入力せよ」となった場合、変数の名 前だけでも大変になり、また紛らわしい(入力ミスやプロ グラムミスの誘発) 「配列」を用いると、同じ型の多数のデータを効率よく宣 言、使用することができる 配列(2) 配列の宣言は以下のような形式になる 変数の型:通常の宣言と同じで、整数、実数などの形式 配列名:変数名に相当するもの 要素数:同じ配列名を持つデータの個数 変数の型 例: int a[10]; 配列名[要素数]; (一次元配列) ←整数型の「a」という配列、要素数は10個 配列の例(1) 配列を用いて5つのデータの合計を求めるプログラム 配列xの宣言(要素数5) 配列へのデータの代入 ※配列の番号は「0」から 始まることに注意 配列のイメージ x [5] の場合、以下のように5つのデータを格納する場所 が確保される 添え字([ ]の中の文字)は「0」から始まることに注意 練習 5個の要素を持つ配列 hairetsu[5] を宣言し、好きな整 数値を代入してみよう また、配列のデータを順に出力するプログラムを作成し てみよう 例:配列に順に3、12、9、5、75と代入しておいて出力 <出力イメージ> プログラム例 出力にfor文を使うと便利 配列の初期化 配列の宣言の際、同時に配列にデータ(初期値)を入れ ておくことができる これを配列の初期化といい、以下のような書き方がある int hairetsu[5] = {3,12, 9, 5, 75}; int hairetsu[ ] = {3,12, 9, 5, 75}; 配列の要素数は5になる int hairetsu[5] = {3,12, 9} 残り2つには0が入る 配列の要素数を書かずに初期化した場合、データの個 数分だけ配列の場所が確保される データ個数が配列の要素数より少ない場合、残りの部 分には「0」が入る 配列の初期化(2) 先ほどの初期化の方法だと、以下のようなデータが入る int hairetsu[5] = {3,12, 9, 5, 75}; int hairetsu[ ] = {3,12, 9, 5, 75}; int hairetsu[5] = {3,12, 9} 多次元配列 先ほどまでの配列は添え字が1つの「1次元配列」 添え字を増やして2次元配列、3次元配列などもできる 2次元配列の宣言例 int x[3][2]; イメージとしては右の ような表を考えるとよい 多次元配列の初期化 2次元配列の初期化には以下のような方式がある int x[3][2] = {{1, 2}, {3, 4}, {5, 6}}; int x[3][2] = {1, 2, 3, 4, 5, 6}; ※添え字ごとに{}で区切る 添え字はなくてもよい int x[3][2] = {1, 2, 0}; ※ 要素数が足りない場合は0が入る 練習:for文と2次元配列 for文を用いて2次元配列に数値を代入・表示するプログラム 配列 x の大きさは x[3][2]とする 多重ループを使って以下の表のような数値を入れる ヒント: i を一つ目の添え字、 j を二つ目の添え字とすると (i + 1)*10 + (j + 1) で数値が計算できる プログラム例 練習:配列による得点処理 配列を用いて試験の成績を処理するプログラムを作ろう 5人の得点(0~100)をキーボードから入力し、平均点を計算する 出力例 第8回のレポート 以下のプログラムを全て作成し、どちらか1つをメールで 教員まで送ってください。 宛先: (1)5人の試験結果について、キーボードから得点を入力し、 80点以上の人の番号を表示するプログラム (2)以下の行列AとBの掛け算 A×B をおこない、結果を表 示するプログラム 1 2 3 A 4 5 6 1 5 B 5 3 8 1
© Copyright 2024 ExpyDoc