プログラムコード

講義資料と共に、いくつかのサンプルプログラム及び課題の枠組みを提供しております。 https://github.com/PatFin/AdvancedAlgorithms-SamplePrograms.gitで配布していきます。

この演習では、どのプログラミング環境を使っても構いません。 git というバージョン管理システムになっているので、以下のいずれかの方法で、持っていってください。

A) Visual Studio Code をインストールしている場合

自宅のマシンに VS code などをインストールしている場合は、最初に git clone をおこなうことになります。以下の手順でおこなうことになります。

  1. Windows + WSL をつかう場合は、
  2. 「表示」→「コマンドパレット」で、git clone と入力して、コマンドを選んでください。
  3. URL を入力することになるので、次のURL を入れてください:
    https://github.com/PatFin/AdvancedAlgorithms-SamplePrograms.git.
    説明 https://github.com/PatFin/AdvancedAlgorithms-SamplePrograms.gitのページのclone のところに出てくるURLです
  4. repository の場所を指定することになるので、例えば「デスクトップ」に vscGit というフォルダを作ってくれれば、その中にsamples というフォルダができて、中身が入っているはずです。

以前見ていたプログラムを見たい時は、FileOpen Recent でみつけましょう。特に、Windows + WSL の人は folder を探すとハマるのでご注意を。

VS Code settings

VS Code では、プログラムのコンパイルと実行(デバッグ)は、 .vscode directory の tasks.json および launch.json というファイルで制御します。 初期ファイルは、プログラムビルド&実行(デバッグ)時に作成されるのは、プログラミング環境wikiのVS Code C環境の使い方の Execution の欄で述べた通り。

ただ、環境によって、微妙に違う設定になっている(あるいは時が経つと設定が変わる)ようです。 配布プログラムを実行するには、以下の設定を行ってください。gitpod 用のファイルは設定済みです。

  • tasks.json: プログラムによっては、算術ライブラリを利用するので、コンパイル時に -lm option を渡す必要があります。こんな感じで -lm を追加してください。`${file}”より後ろに置く必要があります。
    ....
    "tasks": [
        {
            "args": [
                "-g",
                "${file}",
                "-lm",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            ...
        }
    ]
  • launch.json: プログラムがファイルアクセスをするので、実行 directory を指定する必要があります。以下のような感じで cwd 属性を設定してください。これで、C ファイルの置かれた directory でプログラムが実行されるようになります。
    ...
    "configurations": [
        {
	    ...
            "request": "launch",
            ...
            "cwd": "${fileDirname}",
            ...
        }
    ]

B) gitpod を利用する場合

gitpod を用いる場合は、先に、こちらの説明を読んでおきましょう。コンパクトに説明すると、ブラウザ上で VS code が利用可能です(ただ、microsoft の extensions が使えなくなったので、そのあたりちょっとヤヤコシイ)。

実際の作業は、以下のとおり。

  • まず、github のアカウントを取得して、ログインしておく。
  • chrome や firefox といった web browser 上で、次のリンクをクリックしてくださ。
    • workspace の作成 (リンクをクリックすると workspace を作成しちゃうのでご注意を)
    • クリックするとしばらく待たされます。
    • VS code の画面が出てからも、しばらく画面下に extensions のインストールメッセージがでているはず。もう少しだけ待ちましょう。
  • なんども workspace を作成する必要はありません! 一度作成すれば、あとは、gitpod のworkspace一覧から実行できます。2週間触っていないと、workspace は消滅する(ファイルも消える)ので、ご注意を。今年は隔週で演習実施するので要注意!

C) 個別ファイルの取得

個々のファイルもしくは全体を圧縮したファイルを、こちらから取得してもらってもいいです。 トップページの「<> [Code]」用アイコンから、全体を zip でまとめたものを取得できます。 各ファイルを選択してから、ダウンロードボタンを押してもらうのでもOKです。

ファイルを用いるプログラムの場合は、directory 構成も含めて真似てください。

D) コマンドライン + 任意のIDE

コマンドラインから、git clone https://github.com/PatFin/AdvancedAlgorithms-SamplePrograms.git を直接的に打って、全部ダウンロードしてくれます。 そのあと、どのエディターでもファイルを開けます。 (実は、VS Code 等の経由でGitでファイルをダウンロードする時に、裏で上記のコマンドを実行しています)

Git に興味があれば

追加ファイルの取得(gitpod, vscode 共通)

以後、レポジトリが更新された場合は、git pull コマンドで、追加ファイルの取得を行ってください。(GitPod、VS Code、コマンドライン 共通です。)

  • git pull
    • VS code の場合、「ソース管理」画面を開いてもらって、右クリックで pull を選択すればOKです。