PowerPoint プレゼンテーション

Similar documents
プログラミング基礎

プログラミング実習I

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

PowerPoint プレゼンテーション

JavaプログラミングⅠ

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

memo

PowerPoint プレゼンテーション

ガイダンス

memo

PowerPoint Presentation

C C UNIX C ( ) 4 1 HTML 1

ポインタ変数

JavaプログラミングⅠ

01: 講義概要

PowerPoint プレゼンテーション

kiso2-03.key

練習 4 ディレクトリにあるファイルを直接指定する (cat) cat コマンドを使う (% cat ファイル名 ) と ファイルの内容を表示できた ファイル名のところにパス名を使い ディレクトリ名 / ファイル名 のように指定すると ディレクトリ内にあるファイルを直接指定できる 1 % cat _

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

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

PowerPoint Presentation

Microsoft PowerPoint - 09.pptx

プレポスト【解説】

UNIX 初級講習会 (第一日目)

マクロの実行許可設定をする方法 Excel2010 で 2010 でマクロを有効にする方法について説明します 参考 URL:

Microsoft PowerPoint - Borland C++ Compilerの使用方法(v1.1).ppt [互換モード]

PowerPoint プレゼンテーション

kantan_C_1_iro3.indd

プログラミングI 第2回 数理物理,総合理学等向け

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

PowerPoint プレゼンテーション

gengo1-12

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

シェルプログラミング コマンドをパイプでつなげるだけでは済まないような ある程度まとまった処理を複数のコマンドを制御構文を用いたりしてファイルとしたものを ( シェル ) スクリプトと呼ぶ シェルプログラム バッチなどともいう.bash_profile もシェルスクリプトなので このファイルを解読し

8 / 0 1 i++ i 1 i-- i C !!! C 2

Microsoft PowerPoint - prog03.ppt

Si 知識情報処理

memo

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

<4D F736F F D208AC888D B836A F C91808DEC837D836A B81698AC7979D8ED A E646F6

ポインタ変数

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

スライド 1

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

Microsoft PowerPoint - InfPro_I6.pptx

Microsoft Word - CygwinでPython.docx

PowerPoint プレゼンテーション

3. 標準入出力

C#の基本

Microsoft PowerPoint - 10Com2.ppt

講習No.1

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

本 日 の 授 業 内 容 最 低 限 覚 えるべきUNIXコマンド pwd, ls, mkdir, cd, cp, rm, mv テキストエディタの 簡 単 な 使 い 方 テキストエディット, Jedit X,Emacs C 言 語 プログラミングの 初 歩 hello, world を 画 面

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

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

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

k_seminar_hands_on_for_linux_beginner.pptx

計算機アーキテクチャ

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

Microsoft PowerPoint - kougi2.ppt

01: 講義概要

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

PowerPoint プレゼンテーション

Microsoft PowerPoint ppt

ネットワークシステム管理 #01

memo

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

PowerPoint プレゼンテーション

Microsoft PowerPoint - kougi6.ppt

メソッドのまとめ

PowerPoint プレゼンテーション

Microsoft PowerPoint - スハ?コン利用入門_ _UNIX利用の基礎知識.pptx

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

gengo1-12

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

Microsoft PowerPoint - prog04.ppt

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

Microsoft PowerPoint - å®�æ−•è©¦é¨fi3ㆮ対ç�Œ.pptx

ネットワークシステム管理 #01

_unix_text_command.pptx

PowerPoint プレゼンテーション

計算機プログラミング

JavaScriptで プログラミング

Prog1_2nd

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

文法と言語 ー文脈自由文法とLR構文解析2ー

目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い 10.Netフレームワーク 10 開発資料 10 第 2 章 Mono 11 Monoの歴史 1

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

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

GEC-Java

WEBシステムのセキュリティ技術

図 2 エクスポートによるシェープファイルの新規保存 新規保存するファイルは, より分かりやすい名前をつけて適切なフォルダ (shape フォル ダにまとめておくのがよい ) 上に保存しておく 2 / 10

Microsoft PowerPoint _2.プログラミングの基礎_final.pptx

Microsoft PowerPoint _2.プログラミングの基礎_final

Microsoft PowerPoint ppt

基本的な利用法

Microsoft PowerPoint - kougi4.ppt

Transcription:

プログラミング基礎演習 第 1 回プログラミングとは

演習室の環境 VMware Horizon のサーバにログイン Ubuntu を選択 ログイン名とパスワードは共通 まだホームが共有されていない 今日作ったファイルは 自分宛のメールで送ったり USB メモリを使うなどして 保存する 近日中に設定される予定

