情報科学演習
2011.06.27
Back to index page
- 本日の作業内容
- 宿題の結果について
以下に示すようにインデントのおかしいものが見られます.注意してください.
main()
{
int i = -5, j, p;
printf("My student number: s104025\n\n");
while(i<=5){
p = -i * i;
j = 0;
while(j<=p+30){
printf("*");
j++;
}
printf("\n");
i++;
}
printf("\n-----------------------------------------------\n");
return(0);
}
|
main()
{
int a,x,y;
y = -5;
printf("My student number: s104034\n\n");
while(y <= 5){
a = 0;
x = -y* y + 30;
y++;
while(a <= x){
printf("*");
a++;
}
printf("\n");
}
printf("\n");
printf("---------------------------------\n");
return(0);
}
|
main()
{
int i,x,y;
y = -5;
printf("My student number : s104037\n\n");
while(y <= 5){
i = 0;
x = -y* y + 30;
y++;
while(i <= x){
printf("*");
i++;
}
printf("\n");
}
printf("\n");
printf("-------------------------------------\n");
return(0);
}
|
main()
{
printf("My student number: s104046\n\n");
int x=-6, y=0;
while(x<=5){
x++;
while(y<=31){
if(31-x*x<=y)
printf(" ");
else
printf("*");
y++;
}
y=0;
printf("\n");
}
printf("\n-----------------------------------------------\n");
return(0);
}
|
main()
{
int i, j;
printf("My student number: s104099\n\n");
i=-5;
while(i<=5){
j=0;
while(j<=-i*i+30){
printf("*");
j++;
}
i++;
printf("\n");
}
printf("\n----------------------------------------------\n");
return(0);
}
|
- 前回の復習
- while 文の基本
ただ単に10回動作を繰り返すような処理の場合,以下のような書式で実現できま
す.
i = 1;
while(i<=10){
printf("%d ", i);
i++;
}
|
変数 i の初期化も,増分も自分で別途記述する必要があります.
- 反復回数が決まっていない場合の while 文
前回の実習課題の ii のように繰り返す回数が決まっていないときに
は,while 文の方が for 文よりも簡単になる場合がありま
す.
n = 100;
while(n>=0){
m = rand() % 11 + 20;
printf("%d - %d = ", n, m);
n -= m;
printf("%d\n", n);
}
|
- 1次元配列
この授業の最後の難関である配列です.これが使えないと実際のプログラミング
では困ります.複数の並んだ値を一つの名前で保存できる便利な機能ですので,
必ず使えるようになってください.
ポイントは値が何番目に入っているかを示す「添字」の使い方です.この添字を
for 文などと組み合わせて自動的に処理する方法を理解しましょ
う.
- 実習