Relative Content

Author Archive for chen

C code IV – シラパス

【授業の概要】 コンピュータプログラム開発言語の中で広く利用されているC言語をCプログラミング開発環境ソフト: CPad for Borland C++ Compilerを使った一人一台のPCを使い実習により学びます. 毎回問題に取り組み理解を深めます。復習問題としてプログラミング課題を出題する。 【授業要旨】 回数 題目 授業内容 学習課題 予習時間(分) 復習時間(分) 1 ガイダンス 学習目的 C言語プログラミング演習Ⅰの試験解説   C言語検定試験について 授業内容を復習する 60 2 ビットを意識する sizeof演算子 ビット演算子    10進数と2進数(ビット)の相互変換 テキスト(P315-330)を読む 授業内容を復習する 30 60 3 構造体 構造体の基本  構造体の配列 テキスト(P332-341)を読む 授業内容を復習する 30 60 4 構造体 構造体のネスト 代入、比較、アドレス テキスト(P342-348)を読む 授業内容を復習する 30 60 5 構造体 構造体へのポインタ テキスト(P349-353)を読む 授業内容を復習する 30 60 6 構造体 構造体と関数  アロー演算子 テキスト(P354-362)を読む 授業内容を復習する 30 […]

ノートPCはMacが良いと思う理由

新学期に、ノートPCを考えることがありませんか? WindowsのノートPCか、MacのノートPCか、悩むかもしれません。 ここはノートPCはMacが良いと思う理由を列挙する。 OSXとWindows両方利用できる Macbookに、Boot Campというソフトウェアある。 Boot Camp(ブートキャンプ)は、アップルにより開発・配布されているソフトウェア。Intel Macにおいて、Microsoft Windowsの利用を可能とする。 UNIX(Linux)の勉強 OS X(オーエス テン)は、アップルが開発・販売する、Macbook コンピュータ用の現行オペレーティングシステムである。BSD UNIX ベースで新たに Mac OS X(マック オーエス テン)が作られた。 MacbookにUNIX, Apache, PHP内蔵のため、活用範囲大 Linux(リナックス)は、UnixライクなOSカーネルであるLinuxカーネル、およびそれをカーネルとして周辺を整備したシステム。 iPhoneのアプリの開発 iPhoneのアプリの開発は、Apple社のMac PCが必須です。 Macbookのトラックパッドの性能が素晴らしすぎる Macbookでも Pro でも Air でもトラックパッドの性能というか動きが素晴らしすぎるんです。トラックパッドとはWindowsでいうタッチパッドのことなんですが、一度使うと抜け出せない程使いやすいんです! 先日ヨドバシカメラへ行った際に、hp・Dell・NEC・VAIO・Surface・Lenovo機を触ってきたのですが、それらブランドノートPCの多くはタッチパッドに若干のひっかかりがあり、ぎこちなさは否めなかったです。LenovoのThinkPadとSurfaceはなかなかよかったので、もしもWindowsノートPCを使うなら、Surfaceは膝の上でタイピングできないですしThinkPadかな?と感じました。 これを読んでいるWindowsだけのユーザーさんは是非店頭でMacbookを触ってもらえばと思います。きっと惚れてまうよ(笑) 同価格帯のWindowsノートPCよりも画面が綺麗 同価格帯のWindowsノートPCと比べて、Retina画面ではないMacbook Airですら画面の綺麗さが違います。雲泥の差です。持ち運び用の小さい画面ですから、綺麗=見やすいにこしたことはありません。作業しやすいですよ。 スリープ復帰速度とバッテリー管理はMacが上 スリープ復帰の速さとスリープ中のバッテリー消費管理はMacbookの方が断然上だと感じます。Macbookは画面を持ち上げたその時から普通に作業開始できます。また、Macbookはスリープしながら何日も放置できます。安いWindowsノートPCなんかですと、スリープしているのにもかかわらず恐ろしくバッテリーが減っていることもしばしば・・・。 キーボードが打ち易すぎる MacはWindowsに無いキーがあったり、若干配置が違いますが、それは慣れてしまえばどうでも良いこと。それらを差し引いても、あのキーボードの打ち易さはハンパないです。機体を膝に乗っけてタイピングしても超快適な打ち心地です。タイプしていると気持ちが良いんです。外出して作業するときにはWindows ノートよりもタイピングがはかどることは間違いないです。一応WindowsノートだとLenovoのThinkPad x250はなかなか打ちやすく、さすがビジネスモデルだと思いました。 画面の縦幅が長い Windows ノートの画面はほぼ「16:9」で、ワイド画面の幅です。それに比べ、Macbookの画面は「16:10」で縦幅が若干長いのです。例をだすと、Macbook Airの画面解像度は「1440×900」ですが、Windowsノートだと「1440x810」となります(実際にこのサイズのWindowsノートはありませんがあくまでも比率の問題)。この差は結構重要で、見やすさと作業効率に若干の影響を与えます。 やっぱりカッコイイ 外でMacbookを広げている人を見ると、やっぱりカッコイイと思う自分がいます(笑)冒頭で書きましたが、1人で引きこもって作業している時には特にそういうものは気にせず使いやすさ重視なのですが、外ではやはりMacbookがカッコイイのですよ!!これはWindowsノートPCには覆せない現実です。 Macbookは細部まで本当に丁寧に作られていますし、デザインに無駄がなというのはこういうことだな・・・と自分のMacbook Airや店頭のその他Mac機体たちをみていてつくづくそう思います。

