プログラミングやってみようか
@jo7ueb
JA7YCQ プログラミング勉強会 #1
一般人代表
JA7YCQ SNCT Ham club
2
はじめに
● Linuxプログラミング環境の構築
● プログラミング編
– データ表現
– メモリ空間について
– 変数型について
3
Linuxプログラミング環境の構築
4
Linuxをインスコしよう!
● DVDから ycq_lubuntu.ova を適当なところにコ
ピペ
● ↑ダブルクリック
● ホイホイやって
暫く待つ
5
自分の環境でやりたい人は…
● make, cmake
● git, subversion
● gdb, valgrind
● Qt
6
とりあえず…
● はじめての(?)C
– こんにちはしてみよう
7
まずは闇の画面を開く
● デスクトップ左上の “LXTerminal” を開く
● 闇の世界へようこそ
● $emacs hello.c または $vim hello.c etc.
– 初心者には前者がおすすめ(?)
– エディタが開いた!
8
コピペだ!
#include <stdio.h> // OMAJINAI
int main(int argc, char **argv)
{
printf("Hello world!!n");
return 0;
}
$ gcc hello...
9
実習: いろいろいじってみよう!
● printf(" xxx "); ここいじったらどうなる?
– t b r n いろいろあるよね
● 他にも分かる人はいっぱいいじってみよう!
どんなふうにいじったかな?
紹介してみよう!
10
コンピュータ上のデータ表現
11
俺達がコンピュータで処理したいデータ
● 数値(整数,小数)
● 文字
● 文字列 ex) "I am a genius!!!"
● 画像
● 音声
● 動画
● etc
12
だけど…
コンピュータが処理できるのは…
0100 0010 0100
1001 0100 1010
0100 0001 0101
0010 0101 1001
だけ!!
13
どないしよ…
全てを2進数に
せよ!!!!!
14
数値の表現
● 整数: コンピュータリテラシでやったとおり!
– 符号付きの場合は,MSBが1なら負の数
– 2の補数表現
● 小数: ややこしい!!
– 固定小数点数: あまり使わない
– 浮動小数点数: よく使うけどめんどい
● BC...
15
整数の表現について
● 基本は進数変換(10進数から2進数 or 16進数)
● 負の数を表すときは2の補数表現を使う
– まずは全ビットを反転
– その次に1を足す
補足資料
ex) -5を2進数(4ビット)で表す
(5)10
= (0...
16
BCDコードの利用例
● ICOMのCI-Vで使われている!
– コンピュータから無線機をコントロールしたり,無
線機からコンピュータへ情報を取ってくることがで
きる便利な仕掛け
補足資料
https://twitter.com/GuRa...
17
文字
● 基本はASCIIコード表
http://www40.atwiki.jp/system-ed/pages/11.html
18
文字列
● 文字をただ単に並べただけ
● (C言語では)最後をNULL文字でシメる
Neppon
4E 65 70
70 6F 00
0100 1110 0110 0101 0111
0000 0111 0000 0110 1111
00...
19
マルチメディア
● それぞれの形式によりけり
● 画像
– JPEG, PNG, GIFなどいろいろ
– ex) PBM(Portable BitMap)
20
画像の例: PBM(Portable BitMap)
P1
# This is an example bitmap
of the letter "J"
6 10
0 0 0 0 1 0
0 0 0 0 1 0
0 0 0 0 1 0
0 ...
21
次回予告
● メモリ表現と変数
– コンピュータ上で一体どう保存・処理されるのか?
– プログラムで一体どう値を扱うの?
● 標準入出力の基礎
– printfをもっと楽しく!
● 一番大切な言語の話
22
本資料の利用について
本資料はクリエイティブ・コモンズ 表示 - 継
承 3.0 非移植 ライセンスの下に提供されてい
ます.ライセンスの詳細については,下記
URL をご参照ください.
本資料の利用に際して,元データ(ODF形式)の
提...
Upcoming SlideShare
Loading in …5
×

JA7YCQプログラミング勉強会 第1回 ~プログラミングやってみようか~

565 views

Published on

プログラミング勉強会第1回資料です.
Linux環境の構築と,前提知識としてコンピュータ上におけるデータ表現について解説します.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

