# 情報処理実習 第3回 質問回答ページ ## リンク - [repl.it](https://repl.it/~) - [Webex URL](https://aoyamagakuin.webex.com/aoyamagakuin/j.php?MTID=m6fc3d728933d8fb9fcb4b05c2100ffec) - [第3回講義用質問フォーム](https://docs.google.com/forms/d/e/1FAIpQLSesMc2nNL65bQUWxNypLbXBgdOWj5OBw1WwNj-R-UXpuY5oFQ/viewform) - [第3回講義用回答状況](https://docs.google.com/spreadsheets/) - [第3回講義用質問回答ページ](https://hackmd.io/agJ6nXnpRriFJnczD9V1yg)(このページです) ## 質問&回答について ### 質問内容に必ず書くこと 質問の際は,必ず下の3点を書いてください. - どの課題に関する質問か - どこがわからないか - 何を試してみたか 多くの場合,どこが駄目でなぜ動かないのかがエラー文に書かれています(第1回の授業でもあったように,repl.itでは特に丁寧に示してくれています). エラーをよく読むようにしてください. ``` 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 ``` 例えば上の例では, 2行目〜3行目に「main.cというファイルの4行目の3文字目に警告」「printって何ですか?」 8行目に「main.cのmain関数中で使われているprintが定義されていない」と書いてくれているので, 「printにタイプミスがあったんだな」ということがわかります. また,殆どのエラーはググれば説明が出てきます. わからないことが起きた時はGoogle等で検索することを推奨します (個人的にはGoogleでの検索スキルも含めてプログラミング力/コーディング力なのではないかと思います.理工学部では多くの人が卒論で何からのプログラムを書くことになると思いますが,バグ等が起きる度に研究室の修士や教員に聞くことは現実的じゃないです). 質問の内容によっては,「もう少し自力で考えてほしい(教科書・配布資料をよく読んでほしい,試行錯誤しながら自分のコードを触ってほしい)」「回答を控える」マークを回答状況ページにつける場合があります. 「質問番号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; } ``` <!--必要に応じてコードや,エラーメッセージを書いてください--> XXXがYYYなのでZZZをAAAするとBBBがCCCです. 重複した質問:質問番号i, 質問番号j,質問番号k <!--学生さんが検索しやすいように, 「重複した質問」欄も「質問番号n」の形で 質問番号を書いてください.--> <!--回答の手間を省くため,回答者と「質問」「回答」の見出しは不要です--> --- <!--他の教員・TAさんと回答が重複することは全く問題ありません. 文量は多いに越したことないので, 気にせず回答をガシガシ書いてください--> <!--基本的にはFIFOで回答をお願いします--> <!--新しい質問に回答した時だけでなく, 「重複した質問」欄に質問番号を追加しただけの場合も, スプレッドシートの「回答者」欄にチェックを入れてください.--> <!--同じ質問が複数の箇所で回答されていることに気づいた方は 積極的にマージしていってください.--> <!--回答を書き終わったタイミングではなく, 回答に取り掛かる段階で「回答者」欄にチェックを入れてください. そちらの方が教員・TAにとって楽だと思います.--> <!--古いものほど下位に表示されるよう,最新の回答を この下に書いてください--> ## Q&A >前回のレポートの提出の際、焦ってしまい、ファイル名を間違えてしまいました。この場合、減点になりますか? 杉之内担当回では減点は行わないことにします(が,採点の都合上,わざと適当なファイル名にすることはやめてください). 採点基準は担当教員に依って(多少)変わる,とシラバスにあるので, 他の先生方の担当回での対応はわからないです. ### 質問番号10 >課題5は追加課題ですか? pdfの資料だと課題1~4に取り組みなさいとかいてあるのですがどうなのでしょうか? いえ,課題5にも取り組んでください. PDFの資料が間違っています. ご指摘ありがとうございます. ### 質問番号9 >チームaの入力するところから下が出てきません 貼っていただいたURLにアクセスしたところ,正しく動きました.. ### 質問番号8 >レポートに写真を貼る場合に左のプログラム文のすべてが入りきらない場合には2枚などに分けて貼る必要がありますか? わけてもらえると嬉しいです. ### 質問番号7 >負の値が入力されたときは考慮しなくて良いとありますが,0が入力されるときは考慮した方がいいのでしょうか. 課題2,3では負の値を考慮する必要があります. (「負の値を考慮しなくて良い」ではありません) 負の値,0,13以上の値が入力された場合は 「不正な値が入力されました」を表示してください. ただし,課題1,4では負の値及び0が入力される場合を考慮する必要がありません. ご指摘ありがとうございます. ### 質問番号6 >各課題のURLはどこに張ればよいでしょうか。 前回のようにURLのみを送る場所が毎回できますでしょうか。 はい.前回のようにURLのみを貼る場所が後ほど公開されるので,そちらから提出してください. レポート,URLの提出窓口は後ほど公開します. すでに完成した場合もレポートの考察の箇所を充実させるなどしてください. ただし,URLの提出方法は次回以降変更される可能性があります. ひとまず今回は「URL提出窓口」に貼るようにしてください. ### 質問番号5 >質問内容は省略 配布資料や教科書のswitch文の箇所をもう一度読んでみてください. また,エラーコードも読んでみてください(エラーコードをコピーしてGoogleで検索してください). 補足: 質問者さんは ```c 中略 case 3||4||5: 中略 ``` というコードを書き、 > main.c:10:11: warning: use of logical '||' with constant operand \[-Wconstant-logical-operand\] case 3||4||5: というエラーが出ていました。となると、少なくともこの部分の「 || 」利用部分に問題があることがわかります。 こちらをGoogle翻訳してみても > 警告:論理 '||'の使用 定数オペランド付き と出てくるのでやっぱりここに問題があるということはわかります。質問するときは、少なくともこれくらいは自分で必ずやりましょう。 また、今 `case`文でエラーが出ているので、おそらく`case`文の文法に問題がありそうだ、該当部分の資料や教科書を見直そう、となって欲しいです。それでもわからなかったら初めて質問してみてください。**プログラミングを学ぶ上でこのプロセスはとても大事です。** ### 質問番号4 >質問内容は省略 はい.お願いします. 今回のレポートの最後に貼ってください. (今回のURL提出用小テストは解答欄の数が制限されていますし,  第2回の後日窓口はすでに閉じられています.) PDFにした時にうまくリンクが貼れなくても,文字でURLを貼っていただければOKです. (クリックしてもrepl.itにアクセス出来なくても,URLをコピペすれば見れるようになっていればOKです.) ### 質問番号3 >質問内容は省略 結構丁寧に絵を書いた場所なので,配布資料や教科書のif文,else if文に関する箇所をもう一度読んでみてください.