嫌儲IT授業部 プログラミング技術者育成合宿 初級コースから上級コースまで
1 :
番組の途中ですがアフィサイトへの転載は禁止です :
2010/06/25(金) 17:06:40 ID:/pUdI8sJ0 BE:2288545079-2BP(1919)
【勉強スレQ&A】
Q. ずぶの素人ですがプログラミング勉強スレに参加してもよろしいでしょうか?
A. はい。勉強スレは誰でもウェルカムです。
Q. 素人ですがプログラミングできるようになりますか?
A. ハッカーもクラッカーもみんなゼロからのスタートです。
要は あなたの努力次第です。
Q. スレタイに「授業」って入っていますが、どのようが講義が受けられますか?
A. 講義はありません。自習あるのみです。
Q. プログラミングの勉強を始めようと思うんですけど、一番大事なことは何ですか?
A. 自分がいったい何を作りたいのか常にイメージすることです。
Q. プログラミングコードの直書きはOKでしょうか?
A. はい、OKです。但し、ウィルスコードは貼り付けないでください。
Q. アニメの話をしてもよろしいですか?
A. 嘗てはオーバーランナー向けプログラムが流行したほどです。
例.printf("んでっ!んでっ!んでっ!\n");
大きな問題はないとは思いますが、レスが返ってくる保障はありません。
Q. 機械語で話しても構いませんか?
A. 構いませんが、解釈できる人がいるとは限りません。
Q. お絵かき部は週末のみ営業らしいですが、IT部はいつ営業していますか?
A. 特別営業日や臨時休業日を除き、休まず営業いたします。
【勉強スレQ&A】
Q. プログラミングを勉強したいけど何を作ったらいいのか分かりません。
A. プロジェクトオイラーのサイトをオススメします。
プロジェクトオイラー
http://projecteuler.net/ 解きたい問題をえらんで好きな言語でコードを書き、答えを導き、数学とプログラミングを両方楽しめるサイトです。
英語の苦手な方には日本語和訳があります。
プロジェクトオイラー日本語wiki
http://odz.sakura.ne.jp/projecteuler/index.php?Project%20Euler Q. プログラミング始めたいんですけど、何か良いフリーのエディタありませんか?
A. サクラエディタ、xyzzy、Notepad++
Q. Windowsアプリ作りたいですけど、どの言語を学習すれば良いですか?
A. C#
Q. Q&A内ではC言語をオススメしているけど目的別に考えたときにC言語から学び始めることに納得がいきません。
A. あくまでC言語から始めることが無難という話です。目的別にそれぞれ適した言語が確かにあります。
だから、そういう場合は是非迷っている人にオススメの言語を迷い人の目的に沿った形で教えてあげてください。
/:::::::::レ \
ー 7::i \
/::::| ヽ }\ } ヽ トヽ
イ:::::i ヽ ト \ イ⌒ヽ| ヽ ヘ
. |:へ| イ´ ̄ ヽ| \| 彳テト,ヽ|/|ヽ! _______________________
| | i |イテミ !::::d/|`V\ | |
| | \ヽヽ::::d , ` ´ iノ | .i 「 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| |
i |(´ ーゝ´ ''''''ノ | /7 .| | 。 | |
./ | ー\''''' ─ ´ / \/) /. i | 。 ゜○゜ . i |
ヽ \ト ─-┐´ヽ. /r つ . ..| i ゜○゜ | |
/ \ ー 、 !⌒ヽ /ヘ/ |-─- 、 | /{ 迷い語授業部 | |
\ `ー-- ´i ヘ }〉j / 7ー | 品質第1 | |
/⌒`ヽー、\ } ノ ノ ̄ / / ニュース速報(嫌儲) i |
∧ \ ̄\ / / /{─ ´
http://namidame.2ch.net/poverty/ | |
/ .〉 \─ ´ ー/ /___/ ̄\ | |
./ 〈ヘ ヽ」_〉/ / / / r─、} | |
ヽ∧ ∨ / // / ( | V | |
Tヽ ∨ / / .\i | |
System.out.println("以上、勉強スレのソース&テンプレなう");
データベース難しい というか自分が使うだけならRDBSは必要無いな
10 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/25(金) 17:19:37 ID:/pUdI8sJ0
大量のデータをsql文書いて検索するのも結構面白いぞ。 mysqlはmysql administratorやmysql query browserとかのGUIアプリもあって、 データ解析にRDBMSは何かと捗るぞ
よしMySQLいれてみるか
12 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/25(金) 17:38:02 ID:/pUdI8sJ0
色々と学ぶことになると思うがガンガレ
13 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/25(金) 17:53:34 ID:Cth9kAVc0
テンプレがどんどん大きくなってるな
好きなスレだけどあんまりパートスレ化するのもイカガなものか 週末とか月〜水とかある程度日を決めては いや個人的な意見なんですけどもさ
>>13 色々な人が色々やっている思っていることをまとめてこうなった。
テンプレ成長していくだけでもこのスレの価値はあるかもと
嫌儲は人口&書き込み数だけに
>>14 モチベーション維持のために毎日コード貼り付けているんで毎日ないと少々困る。
あくまで個人的なことですが。
あと、他の人も書いたコード貼ってくれるので毎日勉強になるもので、
そういう意見が多数を占めてない間は大目に見て欲しいものですが
過疎地でパートスレ化して臭くなってないうちは
16 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/25(金) 18:16:11 ID:q7VlZXOnP
いずれはまとめwikiでもできるかいな?
17 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/25(金) 18:18:47 ID:/pUdI8sJ0
まとめwikiは誰か他の人に任せた ボランティアさん、よっといで〜
毎日じゃないと困る人がいるとたしかに困るかもね まあだんだん形が決まっていくと思うからまずはいろいろやってみて、おいおい修正していきましょう
ヘッダファイルを使わないで書いたソースコードみたいだな
>>18 うん、ご理解ありがとうございます。
多分週末以外は日によって専門ユーザーが変わるので
スレの形が変わるんでいろいろ試させてください。
C#プッシュマン
オイラーの問題を解き始める人
ビジネス系の人
様々現れるのでレス数以上の面白さがあるように感じます。
修正案があれば何でもいってください。
私個人のレス数が多いですが私の私物スレではないので。
21 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/25(金) 18:43:32 ID:/pUdI8sJ0
public abstract class Component { protected String greeting; public Component(String greeting) { this.greeting = greeting; } abstract public void add(Component c); abstract public void remove(Component c); abstract public void display(); } import java.util.ArrayList; public class Composite extends Component { private ArrayList<String> children = new ArrayList<String>(); public Composite(String greeting) { super(greeting); } public void add(Component c) { children.add(c); } public void remove(Component c) { children.remove(c); } public void display() { System.out.println(greeting); for (int i = 0; i < children.size(); i++) { Component c = (Component) children.get(i); c.display(); }} } public class Leaf extends Component { public Leaf(String greeting) { super(greeting); } public void add(Component c) { children.add(c); } public void display() { System.out.println(greeting);} } public class GreetingClient { public static void main(String[] args) { Composite root = new Composite("それではいつものご挨拶"); root.add(new Leaf("おっはよー")); root.add(new Leaf("じゃなくて")); root.add(new Leaf("こんばんわー")); } }
22 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/25(金) 19:05:53 ID:OkPPlEtWP
#include <stdio.h> int main(void) { int num1; int num2; puts( "整数を2回入力してください。" ); scanf( "%d", &num1 ); scanf( "%d", &num2 ); printf( "%d + %d = %d\n", num1, num2, num1 + num2 ); return 0; } --------------↑これが模範解答なんだけど printf( "%d\n", num1 + num2 ); こっちのがスマートだと思ったんだけど、これだと何かダメなのかな というより模範解答が余計なことしてるようにしか見えないんだけど、何か利点ある?
23 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/25(金) 19:06:55 ID:OkPPlEtWP
あ、ごめん これ何やってるか表示されないからダメなんだ アホなこと言ってた
24 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/25(金) 19:22:25 ID:3Q9zl84+0
#include <stdio.h> int main() { printf( "test\nmessage" ); /* testと表示し、改行してから、messageと表示 */ printf( "\n\n" ); /* 改行を2回する */ printf( "Hello, World!\n" ); /* Hello, World!と表示して、改行する */ return 0; } 上の方のURLからこれを書いてコマンドプロンプトでcl ファイル名.cやったらファイル名.exeとファイル名.objが吐き出されたんだけどどういう事? exe実行しても何も起きないしどうなれば成功なんだ?素人的な質問でスマン
25 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/25(金) 19:24:31 ID:H+ynJOIf0 BE:1696107593-2BP(0)
Project Euler を解く人と聞いて
----------------------------------------
AとBをビット列(0と1の連続列)とする。
Bの左端から"Aの長さ"ビットがAと一致する時、AをBの"接頭部"(prefix)と呼ぶ。
例えば 00110 は 001101001 の接頭部だが、00111 や 100110 の接頭部ではない。
サイズnの"接頭符号"(prefix-free code)とは、次の条件を満たす n 個の異なるビット列の集合である
どのビット列も他のビット列の接頭部ではない。下の例はサイズ6の接頭符号である。
0000, 0001, 001, 01, 10, 11
ここでビット0を送るのに1ペニー、ビット1を送るのに4ペンスかかると仮定する。
上で挙げた接頭符号にかかる総計は35ペンスとなる。 この例は非対称なコスト分布となるが、
なんと(同じサイズの中で)もっとも安い符号の1つである。短く書くと、Cost(6)=35 となる。
Cost(10^9)を求めよ。
[訳注 ペンス: ペニーの複数形]
----------------------------------------
Project Euler - Problem 219
http://odz.sakura.ne.jp/projecteuler/index.php?Problem%20219 「ビットを送る」の意味が分からないけど、ビットをカウントする際に
0 ならば 1 ペニー、1 ならば 4 ペンスとするらしい
例の場合だと 0 が 11 個なので 11 ペンス、1 が 6 個なので 24 ペンス、合わせて 35 ペンス
で、問題の条件に合った 10^9 個の集合を作る時に最少のコストを求めるのがこの問題らしい
続く
26 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/25(金) 19:25:28 ID:H+ynJOIf0 BE:4522954289-2BP(0)
さて、接頭部がどれも一致しないビット列を作らなきゃならないんだけど
それを仮に作れたところで、最少のコストになっているかが分からない
そこで取り合えず例にある 0000, 0001, 001, 01, 10, 11 を二分木で表現してみた
0 を表現する時は右へ掘り進んで、1 を表現する時は左へ掘り進むようにするとこうなる
http://www.uproda.net/down/uproda107206.jpg 根から葉へ掘り進んだ時にそれぞれ出来るのが例のビット列になる
因みにこの時、接頭部が一致するビット列というのは 0, 00, 000, 1 になる事が分かる
何故かというと途中の節までのビット列というのは、それ以降の葉までのビット列と確実に一致するから
それと当たり前だけど葉の数 = 集合の数になる
そんなわけで 10^9 の葉を持つ二分木を作って、且つそれが最少のコストのものを求めれば良い
次、最少のコストとは何か
先程の二分木の葉が持つそれぞれのコストを計算してみる
http://www.uproda.net/down/uproda107207.jpg 試しにこの Cost(6)=35 の二分木から Cost(7) を求めてみる
葉を一つ増やさなきゃならないので、何処かの葉の下に葉を二つ付けなくてはいけない
何処の葉を伸ばせば良いのかというと、勿論最少のコストを持つ 4 の葉
一応説明しておくと
4 の葉を伸ばす -> 4 の葉が消えるが、右に 5 の葉、左に 8 の葉が出来る -> 増えるコストは 5 + 8 - 4 = 9
5 の葉を伸ばす -> 5 の葉が消えるが、右に 6 の葉、左に 9 の葉が出来る -> 増えるコストは 6 + 9 - 5 = 10
...
8 の葉を伸ばす -> 8 の葉が消えるが、右に 9 の葉、左に 12 の葉が出来る -> 増えるコストは 9 + 12 - 8 = 13
どう見ても 4 の葉を伸ばした方が最少のコストで抑えられる事が分かる
もうちょっとだけ続くんじゃ
27 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/25(金) 19:26:10 ID:H+ynJOIf0 BE:2010201784-2BP(0)
28 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/25(金) 19:26:46 ID:Cth9kAVc0
>>24 コマンドプロンプトが一瞬表示されなかったか?
プロンプト画面からそのexeファイルを指定して起動させろ
29 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/25(金) 19:27:21 ID:H+ynJOIf0 BE:3517853287-2BP(0)
>>24 それ多分ダブルクリックしてexe実行してるんだろ?
コマンドプロンプトからファイル名.exeとして呼んでみれ
30 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/25(金) 19:27:46 ID:q7VlZXOnP
>>24 コマンドプロンプトでそのままつくったファイル名で実行されるよ
cl test.cならそのままtestと入力
exeとかはまだわからんので誰か上級者お願いします
31 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/25(金) 19:29:35 ID:H+ynJOIf0 BE:3957584797-2BP(0)
あらやだ
っていうかclとか懐かしいな
高校生の頃にVC++6.0買ったけど全然分からず
結局コンソールからcl.exeしか使ってなかった
今ではgcc大好きっ子になってしまったけど
32 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/25(金) 19:33:28 ID:q7VlZXOnP
しかし、gcc -o ファイル名 ソース.c だとか cl ソース.cだとかの方法もなかなか調べるのが楽しいんダナ Google先生がすぐに答えてくれなかったりするんダナ
33 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/25(金) 19:33:28 ID:Cth9kAVc0
34 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/25(金) 19:33:50 ID:3Q9zl84+0
>>28-30 おおコマンドプロンプトに文字が表示された!!サンクス!!
Q. なんで勉強スレって毎日立っているの? A. 毎日勉強すれってことだよ言わせんなはずかしい。 頑張ろうっと
36 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/25(金) 21:36:26 ID:/pUdI8sJ0
37 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/25(金) 21:41:24 ID:/pUdI8sJ0
38 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/25(金) 21:43:12 ID:q7VlZXOnP
わからないことがあっても自分で考え直してみたり、調べてみたりでなかなか面白い 土日に頑張ろうと
39 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/25(金) 21:43:31 ID:qP6VIM2r0
プログラムって60分の1秒で1周するのに限界はないの?
Q. 勉強スレの意義とは何か? A. 勉強へのモチベーションを高めることに尽きる。
41 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/25(金) 22:06:55 ID:Wa7hZzKl0
ここにきてようやくテンプレも完成したな
42 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/25(金) 22:21:55 ID:3Q9zl84+0
知識ゼロからC++勉強始めたけど楽しいな
とりあえず土日で
>>4 終わらせつつ本屋でも行こうかね
43 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/25(金) 22:32:03 ID:1MK6kvv80
iphoneとかandroid向けのモバイルアプリを作りたい奴も、Cは必須知識?
44 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/25(金) 22:34:49 ID:cvibbAl70
AndroidはJava、iphoneはObjective-C Cをやったから上記言語ができるわけではないので悪しからず
45 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/25(金) 22:41:57 ID:q7VlZXOnP
iPhoneなんかはApple公式でおめーらcは知ってんだろ?っていう前提でObjective-Cのドキュメント公開してんよね
46 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/26(土) 07:57:47 ID:5t5Kzt+h0 BE:1696107593-2BP(0)
四畳半観終えたのでProject Eulerやるよ
あと保守age
47 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/26(土) 08:59:05 ID:5t5Kzt+h0 BE:1696107593-2BP(0)
----------------------------------------
合成数とは2つ以上の素因数を含む整数のことである.
例えば15 = 3 × 5, 9 = 3 × 3, 12 = 2 × 2 × 3が合成数である.
30以下には丁度2つの素因数を含む合成数 (異なる素因数でなくてもよい) が,
10個存在する. 4, 6, 9, 10, 14, 15, 21, 22, 25, 26がそうである.
合成数n < 108について, 丁度2つの素因数を含む合成数 (異なる素因数でなくてもよい) の数を答えよ.
----------------------------------------
Project Euler - Problem 187
http://odz.sakura.ne.jp/projecteuler/index.php?Problem%20187 スマートな解法があるのか知らないけど、力技でも充分な速度で求められた
回答数多かったしやっぱ簡単なんだろうな
ソース
http://codepad.org/Hu4mhvE8 D:\Works\ProjectEuler>gcc 187.c -std=c99 -O3
D:\Works\ProjectEuler>a
17427258
48 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/26(土) 09:00:10 ID:5t5Kzt+h0 BE:1507651946-2BP(0)
>合成数n < 108について
少なすぎワロタ 10^8 でおk
;; Project Euler - Problem 116
;;
http://odz.sakura.ne.jp/projecteuler/index.php?Problem%20116 (import (rnrs) (srfi :26))
(define (memoize f)
(let ((cache-table (make-hashtable equal-hash equal?)))
(lambda args
(let ((cache (hashtable-ref cache-table args #f)))
(if cache cache
(let ((result (apply f args)))
(hashtable-set! cache-table args result)
result))))))
(define (count nblacks nwhites)
(define (recursion)
(let ((nspaces (- nblacks nwhites)))
(apply + 1 nspaces (map (cut count <> nwhites) (iota nspaces 1)))))
(cond ((< nblacks nwhites) 0)
((= nblacks nwhites) 1)
(else (recursion))))
(set! count (memoize count))
(display (apply + (map (cut count 50 <>) '(2 3 4))))
D:\Works\ProjectEuler>ypsilon 116.scm
20492570929
公式のスレ読んでたら↓の一行で解く J 使いの変態がいてワロタ
+/<:([:{.(}:,~{.+{:)^:50)&>1x 0;1x 0 0;1x 0 0 0
;; Project Euler - Problem 117
;;
http://odz.sakura.ne.jp/projecteuler/index.php?Problem%20117 (import (rnrs) (srfi :26))
(define (memoize f) ...) ;; 116 と同じなので省略
(define (count nblacks nwhites colors)
(define (recursion)
(let ((nspaces (- nblacks nwhites)))
(apply + 1 nspaces (map (cut count2 <> colors) (iota nspaces 1)))))
(cond ((< nblacks nwhites) 0)
((= nblacks nwhites) 1)
(else (recursion))))
(set! count (memoize count))
(define (count2 nblacks colors)
(apply + (map (cut count nblacks <> colors) colors)))
(set! count2 (memoize count2))
(display (+ 1 (count2 50 '(2 3 4))))
D:\Works\ProjectEuler>ypsilon 117.scm
100808458960497
同時に色を使うようにしても
結局 Problem 116 と同じでメモ化すればおk
51 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/26(土) 16:41:57 ID:SNgMvwB70
public abstract class Visitor { abstract public void visitConcreteElement(ConcreteElement concreteElement); } public class ConcreteVisitor extends Visitor { public void visitConcreteElement(ConcreteElement concreteElement) { System.out.println(concreteElement.say()); } } public abstract class Element { protected String greeting; abstract public void accept(Visitor visitor, String greeting); } public class ConcreteElement extends Element { public void accept(Visitor visitor, String greeting) { this.greeting = greeting; visitor.visitConcreteElement(this); } public void say() { System.out.println(greeting); } } import java.util.*; public class ObjectStructure { private ArrayList elements = new ArrayList(); public void attach(Element element) { elements.add(element); } public void detach(Element element) { elements.remove(element); } public void accept(Visitor visitor) { for (int i = 0; i < elements.size(); i++) { Elements e = (Element)elements.get(i); e.accept(visitor); } } } public class GreetingClient { public static void main(String[] args) { ObjectStructure o = new ObjectStructure(); o.attach(new ConcreteElement()); o.attach(new ConcreteElement()); ConcreteVisitor v1 = new ConcreteVistor(); ConcreteVisitor v2 = new ConcreteVistor(); o.accept(v1, "おっはよー"); o.accept(v2, "こんにちわー"); } }
53 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/26(土) 20:47:18 ID:SNgMvwB70
54 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/26(土) 22:00:33 ID:SNgMvwB70
そろそろアルゴリズムとデータ構造の勉強がしたくなる季節
55 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/26(土) 22:04:39 ID:tLLY8h8t0
フンコロガシ人間認定されたので、プログラミング頑張ります
56 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/26(土) 22:21:08 ID:WP+S5pfLP
>>4 のCの上のとこちょっとづつやってるんだけど
8までと9章からで難しくなりすワロタ
覚えられる自信が無くなる
57 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/26(土) 23:13:07 ID:8Yppaam/0
聞けばいいよ 感覚とかは
58 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/26(土) 23:15:43 ID:o6nFUXsXP
人間は忘れるもんな 繰り返し繰り返しが大事なんだなきっと
繰り返し忘れるよなw
60 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/27(日) 05:33:48 ID:bpJ5XmNX0 BE:3078121777-2BP(0)
// FizzBuzz
//
http://codepad.org/UWcBFDDA #include <stdio.h>
int main(void)
{
unsigned int i, x, flags = 19142723;
unsigned long long chars = 11296878196090ull;
int xfmts[] = { 0, 25181, 25172, 103105117 };
for (i = 1; i <= 100; i++) {
int flag = flags >> i % 15 * 2 & 3;
if (!flag) printf("%d\n", i);
else for (int x = xfmts[flag]; x & 7; x >>= 3) {
putchar(chars >> ((x & 7) - 1) * 8 & 0xff);
}
}
return 0;
}
(;´Д`)ハァハァ
なんで島根とおもったら松本氏がいるからなのかぁ
62 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/27(日) 13:12:37 ID:2TZTi11r0
import java.util.ArrayList; import java.util.Iterator; public class Product { ArrayList<String> parts = new ArrayList<String>(); public void addPart(String part) { parts.add(part); } public void show() { Iterator<String> iterator = parts.iterator(); while (iterator = parts.iterator()) { System.out.println(iterator.next()); } } } public abstract class Builder { abstract public void buildPart(); abstract public Product getResult(); } public class ConcreteBuilder extends Builder { Product product; public void buldPart() { product = new Product(); product.addPart("おっはよー"); } public Product getResult() { return product; } } public class Director { public void constract(Builder builder) { builder.buildPart(); } } public class GreetingClient { public static void main(String[] args) { Director director = new Director(); Builder builder = new ConcreteBuilder(); director.constract(builder); Product product = builder.getResult(); product.show(); } }
63 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/27(日) 13:16:42 ID:2TZTi11r0
勉強するには非最適な暑さ
64 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/27(日) 13:25:07 ID:FzZLxJmN0
空冷すべし
65 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/27(日) 14:24:59 ID:2TZTi11r0
66 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/27(日) 14:25:43 ID:2TZTi11r0 BE:1453044858-2BP(1919)
67 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/27(日) 14:27:36 ID:tkSs9/qy0
プログラミングの課題でたけどプログラミングって何なの 英語と数字がジャンプしまくっててわけがわからない
68 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/27(日) 14:29:52 ID:tkSs9/qy0
数字がなにかとても大切な意味を持つような気がする 謎の文字列は飾り?
69 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/27(日) 14:36:10 ID:2TZTi11r0
いったい何と戦っているんだよ
70 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/27(日) 17:18:36 ID:TTI3uAvGP
いきなりプログラミングの課題でたんかいな 授業であつかってなかったんかいな
71 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/27(日) 19:11:32 ID:2TZTi11r0
UI勉強から解き放たれて自由の身 だから、アルゴリズムの勉強した。 ランダムシャッフル。 配列の中身をランダムに入れ替えるだけだけど
72 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/27(日) 19:30:46 ID:bpJ5XmNX0 BE:2638390076-2BP(0)
----------------------------------------
d(n)をnの真の約数の和と定義する。(真の約数とはn以外の約数のことである。)
もし、d(a) = b かつ d(b) = a (a ≠ b)を満たすとき、aとbは友愛数(親和数)であるという。
例えば、220の約数は1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110なのでd(220) = 284である。
また、284の約数は1, 2, 4, 71, 142なのでd(284) = 220である。
それでは10000未満の友愛数の合計を求めよ。
----------------------------------------
Project Euler - Problem 21
http://odz.sakura.ne.jp/projecteuler/index.php?Problem%2021 真の約数の和を求めるのに
素数や素因数分解、約数関数なんて実は必要無くて
1 から n までの複数の真の約数の和を求めるなら
和のテーブルを作って足し上げていく方が単純で確実に速い
約数の和を使う他の問題にもこれは使える
どろソース
http://codepad.org/9YjK1oJH
73 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/27(日) 19:40:48 ID:bpJ5XmNX0 BE:2512752285-2BP(0)
>>71 変態アルゴリズムのボゴソートを書けるな
誰が得するのかは分からないけど
74 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/27(日) 20:34:35 ID:2TZTi11r0
「ボゴソート」ググッたわ。 よく分からない。 よく分からなかったけど、 マジキチアルゴリズムということだけは分かった。
75 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/27(日) 20:36:47 ID:2TZTi11r0
累乗根を計算するアルゴリズムを学んだ。 Math.sqrtの中身みたいなもの。
76 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/27(日) 21:31:07 ID:B8stLMZF0
signed unsignedでごにょごにょ悩まされている、うーん
77 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/27(日) 21:35:48 ID:bpJ5XmNX0 BE:251275722-2BP(0)
質問すればおk
俺は時間が無いので今日は無理だけど
分かる内容なら答えるよ
他の人もいるだろうし
78 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/27(日) 21:41:57 ID:2TZTi11r0
頼もし過ぎるんダナ 俺も困ったら頼ろう 質問しよう 頼り切ろう
79 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/27(日) 22:05:42 ID:9yVWJiKy0
F#ってイラッとくるコードだな
80 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/27(日) 22:07:55 ID:2TZTi11r0
ここで●無限生成機作る気かよ
81 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/27(日) 22:09:13 ID:/n9cF5pf0
このスレガチすぎてびびった できると面白いんだろうなぁ
82 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/27(日) 22:17:01 ID:9yVWJiKy0
>>80 そのような気は無い ただ、他の言語もやってみたくなった
83 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/27(日) 22:18:28 ID:GgzDFNg10
GOでなんかしてる人っている?
84 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/27(日) 22:23:00 ID:2TZTi11r0
そうか ●無限生成機作成中のつぶやきなんかも期待したが 面倒だもんなわざわざ作るの では、思う存分関数型プログラミング楽しんで下さい。
85 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/27(日) 22:24:41 ID:2TZTi11r0
Go言語のような並列プログラマーさんはまだ見ていないな
86 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/27(日) 22:25:58 ID:9yVWJiKy0
>>84 俺だったらあの方法では無くて別の方法で実装させたけどなぁ 人によって組み方が違うのもプログラミングのいいところだ
87 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/27(日) 22:29:11 ID:2TZTi11r0
どの方法かは詳しくは分からないけど 実行結果が同じであれ 設計の仕方で組み方は随分変わってくるのは確か
88 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/27(日) 22:33:10 ID:9yVWJiKy0
short a = 12345; short b = 20424; a = a +b; これだと例外が出ないと仮定すると予期せぬ値になるわけだが、 わざわざ short a = 12345; short b = 20424; if(b > 32767 - a) trow Expection("溢れた"); else a = a +b; と組む人っていないに等しいような short: -32768〜32767
89 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/27(日) 22:33:59 ID:9yVWJiKy0
trow → throw
90 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/27(日) 22:42:51 ID:CY5FKh2l0
C#の良い教材ってありますか?
91 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/27(日) 22:53:10 ID:2TZTi11r0
>>88 溢れ気にする人自体がものによっては少なそうだからね。
>>90 C#はそういえばテンプレにないね。
以前C#ごり押し君がいたから、
そういう人がいたらまた別の機会に聞いてみるのがいい
それとも待つのがいい
C#ユーザーはわりと居そうだから
92 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/28(月) 00:23:11 ID:pCKjfOC/0
93 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/28(月) 00:25:37 ID:VrxBHE9z0
C#@.NET4.0でWebGardenなASP.NETとGUIで動くホスト(GUIなくても良い)との間をMMFで情報共有すれば 非WebGarden環境のCache,Application[""]と同じこと出来るかな
94 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/28(月) 00:35:54 ID:OMVsgnmT0
プログラミングはC言語ってのから始めるといいのか テトリスとか作れるくらいになるまでどんくらいかかるもんなの? ってかそもそもC言語で作れるの?
95 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/28(月) 00:53:25 ID:VrxBHE9z0
VS2008だと4.0使えないのか
96 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/28(月) 01:03:33 ID:FA96acf10
>>66 読んでくれてる人がいてうれしい。
UIに興味を持ったら、ヤコブ・ニールセン(Jakob Nielsen)で検索。
ユーザビリティについての第一人者。
プログラムっていうより学問になるから直接は関係ないけど、内容は理解できるはず。
97 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/28(月) 01:12:56 ID:FA96acf10
あと、UIに興味持った人でゲームやる人へ。 L4DとかHalf-Life作ってる、Valveのゲームには解説モードってのがあって、これがすごい。 Appleが30年前に出した「アップル ヒュ−マンインターフェイスガイドライン」に載ってる 手法そのままなんだけど、ユーザーがどこでどう感じたかを汲み取りながら、 ゲームを作る過程を説明してる。 ちなみに、この本はプレミアがついててアマゾンだと古本で\10,000くらい。
98 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/28(月) 07:12:42 ID:VrxBHE9z0
ずっとC#と格闘していたら朝になってた とりあえずASP.NET(v4モード)とホストプログラムとの間でMemoryMappedFileは使えない 何やらメモリ領域が違うっぽい
99 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/28(月) 08:19:52 ID:DkNqAwzx0 BE:3957585179-2BP(0)
>>94 勿論Cで書ける、けど画像を表示したりしてグラフィカルに作ろうと思うとかなり面倒になる
初めてプログラミングしてCで綺麗なテトリスを1ヶ月で作れたら凄いねって言われるんじゃなかろうか
簡単なゲームを作りたいならCよりHSPの方が良いと思う
俺は触った事無いけど、初めてプログラミングしましたHSPでゲーム作りましたっていう人結構いるみたいだし
単にプログラミングをやってみたいなら何から初めても良いんじゃね?
初めて触った言語がBrainfuckとかネタになるよ^^
100 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/28(月) 08:34:04 ID:AUFdwCcGO
C言語とC++とC#の違いを教えて下さい 文法みたいなのは同じ?
>>88 そりゃ常識的に考えてチェックしなくても困らないからだろ
チェックしないと動かない、おかしな動作をするならそこで初めてチェックする
俺は書き捨てるようなコードだとmalloc()の戻り値もチェックしないわ
102 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/28(月) 09:02:33 ID:VrxBHE9z0
ホスト側(Administrator) MemoryMappedFile mmf = MemoryMappedFile.CreateOrOpen("Global\\MMFTEST", 4096, MemoryMappedFileAccess.ReadWrite); MemoryMappedFileSecurity mmfs = mmf.GetAccessControl(); mmfs.SetAccessRuleProtection(true, false); ##a mmf.SetAccessControl(mmfs); ASP.NET側 MemoryMappedFile mmf = MemoryMappedFile.OpenExisting("Global\\MMFTEST", MemoryMappedFileRights.Read) MemoryMappedViewAccessor mmva = mmf.CreateViewAccessor(); ##b 同じアカウント(Administrator)かSystemのみプロセス間通信が成立 ただし、##aのコードが無いと##bで失敗する 他のLocalService, NetworkServiceではmmf自体開けない RAMディスク作ったほうが早そう
103 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/28(月) 09:02:47 ID:Y5K8NHlQP
HSPはいきなり無限ループでクラッシュさせた思い出
104 :
番組の途中ですがアフィサイトへの転載は禁止です :2010/06/28(月) 13:11:59 ID:EpdwMwCx0 BE:2798640768-2BP(4930)
どうでもいいけどボゴソートくっそワロタw
誰が得するんだよwww
105 :
番組の途中ですがアフィサイトへの転載は禁止です :
2010/06/28(月) 14:31:29 ID:gEVB6zHy0 完全初心者だけどここ見てC言語勉強する事決めた 頑張るわ〜