C code II 指南

C言語プログラミングⅠの前期試験解説 試験後、解説が行われたので、質問があれば、答えする。 (質問応答は、日本語の他に、英語、中国語も可能!)

C code II – シラパス

【授業の概要】 コンピュータプログラム開発言語の中で広く利用されているC言語をCプログラミング開発環境ソフト: CPad for Borland C++ Compilerを使った一人一台のPCを使い実習により学びます. 毎回問題に取り組み理解を深めます。復習問題としてプログラミング課題を出題する。 【授業要旨】 回数 題目 授業内容 学習課題 予習時間(分) 復習時間(分) 1 ガイダンス 学習目的 C言語プログラミングⅠの前期試験解説  C言語検定試験について 授業内容を復習する 30 60 2 配 列 配 列 テキスト(P88-101)を読む 授業内容を復習する 30 60 3 配 列 多次元配列 テキスト(P102-110)を読む 授業内容を復習する 30 60 4 関 数 関数とは テキスト(P114-121)を読む 授業内容を復習する 30 60 5 関 数 関数の設計 テキスト(P122-138)を読む 授業内容を復習する 30 60 6 関 数 有効範囲と記憶域期間 テキスト(P140-146)を読む 授業内容を復習する 30 […]

C# exercises (f) Summary

C# 演習前期のまとめ C#プログラムは「入れ子構造」をしている ボタンクリックでメッセージボックス に表示完成したコード using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace test1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } // ボタンクリックでメッセージボックスに表示 private void button1_Click(object sender, EventArgs e) { MessageBox.Show(“Hello world”); } } } *注意:( ” “) […]

C# exercises (e) Open Data

