memo

Similar documents
memo

PowerPoint Presentation

memo

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

PowerPoint プレゼンテーション

Microsoft PowerPoint - CproNt02.ppt [互換モード]

ファイル入出力

ファイル入出力

プログラミング実習I

プログラミング基礎

Cプログラミング1(再) 第2回

memo

memo

PowerPoint プレゼンテーション

物質工学科 田中晋

Microsoft Word - Cプログラミング演習(1)_2012

PowerPoint Presentation

Microsoft PowerPoint - prog04.ppt

ゲームエンジンの構成要素

3.Cygwin で日本語を使いたい Cygwin で以下のコマンドを実行すると それ以降 メッセージが日本語になります export LANG=ja_JP.UTF-8 これは 文字コードを日本語の UTF-8 に設定することを意味しています UTF-8 は Cygwin で標準の文字コードで, 多

slide5.pptx

Microsoft PowerPoint - prog06.ppt

PowerPoint プレゼンテーション

ポインタ変数

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

関数の動作 / printhw(); 7 printf(" n"); printhw(); printf("############ n"); 4 printhw(); 5 関数の作り方 ( 関数名 ) 戻り値 ( 後述 ) void である. 関数名 (

ガイダンス

プログラミング基礎

Microsoft PowerPoint - prog08.ppt

第2回講義:まとめ

Microsoft PowerPoint - 計算機言語 第7回.ppt

kiso2-09.key

プログラミング入門1

C 言語の式と文 C 言語の文 ( 関数の呼び出し ) printf("hello, n"); 式 a a+4 a++ a = 7 関数名関数の引数セミコロン 3 < a "hello" printf("hello") 関数の引数は () で囲み, 中に式を書く. 文 ( 式文 ) は

PowerPoint Presentation

ポインタ変数

関数の呼び出し ( 選択ソート ) 選択ソートのプログラム (findminvalue, findandreplace ができているとする ) #include <stdiu.h> #define InFile "data.txt" #define OutFile "surted.txt" #def

Microsoft PowerPoint - 第3回目.ppt [互換モード]

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

C言語講座 ~ファイル入出力編~

Prog1_12th

講習No.1

Taro-ファイル処理(公開版).jtd

ポインタ変数

情報処理概論(第二日目)

gengo1-12

Microsoft Word - 3new.doc

スライド 1

Microsoft PowerPoint - 10Com2.ppt

01: 講義概要

メソッドのまとめ

gengo1-12

PowerPoint プレゼンテーション

2006年10月5日(木)実施

Microsoft PowerPoint - 2.ppt [互換モード]

Microsoft PowerPoint - bp02.ppt

FORTRAN( と C) によるプログラミング 5 ファイル入出力 ここではファイルからデータを読みこんだり ファイルにデータを書き出したりするプログラムを作成してみます はじめに テキスト形式で書かれたデータファイルに書かれているデータを読みこんで配列に代入し 標準出力に書き出すプログラムを作り

Microsoft PowerPoint - kougi7.ppt

第 3 回情報基礎演習 UNIX / Linux: ファイルシステム シェルを理解しよう! 谷口貴志 Panda に login し 情報基礎演習クラスの VDI から Ubuntu に接続し Linux に login した後, 左 上の Activity 端末のアイオン をクリック 端末 を立ち

情報処理概論(第二日目)

Microsoft PowerPoint - prog03.ppt

バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科

関数の中で宣言された変数の有効範囲はその関数の中だけです さっきの rectangle _s で宣言されている変数 s は他の関数では使用できません ( 別の関数で同じ名前の変数を宣言することはできますが 全く別の変数として扱われます このように ある関数の中で宣言されている変数のことをその関数の

Microsoft Word - no15.docx

PowerPoint プレゼンテーション

Microsoft PowerPoint - 説明2_演算と型(C_guide2)【2015新教材対応確認済み】.pptx

gengo1-12

プログラミング入門1

※ ポイント ※

関数の呼び出し ( 選択ソート ) 選択ソートのプログラム (findminvalue, findandreplace ができているとする ) #include <stdio.h> #define InFile "data.txt" #define OutFile "sorted.txt" #def

Microsoft Word - CygwinでPython.docx

ユーザーズマニュアル

文字列 2 前回の授業ではコンピュータ内部での文字の取り扱い 文字型の変数 文字型変数への代入方法などを学習した 今回は 前回に引き続き 文字処理を学習する 内容は 標準入出力 ( キーボード ディスプレイ ) での文字処理 文字のファイル処理 文字を取り扱うライブラリ関数である 標準入出力 Lin

ゲームプログラミング講習 第0章 導入

PowerPoint プレゼンテーション

演算増幅器

Microsoft PowerPoint - prog07.ppt

ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : K 氏名 : 當銘孔太

PowerPoint プレゼンテーション

基礎プログラミング2015

memo

<4D F736F F F696E74202D2097D58FB089E6919C8B5A8F708A E B8CDD8AB B83685D>

今回のプログラミングの課題 ( 前回の課題で取り上げた )data.txt の要素をソートして sorted.txt というファイルに書出す ソート (sort) とは : 数の場合 小さいものから大きなもの ( 昇順 ) もしくは 大きなものから小さなもの ( 降順 ) になるよう 並び替えること

Microsoft PowerPoint - 4.pptx

PowerPoint Presentation

Microsoft PowerPoint - prog03.ppt

PowerPoint プレゼンテーション

プログラミング実習I

スライド 1

Microsoft Word - Cプログラミング演習(3)

1 ログインとログアウト 1.1 ログイン ログイン画面で [ password ] 欄にパスワードを入力します (図 1) 図 1 ログイン画面 正しくログインができると Ubuntu のデスクトップ画面 図2 が表示されます 図2 Ubuntu デスクトップ画面 2

第1回 プログラミング演習3 センサーアプリケーション

Microsoft PowerPoint - kougi2.ppt

Microsoft Word - no11.docx

画像ファイルを扱う これまでに学んだ条件分岐, 繰り返し, 配列, ファイル入出力を使って, 画像を扱うプログラムにチャレンジしてみよう

Microsoft PowerPoint - 5Chap15.ppt

訋箊æ©�ã…Šã…�ㇰㅩã…�ㅳㇰ - 第5åłž 浆㇄ㆮ勶御2

C C UNIX C ( ) 4 1 HTML 1

02: 変数と標準入出力

Transcription:

計数工学プログラミング演習 ( 第 1 回 ) 2016/04/05 DEPARTMENT OF MATHEMATICAL INFORMATICS 1

担当メンバー : 担当 : 担当教員 : 定兼 ( 数理 2 研 ) 補佐 : 松島 ( 数理 6 研 ) 学生アシスタント : 鈴木, 石山, 中村 担当へのコンタクト e メールアドレス ( 演習についての一般的な相談 ): miprogramming2016+general@gmail.com 資料 https://researchmap.jp/sada/ の資料公開 2

PC の扱いについての注意 : PCはリース品です 扱いには十分に注意 原状復帰可能な形で返却 ステッカー等を貼らない ( 情報理工マークを隠さない ) キレイに 使う 最悪 実費負担の可能性もあります 原則 構内での使用 セキュリティ / コンプライアンスに十分な注意を P2P( 危険度にかかわらず ) 全面禁止 情報理工ネットワーク 貸与 PCの両方において ソフトウェアライセンスのないものは絶対に使わない 無線 LANのキーは部外者に教えない 3

評価 : 評価基準 提出課題 出席 ( 指示のないかぎり 14:55-17:35 の間は在室する ) 出席態度 4

演習の形式 : 前半にその回の基礎的な内容を説明 後半は実際に貸与 PCを用いてプログラミング 使用言語はC 個人のPCを用いても構わない 課題の提出 5

さわってみよう : 電源を入れる Ubuntuを選択 ( 一番上の選択肢 ) ログイン ネットワークへの接続 ソフトウェアの更新 6

ソフトウェア : テキストエディタ Dashホームにあるものを使う ( 他のものでも可 ) コンパイラ gcc ( インストール済 ) デバッガ gdb( インストール済 ) valgrind (Ubuntuソフトウェアセンターからインストール) valkyrie (valgrind の詳細情報から ) 7

端末の起動 : デスクトップの 端末 を起動 ホームディレクトリ : /home/mistpc/ 画面左上の ホームフォルダ でもアクセス可能 8

ファイルの作成 : ディレクトリ ( フォルダ ) を作る mkdir 1 ( 今回の作業フォルダをつくる ) cd 1 ( 1 ディレクトリに移動) テキストエディタで新規作成して test.c という名前で保存 保存場所はホームの 1 というディレクトリ 9

プログラムの入力 : test.c を入力 コメント /* test.c */ #include<stdio.h> int main() { printf("hello. n I am 名前. n ) ; return 0; 正常終了時には 0 を返す 画面に文字列を表示 入力後 保存 (Ctrl+S) 本体 入出力関連ヘッダの読み込み 行の終わり 改行 はバックスラッシュ ( キーボードの右下 ). では駄目 10

コンパイルと実行 : プログラムをコンピュータの実行形式に変換 ( コンパイル ) gcc test.c ls ( 現在のフォルダの中身を見る ) すると 実行ファイル a.out ができているはず./a.out で実行. は現在のフォルダを表す./a.out > out.txt も試してみる 標準出力の出力先をファイルにする 11

printf の書式 : test2.c を入力 /* test2.c */ #include<stdio.h> int main() { printf( I was born in %d. n, 年 ) ; return 0; 整数の書式 整数 生成される実行ファイルの名前は変えられる gcc o test2.out test2.c 12

変数を使用する : test3.c を入力 /* test3.c */ #include<stdio.h> 整数型変数の宣言 int main() { int year = 年 ; 変数名 printf( I was born in %d. n,year ) ; return 0; 13

ループ /* test4.c */ #include<stdio.h> n x = i i=1 の計算 int main() { int i, n, x; 初期設定 繰り返す条件 n = 10; x = 0; // 総和を保存する変数 for (i=1; i<=n; i++) { x = x + i; printf( x = %d n,x); return 0; i を 1 増やす 14

データの入力 scanf( データの書式, 変数のポインタ, ); 書式は文字列で指定 整数は %d, 実数は %lf int x; double y; scanf( %d %lf, &x, &y); 関数の帰り値は値が代入された変数の個数 ファイルの最後に到達した場合 EOF を返す if ( scanf( ) == EOF ){. scanf の書式は非常に難しいがこの演習では深入りしない 15

n をキーボードから与える /* test4.c */ #include<stdio.h> int main() { int i, n, x; n x = i i=1 の計算 scanf( %d, &n); x = 0; // 総和を保存する変数 for (i=1; i<=n; i++) { x = x + i; printf( x = %d n,x); return 0; 16

標準入力, 出力 Linux, Windows 等のオペレーティングシステムでは, 入力はキーボード, 出力は画面に出すのが標準で, それらを標準入力, 標準出力と呼ぶ 標準入力 / 出力の入出力先を変えることをリダイレクトと呼ぶ./a.out < file1 > file2 キーボードの入力の代わりに file1 の中身が使われる 画面に出力せずにファイル file2 に書かれる ( 上書き ) ファイルの最後に追加する場合は >> file2 とする あるプログラムの標準出力を別のプログラムの標準入力にできる ( パイプ )./a1.out./a2.out a1.out の出力が a2.out の入力になる 17

関数 関数の値域の定義 #include<stdio.h> int sum(int n) { int i, x; x = 0; for (i=1; i<=n; i++) { x = x + i; return x; int main() { int n, x; scanf( %d, &n); x = sum(n); printf( x = %d n,x); return 0; 関数の名前の定義 関数の引数の名前と型の定義 これも関数 関数の呼び出し n x = i i=1 の計算 18

プログラムの書き方の作法 プログラムは基本的に入れ子 (nested) 構造をしている 入れ子のレベルに従って字下げ ( インデント ) をする #include<stdio.h> インデント int main() { int i, j, x; x = 0; for (i=0; i<100000; i++) { for (j=0; j<100000; j++) { x += j; j のループの中 i のループの中 j のループの終わり 19 main 関数の終わり i のループの終わり

コンパイルの最適化 -O オプションをつける gcc O3 test.c 数字は最適化レベル. 大きいほど実行速度が速くなる. -O0 ( ゼロ ) は最適化無し プログラムの実行時間を測定するときは必ず最適化したものを使う O3 をつける 20

プログラミングの練習のできるサイト Aizu Online Judge(AOJ) http://judge.u-aizu.ac.jp/onlinejudge/index.jsp まずアカウントを作成する 問題セットのところに各種演習問題がある プログラムを入力すると正常に動作するかテストしてくれる 参考 競技プログラミング入門 http://ilfa.info/compro/intro/ 21

課題提出用サイト http://133.11.136.29/domjudge/ Login: 学生証番号 ( 数字 8 ケタ ) Password: ログイン後に,problems の p1 (Hello World) を見てみる 注 : 大学内からのみアクセス可能 22

第一回課題 : 1 2 + 2 2 + + n 2 を計算して表示するプログラム n は標準入力から与えられる結果は標準出力に. 答えの数字だけ表示する計算をする部分は関数にする for ループを使って計算する ( 公式は使わない ) n が 1 より小さい場合は答えが 0 になるようにする (n は整数と仮定してよい ) main 関数の最後は return 0; をつけておく 締切 : 2016 年 4 月 6 日 ( 火 ) 17:35 ( 演習終了時 ) 23