ファーストイヤー・セミナーⅡ 第6回 for文による繰り返し処理(2) 前回のレポート例 「*」などを用いて直角三角形を記述するプログラム ここまでの復習 今回はここまでの復習+for文を用いたプログラムの練 習をおこないます。 基本的なところから再度確認してください。 Ultra-Cの基本操作 Ultra-Cを起動すると以下のような画面が表示される。 最初に表示されているウインドウが「プログラム作成画 面」であり、ソースプログラムを記述する。 Ultra-Cの基本操作(実行) プログラム記述と保存が終わったら、ツールバーにある青 い三角ボタンを押す。 プログラムに問題がなければ「標準入出力」というウイン ドウが開く。この部分に実行結果が表示される。 実行ボタンが反応しない場合 プログラムを実行するには「インタプリタ」が起動していな ければならない。 通常はUltra-Cの起動時に一緒に起動しているが、終了さ せた場合(「標準入出力」ウインドウを閉じるとインタプリタ も終了する)にはインタプリタを再度起動してやればプロ グラムを実行できる。 インタプリタを起動するには「インタプリタ」メニューから 「起動」を選ぶ。 インタプリタが起動しているときは「標準入出力」ウインド ウがどこかに開いているはずなので確認しておこう。 Ultra-Cの基本操作(エラー処理) プログラムに問題がある場合、中央に「エラー情報」という ウインドウが表示される。 エラーの内容も表示されるので、参考にして修正する。 ソースプログラムの構成 ソースプログラムは一般に以下のような形になる。 さしあたり、以下の「文;」となっている部分以外は「おまじ ない」と考えて必ず書くようにする。 変数と宣言 変数を利用するには「型名」と「変数名」を最初に「宣言」し なければならない 型名:整数、実数、文字列などデータの形式を示す 変数名:プログラム内で使用する変数の名前を示す 宣言:これから「こういう形式でこういう名前の変数を使い ますよ」ということを事前に示す 宣言の形式 プログラム例:「宣言」は最初に! 整数型の変数 x, y を宣言 (int x, y; と書いてもよい) xに100を、yに x×2(100×2)を代入 表示 よくあるミスについて これまで講義中に見た中でプログラムがうまく動作しな い理由は以下のようなものがありました 全角文字(特にスペース)を使ってしまっている 型と形式が合っていない(float型⇔%d などの間違い) カッコの数が合っていない(特に関数のネストをする場合 は注意が必要) インタプリタが起動していない 宣言より前に本文が来てしまっている 文の最後のセミコロン「;」が抜けている for文の復習 for文は「特定の処理を」「ある条件が満たされている間」繰 り返すための制御文である。 一般的にはある処理を一定回数だけ繰り返したいときによ く使用される。 for文の書式 for(初期設定;実行条件式;再設定){ 文; 文; } for文の書式 for文は「初期条件」「実行条件」「再設定」の部分と、実際 に繰り返す部分(およびカッコ)で構成される 初期条件:int型整数 i を 0 としてスタート 実行条件式:i が5以下 なら処理を続行 再設定:処理を一回する ごとに i を1ずつ増やす for文による処理の流れ for文のネスト for文をネスト(入れ子)して使用することができる。 外と内の多重ループとなり、外側のループ一回に対して 内側の繰り返し回数だけ実行されて進んでいく。 j の繰り返しが終わったら i がインクリメントされる i が固定のまま j が 1~10まで進む for文のネスト(例) 「三角形を出力する」プログラムの例 出力例 参考:比較演算子 for文の実行条件式などで使用される比較演算子には以 下のようなものがある インクリメント演算子・ディクリメント演算子 for文の条件再設定の部分などで使用される(本文中の処 理でも使用できる)演算子 インクリメント演算子・ディクリメント演算子には前置型と後 置型がある 後置型 a++ b-前置型 --a --b ←処理の後にaを1増やす ←処理の後にbを1減らす ←処理の前にaを1増やす ←処理の前にbを1減らす 前置型と後置型 以下のようなプログラムを作成して実行してみよう どの部分でa, b に1 が加算されているか考えてみよう 代入演算子と算術演算子 算術演算子(+, -, *, /, %)を代入演算子(=)を使って以下の ように書き換えることができる a a a a a = = = = = a+n a-n a*n a/n a%n ⇔ ⇔ ⇔ ⇔ ⇔ a a a a a += -= *= /= %= n n n n n 代入演算子と算術演算子(使用例) 本文中の計算のほか、for文の「再設定」のところに使っても よい 例)i を0から2ずつ増やし、10まで表示 練習 整数をキーボードから読み込んで、1からその整数までの和 を求めるプログラムを作成してください キーボードからの入力にはscanf関数を使います 例)整数値をxという変数に読み込む scanf (“%d”,&x); for文を用いて、読み込んだ1から整数までの和を計算して みましょう 練習のプログラム例 第6回のレポート 以下のプログラムを全て作成し、どちらか1つをメールで教 員まで送ってください。 (1)キーボードから読み込んだ整数の階乗を求めるプログラ ム(nの階乗は n! = n×(n-1)×(n-2)×・・・×1 = 1×2×・・・(n-1)×n) (2)キーボードから読み込んだ整数のケタ数だけ 「1234567890」の並びを出力するプログラム(入力された整 数が12なら「123456789012」、3なら「123」)
© Copyright 2024 ExpyDoc