Document

ファーストイヤー・セミナーⅡ
第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」)