ファーストイヤー・セミナーⅡ 第8回 データの入力.

Slides:



Advertisements
Similar presentations
第 2 章 数値の入力と変数 scanf と変数をやります 第 2 章 数値の入力と変数 1. 以下のプログラムを実行してみよう  C 言語では文の最後に「 ; 」(セミコロン)が付きます 第 2 章 数値の入力と変数 2 #include int main() { int x; x = 3; printf("x.
Advertisements

1 第5回 配列. 2 今回の目標 マクロ定義の効果を理解する。 1次元配列を理解する。 2次元配列を理解する。 ☆2 × 2の行列の行列式を求めるプログラ ムを作成する.
復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ
復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ
配列の宣言 配列要素の初期値 配列の上限 メモリ領域 多次元配列 配列の応用
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第3回 配列(1) 情報・知能工学系 山本一公
初年次セミナー 第8回 データの入力.
関数(1) 第11回 [6月29日、H.16(‘04)] 今日のメニュー 1 前回の課題 2 前回の宿題 3 いろいろな関数の演習 4 課題
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第4回 配列(2) 情報・知能工学系 山本一公
プログラミング入門2 第4回 配列 for文 変数宣言 初期化
C言語 配列 2016年 吉田研究室.
初年次セミナー 第4回 整数と実数の取り扱い.
第2章 数値の入力と変数 scanfと変数をやります.
第13回構造体.
配列(2) 第10回[平成15年6月26日(木)]:PN03-10.ppt 今日の内容 1 素数を求める(教科書の例):復習
第12回構造体.
プログラミング入門2 第10回 構造体 情報工学科 篠埜 功.
プログラミング入門2 第10回 構造体 情報工学科 篠埜 功.
プログラミング基礎I(再) 山元進.
問題提起その 1 一文字ずつ文字(数字)を読み込み、それぞれの文字が何回入力されたかを数えて出力するプログラム。
多重ループ 繰り返し構造:補足事項 第8回目 [6月8日、H.16(‘04)] 本日のメニュー 1)前回の課題について
多重ループ 繰り返し構造:補足事項 第8回目 [6月12日、H.15(‘03)] 本日のメニュー 1)前回の課題について
文字配列の課題1 解説 /* a */ #include <stdio.h> main( ) { int i;
C言語 配列 2016年 吉田研究室.
コンピュータープログラミング (C言語)(9) 1.これまでの復習
プログラミング実習 1・2 クラス 第 1 週目 担当教員:  渡邊 直樹.
理由:文字数より要素数の多い配列を用いた時に,文字列の最後を示すため
理由:文字数より要素数の多い配列を用いた時に,文字列の最後を示すため
第6章 2重ループ&配列 2重ループと配列をやります.
問題 1 キーボードから入力した数の合計を計算するプログラムを 作成せよ。最初に、何個の数を入力するかその数を入力 するようにする。
データ構造とアルゴリズム論 第2章 配列(構造)を使った処理
配列(1) 第9回目 [6月15日、H.16(‘04)] 本日のメニュー 1)前回の課題について 2)前回の宿題について 3)配列 4)課題
精密工学科プログラミング基礎Ⅱ 第3回資料 今回の授業で習得してほしいこと: 2次元配列の使い方 (前回の1次元配列の復習もします.)
プログラミング 3 構造体(1).
第10回 プログラミングⅡ 第10回
第7回 条件による繰り返し.
情報処理Ⅱ 2007年11月5日(月).
プログラミング序論 2. n人のインディアン.
前回の練習問題.
第7回 条件による繰り返し.
プログラムの制御構造 配列・繰り返し.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
精密工学科プログラミング基礎Ⅱ 第4回資料 今回の授業で習得してほしいこと: 文字列の扱い ファイル入出力の方法 コマンドライン引数の使い方
C言語 はじめに 2016年 吉田研究室.
アルゴリズムとプログラミング (Algorithms and Programming)
プログラミング 3 2 次元配列.
復習 breakとcontinueの違い int i; for (i = 1; i <= 100; i++) { ・・・処理1・・・・
復習 Cにおけるループからの脱出と制御 break ループを強制終了する.if文と組み合わせて利用するのが一般的. continue
プログラミング入門 電卓を作ろう・パートI!!.
アルゴリズムとプログラミング (Algorithms and Programming)
復習 breakとcontinueの違い int i; for (i = 1; i <= 100; i++) { ・・・処理1・・・・
精密工学科プログラミング基礎 第7回資料 (11/27実施)
プログラミング入門2 第5回 配列 for文 変数宣言 初期化
第2章 printf(“変数と入力”); scanf(“%d”,&num);
プログラミング基礎a 第3回 C言語によるプログラミング入門 データ入力
精密工学科プログラミング基礎Ⅱ 第2回資料 今回の授業で習得してほしいこと: 配列の使い方 (今回は1次元,次回は2次元をやります.)
情報処理Ⅱ 2006年11月8日(金).
第7章 そろそろ int 以外も使ってみよう! ~データ型 double , bool~
プログラミング基礎a 第5回 C言語によるプログラミング入門 配列と文字列
プログラミング入門2 第5回 配列 変数宣言、初期化について
第4回 配列.
情報処理Ⅱ 小テスト 2005年2月1日(火).
プログラミング基礎a 第3回 C言語によるプログラミング入門 データ入力
第2章 数値の入力と変数 scanfと変数をやります.
知能情報工学演習I 第11回(後半第5回) 課題の回答
第5回 配列.
知能情報工学演習I 第10回( C言語第4回) 課題の回答
プログラミング演習I 補講用課題
ファーストイヤー・セミナーⅡ 第10回 if文による選択処理(2).
情報処理3 第4回目講義         担当 鶴貝 達政 12/17/2019.
Presentation transcript:

ファーストイヤー・セミナーⅡ 第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 となる組み合わせを表示

データの入力 キーボード(標準入力)からのデータ入力には、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文を使うと便利

配列の初期化 配列の宣言の際、同時に配列にデータ(初期値)を入れておくことができる これを配列の初期化といい、以下のような書き方がある 配列の要素数を書かずに初期化した場合、データの個数分だけ配列の場所が確保される データ個数が配列の要素数より少ない場合、残りの部分には「0」が入る int hairetsu[5] = {3,12, 9, 5, 75}; int hairetsu[ ] = {3,12, 9, 5, 75}; int hairetsu[5] = {3,12, 9} 配列の要素数は5になる 残り2つには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 をおこない、結果を表示するプログラム