プログラミング入門 ガイダンス と イントロダクション プログラミング入門(’04) 2017/3/7 第1回[平成16年4月13日(火)]:PN04-01.ppt プログラミング入門 ガイダンス と イントロダクション ガイダンスの内容 1 プログラミング関連科目のガイダンス 2 プログラミング入門とプログラミング応用 3 プログラミング演習との関係 4 目標・方針 5 授業の進め方 6 勉強の仕方・諸注意 PN04-01a.ppt
0. 自己紹介など 氏 名: 森下 伊三男 (もりした いさお) 研究室: 7号館5階 氏 名: 森下 伊三男 (もりした いさお) 出 身: 静岡県浜松市笠井町 現住所: 大垣市木戸町 研究室: 7号館5階 科目分野: 情報システム分野 コース名:マルチメディアコース 研究分野: 太陽系・宇宙線物理学 (個人) 数値情報処理、数値解析 e-mail:isao@alice.asahi-u.ac.jp
コンピュータアルゴリズム コンピュータシステム オペレーティングシステム 1. 関連科目のガイダンス コンピュータ概論、情報科学概論[1学年] プログラミング入門 プログラミング演習 プログラミング応用 コンピュータアルゴリズム コンピュータシステム オペレーティングシステム ソフトウェア演習 Ⅰ~Ⅳ
2. P入門とP応用 教科書 『明解 C言語 入門編』 ソフトバンク プログラミング入門 → 前学期 プログラミング応用 → 後学期 プログラミング入門(’04) 2017/3/7 2. P入門とP応用 プログラミング入門 → 前学期 プログラミング言語入門[第1章] 簡単なプログラム作成[第2章] 構造化プログラミング[第3・4章] 配列[第5章] 関数[第6章] プログラミング応用 → 後学期 基本型、再帰[第7・8章] ポインタ、文字列[第9・10・11章] 構造体[第12章] 教科書 『明解 C言語 入門編』 ソフトバンク 服部先生 PN04-01a.ppt
3. プログラミング演習との関係 P入門とP演習は同じ教科書を使う P入門と同時進行(並行して進めていく) 3時限目P入門に続いて4時限目へ P入門と同時進行(並行して進めていく) 3時限目P入門に続いて4時限目へ P入門の講義はP演習のための準備 P演習はP入門で学習した事を、パソコンを使って実際に自分で試みる授業 基本的には、P入門・P演習の両方を受講すること。
4. 目標・方針 自分でプログラムが作成できる(目標) 問題演習を欠かさない → アウトプットが大切 質問:歓迎 → 講義はそのお手伝いをする(方針) 問題演習を欠かさない → アウトプットが大切 席は指定、毎回出欠、遅刻、早退をチェックする → 欠席、遅刻をしないこと【欠席が多い → 失格】 → 出席・遅刻などの状況、提出物の評価は掲示する TAの先生の紹介(志村先生:大学院生) 質問:歓迎 → 授業中の提出物 → e-mail : isao@alice.asahi-u.ac.jp 目標:基本情報技術者試験(午後):Cの問題
5. 授業の進め方 モニターに教材を映して進める 内容は Microsoft Power Point で作成 pptファイルはパソコン教室のサーバーに月曜日朝にはアップロードしておく(つもり) → 各自で aucopy でコピーし印刷・持参する → {森下伊三男}→{プログラミング入門} → ファイル名は今回は PN04-01.ppt → 『センター利用の手引き』 24,25頁 授業の最後に演習問題をやり提出する → 提出用紙に質問・感想なども書く
6. 勉強の仕方・諸注意 授業に出席しただけでは、プログラミングの考え方は十分に理解できない。 予習、復習を欠かさない → 自分の中に考え方を作り上げること → 分からないところは必ず質問する → pptファイルを必ず印刷して持参すること 予習、復習を欠かさない → 自分で演習問題をやってみる(アウトプット) 情報処理技術者試験にチャレンジする 『専門演習Ⅰ~Ⅴ』で森下ゼミに入るつもりの人 → 必ず単位を修得してほしい
以上で ガイダンス を終わります。 続いて イントロダクション に進みます。
プログラミング入門 ガイダンス と イントロダクション プログラミング入門(’04) 2017/3/7 プログラミング入門 ガイダンス と イントロダクション イントロダクションの内容 1 プログラムの重要性 2 プログラミングにおける4つのステップ 3 簡単なプログラム(構造) 4 文字列と整数値の出力 5 今日の提出物 PN04-01a.ppt
1. プログラムの重要性 ソフトウェアを構築 ハードウェア(コンピュータ、電子計算機)を情報処理システムに変身させる 銀行のオンラインシステム、POS、ゲーム NC工作機械、天気予報システム、CG ハードウェア(コンピュータ、電子計算機)を情報処理システムに変身させる コンピュータはソフトがなければただの箱 コンピュータはプログラム通りに計算を実行 コンピュータで計算 → 結果が正しいとは限らない
2. プログラミング(広義) における 4つのステップ 2. プログラミング(広義) における 4つのステップ [1] 設計{消費税の例で考えてみる} (1)問題の分析、明確化、要求分析 (2)目標、入出力仕様の設定、精度 [2] 算法解析(狭義のプログラミング:1) 算法[アルゴリズム]の導きだし、選定 算法 → 問題解決のための道筋 情報処理手順 [どんな情報をどのように処理するか]
2. プログラミング(広義) における 4つのステップ 2. プログラミング(広義) における 4つのステップ [3] コーディング(狭義のプログラミング:2) プログラミング言語を用いて アルゴリズムを表現 → プログラム プログラミング言語 →コンピュータの為の表現形式 [4] 検査 プログラムのテストとデバッグ(Debug) コンピュータはプログラムに従って忠実に実行していく(善し悪しを問わない)
3.簡単なプログラム 注釈行 おまじない 教科書2頁:List1-1(簡単な計算結果の表示) プログラムの一般形 /* 整数値15と37の和を表示する */ #include <stdio.h> int main(void) { printf(”%d”, 15 + 37); return (0); } 注釈行 おまじない プログラムの一般形 #include <stdio.h> main() { 実行部 }
プログラムの構造 C言語は関数の集まり 関数:ひとつのまとまった仕事をするもの main( ) がメイン(主)関数となる 関数:ひとつのまとまった仕事をするもの main( ) がメイン(主)関数となる printf(実引数) も関数 実引数 → 関数に渡したい内容 注釈行:人間のメモ書き・覚え書き /* で始まり、*/ で終了する プログラムの実行には全く無関係 プログラムの中のどこに記述しても良い
プログラムの構造[おまじないの部] 標準ヘッダ #include <stdio.h> stdio → Standard input output main関数はプログラムの本体 { で始まり、 } で終了する この中に記述する内容が大切 当面は int main(void) と書く おまじない main関数の最終行は return文 return(0); おまじない
文字"%d"の代わりに、整数値を数(文)字に変換して出力 数値(整数値)の出力の方法 計算結果の整数値の出力[変換指定子(%d)] printf("%d",15*2+18*4); 文字"%d"の代わりに、整数値を数(文)字に変換して出力 計算式[*は掛算記号] 整数値を与える式 計算結果 → 102 人間が読める数文字 の列として表示する パソコンのメモリ内では (102)10は(01100110)2で表現されている %d による変換
演習 画面に、1年は何時間かを表示するプログラムを作成せよ(注釈行は入れなくて良い) #include <stdio.h> int main(void) { printf("%d",24*365); return(0); }
教科書は \n と記述してあるが、ここでは ¥n と書く 文字列の出力 教科書は \n と記述してあるが、ここでは ¥n と書く 朝日大学情報管理学科 printf (書き出すデータ[実引数]); 出力する文字列を実引数として与える 出力先はCRTとなる 出力後に改行する場合は \n (半角)が必要 書き出すデータは ダブルクォーテイション ” で囲む 朝日大学 情報管理学科 → ”朝日大学情報管理学科\n” → ”朝日大学 \n情報管理学科\n”
数値(整数値)と文字列の出力比較 printf("プログラミング2000:万歳\n"); printf("%d",15*2+18*4); 文字並び(文字列)は全角でも良い[そのまま出力される] 改行指定 計算結果の数値(整数値)の出力 printf("%d",15*2+18*4); ,の後に計算式 整数値を与える式 文字の代わりに整数値を数(文)字で出力する
printf の制御文字列(書式) printf("1日は %d秒\n",24*60*60); 書式を指定 1日は 86400秒Ã 文字列はそのまま 書式を指定 変換指定子による変換 見出し付きの出力 となる 1日は 86400秒Ã
プログラムの 記述の仕方 文、{、}の間の改行は意味を持たない #include <stdio.h> int main(void) { printf(”プログラミング万歳 \n”); ..... } プログラムの 記述の仕方 文、{、}の間の改行は意味を持たない #include <stdio.h> int main(void){ ...... return(0);} #include <stdio.h> main(){printf(”プログラミング万歳 \n”);} #include <stdio.h> int ma in(void){printf(”プログラミング万歳 \n”);}
文字列の中では改行しない printf(”プログラミング万歳 \n”); printf(”プログラミング 万歳 \n”); printf(”プログラミング \n 万歳 \n”) ;
演習(まずは、紙に書いてみよう) 画面に 朝日大学 経営学部 と1行に表示させるプログラムプログラムを作成しよう 画面に 朝日大学 経営学部 と1行に表示させるプログラムプログラムを作成しよう 画面に 上の文字列を2行に分けて表示させるプログラムを作成しよう #include <stdio.h> int main(void) { printf(”朝日大学 経営学部 \n”); return(0); } printf("朝日大学 \n"); printf("経営学部 \n"); printf(”朝日大学\n 経営学部 \n”);
演習(つづき) 次のプログラムの誤りを正せ #include <stdio.h>; int main(void) { printf(”朝日大学 経営学部 \n”) return ( 0 ) ; } ;
演習(つづき) 次のプログラムの誤りを正せ #include <stdio.h> int mein(void) { printf( 朝日大学 経営学部 \n”); return(0); } ”
演習(つづき) 次のプログラムの誤りを正せ e #includ <stdio.h> int main(void) { print (”朝日大学 経営学\n”); return(0); } f
演習 画面に、1年は何分かを見出し付きで表示するプログラムを作成せよ #include <stdio.h> int main(void) { printf("1年は%d分です\n", 365*24*60); return(0); }
今日の提出物 この講義に対する要望事項 今日の内容についての質問事項 今日の授業の理解度(%)・満足度(%) その他、何でも可 配付した用紙に学籍番号、氏名を書き、上記の件について記入して提出してください。 提出をしたことで、今日の授業を出席とし、前学期のプログラミング入門の今後の受講許可を与える。
引き続き開講される プログラミング演習も 必ず受講してください。 プログラミング入門(’04) 2017/3/7 第1回終了 次回(第2回)は 4月19日です。 引き続き開講される プログラミング演習も 必ず受講してください。 PN04-01a.ppt