オープンデータを利用したWebアプリ作成 オープンデータとは オープンデータ(Open Data)とは、特定のデータが、一切の著作権、特許などの制御メカニズムの制限なしで、全ての人が望むように利用・再掲載できるような形で入手できるべきであるというアイデアである。 オープンデータの利用 「LinkData.org」には、誰でも無償で利用でき、商用利用も可能なオープンデータが豊富にまとまっています。 都道府県別で探したり、人気ランキングやキーワードを指定しての検索もできるので、自分が興味のあるデータを探すのも簡単でしょう。 LinkDataのサイト内には、全国の「お城データ」や「道の駅データ」、「避難所データ」、「補助金まとめデータ」、「さくら名所データ」…など、意外とユニークで面白いデータがまとまっているので、うまく利用すれば楽しいWebアプリが作れそうです。 「ダウンロード」の項目下に、「その他の形式のAPIリストを表示」というリンクがあるのでクリックします。 すると、外部APIとしてデータが取得できるURLが一覧表示されます。 そこで「JSON」形式のURLをコピーして、実際にブラウザのアドレスバーに入力してみましょう! あとは、このデータをC#を使って、自分のWebアプリに組み込めば良い。 グループ課題 オープンデータを利用したWebアプリの作成 オープンデータの選択 郵便番号検索 天気予報検索 その他 オープンデータをブラウザで確認 C#を使って、オープンデータWebアプリの作成

C# exercises (d) REST & JSON