本演習で学ぶ内容が主に対象とする範囲 プログラミング学習の段階 語学に例えると 命令が実行される様子の理解 個々の命令の意味の理解 隔たり 一連の命令の並びが 全体として何をしているか理解する 計算機にさせたい作業の全体を命令の並びで表現する 隔たり 協働作業で大きなソフトウェアを作る ( ソフトウェア工学 ) 文法や単語を覚える 長文の読解長文の作文 共著で本を書く 2017.04.12

本演習について そもそもプログラミングなるものの基礎から 最低限の UNIX の使い方を含む C 言語のプログラミングを基礎から学ぶ プログラムを構成する個々の要素を学ぶ 要素を組み合わせる手順の構成方法を学ぶ 小さなプログラムから大きなプログラムへ 学期末には 数百行程度のプログラムを独力で書けるように プログラミングを楽しんで欲しい 最低限楽しむためにもトレーニングが必要

本演習の成績評価について 出席 (20%) と演習 (30%) 出席を毎回確認する 出席確認が演習問題のこともある 最終課題 (50%): レポートを課す 時間をかけて少し大きめのプログラムを書く 期末試験は実施しない

本演習における心得 他人に説明することは 自分の訓練になる 分からないことがあったとき 1. まず自力での解決を試みる 2. 自分で分からなければ 周りの友人に聞く 聞かれた側の訓練にもなる 3. それでも解決しなければ寺方さんか山口に聞く とにかく試してみる 間違いから学べ 学生として当然の姿勢 プログラムを動かしてみて分かることが多い 面倒臭がらずに小さなプログラムをたくさん試す システムを破壊するようなプログラムは簡単には書けません

授業の資料の紹介 本演習用の特設 Web ページ : http://sun.ac.jp/prof/yamagu/2017fpp/ 練習問題を用意する ( 予定 )

今日のお題 プログラミングとは プログラミングに使う道具 C 言語の言語構造 : ブロック 文字列を表示する命令 :printf

プログラム プログラミング コード 計算の手順を表現したものをプログラムと呼ぶ プログラムを書くことを プログラミングと呼ぶ 計算手順を決めて 表現することを言う データを表現する構造を決めることも含む プログラムの一部 ( 断片 ) をコードと呼ぶことがある ) すでに決められたデータ構造に従ってデータを記述することを (HTMLの記述などを) プログラミングと呼ぶことには違和感がある

プログラミング言語 プログラムを記述するための言語 言語なので文法がある C 言語はこちらのタイプ CPU が直接解釈できるのは機械語だけ 機械語は人間には分かりにくいので さまざまなプログラミング言語が開発された プログラムを機械語に翻訳してから 実行する方法 プログラムを読みながら解釈して実行するプログラム ( インタプリタ ) を使う方法

C 言語 比較的古い言語 いまだに現役 多くの言語が C 言語を参考にして作られている 手順の考え方や文法が似た言語がたくさんある 将来的には 手順の考え方 が異なる言語も学ぶとよい C 言語のプログラムは 実行できる形式 ( 機械語 ) に翻訳してから実行される 実行前にコンパイルという操作を必要とする 機械語への変換 用意されているプログラムとの結合を行う

プログラミングは伝える技術 考えたことを計算機が解釈できるように表現する技術 人間には相手の意図を汲み取る能力がある人に伝えられないようでは考えがまとまっていない 計算機は人間の意図を汲み取らないプログラムに書かれた通りに動く 正しければ 人間には不慣れな考え方でも動く動くものが説明できないのは 修行不足 Computational Thinking を鍛えよう

プログラミングに使う道具 ターミナル : 計算機への入出力をする ubuntu では Ctrl-Alt-t で起動する 実行ファイルを指定すると それを実行する シェル : 命令の実行を指示するインタフェース ターミナルを起動すると 最初はシェルが動いている 命令実行中は ターミナルへの入出力が実行中の命令に取られて シェルは命令の終了を待っている 命令の実行が終了するとシェルに戻る エディタ : テキストファイルを作成 編集する 本演習では emacs を使う コンパイラ : コンパイルする 本演習では gcc を使う

UNIX のシェルコマンド cd [ 移動先ディレクトリ ] カレントディレクトリを変更する 省略するとホームディレクトリに移動する mkdir 新規のディレクトリ名ディレクトリを作成する ls [ 閲覧するディレクトリ ] ディレクトリにあるファイルを一覧する 省略すると カレントディレクトリのファイルを一覧する pwd 現在のディレクトリ名を表示する emacs [ 編集するファイル名 ] emacs ( テキストエディタ ) を起動する gcc コンパイルするソースファイル名 gcc (C 言語コンパイラ ) を起動する

