プログラミング1 プログラミング演習I プログラミングの重要性.

Slides:



Advertisements
Similar presentations
プログラミング論 第八回数字の計算,整数の入出力. 本日の内容 前回の課題(続き) 前回の課題(続き) 数字の計算をする 数字の計算をする – 加減乗除を行う – インクリメント演算子とデクリメン ト演算子.
Advertisements

第 2 章 数値の入力と変数 scanf と変数をやります 第 2 章 数値の入力と変数 1. 以下のプログラムを実行してみよう  C 言語では文の最後に「 ; 」(セミコロン)が付きます 第 2 章 数値の入力と変数 2 #include int main() { int x; x = 3; printf("x.
プログラミング 平成25年10月29日 森田 彦.
コンピュータープログラミング(C言語)(2) 1.文字列出力と四則演算 (復習) 2.関数と分割コンパイル
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第3回 配列(1) 情報・知能工学系 山本一公
演算、整数型と浮動小数点型 第3回目 [4月27日、H.16(‘04)] 本日のメニュー 1)前回の課題・宿題 2)ファイルサーバの利用
応用理工学情報処理 第1回(2015年10月 5日) 月曜日担当 前島展也 Manaba
情報基礎演習B 後半第5回 担当 岩村 TA 谷本君.
初年次セミナー 第4回 整数と実数の取り扱い.
第2章 数値の入力と変数 scanfと変数をやります.
配列(2) 第10回[平成15年6月26日(木)]:PN03-10.ppt 今日の内容 1 素数を求める(教科書の例):復習
基礎プログラミングおよび演習 第9回
プログラミング 平成24年10月23日 森田 彦.
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
C言語 第2講 生物機能制御学講座 濱田 農学部7号館209室.
プログラミング入門2 第1回 導入 情報工学科 篠埜 功.
第13回 プログラミングⅡ 第13回
プログラミング1 プログラミング演習I プログラミングの重要性.
第8回 プログラミングⅡ 第8回
理由:文字数より要素数の多い配列を用いた時に,文字列の最後を示すため
理由:文字数より要素数の多い配列を用いた時に,文字列の最後を示すため
第6章 2重ループ&配列 2重ループと配列をやります.
精密工学科プログラミング基礎 第9回資料 (12/11 実施)
第10回 プログラミングⅡ 第10回
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
第2回 Microsoft Visual Studio C++ を使ってみよう
【プログラミング応用】 必修2単位 通年 30週 授業形態:演習.
情報工学科 3年生対象 専門科目 システムプログラミング 第5回、第6回 ヒアドキュメント レポート課題 情報工学科 篠埜 功.
ちょっとした練習問題① 配列iroを['R', 'W', 'R', 'R', 'W' , 'W' , 'W']を宣言して、「W」のときの配列の番号をprintfで表示するようなプログラムを記述しなさい。
プログラミング応用 printfと変数.
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第2回 ファイル処理 情報・知能工学系 山本一公
プログラムはどこに保存され,どこで実行されるのか?
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
前回の練習問題.
第7回 プログラミングⅡ 第7回
高度プログラミング演習 (02).
知能情報工学演習I 第8回( C言語第2回) 課題の回答
プログラムはどこに保存され,どこで実行されるのか?
コンピュータープログラミング(C言語)(2) 1.文字列出力と四則演算 (復習) 2.関数と分割コンパイル
地域情報学 C言語プログラミング 第1回 導入、変数、型変換、printf関数 2016年11月11日
プログラミング基礎B 文字列の扱い.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
精密工学科プログラミング基礎Ⅱ 第4回資料 今回の授業で習得してほしいこと: 文字列の扱い ファイル入出力の方法 コマンドライン引数の使い方
整数データと浮動小数データ.
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
情報処理Ⅱ 第2回:2003年10月14日(火).
C言語 はじめに 2016年 吉田研究室.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
第1章 いよいよプログラミング!! ~文章の表示 printf~
プログラミング演習I 2003年4月30日(第3回) 木村巌.
地域情報学 C言語プログラミング 第1回 導入、標準出力、変数 2017年10月13日
プログラミング入門 電卓を作ろう・パートI!!.
第2章 printf(“変数と入力”); scanf(“%d”,&num);
標準入出力、変数、演算子、エスケープシーケンス
知能情報工学演習I 第8回(後半第2回) 課題の回答
cp-3. 計算 (C プログラミング演習,Visual Studio 2019 対応)
情報実習I (第1回) 木曜4・5限 担当:北川 晃.
第7章 そろそろ int 以外も使ってみよう! ~データ型 double , bool~
四則演算,変数 入力文,出力文,代入文, ライブラリ関数
情報処理Ⅱ 2005年11月25日(金).
プログラミング演習II 2004年11月 2日(第3回) 理学部数学科・木村巌.
プログラミング入門2 第5回 配列 変数宣言、初期化について
printf・scanf・変数・四則演算
第2章 数値の入力と変数 scanfと変数をやります.
C言語講座 四則演算  if ,  switch 制御文.
岩村雅一 知能情報工学演習I 第7回(後半第1回) 岩村雅一
第1章 文字の表示と計算 printfと演算子をやります 第1章 文字の表示と計算.
第1章 文字の表示と計算 printfと演算子をやります.
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
Presentation transcript:

プログラミング1 プログラミング演習I プログラミングの重要性

プログラミング言語を なぜ勉強するのか? 世界的に有名な日本のあるIT企業の 社長が求める人材に“必要なスキル” プログラミング (C 言語)  数学 英語

プログラミングはどこで使えるのか? 1.プログラミング関連の講義だけでなく、 情報学実験等の他の科目のレポート  プログラミングはどこで使えるのか? 1.プログラミング関連の講義だけでなく、   情報学実験等の他の科目のレポート   課題等でデータを処理し、結果を出したり、   グラフを書いたりするときに使える 2.卒業論文でプログラミングの能力が   あれば、速く研究を進めることができる 3.プログラミングが得意な学生は就職活動、   大学院進学、その後も有利になる点が多い  

実はプログラミングは面白い! -プログラミングは難しそうだと思っていませんか? -日本語の会話で友人とコミュニケーション  実はプログラミングは面白い! -プログラミングは難しそうだと思っていませんか? -日本語の会話で友人とコミュニケーション をとっているように、情報学部の皆さんが コンピュータと会話をするときに使えるのは プログラミング言語 -プログラミングが得意になれば、コンピュータと  円滑なコミュニケーションがとれ、様々な場面で  皆さんのためにコンピュータが働いてくれる  

まずはやってみよう! 間違っても良いから、使ってみる 他人の真似をする 様々な課題に挑戦し、自分で新しい課題の設定や課題解決能力を伸ばす 「習うより慣れろ」 他人の真似をする 授業やインターネット上のサンプルプログラムをたくさん真似る 他人のレポート課題をコピーするのはダメ 様々な課題に挑戦し、自分で新しい課題の設定や課題解決能力を伸ばす 継続すること:一生使えるスキルなので、プログラミングの講義がなくても1年生から4年生まで、それからも使ってみることC言語の講義でプログラミングの考え方がわかる。

プログラミング1 プログラミング演習I 講義の進め方,成績の決め方

全て必修科目です。落とさないように頑張りましょう 科目の構成 講義科目(全てクオータ科目) プログラミング1 プログラミング2 プログラミング3 プログラミング4 演習科目(全て半期科目) プログラミング演習I プログラミング演習II リピート受講は認めない 全て必修科目です。落とさないように頑張りましょう

ステップアップ制 順序に従って履修する科目 その科目に合格しないと次の科目が履修できない 情報学部1年 1Q 2Q 3Q 4Q 理想的な履修 プログラミング1 プログラミング2 プログラミング3 プログラミング4 理想的な履修 不合格がある場合の例 プログラミング1 プログラミング1 プログラミング2 プログラミング3 2年 プログラミング1 プログラミング2 プログラミング2 プログラミング2 2年

講義科目と演習科目 講義科目と演習科目が連動する 「プログラミング1」→「プログラミング2」に合格したとき「プログラミング演習I」に合格する 「プログラミング3」→「プログラミング4」に合格したとき「プログラミング演習II」に合格する プログラミング1 プログラミング2 プログラミング3 プログラミング4 プログラミング演習I プログラミング演習II

