演習07-0 “Hello\n” “World!\n”と

Slides:



Advertisements
Similar presentations
知能情報工学演習 I 第 12 回( C 言語第6 回) 課題の回答 岩村雅一
Advertisements

特別課題 あまりにも優秀すぎて, 時間をもてあましている人へ.
プログラムのパタン演習 解説.
ISD実習E 2009年6月29日 LISPシステム入門 (第5回) 関数ポインタ eval システム関数.
プログラミング入門2 第10回 動的な領域確保 情報工学科 篠埜 功.
演習00-0 “Hello,world![改行]”を表示するプログラムを作成せよ. 1 1.
基礎プログラミングおよび演習 第9回
プログラミング演習I
プログラミング演習I
プログラミング論 I 関数の再帰呼び出し
問題 1 フィボナッチ数列 xn は次で定義される。
第6章 2重ループ&配列 2重ループと配列をやります.
問題 1 キーボードから入力した数の合計を計算するプログラムを 作成せよ。最初に、何個の数を入力するかその数を入力 するようにする。
プログラミング演習Ⅰ 課題2 10進数と2進数 2回目.
関数 関数とスタック.
プログラミング演習I
プログラミング論 関数ポインタ と 応用(qsort)
ちょっとした練習問題① 配列iroを['R', 'W', 'R', 'R', 'W' , 'W' , 'W']を宣言して、「W」のときの配列の番号をprintfで表示するようなプログラムを記述しなさい。
プログラミング2 関数
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
プログラミング演習
プログラミング論 I 2008年07月03日 2008年07月10日 2008年7月11日 関数,再帰
関数と配列とポインタ 1次元配列 2次元配列 配列を使って結果を返す 演習問題
関数の定義.
第10回関数 Ⅱ (ローカル変数とスコープ).
プログラミング2 関数の再帰呼び出し
高度プログラミング演習 (03).
知能情報工学演習I 第12回(後半第6回) 課題の回答
プログラミング入門2 第11回 情報工学科 篠埜 功.
復習 前回の関数のまとめ(1) 関数はmain()関数または他の関数から呼び出されて実行される.
地域情報学 C言語プログラミング 第5回 ポインタ、関数、ファイル入出力 2017年11月17日
関数の再帰呼び出しとは ハノイの塔 リダイレクト レポート課題
関数への道.
情報理論2 第3回 小林 学 湘南工科大学 2011年10月25日 〒 神奈川県藤沢市辻堂西海岸1-1-25
岩村雅一 知能情報工学演習I 第12回(C言語第6回) 岩村雅一
演習0 func0, func1, func2を作成せよ. main()関数の中で,func0()を呼び出しを実行せよ.
Cプログラミング演習資料.
プログラミング論 I 2008年07月03日 関数,再帰
2007/6/12(通信コース)2007/6/13(情報コース) 住井
IF文 START もしも宝くじが当たったら 就職活動する 就職活動しない YES END NO.
プログラミング入門2 第6回 関数 情報工学科 篠埜 功.
情報基礎演習B 後半第2回 担当 岩村 TA 谷本君.
~sumii/class/proenb2010/ml2/
11.1 標準ライブラリ関数 11.2 関数呼び出しのオーバーヘッド 11.3 大域変数 11.4 プロトタイプ宣言 11.5 関数引数
計算機プログラミングI 第4回 2002年10月31日(木) 問題解決とアルゴリズム クラスメソッドと手続きの抽象化 最大公約数
第5回 プログラミングⅡ 第5回
高度プログラミング演習 (11).
2006/6/27(通信コース)2006/7/5(情報コース) 住井
精密工学科プログラミング基礎 第7回資料 (11/27実施)
プログラミング基礎演習 第4回.
演習00-0 “Hello\n” “World!\n”と
岩村雅一 知能情報工学演習I 第12回(後半第6回) 岩村雅一
プログラミング2 関数の再帰呼び出し
フレンド関数とフレンド演算子.
プログラミング入門2 第6回 関数 情報工学科 篠埜 功.
知能情報工学演習I 第12回( C言語第6回) 課題の回答
精密工学科プログラミング基礎Ⅱ 第2回資料 今回の授業で習得してほしいこと: 配列の使い方 (今回は1次元,次回は2次元をやります.)
高度プログラミング演習 (07).
プログラミング演習I 2003年6月11日(第9回) 木村巌.
Cプログラミング演習資料.
情報処理Ⅱ 小テスト 2005年2月1日(火).
値渡しと参照渡しについて.
第2章 数値の入力と変数 scanfと変数をやります.
計算技術研究会 第5回 C言語勉強会 関数(function)を使う
岩村雅一 知能情報工学演習I 第13回(後半第7回) 岩村雅一
プログラミング演習I 補講用課題
第1章 文字の表示と計算 printfと演算子をやります 第1章 文字の表示と計算.
第1章 文字の表示と計算 printfと演算子をやります.
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
プログラミング 3 ポインタ(1).
Presentation transcript:

演習07-0 “Hello\n” “World!\n”と 表示する関数を作り,main関数から呼び出せ.関数名はhoge,引数はなし,戻り値もなし(void)とせよ. つまり,void hoge(){ … }となる.

演習07-1 関数名がfugaで,引数がint a, int bで,戻り値がvoidで,printfで画面にaとbの和を表示する関数を作成せよ. そして,それをmain関数から呼び出せ. 呼び出しは2回行い,引数はそれぞれ 1と3,5と6とせよ.

演習07-2 関数名がpiyoで,引数がint aで,戻り値がvoidであり, aが正の数なら1からaまでの整数を表示し, aがゼロ以下なら”Error”と表示する関数を作成せよ. そして,それをmain関数から呼び出せ. 呼び出しは3回行い,引数はそれぞれ 5, -3, 6とせよ.

演習07-3 関数名がbarで,引数がint a, int bで,戻り値の型がint型であり,戻り値の値がaとbの和である関数を作成せよ. そして,それをmain関数から呼び出せ.引数に3と4を指定して呼び出し,関数の戻り値を画面に表示せよ.

演習08-0 "#[改行]", "##[改行]", "###[改行]", "####[改行]" と表示する関数を作り,main関数から呼び出せ.関数名は func(),引数はなし,戻り値はvoidとせよ.つまり void func(){...}となる.

演習08-1 引数がなく,戻り値の型がint,戻り値の値が3である関数three()を作成し,main()関数から呼び出せ. main()関数の中では,関数three()の戻り値を変数xに代入し,表示せよ. こんな感じ↓ int x; x = three(); printf("x=%d\n", x);

