プログラミング入門2004

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