不合格が続いた場合は2年2Q以降も合格するまで履修 履修例 不合格が続いた場合は2年2Q以降も合格するまで履修 情報学部1年 2年 1Q 2Q 3Q 4Q 1Q プログラミング1 プログラミング2 プログラミング3 プログラミング4 プログラミング演習I プログラミング演習II 理想的な履修 不合格がある場合の例 プログラミング1 プログラミング1 プログラミング2 プログラミング3 プログラミング4 プログラミング演習I プログラミング演習II プログラミング1 プログラミング2 プログラミング3 プログラミング3 プログラミング4 プログラミング演習I プログラミング演習II

クラス編成・履修登録について 講義科目・演習科目ともに全て自動登録科目 講義と演習のクラス編成は同じ 2Qのクラス編成は試験の翌週に発表 クラス編成後に履修登録は自動的にされる 講義と演習のクラス編成は同じ 同じ演習室で実施 2Qのクラス編成は試験の翌週に発表

試験・評価について 1Q試験期間に試験を実施 6クラス共通の試験を行う 演習科目のレポート課題提出状況と試験の点数を総合してGrade評価を行う 演習課題の提出  40% 期末試験  60% 「プログラミング」と「プログラミング演習」は同じ成績がつく レポート課題で不正(コピーなど)が見つかった場合は、不合格 コピーの場合は、写した方も写させた方も不合格

欠席について 演習が重要な科目なので原則として欠席は認めない 欠席の取り扱いは以下 ただし、公欠は欠席に含めない 欠席1回は−10点 欠席2回は−20点 欠席3回は不合格 ただし、公欠は欠席に含めない 忌引き 感染症(診断書が必須) その他(個別に対応) 健康管理には十分注意しましょう 証明するものが必要になります

遅刻について 遅刻は認めない 交通機関の乱れにより遅刻する場合は、遅延証明証を得ること 遅刻した場合、欠席として扱うことがある 午後の科目です。時間に余裕をもって出席しましょう。 お昼が混雑することも予想されます。注意しましょう。

TAとSA制度と友達 TA (Teaching Assistant) SA(Student Assistant) 友達(friend) 演習の授業をサポートする大学院生 積極的に活用しましょう SA(Student Assistant) 授業外で授業をサポートしてくれる学部学生 友達(friend) プログラミングが簡単だと思う学生は周りの学生に積極的に教えてあげましょう プログラミングが苦手だと感じる学生は、得意な友人から積極的に教わりましょう レポート課題のコピーは厳禁。発見次第、不合格になります

プログラミング1 プログラミング演習I 課題の提出

課題について 以下のURLで公開 練習課題 提出課題 http://goo.gl/r2wMCG 演習授業中に実行し結果を確かめる http://www.ns.kogakuin.ac.jp/~ct13140/ProgC/ または http://goo.gl/r2wMCG 練習課題 演習授業中に実行し結果を確かめる 提出課題 次週までに提出する課題

課題提出方法 電子メールで提出する 提出先 ku-sip-sane-ta@googlegroups.com メールの題名 講義が2020年4月1日で,提出課題〆切が4月7日の場合 練習課題のメールの件名 ProgC1:20200401 提出課題のメールの件名 ProgC1:20200407 本文 課題のプログラム と 実行結果 を添付 提出課題は早めに提出することも歓迎. 4月3日に提出したとしても,メールの件名は(締め切り日に併せて),ProgC1:20200407とする.

課題の期日/採点 期日 採点基準 採点者 不正について 課題が出された日の6日後まで コンパイル可能で、課題通りに動作すればOK TA 木曜授業の場合 : 次の水曜日の23:59までに提出 遅れたものは採点されない 採点基準 コンパイル可能で、課題通りに動作すればOK 採点者 TA 不正について 提出物のコピーなどの不正が発覚した場合は、単位認定しない

自宅学習について 自宅でプログラミング(Windows) Microsoft Dream Sparkに登録して無料でVisualStudioをダウンロード https://www.dreamspark.com/Student/Default.aspx Dream Sparkについては情報センターへ Macの人は Xcode をダウンロード コマンドラインで gcc でコンパイル可能 Linux gccをインストール

