# 情報処理実習 第2回 質問回答ページ
## リンク
- [repl.it](https://repl.it/~)
- [Webex URL](https://aoyamagakuin.webex.com/aoyamagakuin/j.php?MTID=m6fc3d728933d8fb9fcb4b05c2100ffec)
- [第2回講義用質問フォーム](https://docs.google.com/forms/d/e/1FAIpQLSe7DLwFFp02Py0Gn-Qg0qByplE-O17yrmQCEHO3239ZOPZ7Sg/viewform)
- [第2回講義用回答状況](https://docs.google.com/spreadsheets/d/1vD4Mh34B3Pht01kJL6lCXHC_01A6EJU5JoDVt7LrC9c/edit#gid=1138067213)
- [第2回講義用質問回答ページ](https://hackmd.io/2B9vZe5mRH6A1qLFAixZow)(このページです)
## 質問&回答について
「質問番号n」の形で見出しをつけます.
基本的には新しい回答ほど上位に表示されます.
回答状況ページで回答状況を確認後,
Ctrl+F,Cmd+Fで自分の質問番号をページ内検索してください.
ただし,回答状況のH列は「回答書き込み完了」ではなく「**今から回答を行います**」の印です.
質問量に依っては「重複した質問」欄の更新が止まる場合があります.
そのため,重複した質問は回答の場所を検索出来ないことがあります.
また,質問する前に必ずこのページを見て,**類似の質問がないことを確認**してからGoogleフォームで質問を投稿してください.
質問と回答の例は以下の通りです.
### 質問番号0
>hogeがhogehogeの場合,hogehogehogeはhogeですか?
<!--質問は引用の形で書いてください-->
```C: main.c
#include <stdio.h>
int main(void) {
printf("Hello World\n");
return 0;
}
```
<!--必要に応じて↑コードや,↓エラーメッセージを書いてください-->
```
clang-7 -pthread -lm -o main main.c
main.c:4:3: warning: implicit declaration of function 'print' is
invalid in C99 [-Wimplicit-function-declaration]
print("Hello World\n");
^
1 warning generated.
/tmp/main-071bdf.o: In function `main':
main.c:(.text+0x1c): undefined reference to `print'
clang-7: error: linker command failed with exit code 1 (use -v to see invocation)
compiler exit status 1
```
XXXがYYYなのでZZZをAAAするとBBBがCCCです.
重複した質問:質問番号i, 質問番号j,質問番号k
<!--学生さんが検索しやすいように,
「重複した質問」欄も「質問番号n」の形で
質問番号を書いてください.-->
<!--回答の手間を省くため,回答者と「質問」「回答」の見出しは不要です-->
---
<!--他の教員・TAさんと回答が重複することは全く問題ありません.
文量は多いに越したことないので,
気にせず回答をガシガシ書いてください-->
<!--基本的にはFIFOで回答をお願いします-->
<!--新しい質問に回答した時だけでなく,
「重複した質問」欄に質問番号を追加しただけの場合も,
スプレッドシートの「回答者」欄にチェックを入れてください.-->
<!--同じ質問が複数の箇所で回答されていることに気づいた方は
積極的にマージしていってください.-->
<!--回答を書き終わったタイミングではなく,
回答に取り掛かる段階で「回答者」欄にチェックを入れてください.
そちらの方が教員・TAにとって楽だと思います.-->
<!--古いものほど下位に表示されるよう,最新の回答を
この下に書いてください-->
## Q&A
### 質問番号47
>授業後に質問した内容は返答してもらえるのでしょうか?
すみません.質問フォームは授業後に閉じられます.
### 質問番号46
>「時間内のレポート提出を優先してください」と言うのは「時間内に終わったところまでを提出する」と言う解釈で良いのでしょうか?
はい.時間内に終わったところまでを提出するという意味です.
ただ,この授業では毎回全く新しいことを扱うわけではなく,
第2週の内容を使って第3週の内容を,第3週の内容を使って第4週の内容を...
という感じなので,間に合わなかった課題にも取り組むことをおすすめします.
(レポートの再提出は不要です)
### 質問番号45
> 出力結果の上の部分のエラーの意味がわかりません.
```
clang-7 -pthread -lm -o main main.c
main.c:5:2: warning: treating
clang-7 -pthread -lm -o main main.c
main.c:5:2: warning: treating
clang-7 -pthread -lm -o main main.c
./main
```
自分の環境では表示されませんでした、こちらエラーではなく警告(エラーにはならないがあんまり良くない操作をしているよ、との警告)です。とりあえず、このまま動かしてみてください。
### 質問番号43
>課題2-5のURLを提出する枠がないのですが、課題2-5は出来ていても提出不要なのでしょうか
すみません.今提出窓口を作りました.
そちらに提出をお願いします.
### 質問番号41
課題3についてです。下の方法では、60分となってしまい1時間が入力されません。どこの計算式が違うかのヒントをいただけないでしょうか?
>b=a/3600; の位置に注目してください。今の位置にある場合、aにはどの数字が入っているか、それによってbが何の値になっているかを考えてみてください。 そうすれば正しい位置がわかると思います。
### 質問番号41
>下のように書くとaの値がおかしくなります。
どこが間違っているのかがどうしてもわかりません。
問題文をもう一度確認してください.STEP3は「bにaを代入する」です.
### 質問番号40
>計算結果が出ませんでした。どのようにすればよろしいでしょうか?
printf文の使い方が違います。資料の13ページをよく見てみてください。
### 質問番号39
>urlの提出口はいつできますか
すみません.今開きました.
### 質問番号38
>areaの計算結果が明らかに違う数値になってしまう。
今回の配布資料14,16,28ページなどを確認してみてください.
### 質問番号37
>¥nを入力しても¥nがそのまま結果に表示されてしまいます。どうすればよいでしょうか。
送っていただいたコードを実行してみたのですが、¥nが全角になってしまっているからだと思います。
半角に修正してみてください。半角の¥が入力できない場合はバックスラッシュ(\)でも代用できるので、試してみてください。(資料p.10に書いてあります)
### 質問番号35
Runを押すとStopと出てきて右側に途中までしか表示されません
>私のほうで実行した場合には、特に問題なく実行できました。コードに全角が混ざっていないか確かめる、コードをワードなどにメモしたうえで、もう一度立て直してみるなどしてみてください それでも問題がある場合は再度質問をお願いいたします。
>質問内容ではないですが、最後のprintfの文にて計算結果が4になりそれを出力する課題のため、4と自分で指定して出力される今の文は少し変えてみた方がいいと思います。
### 質問番号34
>このプログラムを実行した後に右側に数値を入力しようとしたのですが入力することができません。
右側の黒い画面にカーソルを持っていき、半角で数値を入力後、エンターキーを押せば数値を読み込めます。
### 質問番号33
>送らせてもらったプログラムでどこがいけないのでしょうか?
printf関数の中をすべて""で囲んでしまっているところだと思います。
講義資料の中でprintf関数のどの部分に""がついているかよく見てみてください。
### 質問番号32
> scanfのなにがおかしいのでしょうか.資料を確認してもわかりません.このプログラミングは変数a入力させているつもりなのですが,違うのでしょうか.
資料p.34の定義と1字1句同じに書いていますか。私には余分な何か(`\n`)が見えます。
### 質問番号27
>時間内にすべての課題が終わらない場合はどのようにすればよいでしょうか?
時間内のレポート提出を優先してください.
### 質問番号26
>macなんですけど、scanfで数値を入力できないです。
macかwindowsかという問題より、コードの問題な気がします...
送っていただいたコードがすべてでしょうか?その場合、変数の宣言がされていない気がします...
講義スライドのp21~24あたりをもう一度見てみてください
### 質問番号25
>右側にキーボード入力ができません。どこを改善すればできるようになりますか?
送っていただいたコードで,数字を入力出来ました..
数字は半角である必要がありますが,全角で入力しているなどではありませんか?
類似の質問:質問番号44
### 質問番号24
> aの値の入力はできました.(かな入力でないと入力できないことを共有すべきかと思います.) scanで入力させたaをbに代入する方法がわかりませんint b=a;とするとすでに定義されていると出てきてしまいます.定義は上書きされるのではないのでしょうか.
「かな入力でないと入力できないことを共有すべきかと思います」の部分が何を言っているのかこちらでは理解できませんでした。少なくとも提出していただいた、コードの`scanf`と変数の代入方法はおかしい部分があるのでもう一度該当部分の資料を確認してみてください。
### 質問番号23
>課題2についてなのですが、areaの使い方がわかりません。
area=lengthがない場合でも試しましたが、課題の図の3のように出力されました。
四角形の面積を計算した結果をareaという変数に代入するようにコードを書いてみてください。
今書いてくれているコードだと直接計算した結果をprintfで出力するようにしていると思うのですが、
area=△*▲;
printf("~ ~ ~",~,area);といったようになると思います。
### 質問番号20
>printfのなかで("%d",変数)のような表現をした後に日本語を続けたいです。プログラム本文中では下から3行目です
`printf`の文法がかなりおかしいです。もう一度資料の`printf`部分を読み直してください。
### 質問番号19
>課題3の秒数表示の計算方法がわかりません
例えば3601秒、とキーボードから入力したとすると1時間は60秒×60分なので、何時間かを求めたいときには3601/(60秒×60分)と計算すると思います。こんな感じで分、秒も計算してみてください
(↓は別の回答者です)
この課題に限らず,何かコードを書く時は,一度絵を書いてみてどんな計算・手続きをする必要があるのかを考えるのが良いと思います.
3661秒は,1時間1分1秒ですが,3601秒のうちどれだけの部分が1時間でどれだけの部分が1分でどれだけの部分が1秒なのかを見てみるのはどうでしょうか..
### 質問番号17
> 課題1のstep2でaの値が受け取れません。 scanf()関数のカッコ内をいろいろ変えてみましたがわかりませんでした。
```c
#include <stdio.h>
int main(void) {
int a,b; printf("頭のなかに浮かべた数字を入力してください\\n");
scanf("%d",&a); return 0;
}
```
> aの値を受け取け取れません
これはどのような意味でしょうか?scanfは値を受け取ることしかできません。受け取った値を出力画面(コンソール、黒い部分)に表示するためには`printf`関数を使う必要があります。もう一回scanfの部分の資料を確認してみてください。
### 質問番号15
>URL提出窓口がありません。いつ頃設置されますか?
後ほど公開されます.
公開したタイミングで,Teamsで連絡しますのでそちらを確認するようにしてください.
(もう完成してしまっている方も,レポートにアピールポイントを追加していってください)
### 質問番号14
>第1回の資料のレポートの作成手順のstep3に「資料の出題文を書き写す」と記載されていますが、今回で言うとどれを書き写すのでしょうか?また、目的、方法は写すのではなく、各自で考えるということでしょうか?
今回は,箇条書き部分を書き写してください.
課題2,4の問題中で出てくる穴あきのコードは書き写さなくてOKです.
### 質問番号10
>課題1で頭に思い浮かんだ数字を当てると書いてあるが実行結果例を見ても変数aが4という結果を書いているので問題文と課題の内容が合っていないと思いました。これはどんな数字でも4になるという課題でよろしいですか?
はい.授業中に喋った通り,どんな数でも4になります.
もしも,実際にコードを書いてみて「やってみたけど4にならなかった」という意図の質問であれば,コードに間違いがあると思いますのでもう一度コードを確認してみてください.
### 質問番号9
> 課題1の計算ができない
もう少し詳しく質問を書いてください。
### 質問番号6
>すみません、課題1をやっているのですが、エラーが出ます。何が違うのでしょうか。
```
clang-7 -pthread -lm -o main main.c
main.c:11:6: error: expected
';' after expression
a-b
^
;
main.c:12:19: error:
expected ';' after
expression
printf("%d\n",a)
^
;
```
この箇所にエラー内容が書かれているので,ここを読むのが良いと思います.
### 質問番号5
>値を入力してエンターキーを押しても計算されないです。
```C: main.c
#include <stdio.h>
int main(void) {
int a;
scanf("%d\n",&a);
return 0;
}
```
scanf()関数に関する部分をもう一度確認してみてください.
二重引用符""で囲まれた箇所通りに入力する必要があり,現在の形だとそれが出来ません.
重複した質問:質問番号10,質問番号12,質問番号13,質問番号18,質問番号21
### 質問番号4
>スライドp33の通りにプログラミングしたのですが,実行してからどこに数値を打ち込めばいいのでしょうか.
右カラムの黒い背景のところに入力してください.
実行ボタンを押したあと,(どこもクリックせずに)キーボードを打てば自動的に適切な場所に数値が表示されます.
### 質問番号2
>webex teams には入りましたが、掲示物を参照する方法が分かりません。どうすれば良いでしょうか。
連絡は「情報処理実習2020」チームの一般スペースへの投稿という形で行っています.
CoursePowerにも同じものをアップロードしてあります(先程公開設定に変更しました).
### 質問番号1
テスト質問