C programming 2 (3) Arrays 2
ハッカソン ハッカソン(英語: hackathon 、別名:hack day ,hackfest ,codefest )とはソフトウェア開発分野のプログラマやグラフィックデザイナー、ユーザインタフェース設計者、プロジェクトマネージャらが集中的に作業をするソフトウェア関連プロジェクトのイベントである。 ハッカソン – Wikipedia https://ja.wikipedia.org/wiki/ハッカソン 国内最大級のITコンテスト「JPHACK 2016」のお知らせ —————————————————————————— こんにちは!JPHACKS運営事務局です。 突然ですが、モノづくりを仕事にしたいと考えているデザイン系、情報系学生のみなさん、 こんなお悩みはありませんか? ・「学生のうちに、アプリやプロダクトなど何か一つ形にしておきたい」 ・「ただ、自分は○○はできるけど、△△ができないから、Webサービスやアプリをつくれない」 ・「同世代のデザイン系学生、情報系学生と競い合い、交流したい」 ・「自分のスキルがどの程度のものか確かめたい。有名企業の社会人からレビューを受けてみたい」 そんなお悩みを解決すべく今回ご紹介させていただくのが、「JPHACKS 2016」です。 http://jphacks-civic.strikingly.com/ JPHACKS2016 エントリーの歩み: JPHACKS2016 エントリー JPHACKS2016 本エントリー URL: http://ubi.daiichi-koudai.com/ – ユビキタス・クラブ github: https://github.com/ JPHACKS2016追加エントリー 前回の演習 演習5-4(p115) List5-6を書き換えて、配列aの要素の並びを逆順にしたものをbにコピーするプログラムを作成さよ。 #include <stdio.h> #define NUMBER 5 int main(void) { int i; int va[NUMBER] = {15, 20, 30}; […]
C exercises2 (2) bitwise
第9章 ビットを意識する 整数型の指定 整数値を扱うための型には,( signed, unsigned ) char 型と int 型とがあることは説明したが, それら以外にもある.ここで,まとめて簡単に解説する. バイト数 ビット数 最小値 最大値 unsigned char 1 8 0 255 signed char 1 8 -128 127 unsigned short int 2 16 0 65535 signed short int 2 16 -32768 32767 unsigned int 4 32 0 4294967295 signed int 4 32 -2147483648 2147483647 unsigned long […]
C programming 2 (2) Arrays
配列 同じ型の変数が並んだものを「配列」と言います。C以外でも多くの高級言語に採用されている。 通常の変数は int num; のように型と名前を示して宣言しますが、配列ではさらに要素数を加えて以下のように宣言します。 int num[10]; 名前(上の例では”num”)が変数名で、それに続く[ ]内に示した”10″が、配列の要素数です。上記のように宣言すると int 型の変数が10個確保され その全体を“num”という名前で扱える ようになります。 配列の各要素は添字(またはインデックス)と呼ばれる番号で一意に指定できます。Cでは先頭が0で、1ずつ増加します。 配列の走査 配列の各要素に規則性を持った値を代入するには、forループを使うのが便利です。例えば、10個の要素を持つint 型の配列に、100・200・300……と100ずつ増加する値を代入する処理は、リスト1のように記述できます。 カウンタ変数iは0から1ずつ増加するので、その値を配列の添字に使い、同時に(i + 1)の100倍を添字で示す要素の値として代入します。 継続条件は「i < 10」となっているので、iが9になるまでループが繰り返され、10になったら処理をせずにループを抜けるので、配列のすべての要素に値が代入されます。 リスト1:配列に100ずつ増加する値を代入していく int num[10]; /* 整数を格納する配列 */ int i; /* カウンタ変数 */ for(i =0; i <10; i++){ num[i]=(i +1)*100; } 配列の初期化 配列は同じ型の変数が並んだものですから、個々の要素の扱いは通常の変数と変わりません。配列の個々の要素に値を代入するには、以下のように代入演算子=を使います。 num[0]=100; num[1]=200; num[2]=300; : もちろん、通常はこんな悠長な記述はしません。配列の宣言時にすべての要素の値を示し、初期化することができます。 int num[]={100,200,300,400,500,600}; { }内に値を「,」で区切って列挙するだけです。このようにすれば、[ ]内に最大要素数を示す必要はありません。{ }内に列挙した値の数だけの要素が自動的に確保されます。 配列のコピー 他の変数と同じように配列をコピーしたプログラム /* […]
C exercises2 (1) guidance
C言語プログラミング演習Iの試験解説 C言語検定試験について 主催・認定 サーティファイ情報処理能力認定委員会 試験名 C言語プログラミング能力認定試験 (C-Language Programming Skills Qualification Test) 試験目的 C言語を駆使して応用プログラム(言語処理系、ユーティリティなど)を作成する能力を認定します。 認定基準 一級 C言語を駆使し、応用プログラム(言語処理系、ユーティリティなど)が作成できる能力を有する。また使用しているOSについて理解をしている。 二級 小規模のプログラム(500行程度)が適切に(理路整然、簡潔、正しく、速く)書ける。また各種基本アルゴリズムを理解している。 三級 C言語の概念を理解し、簡単なプログラムが書ける。 参考(2級出題範囲) 出題内容 定数 浮動小数点定数 指数形式を許す 浮動小数点接尾語はf、l、F、Lのいずれか 整数定数 整数接尾語として長語接尾語(l、L)を含む 文字定数 拡張表記は8進拡張表記、16進拡張表記を含む 文字列リテラル 拡張表記は8進拡張表記、16進拡張表記を含む 列挙定数 演算子 ビット演算子、条件演算子、代入演算子、キャスト演算子、ポインタ/アドレス演算子、構造体演算子、sizeof演算子 宣言指定子 void、short、long、float、double、構造体共用体指定子(struct、union)、列挙型指定子(enum)、型修飾子(const)、typedef 変数 上記型指定子の単純変数、配列 外部定義 プリプロセッサ機能 ファイルの包含 ライブラリ関数 数学関数<math.h> double cos(double x); double sin(double x); double tan(double x); double […]
C programming exercises 2
【授業の概要】 コンピュータプログラム開発言語の中で広く利用されている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 programming 2 (1) Guidance
C言語プログラミングⅠの前期試験解説 試験後、解説が行われたので、質問があれば、答えする。 (質問応答は、日本語の他に、英語、中国語も可能!) C言語検定試験について http://www.sikaku.gr.jp/js/cp/ C言語を駆使した応用プログラムの作成能力を認定 C言語は、記述の自由度が高く、使用可能なプラットホームが多いなど、使用できる場面が多いことから、現在最も広く普及しているプログラミング言語です。このC言語のプログラミング能力の測定を目的に、1992年より開始されたのがサーティファイ 情報処理能力認定委員会が主催する「C言語プログラミング能力認定試験」です。 保有スキルのレベルに合わせた3段階の認定基準を設けることにより、これから新たにプログラミングの学習を始める方から、現在プログラマやシステム・エンジニアとして既に活躍されている高度IT技術者の方まで、幅広い皆様から受験いただいています。 初学者から、ビジネスシーンで活躍できるプログラマまで、幅広いスキルを測定 「C言語プログラミング能力認定試験」は、これからプログラミングを学び始める方を対象とした「3級」から、プログラマやシステム・エンジニアとして活躍されている方の保有スキルを客観的にアピールできる「1級」まで、幅広いスキルを測定しています。 特に「1級」では、実際にPCを使用して、プログラムの仕様変更やこれに伴うプログラミング作成(コーディング・コンパイル・デバッグ)を行う、極めて実践的な資格・検定試験として、IT業界でも高く評価されています。 基本情報技術者試験の午後の試験対策としても有効 「C言語プログラミング能力認定試験」の「2級」及び「3級」は、経済産業省認定「基本情報技術者試験」の「午後問題」の出題形式も意識して作成しています。そのため、「基本情報技術者試験」の学習と連動した活用も多く見られます。保有スキルのレベルに応じた級位取得を目標としていただくことで、C言語のプログラミング能力を高めるだけではなく、「基本情報技術者試験」の合格にもつなげていくことができます。 参考(3級出題範囲) 出題内容 定数 整数定数 10進定数、8進定数、16進定数 整数接尾語は符号無し接尾語(u、U)のみ 文字定数 ワイド文字定数(L’c文字の列’)を除く 拡張表記は単純拡張表記のみ 文字列リテラル ワイド文字列リテラル(L”s文字の列”)を除く 拡張表記は単純拡張表記のみ 演算子 算術演算子、インクリメント演算子、デクリメント演算子、(算術の)代入演算子、関係演算子、等値演算子、論理関係演算子、括弧演算子、コンマ演算子 型指定子 char、int、unsigned、signed 変数 上記型指定子の単純変数、配列 初期化の構文 基本制御文 break、continue、do、for、if、return、switch、while プリプロセッサ機能 #define、#include ライブラリ関数 入出力関数<stdio.h> EOF NULL int printf(const char *format, …); int scanf(const char *format, …); int getchar(void); int putchar(int c); 文字操作関数<ctype.h> […]
C programming 2
【授業の概要】 コンピュータプログラム開発言語の中で広く利用されている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 60 7 1回~6回までのまとめ 演算に関する演習問題をグループで解く 授業内容を復習する 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アプリの作成