プログラミング基礎 第1回

練習課題0 Hello World! 何かキーを押してください Hello World!何かキーを押してください Hello World! #include < stdio.h > void main() { printf("Hello World!\n"); } Hello World! 何かキーを押してください #include < stdio.h > void main() { printf("Hello World!"); } Hello World!何かキーを押してください #include < stdio.h > void main() { printf("Hello \n World! \n"); } Hello World! 何かキーを押してください

C言語プログラムの基本 プログラム または ソース #include < stdio.h > void main() { printf("Hello World!\n"); } とりあえず書く main関数 この中が実行される ここに実行したい命令を書く

Microsoft Visual C++の基本 プログラム または ソース #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { printf("Hello World!\n"); return 0; } 消してはダメです void main()に 修正してはダメです

関数の最後には「;(セミコロン)」を書く printf() 文字列を表示する関数 使い方 printf(“ここに表示したい文字列”); 関数の最後には「;(セミコロン)」を書く 文字列の中に「¥n」を書くと改行

それぞれの意味 include stdio.h main 用意されたライブラリやヘッダを読み込むための命令 ライブラリ・ヘッダについては各自調べること stdio.h printfなどの命令(関数)が入っているヘッダ これを読み込まないとprintfは実行できない 他の命令は各自調べること main コンピュータはこの中に書いたプログラムを順に実行する

コンパイル コンパイルエラー デバッグ実行 プログラムをコンピュータが実行できる形に変換すること プログラムの文法が間違っているというエラー エラー表示を見れば直せる.波線が付く部分を確認 デバッグ実行 変数などの読み書きを確認しながら実行すること やりたい人は各自調べること 通常はデバッグなし実行で良い

練習課題1 #include < stdio.h > void main() { printf(“本日は晴天です。\n"); } #include < stdio.h > void main() { printf(“本日は晴天です。\n昨日は雨です。\n明日の天気はわかりません。\n"); }

練習課題2 #include < stdio.h > void main() { printf("Hello World! ¥n"); /* printf("Good bye! ¥n"); printf("Yeah! \n"); */ // printf("See you again ¥n"); } /* と */ で囲まれた部分は無視される // 以降の1行は全て無視される コメント プログラムを見やすくするためにコメントを付ける

コメントの例 #include < stdio.h > /* ここからメインのプログラム */ void main() { printf(“Hello World! ¥n”); /* コメントの練習 */ printf("Good bye! ¥n"); printf(“Yeah! ”); // ←わざと改行してない printf("See you again ¥n"); }

コメント外への書き込み 余計な書き込みはエラーが出る 余計な文字は,消すかコメントとすること 全角スペースをプログラム中に書かない コメント・printf内は可

練習課題3 #include < stdio.h > void main() { int mon; /* ←変数という。値を保存してくれる入れ物 */ int day; /* 変数の名前は自由につけられる */ mon = 4; // 変数mon に4を代入 day = 13; // 変数day に13を代入 printf("今日は%d月%d日です。¥n",mon,day); // 変数の内容を表示する } #include < stdio.h > void main() { int mon; /* 変数の名前は自由につけられる */ int day; mon = 4; day = 13; printf("今日は%d月%d日です。",mon,day); }

変数 値を入れておくもの プログラムの最初で宣言する必要がある 宣言 int hensu; 代入 hensu = 5; 「=」 は方程式ではない 変数名 自由につけてよい(ただし予約語を除く) 型  int型:整数を扱う変数であることを宣言 

%d の部分に、後に書いた変数の内容が表示される printf() -その2- 変数の内容も表示できる 使い方 int hensu; hensu = 5; printf(“hensuの値は %d です。”, hensu); %d の部分に、後に書いた変数の内容が表示される

%d は整数(int型)の変数のみに使える printf() -その3- int a; int b; a = 1; b = 2; printf(“aは %d , bは %d です。”, a, b); 順番に表示される %d は整数(int型)の変数のみに使える

練習課題4 #include < stdio.h > void main() { int a; int b; int c; a = 2; //a に 2 を代入 b = 5; //b に 5 を代入 c = b+a; //c に b+a を代入 printf("c=%d¥n",c); c = c-a; a = 2*a+b-c; printf("a=%d¥n",a); } 変数には計算結果も代入できる