演習08-2 引数がint型2個で,戻り値がその和である関数を作成し,main()関数から呼び出せ. ヒント int add(int a, int b){ return ????; } void main(){ int x; x = add(2,3); printf("x=%d\n", x);

演習08-3 引数がint型3個で,戻り値がその和である関数を作成し,main()関数から呼び出せ.

演習08-4 func0, func1, func2を作成せよ. main()関数の中で,func0()を呼び出しを実行せよ. func0の中身は,“func0A”と表示し,func1を呼び出し,“func0B”と表示する. func1の中身は,“func1A”と表示し,func2を呼び出し,“func1B”と表示する. func2の中身は,“func2”と表示する. main()関数の中で,func0()を呼び出しを実行せよ. main()の中で,func0()の中でfunc1を呼び出し,func1()の中でfunc2を呼び出すことになる. 実行結果は次のスライド

演習08-4 (con’t) 実行結果は以下のとおり func0A func1A func2 func1B func0B

演習08-5 "Hello,World!\n"と10回表示する関数を作成し,それをmainから呼び出せ. ヒント:関数の中にfor文を作成する. ヒント:"Hello,World!"と10回表示するには int i; for(i=0; i<10; i++){ printf("Hello,World!\n"); }

演習08-6 0から9までを表示する関数を作成し,それを呼び出せ. ヒント:関数の中にfor文を作成する. ヒント:0から9まで表示するには int i; for(i=0; i<10; i++){ printf("%d\n", i); }

演習08-7 1から10までの合計を計算して返す関数を作成し,それを呼び出せ. ヒント:関数の中にfor文を作成する. ヒント:1から10までの合計は, int i, sum; sum = 0; for(i=1; i<=10; i++){ sum = sum+i; }

演習09-0 nを引数として受け取り, を戻り値として返す関数sum1(int n) を作り,sum1(1), sum1(2), sum1(3) …sum1(10)を表示せよ.

演習09-1 nを入力し, を返す関数 sum2(int n)を作り, sum2(1),sum2(2),…,sum2(10)を表示せよ.

演習09-2 nを入力し, を返す関数sum3(int n)と, nを入力し, を求める関数sum4(int n), を作り, sum4(1),sum4(2),…sum4(10)を表示せよ.

演習09-3 nを入力し を返す関数func0(int n)を作り, func0(1),func0(2)…func0(10)を表示せよ. 先ほどのsum1()~sum4()を使用せよ.

演習09-0 ~ 09-3 の解答 n= 1, sum1(n)= 1, sum2(n)= 1, sum3(n)= 1, sum4(n)= 1, func0(n)= 14 n= 2, sum1(n)= 3, sum2(n)= 5, sum3(n)= 9, sum4(n)= 17, func0(n)= 96 n= 3, sum1(n)= 6, sum2(n)= 14, sum3(n)= 36, sum4(n)= 98, func0(n)= 390 n= 4, sum1(n)=10, sum2(n)= 30, sum3(n)= 100, sum4(n)= 354, func0(n)= 1178 n= 5, sum1(n)=15, sum2(n)= 55, sum3(n)= 225, sum4(n)= 979, func0(n)= 2928 n= 6, sum1(n)=21, sum2(n)= 91, sum3(n)= 441, sum4(n)= 2275, func0(n)= 6342 n= 7, sum1(n)=28, sum2(n)=140, sum3(n)= 784, sum4(n)= 4676, func0(n)=12404 n= 8, sum1(n)=36, sum2(n)=204, sum3(n)=1296, sum4(n)= 8772, func0(n)=22428 n= 9, sum1(n)=45, sum2(n)=285, sum3(n)=2025, sum4(n)=15333, func0(n)=38106 n=10, sum1(n)=55, sum2(n)=385, sum3(n)=3025, sum4(n)=25333, func0(n)=61556

演習11-0 引数yearがうるう年であるか否かを判別する関数int is_uruu(int year)を作成せよ. 戻り値は,うるう年なら1を返し,そうでなければ0を返す. 関数is_uruuをmain関数より呼び出せ. うるう年の条件は次スライドを参照

演習11-0 (con't) 4の倍数なら,うるう年である. ただし100の倍数は,うるう年でない. ただし400の倍数は,うるう年である. 例 2001→うるう年でない 2020→うるう年である 2100→うるう年でない 2000→うるう年である

演習11-1 y年m月が何日まであるかを求める関数 int maxday_of_month(int y, int m)を作成せよ. そして,main()関数より呼び出せ. if文を使って 列挙するだけでよい.つまり, もしmが1,3,5,7,8,10,12なら31, もしmが4,6,9,11なら30, もしmが2なら,yがうるう年なら29,でなければ 28 前問で作成したis_uruu(int year)を使ってよい。

演習11-2 西暦y年m月d日と西暦y年1月1日が,何日離れているか計算する関数 int days_from(int y, int m, int d) を作成せよ. 例:days_from(2112,1,1)は0 day_from(2112,1,2)は1 day_from(2112,3,4)は63 day_from(2112,9,3)は246

演習11-3 西暦y年m月d日と西暦1900年1月1日が,何日離れているか計算する関数を作成せよ. ただし,1900<=yとする. うるう年を考慮に入れよ. 例:2000年1月1日なら36524日,2001年12月31日なら37254日,2002年1月1日なら37255日となる.

演習11-4 西暦y年m月d日が,何曜日であるかを求める関数を作成せよ. ただし,1900<=yとする.うるう年を考慮に入れよ. 日曜日なら戻り値0,月曜日なら1,火曜日なら2,水曜日なら3,木曜日なら4,金曜日なら5,土曜日なら6. ただし,1900<=yとする.うるう年を考慮に入れよ. ヒント:1900年1月1日は,月曜日である. 1900年1月1日とy年m月d日が何日離れているか計算し,7で割ったあまりを求めれば良い.

演習11-5 西暦y年m月のカレンダーを表示するプログラムを作成せよ.下記のサンプルに従え. (表示をそろえるのは,かなり難しい) Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

演習12-0 再帰により,n!(階乗)を求めるプログラムを作成せよ. 適切な引数を入れて,mainから呼び出せ. 関数内にprintf()を入れ,動作を追跡せよ. 例:関数の1行目に”関数が開始されました.引数は??です.”と表示するprintfを配置する

演習12-1 再帰により,nCr(組み合わせ)を求めるプログラムを作成せよ.

演習12-2 再帰により,フィボナッチ数列の第n項目を求めるプログラムを作成せよ. フィボナッチ数列:1,1,2,3,5,8,13,21,... 第n+2項目=第n項目+第n+1項目