Visual Studio community 2015 アカウントについて (学内専用) WebBrowser (基本) Form(自動操作) HttpClient REST & JSON ←今週 RESTとは RESTとは、RESTはREpresentational State Transferの略。2000年にRoy Fielding氏が提唱した、分散システムにおいて複数のソフトウェアを連携させるのに適した設計原則の集合。また、狭義には、それをWebに適用したソフトウェアの設計様式のこと。一般には後者の意味で用いられることがほとんどである。RESTの世界では、ネットワーク上のコンテンツ(リソース)を一意なURLで表すのが基本。各リソース(URL)に対してGET,POST,PUT,DELETEでリクエストを送信しレスポンスをXMLやjsonなどで受け取る形式(レスポンスのフォーマット形式は指定されていない)。 REST APIをを作る前に先人はどのような設計をしていたのかを見てみましょう。今ではTwitterやfacebook,Github、Amazonなど大きいところではだいたいAPIを提供しているので、お手本は山ほどあります。URL設計やリクエスト・レスポンス、HTTPヘッダなどに着目して見比べてみましょう。 Twitter REST API レスポンスの情報量が多いので、どういった情報を返すべきか参考になります。 Github API 一番綺麗にまとまっているAPIだと思います。リクエスト・レスポンスがRESTらしく、とても綺麗。 JSONとは JSONとは、JavaScriptにおけるオブジェクトの表記法を応用したデータ形式。 JSONで表記されたデータは、JavaScript上ではコードとして実行するだけで読み込みが完了する。JSONでは、データ全体を配列またはJavaScriptにおけるオブジェクト(キーと値のペアを列挙した構造体)として記述する。 JSONというのは「データを表現するための記法(≒文法)」です。シンプルなデータであれば、文法など気にせずにただ書けば問題ありません。少々複雑でも、我々は「表」という記法をしっているため、ある程度の複雑さには対応できます。しかし、表で表すのが困難な程度の複雑な構造を持つデータを表現しなければならないことは多々あります。このように、表形式では表現が困難な構造のデータを、人間に対するある程度の可読性を残しつつ、コンピュータに対しても伝達できるような記法、その1つがJSONです。そしてJSON形式で記述したデータのことを、JSON-textといいます。 chenlabのメンバーをJSON-textで表現 { “name”   : “chenlab”, “member3” : [ “14TE485”, “14TE406”, “14TE410”, “14TE449” , “14TE461″”, “14TE465″”, “14TE470”], “member4” : [ “13TE466”, “13TE477”, “13TE486”, “13TE520” , “12TE412″”, […]

C# exercises (c) Web3 HttpClient

Visual Studio community 2015 アカウントについて (学内専用) WebBrowser (基本) Form(自動操作) HttpClient ←今週 REST & JSON いままで、WebBrowser コントロールを利用して、 Webサイトを表示と操作プログラムを作りました。 今回は直接 http 通信に HttpClient クラスを使用 するプログラムを作ります。 HTTPとは httpとは、代表的な通信プロトコルの一つで、インターネット上でWebサーバー(サイトの公開側)と、クライアント(ブラウザ:サイトを閲覧する側)が、相互に通信するために使用される仕組みです。 もっと言うと、Webサーバーとクライアント間で、HTML(Webページを作成するための言語)で記載された情報をやりとりするための仕組みです。 この「http」がないと、インターネット上のサイトを見ることができなくなるので、今や無くてはならない仕組みとなります。 HTTPコマンド 主なHTTPコマンドには次のようなものがあります。 GET 指定したページの取得を要求します。 HEAD メッセージヘッダを要求します。 POST フォームに入力したデータを送る PUT サーバーへデータをアップロードする DELETE サーバー上のデータを削除する   HTTPコマンド応答メッセージ 主な応答メッセージには、次のようなものがあります。 200 OK 正常に取得できた 301 恒久的に移転した 302 一時的に移転した 403 Forbidden アクセス拒否 404 Not Found ファイルが見つからない   HttpClient 通信プログラム デザイン […]

4.2 break & continue

break文 switch文のところでbreakというのが何回も登場しました。 switch文での意味は「switch文から抜け出す」という意味でしたね。 breakはswitch文以外にもfor文やwhile文のループの中でも使うことが出来ます。 この時もbreakは「for文やwhile文のループから抜け出す」という意味を持っています。 break文を使って抜けられるのはループひとつだけです。ですから、二重、三重のループを抜けるには、その度にbreak文を使うようになります。 continue文 continueはfor文やwhile文などのループ処理をスキップさせるに用います。 breakとは違い、continueはスキップした後は、ループの先頭に戻ります。 #include <stdio.h> int main(void) { int i = 1, n, sum; sum = 0; while (i <= 5) { printf(“正の整数を入力 : “); scanf(“%d”, &n); if (n < 0) continue; sum = sum + n; i++; } printf(“sum = %d\n”, sum); return 0; }   無限ループ while(1)とすると、基本的に処理は無限に繰り返されます。これは、条件式が偽の場合は、0、真の場合はそれ以外の値をとることを利用した方法で、無限に繰り返されます。 […]

6.3 変数の有効範囲

変数の通用範囲 自動変数のことを局所変数、外部変数のことをグローバル変数(大域変数)ともいいます。 変数のスコープの範囲を図で表してみます。 赤色で囲った部分がグローバル変数の有効範囲です。 青色で囲った部分がローカル変数の有効範囲です。 この図ではローカル変数の寿命を関数内と説明しましたが、正確にはブロック内です。 ブロックとは、{}で囲まれている範囲のことを指しています。 記憶クラス Cで扱う記憶領域は一般に、プログラム領域、静的領域、スタック領域、ヒープ領域の 4つに大別されます。 記憶クラスには、4つあり、自動、静的、外部、レジスタがあります。 記憶クラス 記憶領域 スコープ 記憶クラス指定子 自動変数 スタック { } の内側 auto( 不要 ) 静的変数 静的領域 { } の内側* static 外部変数 静的領域 全域 extern** レジスタ変数 レジスタまたはスタック { } の内側 register * { }の外側で宣言された時は、その行以降 ** 他のファイルにある時、externを付け、その変数を宣言(メモリを確保)しているファイルでは何も付けない。 自動変数は使う前に何らかの値を代入します。このことを、初期化するといいます。 静的変数は初期化の式がなくても、コンパイル時に0に初期化されます。 変数の名前 変数は名前を付けなければ、使えません。C言語では、名前(識別子)は、英字または’_’(アンダースコア)で始まり、英数字または’_’が0個以上続くという決まりになっています。’_’一つまたは二つで始まる変数は、システムに密着したデータに使います。例えば、コンパイラのプログラム等で使われます。 変数に名前を付ける時、外部変数は定義されている所から遠い所でも使われるので、その変数の用途を想像できるような名にすることが推奨されています。 例:timetable, itemindex, thisyear 自動変数は通用範囲が狭いので、何の変数かがすぐわかるので、タイピングの手間を省く意味でも、短くて良いとされています。 例:i, j, […]