四則演算 それぞれprintfを追加して結果を確かめてみる #include < stdio.h > void main() { int a; int b; int c; a=10; b=2; c=a+b; } #include < stdio.h > void main() { int a; int b; int c; a=10; b=2; c=a*b; } #include < stdio.h > void main() { int a; int b; int c; a=10; b=2; c=a-b; } #include < stdio.h > void main() { int a; int b; int c; a=10; b=2; c=a/b; }

練習課題5−1 #include < stdio.h > void main() { int a; printf("整数を入力してください:"); scanf("%d",&a); printf("入力した整数は%dです¥n",a); }

scanf() 文字列のキーボードからの入力を待つ関数 使い方 int a; scanf("%d", &a); Microsoft Visual C++の場合 scanf_s("%d", &a); 入力値が変数aに代入される

整数型のaに整数以外を代入するとどうなる? 練習課題5−2 #include < stdio.h > main() { int a; int b; printf("整数を入力してください:"); scanf("%d",&a); scanf("%d",&b); printf(“入力した整数は、%dと%dです。¥n",a,b); } 整数型のaに整数以外を代入するとどうなる?

変数と型 変数 値を入れておくもの 変数名は何でもOK 宣言をする必要がある 例) int a,b,c; int kogakuin; int year=100; ただし、予約語はダメ 予約語の例 int main include int main; ←エラー

変数名 分かりやすい変数名をつけよう 変数名のこつ わかりにくい変数名: a, b, c, … わかりやすい変数名: day, mon, year … 変数名のこつ 自作の変数名は大文字から始める 目的が分かるようにする int Birthday_Day; int Birthday_Mon; int Birthday_Year;

変数の型 変数には型がある 型によって宣言が異なる 整数型: 整数を扱う場合 浮動小数点型: 小数を扱う場合 整数型: 整数を扱う場合 int a; 浮動小数点型: 小数を扱う場合 float a; ← 2進数32桁分(32bit) double a; ← 2進数64桁分(64bit)

型のいろいろ 数字の型 文字 真偽 言語によって使えるもの・使えないものがある int float double unsigned char string 真偽 bool 言語によって使えるもの・使えないものがある

printf()と変数の型 文字列を表示する関数 使い方 printf(“ここに表示したい文字列”); printf(“変数の値は %d です”, hensu); printf(“変数の値は %f です”, hensu); %d 変数が整数型のとき %f 変数が float 型のとき %lf 変数が double 型のとき

scanf()と変数の型 文字列のキーボードからの入力を待つ関数 使い方 int a; scanf(“%d”, &a); %f 変数が float 型のとき %lf 変数が double 型のとき 入力値が変数aに代入される

プログラムの例 #include < stdio.h > void main() { int seisu; float shosu1; double shosu2; seisu = 10; shosu1 = 3.141592; shosu2 = 10.4312; printf("%d,%f,%f\n", seisu, shosu1, shosu2); }

プログラムの例 #include < stdio.h > main() { double a; a=1.138683896838698002; printf("入力した整数は%fです\n",a); printf("入力した整数は%lfです\n",a); }

なぜ変数の宣言が必要なのか? コンパイラに変数であることを教える 型を宣言することで、必要なメモリを確保する

キャスト 結果はどうなるか? #include < stdio.h > void main() { int a=2; float b=5,c; c=b/a; printf("%f\n",c); }

キャスト 結果はどうなるか? #include < stdio.h > void main() { int a=2,b=5; float c; c=b/a; printf("%f\n",c); }

キャスト 結果はどうなるか? #include < stdio.h > void main() { int a=2,b=5; float c; c=(float)b/a; printf("%f\n",c); }

キャスト 結果はどうなるか? #include < stdio.h > void main() { int b=5; float c; c=b/2; printf("%f\n",c); }

キャスト 結果はどうなるか? #include < stdio.h > void main() { int b=5; float c; c=(float)b/2; printf("%f\n",c); }

キャスト 結果はどうなるか? #include < stdio.h > void main() { int b=5; float c; c=b/2.0; printf("%f\n",c); }