emacs のコマンド Ctrl-x Ctrl-s Ctrl-x Ctrl-c Ctrl-g Ctrl-z Ctrl-p Ctrl-n Ctrl-b Ctrl-f : 上書き保存 : 終了 : 入力途中のコマンドの取り消し : emacs ウィンドウのアイコン化 : カーソルの上移動 : カーソルの下移動 : カーソルの左移動 : カーソルの右移動 emacs がおかしくなったら とりあえず Ctrl-g 手をホームポジションから動かさずに作業できる 他にもいろいろあるが とりあえず これだけ覚えよう

やってみよう 1. ターミナルを起動する 2. emacs を起動する : シェルへ emacs hello.c & 3. 右のプログラムを入力する 4. 保存する : emacs で Ctrl-x Ctrl-s 5. コンパイルする : シェルへ gcc hello.c と入力する と入力する エラーが無ければ a.out という実行ファイルが作られる 6. 実行する : シェルへ./a.out と入力する #include <stdio.h> main() { プログラムが実行されて hello と表示される } この & は 命令をシェルの背後 (background) で実行せよ という指定 printf("hello\n"); プログラム例 カレントディレクトリにある a.out を指定

よくある間違い 1 行目の <> の中は stdio.h studio とかになっていないか? 3 行目の最初は printf print とかになっていないか? #include <stdio.h> main() { printf("hello\n"); } プログラム例 3 行目の最後に ; ( セミコロン ) を忘れていないか? 間違っていたら emacs で修正して 保存し コンパイルして実行してみること

プログラム例の解説 以下で標準入出力の関数 (printf) を使うので それがどんなモノであるかが書かれたファイルを読んでおく main(){...} は main の定義 この {} 内が実行される #include <stdio.h> main() { printf("hello\n"); } printf は表示をする命令 ( 関数 ) 丸括弧の中に表示したい文字列を与える 文字列は " ( ダブルクォート ) で括って表す \n は改行を表す これで 1 つの文字として扱われる

空白や改行 プログラムを構成する字句 ( 意味のある文字列 ) の間の空白や改行は無視される ただし 英数字から成る字句がつながってしまう場合には一つ以上の空白や改行が必要 いくつ入れてもいいし 入れなくてもよい 読みやすくなるように入れようこれ大事 printf や main は一つの字句なので これらの途中に空白や改行を入れてはいけない 文字列 (" から " まで ) も一つの字句 文字列中の空白や改行は無視されない ただし # で始まる行は 行単位で意味を持つので 途中で改行してはならない

main C 言語のプログラムでは 必ず一つ main の定義が必要 実行の起点になる 一つだけ必要

ブロック {} で括られた範囲をブロックと呼ぶ ブロックの中に並べられた命令 ( 文 ) が順番に実行される

文法 プログラムは決まった形式で書かれる この形式を文法と呼ぶ 本演習では 文法についての厳密な話をしない パターンとして紹介する ただし 以下の 3 つが区別されることは覚えておくとよい 式 : 値を表す 文 : 実行される何らかの動作 計算を表す 宣言 : プログラム中で使うものを明示する 例 ) ブロックは次のようなパターンをいう { 宣言 宣言文 文 } 0 個以上の宣言 0 個以上の文

文法 ( の一部 ) の例 識別子とは 名前のこと 英字で始まる英数字の列は識別子 ( ただし予約されているものを除く ) 文字列は式識別子 ( 式, ) というパターンも式式 ; というパターンは文 printf は識別子 "hello\n" は文字列 これは式 printf("hello\n") は式 printf("hello\n"); は文

複数の printf を実行させよう printf の直後に丸括弧の括りがあり 丸括弧の中に文字列がある 文字列は " で括る 文字列の中身は自由に決めてよい printf( 文字列 ) の直後にセミコロンが必要 printf( 文字列 ); を {} の中に いくつか並べてみよう プログラムを書き換えたら コンパイルして実行してみること 今後はこの指示をしない

特殊な文字 ( エスケープシーケンス ) \ に続く文字と合わせて 特殊な文字を表す例 ) \n : 改行 \" : ダブルクォート \\ : バックスラッシュ このような特殊な文字を表すための文字の並びをエスケープシーケンスと呼ぶ

手続き型プログラミング言語の考え方 function 単一の機能を持つ命令が いくつもある 例 )printf: 表示する機能を持つ 制御構造を使って組み合わせる 条件分岐 ( 第 3~4 回 ) 繰り返し ( 第 5~6 回 ) ( 明示されないが ) ブロックも制御構造の一種 関数 ( 第 7 回 ) も制御を表現できる 次回は変数 この授業では あまりたくさんは紹介しない 変わる値がないと 意味のある条件が書けない