JA7YCQプログラミング勉強会 第1回 ~プログラミングやってみようか~

  1. 1. プログラミングやってみようか @jo7ueb JA7YCQ プログラミング勉強会 #1 一般人代表 JA7YCQ SNCT Ham club
  2. 2. 2 はじめに ● Linuxプログラミング環境の構築 ● プログラミング編 – データ表現 – メモリ空間について – 変数型について
  3. 3. 3 Linuxプログラミング環境の構築
  4. 4. 4 Linuxをインスコしよう! ● DVDから ycq_lubuntu.ova を適当なところにコ ピペ ● ↑ダブルクリック ● ホイホイやって 暫く待つ
  5. 5. 5 自分の環境でやりたい人は… ● make, cmake ● git, subversion ● gdb, valgrind ● Qt
  6. 6. 6 とりあえず… ● はじめての(?)C – こんにちはしてみよう
  7. 7. 7 まずは闇の画面を開く ● デスクトップ左上の “LXTerminal” を開く ● 闇の世界へようこそ ● $emacs hello.c または $vim hello.c etc. – 初心者には前者がおすすめ(?) – エディタが開いた!
  8. 8. 8 コピペだ! #include <stdio.h> // OMAJINAI int main(int argc, char **argv) { printf("Hello world!!n"); return 0; } $ gcc hello.c $ ./a.out あいさつできたかな?
  9. 9. 9 実習: いろいろいじってみよう! ● printf(" xxx "); ここいじったらどうなる? – t b r n いろいろあるよね ● 他にも分かる人はいっぱいいじってみよう! どんなふうにいじったかな? 紹介してみよう!
  10. 10. 10 コンピュータ上のデータ表現
  11. 11. 11 俺達がコンピュータで処理したいデータ ● 数値(整数,小数) ● 文字 ● 文字列 ex) "I am a genius!!!" ● 画像 ● 音声 ● 動画 ● etc
  12. 12. 12 だけど… コンピュータが処理できるのは… 0100 0010 0100 1001 0100 1010 0100 0001 0101 0010 0101 1001 だけ!!
  13. 13. 13 どないしよ… 全てを2進数に せよ!!!!!
  14. 14. 14 数値の表現 ● 整数: コンピュータリテラシでやったとおり! – 符号付きの場合は,MSBが1なら負の数 – 2の補数表現 ● 小数: ややこしい!! – 固定小数点数: あまり使わない – 浮動小数点数: よく使うけどめんどい ● BCD(Binary Coded Decimal) – 組込みで使ったりするかも ex) ICOMのCI-V で流れるデータ
  15. 15. 15 整数の表現について ● 基本は進数変換(10進数から2進数 or 16進数) ● 負の数を表すときは2の補数表現を使う – まずは全ビットを反転 – その次に1を足す 補足資料 ex) -5を2進数(4ビット)で表す (5)10 = (0101)2 0101 1010 1011 (-5)10 = (1011)2 1. 反転する 2. 1を足す  +1011  0101  10000 桁あふれは無視
  16. 16. 16 BCDコードの利用例 ● ICOMのCI-Vで使われている! – コンピュータから無線機をコントロールしたり,無 線機からコンピュータへ情報を取ってくることがで きる便利な仕掛け 補足資料 https://twitter.com/GuRaMbo_SA/status/344364937650532353 無線機から周波数を取得する例 by JP7FKF
  17. 17. 17 文字 ● 基本はASCIIコード表 http://www40.atwiki.jp/system-ed/pages/11.html
  18. 18. 18 文字列 ● 文字をただ単に並べただけ ● (C言語では)最後をNULL文字でシメる Neppon 4E 65 70 70 6F 00 0100 1110 0110 0101 0111 0000 0111 0000 0110 1111 0000 0000
  19. 19. 19 マルチメディア ● それぞれの形式によりけり ● 画像 – JPEG, PNG, GIFなどいろいろ – ex) PBM(Portable BitMap)
  20. 20. 20 画像の例: PBM(Portable BitMap) P1 # This is an example bitmap of the letter "J" 6 10 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ● マジックナンバー – P1: PBM Asciiエンコーディング ● コメント行 – #で始まる ● 画像のサイズ – 横 縦 ● 画像データ
  21. 21. 21 次回予告 ● メモリ表現と変数 – コンピュータ上で一体どう保存・処理されるのか? – プログラムで一体どう値を扱うの? ● 標準入出力の基礎 – printfをもっと楽しく! ● 一番大切な言語の話
  22. 22. 22 本資料の利用について 本資料はクリエイティブ・コモンズ 表示 - 継 承 3.0 非移植 ライセンスの下に提供されてい ます.ライセンスの詳細については,下記 URL をご参照ください. 本資料の利用に際して,元データ(ODF形式)の 提供を希望される方は作者までご連絡下さい. http://creativecommons.org/licenses/by-sa/3.0/deed.ja LibreOfficeについて 本資料は LibreOffice Impress を利用して作成 されています.LibreOffice は The Document Foundation が提供する自由でかつオープンソー スのオフィススイートです.作者は LibreOffice を応援しています.

×