【超初心者】プログラミング質問スレ【基礎のキソ】at TECH
【超初心者】プログラミング質問スレ【基礎のキソ】 - 暇つぶし2ch400:デフォルトの名無しさん
10/04/19 15:54:30
>>399
特定のブラウザにはGCにメモリリークのバグがあるってGoogle先生が言ってた

401:デフォルトの名無しさん
10/04/19 16:03:24
>>400
でもグーグル先生ブラウザでもダメなんだ・・・
私も調べましたが、たぶんIEの問題ですね。
火狐と黒目さんは同じようにメモリリークみたいな感じです

402:わけわからん
10/04/19 16:11:35
>>398
すみませんでした。
URLリンク(q.hatena.ne.jp)
の2番目の回答者のコードを分析中なんです。
amp;を消して、10進コードを文字に変換したら残ったのが長ったらしい関数名や変数名のようなんです。
これは何を意味するのか知りたくて質問しました。


403:デフォルトの名無しさん
10/04/19 16:57:11
糞と味噌を混ぜた泥から味噌を取り出せと逝ってるようなもんだな

404:デフォルトの名無しさん
10/04/19 16:59:29
トンスルは文化

405:デフォルトの名無しさん
10/04/19 17:03:31
>>402
&を&に置換してphpで保存してみ

406:わけわからん
10/04/19 17:10:48
>>405
はい、変換して10進コードを文字に変換しました。
するとでてきたのがR7A750C5BCEA370CB894B8943298EA212 という
変数名や関数、どうやらほとんどが33文字のようです。
また、おそらく引数のような値もありました。

407:デフォルトの名無しさん
10/04/19 17:16:11
>>406
いやだからそれはそのまま変数として使える
気になるなら短い名前に置き換えればいいじゃない

408:デフォルトの名無しさん
10/04/19 17:34:29
google web apiを使ったほうが簡単だと思います。

409:わけわからん
10/04/19 18:03:40
貼り付けようと思ったんですが長すぎるんでどうしましょうか・・・・
実行してみたら空っぽのファイルだけ出力されました。

410:わけわからん
10/04/19 18:05:35
>>408
日本語が使えなさそうなのとドキュメントが整備されてないので敷居が高いです。

411:デフォルトの名無しさん
10/04/19 18:23:45
>>409
間違ってもそのままコピペしてPHPとして実行したらだめだぞ
・・・って実行しちゃったのか。調べてないが何されてても知らないぞ

スクリプト部分は変数名と関数名が [A-Z0-9] が 30 数個 に置換されてるから
とりあえず適当な名前に変換すること
あとは $_GET と Base64 の意味を調べれば何をやってるかわかるだろう

412:デフォルトの名無しさん
10/04/19 18:45:29
そのリンク先の質問があまりにも他力本願過ぎるから
難読化して貼り付けたらしいなw

413:わけわからん
10/04/19 20:27:50
今ちんたら変換してます・・・
つーか変なんですよね・・・定義してない関数がやたら出てくるんですよ・・・

解読したら糞コードってことはないですよね・・・

414:わけわからん
10/04/19 20:39:26
<title>Google2CSV</title>
<meta http-equiv="Content-Type" content="text/html; charset=sjis" />
<?php
error_reporting(0);
$変数その1 = 関数その1("b3V0cHV0LmNzdg==");
function 関数その2() {
$変数その2 = $_GET[関数その1('cQ==')];
$変数その3 = $_GET[関数その1('bnVt')];
$変数その4 = 関数その1("aHR0cDovL3d3dy5nb29nbGUuY29tL3NlYXJjaD9xPQ==").urlencode($変数その2).関数その1('Jm51bT0=').urlencode($変数その3);
$変数その5 = implode('', file($変数その4));
if (preg_match_all(関数その1('ITxkaXYgY2xhc3M9Z1tePl0qPiguKj8pPC9ub2JyPjwvZm9udD48L3RkPjwvdHI+PC90YWJsZT48L2Rpdj4hcw=='), $変数その5, $変数55)) {
$変数その6 = array();
foreach ($変数55[0] as $変数その8) {
$変数その7 = array();h
if (preg_match(関数その1('LzxoMiBjbGFzcz1yPjxhIGhyZWY9IihbXiJdKikiW14+XSo+KC4qPyk8XC9hPi9z'), $変数その8, $変数その9)) {
$変数その7['url'] = $変数その9[1];
$変数その7['title'] = $変数その9[2];
}
if (preg_match(関数その1('Lzxmb250IHNpemU9LTE+KC4qPyk8YnI+PHNwYW4gY2xhc3M9YS9z'), $変数その8, $変数その9)) {
$変数その7['body'] = $変数その9[1];
}
array_push($変数その6, $変数その7);
}
}
print "<pre>";
print htmlspecialchars(関数2($変数その6));
print "</pre>";
}

415:デフォルトの名無しさん
10/04/19 20:44:18
>>413
やってることは URLリンク(www.google.com) ... &num= ... をGETして
結果の HTML から必要な箇所を正規表現で抜き取って
CSV にしてから output.csv に出力
PHP はよくわかんないからこれが動くものなのかは知らない

結果は別にたいしたコードじゃないけど
簡単に解読できないんだったら解読すること自体に価値はあるんじゃないか

416:わけわからん
10/04/19 20:50:50
function 関数その2($変数その10) {
return '"'.str_replace('"', '""', $変数その10).'"';
}
function   関数2($変数その11) {
$変数その13 = "";
foreach ($変数その11 as $変数その12) {
$変数その13 .= implode(',', array(関数その2($変数その12['url']), 関数その2($変数その12['title']), 関数その2($変数その12['body']))) . "\n";
}
global $変数その1;
$変数その14 = fopen($変数その1, "w");
fwrite($変数その14, $変数その13);
fclose($変数その14);
return $変数その13;
}
function 関数その1($変数その10) {
return base64_decode($変数その10);
}
if ($_GET['q']) { 関数その2();
?>
<p>Search Result Saved: output.csv</p>
<?php
}else{ ?>
<form action="" method="GET">検索<input type="text" name="q" />カウント: <input type="text" name="num" value="50" /><input type="submit" /></form><?php } ?>

417:わけわからん
10/04/19 20:55:56
>>415
ご丁寧に有難うございます。
仰る通りですね、勉強してみます。
ってこのコード書いた人、C言語からやってました的な匂いがするような気が
するんですがその勘はあってますか?

418:デフォルトの名無しさん
10/04/19 21:23:10
>>417
C 経験者の癖が出るようなコードじゃないからなんともいえない

あと >>414 の "b3V0cHV0LmNzdg==" なんかは base64_decode に渡せばいい
関数その 2 の定義が 2 つあるのは置換ミスだろう

419:わけわからん
10/04/19 22:58:34
>>418
ご指摘いただきました通り置換ミスでした。有難うございます。

ビックリしました。
変数、関数を変換したら合計で25個、文字数は33個。25はアルファベットの数ですが33はなんでしょうか?
なんかサイモンシン辺りを読んでいるような気分になってきました。もちろんいまだに何が書かれてるか分かりません。
でも分からなくても僕は寝れる性質なんで大丈夫です。また明日悩んでみます。

チョイチョイ的確なご指示くださる方有難うございます。

420:デフォルトの名無しさん
10/04/20 06:44:11
>>419
> 25はアルファベットの数ですが33はなんでしょうか?
アルファベットは A-Z で 26
変数名/関数名(識別子)が計 25 個だったとしてもそれは偶然

33 はたぶん
1. MD5 などで元の識別子のメッセージダイジェストを取る
  MD5 の場合は 16 進数で 32 文字( [0-9a-f]{32} )
2. 1 で得られたダイジェストが数字から始まると PHP の識別子としては
  使えないので、先頭に適当な文字を付ける
こうすると 33 文字になる

ただし >>414 を読むだけならそこまでする必要は無い
$変数その1 = 関数その1("b3V0cHV0LmNzdg==")
→ $output_filename = my_base64_decode("b3V0cHV0LmNzdg==");
→ $output_filename = 'output.csv';
のように識別子の意味を推測しながら読み替えていけばそれで足りる

421:デフォルトの名無しさん
10/04/21 07:18:08
アドバイスが欲しいです。
今までゲームを作った経験は3回だけあります。いずれも高校生の時にHSPで作りました。
分岐型ノベル、簡単なRPGです。
音楽と効果音はソフトを使って制作しています。簡単なものしか作れませんが。
グラフィックはイラストレーターとフォトショ使ってます。(姉がデザイナーなので教えてもらいました)
以前はSimply3D(家にあった)というソフトを使って3D絵を少し使ったこともありましたが、完璧に初心者です。

今度はmixiアプリが作りたくて、EclipeでJavaScriptを書こうと勉強してみたのですが、
「HelloWord!」が成功したけど、なかなか自分の思うゲームが作れないです。
というか、馬鹿だから使い方がよくわかってないっぽいです。
まず簡単な分岐型ノベルゲームを作っています。(絵を表示させて、自作音楽を少し流して、あとはテキスト フラグの設定だけ)
Google app engineを利用していて、Eclipeと連動させ、mixiデベロッパーに登録してupすることはできました。

そこで今度はJavascriptは諦め、Flashで制作してみようと思っているのですが、
いろいろ調べるうちに、
アドビ Adobe Flex Builder 3 Professional 日本語版
というソフトが気になっています。
テキストも簡単に組み込めるし、配置なんかも簡単そうで、初心者向きかな?と思ったからです。
ただ値段が・・・30日無料お試しできるものの(もったいなくてまだ使えてないです)、買うとなると75000円。
遊びに使うだけなので痛い出費なのですが、他に安価でわかりやすいflash制作ソフトがありましたら教えていただきたいです。
他に家にあるソフトは、macromediaStudioMXという古いソフトしかありません。


422:デフォルトの名無しさん
10/04/21 07:32:59
>>421
Suzuka
URLリンク(www.cty-net.ne.jp)

ParaFla
URLリンク(www.geocities.jp)

frimo
URLリンク(www.ah-soft.com)

FlashDevelop
URLリンク(flashdevelop.jp)

423:デフォルトの名無しさん
10/04/21 07:36:50
最高峰はAdobeだからなあ
とりあえず体験板で勉強してみて、
よかったら買うしかない
値段相応の価値はあるからね

flashは今後廃れるかもしれないとかは気にしたほうがいいかもしれないがね

424:デフォルトの名無しさん
10/04/21 07:40:16
ゲーム作るならAdobeはきつくね?
ガシガシコード書くならflashdevelopがいい
microsoftのIDEライクなとこも良し

425:デフォルトの名無しさん
10/04/21 07:51:28
>>422さん
おぉ!!ありがとうございます。
今ざっと見てきたのですが、別にムリして高いソフト使わなくてもなんとか作れそうですね。
とりあえず1作目を頑張って作ってみます!
素材はほぼできているので・・・あとは並べるだけなのですが・・・

>>423さん
flashは廃れるのですか・・・!
最近ケータイをXperiaに変えたので、初心者の癖にスマートフォンアプリにも興味が出てきたところなのですが、
iPhoneは今後もflashは表示できないだろうけど、
Androidは今度verupしてアプリも表示できるようになるようなので、
制作できるようになってみたいなーと思っていたのでした。

>>424さん
コード書くのが苦手なんです。思いっきり文型の人間でして・・・。
どっちかっていうと素材作りのほうが向いているのですが、自分の思い通りに配置させてみたいのです。
FlashDevelopもチェックしてみますね!ありがとうございました。


426:デフォルトの名無しさん
10/04/21 08:42:20
>>421
javascript は馬鹿には使えません
FLASH は馬鹿でも使えます

427:デフォルトの名無しさん
10/04/21 09:04:26
環境が悪いのは、自分のレベルが低いからだよ。

428:デフォルトの名無しさん
10/04/21 10:56:14
>>425
スレ間違えてるぞ

429:デフォルトの名無しさん
10/04/21 15:18:05
windows7でdirectx7や5は動作しますか?

430:デフォルトの名無しさん
10/04/21 18:03:06
>>429
無理です。

431:デフォルトの名無しさん
10/04/21 18:34:46
エミュレーションもされないの?

432:デフォルトの名無しさん
10/04/21 23:45:20
DX5は知らんがDX7は動くには動くよ

433:デフォルトの名無しさん
10/04/22 00:04:15
チラ裏で申し訳ないのですが、
文系出身(国文科…)で4月からIT企業に入社しました。
プログラミングの経験は皆無で、研修で1から教えてもらってますが、正直、アルゴリズムの簡単なフローチャートさえ全く思い浮かばないし理解もかなり遅いです。
同じプログラミング経験皆無の同期は勉強もしてないのに吸収が早く、正しいフローチャートを書きまくってます。もはや社員も苦笑いするかシカトするか。
自分はセンスがないのでしょうか?勉強もしっかりやってるつもりなのに同期で一番できなくて、先が思いやられます…

434:デフォルトの名無しさん
10/04/22 00:10:02
UMLとかフローチャートとか描けなくてもプログラムバリバリ書けるやつは書ける
だが新入社員としてそれが必須なら頑張れとしか言いようがない


ところでプログラマー板というのがあってだな

435:デフォルトの名無しさん
10/04/22 00:10:52
>>433
センスのあるなし、というのはあると思う。
たとえば、入門書の丸暗記は得意でも、そこから何か自分で考えて
作り出すのができない人もいれば、記憶力は全然なくても、必要な
ものを調べながらそれを理解していって、何かを作り上げた後は、
あまり頻繁に使わない知識は、時間とともに忘れちゃう、という人も
いる。

436:デフォルトの名無しさん
10/04/22 00:11:55
そういうのは、今習ってる箇所よりどこか前の方の理解があやふやなのかもしれんね

437:デフォルトの名無しさん
10/04/22 00:19:52
釣りだと思うけど
なんで文系なのにIT企業に入社したの?
プログラミングをする部署に配属されるの?
それとも文系でもプログラミングの面倒臭さくらい覚えとけって言う意味での必須の研修?


438:デフォルトの名無しさん
10/04/22 00:20:25
>>433
たとえば、工場のラインで働く場合は、あれやってこれやって、
って手順を教えてもらえば、仕事がこなせるけど、プログラミングは
そうはいかないな。部品もらったら自分で組み立て方を考えないと
いけない。
プログラミングは向いてないと思って、他の仕事を探してもいいけど、
経験ゼロで入って研修で教えてもらえるのも、新卒くらいなもんなので
もうちょっと粘ってがんばってみるのもありだと思う。
あと、研修で教えてもらったことだけを理解するのではなく、2ch書ける
くらいなら、自分でググっていろいろなプログラミング関連のページで
勉強してみるのもいいと思う。

439:デフォルトの名無しさん
10/04/22 00:32:13
新社会人は何かと忙しいのです

440:デフォルトの名無しさん
10/04/22 00:38:03
>>433です
ありがとうございます。
文系でITに入った理由は、元カノがITで頑張ってたからです(内定直後にフラれました)

残念ながらネタではなく本気で悩んでいます。

模範のフローチャートを眺めても、理解までに時間がかかりすぎます。
こういうのも慣れれば大丈夫でしょうか?
または、最初のうちは出来なかったけど、慣れていくうちに人並みに考えられるようになったという方はいらっしゃいますか?

441:デフォルトの名無しさん
10/04/22 02:26:59
例題がどんなのか知らんけど
考え方が把握できてないのにフローチャートだけ見比べてるのだとしたら効率が悪い。

442:デフォルトの名無しさん
10/04/22 03:10:43
まだ配属決まってないんだったら
その研修は適正を調べているだけかもしれない
フローチャートが判らなかったら
営業にでもなればいい
君がそっちを望むなら

443:デフォルトの名無しさん
10/04/22 03:12:41
具体的にプログラミングの何で困ってるという話でもあればともかく
自分の資質がどうかということだけが気になってるんだったら
もう答えようがない罠

444:デフォルトの名無しさん
10/04/22 03:15:55
営業でもフローチャートがわからんやつと一緒に仕事したくないなw

445:デフォルトの名無しさん
10/04/22 07:14:17
プログラミングにまず興味が出る人間じゃないとつらいだけだから
早めに転職したほうがいい
俺みたいなプログラミング大好き人間には一生追いつけないし
こういう人間にいじめられまくる

446:デフォルトの名無しさん
10/04/22 08:22:58
好きな奴は工場で働いていてもシコシコ何か作るだろうし、
仕事と割り切って頑張れるか否かかな。

447:デフォルトの名無しさん
10/04/22 14:15:59
フローチャートこそ理系の生産性を削ぐための
文系中心の道具じゃないか

448:デフォルトの名無しさん
10/04/22 20:02:01
ごく簡単なアルゴリズムからフローチャートを作る程度なら
あくまで練習問題としてはありだろう

>>433の置かれた状況はエスパーするしかないのだが
彼が知りたいのは
> 自分はセンスがないのでしょうか?
ということだけらしいぞw

449:デフォルトの名無しさん
10/04/22 23:43:42
プッシュ型の通知システム作りたいんですが、そもそもの仕組みがよくわかりません。
サーバーからデータを送るということは
サーバーは送る先を把握してないとダメですよね。
で、クライアント側は送られてきたら通るなりの処理を行なう必要がありますよね。

そうするとクラサバの逆で、クライアント側にリスナを立ち上げておくのと、
意味的に違いがないような気がするんですが、こういう認識でいいんでしょうか?

450:デフォルトの名無しさん
10/04/23 09:40:23
プッシュ型でもリスナっつうかレシーバーは立ち上げておく必要があるに決まってるじゃん

451:デフォルトの名無しさん
10/04/23 14:16:00
新しい窓の中で操作などをするGUI? を作りたいと思っています。
よく聞くJava、C#を考えているのですが、違いや他の選択肢があれば教えてください。
一応補足として自分でちょっと使うような小規模なものでよくて、現在perlをやっています。

452:デフォルトの名無しさん
10/04/23 14:22:50
>>451
C#マジオヌヌメ

453:デフォルトの名無しさん
10/04/23 18:52:07
相談なんだけれど
綺麗なコードの書き方って何かコツみたいなのあるかな

あまり人にコード見せないから自分のコードが綺麗かわからなくて。
インデントや{}の階層とかをあわせたりとかやらやっているつもりなんだけど自信なくて

454:デフォルトの名無しさん
10/04/23 19:14:18
>>453
単に見た目の問題であれば
URLリンク(ja.wikipedia.org)
URLリンク(ja.wikipedia.org)

455:デフォルトの名無しさん
10/04/23 19:56:30
>>453

Cプログラミング診断室
URLリンク(www.pro.or.jp)

少々古いが、内容はきっと今でも役立つはず。
あと、C言語分からなくても、読み進めて行けると思う。

456:デフォルトの名無しさん
10/04/23 20:00:38
あと初心者向けじゃなくなるかもしれんが、Effective C++とEffective Javaも良書。
More Effective C++も良書なのだが、翻訳がクソ。

Effective C#も最近出たと思うけど、読んでないので分かりません。

457:デフォルトの名無しさん
10/04/23 20:07:04
Exceptional C++ もよろ

458:デフォルトの名無しさん
10/04/23 22:47:01
クラスと関数って何が違うの?
同じように感じるんだが

459:449
10/04/24 00:06:03
>>450
やっぱそうですよね。なんか魔法のごとく、プッシュが扱われてる感があって混乱してました。

>>458
クラスはデータと手続きを保持できる。
データの保持、つまり状態を保持できる。
関数は性質上、状態を持てない。

460:デフォルトの名無しさん
10/04/24 00:19:10
C言語の勉強をしたい超初心者です。
1.コンパイラとかエディタってのはそれぞれ何を使えばいいですか?
2.勉強できるサイトがあれば教えてください。

(他にC++やC#などもあるみたいですがCから学んだほうが良いと
自分では思っていますが、勘違いとかしてたら指摘してください。
C言語の次にOpenGLの勉強もしたいと思っています)


461:デフォルトの名無しさん
10/04/24 00:28:14
1. Windows なら Microsoft Visual C++ Express Edition 2008
2010 ももう出てるけど、まだバグ報告とかあるようなのでスルーで

2. 一番ボリューム大きいのはロベールだけどC++だな
C++はCを丸ごと含んでるから、別にC++からやったのでいいと思うけどね
Cで仕事したいとかそういうわけじゃないんっしょ

462:デフォルトの名無しさん
10/04/24 07:27:13
>>460
1.VisualC++2008EE
2.>>133

次にOpenGLをやるならCで問題ないかと。

463:デフォルトの名無しさん
10/04/24 12:22:57
>>460
まずはコンピュータ3大原則を覚えたらいいおー(^0^)


464:デフォルトの名無しさん
10/04/24 12:35:22
一般のプログラマにコンピュータ三大原則とか言っても通じないぞ

465:デフォルトの名無しさん
10/04/24 12:43:14
プログラムを、持たず、作らず、持ち込ませず、だったかな

466:デフォルトの名無しさん
10/04/24 13:23:26
人間に危害を加えてはならない

467:デフォルトの名無しさん
10/04/24 16:32:26
>>466
プログラムが自己保身してプログラマによる修正を拒むのは、3大原則のせいだったのか…。

468:デフォルトの名無しさん
10/04/24 16:44:56
質問です

int *pNum;
pNum = new int;

この場合、deleteは[]をつけるのでしょうか。
つけるのとつけないのとでは何が違うのでしょうか。

サンプルのソースでは、intではなく新しく定義したクラスで
delete[]となっています。

469:デフォルトの名無しさん
10/04/24 16:49:49
[] はつけない
delete[] は配列型のnewを使った時に使う
delete は配列型でないnewを使った時に使う
厳密に使い分ける必要があり、間違って使った場合死ぬこともある
サンプルが間違っているとしか言いようが無い

delete[] は delete と違って全ての配列要素に対してデストラクタを呼ぶ必要があるし、
そのために配列型のnewは何らかの形で要素数を保持する必要があり、
delete[] はその保持を解除する必要もある
中身の動きは全くの別物

470:デフォルトの名無しさん
10/04/24 17:00:58
少しややこしいですが、サンプルのソースを載せておきます

// 追加
Hoge *p = new Hoge;
HogeList.push_back(p);

// 削除
std::list<Hoge*>::iterator i = HogeList.begin();
for ( ; i != HogeList.end(); ++i)
{
delete[] (*i);
}

これは間違いということで理解しました

471:デフォルトの名無しさん
10/04/24 17:30:15
>>469
すみません。お礼を言い忘れていました。
ありがとうございました。

472:デフォルトの名無しさん
10/04/25 00:03:02
プログラムについてはなにもしらないけど、ノベルゲーみたいの作ってみたいんだけが、なにからやればいい?
強引な質問ですまん

あと、あの有名なテトリスみたいのは何でつくられてるの?

473:デフォルトの名無しさん
10/04/25 00:05:25
吉里吉里かNScripterでも使っとけ。
テトリスはほぼ全ての言語に移植されてんじゃないかね。

474:デフォルトの名無しさん
10/04/25 02:42:18
初心者にはここが参考になる

テトリスを1時間で作ってみた実況解説
URLリンク(www.nicovideo.jp)


475:デフォルトの名無しさん
10/04/25 06:01:03
質問です。

ボナンザのソフトを、AMDの『OPTERON6174』12コアに対応する並列プログラミングにしたい場合には、どのような処理をすれば良いのでしょうか?

476:デフォルトの名無しさん
10/04/25 09:05:51
>>472
まず一番の障害は君が飽きることだ。
その上で聞くが、どのくらいの規模と品質を考えているのか。
例えば絵や音を用意するとなると、素材製作だけでかなりの労力が
必要になる。
選択肢付き小説に静止画を載せる程度でいいなら、HTML を勉強して
ホームページで公開すると、友達に見せる時にインストールしてもらう
必要が無くていい。
それに HTML の勉強なら一日か、数日で済む。

なお、以後は ゲーム製作技術板 で。
URLリンク(pc11.2ch.net)

>>475
こっちかな。
ちょっとアバウトすぎて、まともな回答が返ってこない気もするけど。
【マルチコア】並列化について語る【使いこなせ】
スレリンク(tech板)l50

そこでもコッチ行けって言われるかも。
OpenMPプログラミング
スレリンク(tech板)l50

477:デフォルトの名無しさん
10/04/25 10:02:36
プログラミングにおける「Context」の概念について、よい説明は無いでしょうか。

例えば、javax.naming.ContextのAPIドキュメントを読んでも
>・このインタフェースは、名前からオブジェクトへのバインディングのセットから構成されるネーミングコンテキストを表します。
>・Context メソッドに引数として渡される名前はそれぞれ、そのコンテキストを基準にしています。

などと書かれていて、「コンテクスト」の意味がよく分からないのでサッパリです。
TomcatのContext.xmlのContextの意味も同様によく分かりません。
この概念に対してしっくり来る説明が見つからないので、ずっとモヤモヤしています…。

478:デフォルトの名無しさん
10/04/25 10:20:07
処理の状態をまとめたもの

479:デフォルトの名無しさん
10/04/25 10:58:21
>>477
「超初心者」スレにそんな質問してるからあえて言う

> 名前からオブジェクトへのバインディングのセット
声に出して 10 回読め

480:デフォルトの名無しさん
10/04/25 12:02:45
って、プログラミングにおけるコンテキスト一般の話か。ごめん

例えば日常で「鈴木さん」といわれてもどの鈴木さんかはわからないが
「なんとか小学校一年一組の」とコンテキスト(=文脈)を与えてやればどの鈴木さんかわかる
プログラミングでも大差なくて、変数 a の値は、って突然いわれてもポカーンとするだけだけど
a = 100; a において a の値は、と文脈を与えられれば 100 と答えられる

要するに何かを解釈する際の背景となる事情なり状況なり環境がコンテキスト

481:デフォルトの名無しさん
10/04/25 12:10:34
シフトjisとunicodeは、半角だと文字化けが起こらないのでしょうか

482:デフォルトの名無しさん
10/04/25 12:11:33
UTF8なら基本的には起こらない

483:デフォルトの名無しさん
10/04/25 12:13:03
ありがとうございます

484:デフォルトの名無しさん
10/04/25 12:14:44
意味が分からない

485:デフォルトの名無しさん
10/04/25 14:25:04
質問者はよくわかってないまま質問してるからわけわからんw

486:デフォルトの名無しさん
10/04/25 14:40:31
もう21世紀なんだから初心者はSHIFT_JIS使用禁止でいいよ

487:デフォルトの名無しさん
10/04/25 14:48:17
2ちゃんねるは上級者向けになるんだな

488:デフォルトの名無しさん
10/04/25 15:55:16
>>480
ありがとうございます。なんとなく分かりました。
いわゆるマルチタスク処理の「コンテクストスイッチ」でいう
プロセスの状態(文脈)切替えのイメージと理解しました。
Schemeの継続とかも、渡しているのはコンテクストなんでしょうか。

489:デフォルトの名無しさん
10/04/25 18:09:08
Cを学んでて、一番の山場ってどこらあたり?
やはり、ポインタのとこかな?

490:デフォルトの名無しさん
10/04/25 18:21:40
俺はClassとポインタがどうも苦手だった。


491:デフォルトの名無しさん
10/04/25 19:32:44
共用体?とかいうので悩んだが分かってしまえば簡単だった(日本語訳が悪い)
ポインタはそんなに詰まらなかった
クラスはオブジェクト指向入門の本読んでからだったので問題なく理解出来た

492:デフォルトの名無しさん
10/04/25 19:51:04
Cでクラスと言われても

493:デフォルトの名無しさん
10/04/25 21:20:31
C学んでて一番訳が分からなかったのは
staticとexternとstaticだな

494:デフォルトの名無しさん
10/04/25 23:40:43
おぉぅCか
C++ってみてしまった。

495:デフォルトの名無しさん
10/04/26 00:45:36
『C 入門の入門』というゆとり仕様の本を読んでるんだが、これなら最後まで
読めそう。

496:デフォルトの名無しさん
10/04/26 00:47:50
配列がポインタの役割もする、というのがよくわからん。
じっくり解説書を読んでみる。

497:デフォルトの名無しさん
10/04/26 06:56:34
配列がポインタの役割をする
がわからないだと?どういうことだ

498:デフォルトの名無しさん
10/04/26 07:01:16
これより超初心者スレは「配列とポインタは別物」をお送りします
聞いただけでげんなりするほどの頻出テーマですが超初心者のためなのでご了承ください

499:デフォルトの名無しさん
10/04/26 07:10:17
Cの配列はポインタ定数の糖衣構文

終わり。

500:デフォルトの名無しさん
10/04/26 07:16:47
そんな本捨ててしまえ!

501:デフォルトの名無しさん
10/04/26 07:17:21
終わりませんよ

502:デフォルトの名無しさん
10/04/26 07:19:37
ここまで朝の自演タイム

503:デフォルトの名無しさん
10/04/26 07:26:27
終わらないね

504:デフォルトの名無しさん
10/04/26 09:58:47
配列がポインタの役割をするんじゃない。
配列名がポインタ定数の役割をするんだ。

だから、配列を配列のまま扱うときにはポインタと違う振る舞いをする。

505:デフォルトの名無しさん
10/04/26 13:37:18
p[3] とおなじで
3[p] も使えるんだったかな

506:デフォルトの名無しさん
10/04/26 13:40:19
>>505
それは、[]が単なる二項演算子だから可換だということ。
ポインタと整数の足し算の更衣糖分だから配列とは直接関係ない。

507:デフォルトの名無しさん
10/04/26 13:41:37
ありゃ。糖衣構文だよw

508:デフォルトの名無しさん
10/04/26 14:04:49
ゲ技術板か迷ったのですが、プログラムに近いので、こちらで質問させていただきます

質問なのですが、ゲームなどで行動するたびにオブジェクトの変数を新たに増やしていきたいのですが、こういった場合にはReallocで新しいオブジェクトの分まで再確保して増やしていけばよいのでしょうか?

ゲームの内容なんですが、主人公を操作してどんどん限りなく増やしていきたいのですが

509:デフォルトの名無しさん
10/04/26 14:43:41
>>508
この板はどんな言語でどんな環境で作っているかを説明できない人には向いていません。ゲ製板へどうぞ。

510:デフォルトの名無しさん
10/04/26 14:54:31
まあリンクドリストから勉強始めれば解決しそうな気はする

511:デフォルトの名無しさん
10/04/26 14:55:15
あぁ書き忘れてました
言語はC++で
環境はWinAPI

512:デフォルトの名無しさん
10/04/26 14:56:11
途中で送信してしまいました

Api

513:デフォルトの名無しさん
10/04/26 14:57:38
とDirectXです


何度も送信してすみません

514:デフォルトの名無しさん
10/04/26 15:02:58
>>508
最大オブジェクト数を決めておき、最初に全てメモリ確保する。

515:デフォルトの名無しさん
10/04/26 15:10:26
すみません
オブジェクトの数を制限をしないでやりたいんです

516:デフォルトの名無しさん
10/04/26 15:18:11
>>515
メモリ容量に制限がある限り無制限にオブジェクトを増やすことはできませんよ。

517:デフォルトの名無しさん
10/04/26 16:40:21
>>515
ゲームでないならディスクに退避することも考えられますが、それではゲームとして成立しないでしょう?
ゲームにはゲームならではの流儀があるのだから、>509で。

518:デフォルトの名無しさん
10/04/26 16:41:29
>行動するたびに

画面に表示する必要のない領域のデータをファイルに退避すれば、
有限なメモリでも終わり無く延々とオブジェクトを増やす事は可能だけど、
結局最後はHDの容量が足らなくなる。
OSが行ってるページングと同じ話だね。

519:デフォルトの名無しさん
10/04/26 17:09:46
>>516
>>517
>>518 そういう壁無視して教えてやれよ
オブジェクトの変数増やしていくやり方をよ

520:デフォルトの名無しさん
10/04/26 17:23:16
だ、断片化

521:デフォルトの名無しさん
10/04/26 17:52:15
>>508
>>510が言うようにリンクドリスト(stl::vectorとかstl::list)使えばいいんじゃね

522:デフォルトの名無しさん
10/04/26 18:12:51
>>521
あんたは二重に間違っている。
・>508がC++を使っているとは限らない。
・std::vectorはリンクドリスとではない。ついでに言えば、stl::vectorと言う表記は変。

523:デフォルトの名無しさん
10/04/26 18:16:22
この際だから指摘しておいてあげるけど

リンクドリストではなく

リンクトリストだから


524:デフォルトの名無しさん
10/04/26 19:35:47
別にリストでいいじゃん

525:デフォルトの名無しさん
10/04/27 09:16:27
VS2008ってプログラム初心者が使っていいものですか?
そもそも、こういうのって、みんなどこで学んでるんですかね。

とりあえず弄る、わからなかったらオンラインドキュメントを読む、ググる、とかですか?
会社に入り、研修で基礎をやり、後は実践、みたいな感じ?

526:デフォルトの名無しさん
10/04/27 09:55:36
>>525

考える前にやらなきゃ始まらない
良いも悪いもない

俺は会社入る前に大学の授業があったから基本はそこかな
入社して一週間くらいDBと接続とかエラー処理とかの基礎練習はやらされた

でも、結局実践に勝る勉強は無かったわけだが…


527:デフォルトの名無しさん
10/04/27 13:20:27
会社入る前に一通り使えるようになってないと大変だぞ

528:デフォルトの名無しさん
10/04/27 13:21:37
>>525
君のレスを見ると会社に教えてもらおうという気持ちがにじみ出てる

529:デフォルトの名無しさん
10/04/27 13:47:40
>>528
いや、PHPのフレームワーク使っての開発とか、VBAでExcelアプリケーションを
作ったりってのはやってきてるんですが、仕事でやってない以上は素人ですよね。

じゃあ仕事で開発するよ、ってなった時に、複数人で開発することなんてやった
ことないし、VS2008みたいな有償(無償もありますが)ツールを使ったこともない。

今までは触ってみてとりあえず作りたいものを作ってきたんですが、これからは
そうもいかないだろう、ってんで、聞いてみたのです。
漠然としててすみません。

530:デフォルトの名無しさん
10/04/27 14:00:27
複数人で開発するときのルールなんかは会社によって違うから
ある会社で覚えた方法が別の会社では使えないなんてことは多い
自己流で覚えてもどうせ会社で覚えなおしさせられる
だからといって自己流で覚えるのが無駄だと言う積もりは無い
一生その会社で過ごすつもりならその会社の方針に従えとしかいえない

531:デフォルトの名無しさん
10/04/27 14:35:18
日本三大誤読

1. null

2. warning

3. linked list


532:デフォルトの名無しさん
10/04/27 14:50:53
1.ヌル(ナルとかもいうね)
2.ウォーニング(ワーニングとかも多いね)
3.リンクド リスト(リンクトリストとかもいうね)

なんか自分は大きく間違ってるのじゃないかと思いだした・・・

533:デフォルトの名無しさん
10/04/27 14:57:45
>>531
「日本三大」と言うわりには随分マイナーだなw
warp
warner bros.
academy award
この辺のほうがメジャーだろう

534:デフォルトの名無しさん
10/04/27 14:59:20
>>532
早くも混乱が見られるぞ
すぐに辞書を引くんだ

535:デフォルトの名無しさん
10/04/27 16:02:39
最初にリンクドって書いた者だけど、、、
リンクトって書いて念のためググったらドのが優勢っぽかったから
質問者が探しやすいようにリンクドにした

536:デフォルトの名無しさん
10/04/27 17:37:10
          ____
        /      \
      /  _ノ  ヽ、_  \
     /  o゚⌒   ⌒゚o  \  いまつくっているからまってほしいんだお
     |     (__人__)    |
     \     ` ⌒´     /
     ノ            \
   /´               ヽ                 カ
  |    l   l||l 从人 l||l      l||l 从人 l||l   カ    タ
  ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、.     タ
   ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))
      ┌┬┬┐┌┬┬┬┐┌┬┬┬┐┌┬┬┬┐
   ,. - ''"| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ρ ̄`l
    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ノ ̄ ̄

537:デフォルトの名無しさん
10/04/27 17:38:15
うん、誤爆です。

538:デフォルトの名無しさん
10/04/27 22:41:18
すたじお えっち

539:デフォルトの名無しさん
10/04/28 12:03:43
>>536
そうやって急いでるやつが できた!

とか言ったらメッチャテストすることにしてる

540:デフォルトの名無しさん
10/04/28 13:51:29
わろた
まぁ余裕をもってないとあるよな

541:デフォルトの名無しさん
10/04/28 13:54:10
質問なのだけど
if(!変数)ってtrue以外が実行するんだっけ

542:デフォルトの名無しさん
10/04/28 14:20:11
>>541
「if」は条件文がtrueのときに実行する。
「!」は条件文を否定する。
if(!変数)の例だと変数がfalseのときに実行することになる。

543:デフォルトの名無しさん
10/04/29 15:59:04
C言語の階乗について。
プログラミングをはじめたばかりで基礎の基礎から分からないので教えてください。

参考書の階乗関数の中に、こんな記述がありましたが、

(メイン関数は略)
int kaijo(int n)
{
if(n==0)
return 1;
else
return n*kaijo(n-1);
}


これって、たとえばnが4だとしたら、一回目は4*3になり、この時点でnが3になっていると思います。次に、また階乗関数の先頭にもどり、3*2になるのはわかりますが、4*3はどこにいくと考えればよいのかわかりません。私の考えだと、
4*3
3*2
2*1
1*0
return 1?違うじゃん…
みたいな感じです。3や2や1はかぶっているのにどうして4*3*2*1になるのでしょうか?どなたかわかりやすく教えてください。お願いします。


544:デフォルトの名無しさん
10/04/29 16:04:12
>>543
まず、nが4だとしたら
return 4*kaijo(3)
kaijo(3)っていくつ?2*kaijo(2)
kaijo(2)は?2*kaijo(1)、kaijo(1)=1*kaijo(0)

つまり求めたいものは
4*x
x=3*y
y=2*z
z=1*1


こんなんでわかるかな?

545:デフォルトの名無しさん
10/04/29 16:10:32
>>543
それは基礎ではあるけど再帰って言って簡単じゃないよ

4 * (kaijyo(3))
4 * (3 * kaijyo(2))
4 * (3 * (2 * kaijyo(1)))
4 * (3 * (2)
4 * (6)
24

kaijo を繰り返し呼ぶ際には引数を小さくして渡すことと
関数の頭に再帰の終了条件(この場合 n == 0 )を書いとくのがポイント

546:デフォルトの名無しさん
10/04/29 16:11:33
>>544
理解できました!ありがとうございました!!

547:デフォルトの名無しさん
10/04/29 19:25:51
ボーンデフォームを教えて

548:デフォルトの名無しさん
10/04/30 00:59:32
perlで日付と時間と分を求めたいとき一番簡単な方法を教えてください

549:デフォルトの名無しさん
10/04/30 01:02:37
localtime()[n]

550:デフォルトの名無しさん
10/04/30 07:54:46
>>547
スレリンク(gamedev板)

551:デフォルトの名無しさん
10/04/30 22:13:12
初心者な質問で申し訳ないのですが
Classや構造体などでくくった変数の値を更新させるメンバ関数を作りたいのですが
これはFor文などで回して更新してことは出来ないでしょうか?


また、アドレスをみたらbool型なのですが1ずつ隣接して変数が並んでいたのですが
構造体の変数のアドレスは絶対に隣接して作られるのでしょうか?
アドレスに加算させて回していくことはできないのでしょうか?

552:デフォルトの名無しさん
10/04/30 22:14:29
ごめんなさい。記入忘れです。
言語はC++です。

553:デフォルトの名無しさん
10/04/30 22:32:32
これ、どう思いますか?URLリンク(d.hatena.ne.jp)

554:デフォルトの名無しさん
10/04/30 22:35:25
URLを見た時点でいやな煽りの予感がしたので怖いから踏みません

555:デフォルトの名無しさん
10/04/30 23:11:21
unless ( grep(/[12]/,配列) ) で配列のどの要素にも1または2が含まれていないとき になりますか?

556:デフォルトの名無しさん
10/04/30 23:28:12
Perlか何かだろうけど言語名ぐらい書こうよ

557:デフォルトの名無しさん
10/05/01 03:08:53
>>552
「c++ 構造体 オフセット」でググった結果の一番目

構造体メンバのオフセットを返す。
URLリンク(www.kijineko.co.jp)

正直、初心者向けのないようではないので、ご注意あれ。

558:デフォルトの名無しさん
10/05/01 08:34:51
必要なのは・・・

紙と鉛筆

メモ帳(PC)とタイピング能力

精神と根気

これ基本ね(・▽・)/

559:デフォルトの名無しさん
10/05/01 08:52:17
>>551
例えばクラス内のメンバ宣言を
union {
 struct {
  int a;
  int b;
 };
 struct {
  int i[2];
 };
};
というように書くことで、メンバを a の変わりに i[0]、b の代わりに i[1] でアクセスするようにはできる。
ただし、変更に強いとは言いにくいので、サボるために使うならやめたほうがいい。
コードジェネレータで生成するというなら、変更忘れがなくなるので安心して使える。
単なるプレースホルダでパフォーマンスが関係ないなら、std::map<string,MyClass> とか使うのもいいかも。

>>553
コメントで疑義を呈している人たちの意見に賛成する。
それと、↓向きの話題だな。
 プログラム板雑談スレッド Part 3
 スレリンク(tech板)l50

560:デフォルトの名無しさん
10/05/01 09:32:22
>>557,559
なるほど
ありがとうございます。

構造体に後から予定変更で追加や変更があった時に変更し忘れなどがないように
なるべく変更点をすくなくするにはどうすればいいかなぁっておもって質問させていただきました。

頂いた解凍を改めて調べさせていただきまして、検討させていただきます。
ありがとうございました!!

561:デフォルトの名無しさん
10/05/01 10:36:02
この板で副作用という言葉をよく耳にするですが具体的にはどういうことでしょうか?

562:デフォルトの名無しさん
10/05/01 10:45:28
>>561
関数や式が値を返す以外の仕事をすること
* printf が文字列を標準出力に出力する
* 代入
なんかが副作用の代表格

563:デフォルトの名無しさん
10/05/01 11:05:51
>>562
なるほど。


564:デフォルトの名無しさん
10/05/01 14:01:37
>>560さんとはちがうんけど
興味あったからググってみたんですががオフセットってなんぞやですか?

565:デフォルトの名無しさん
10/05/01 14:13:22
>>564
何かの先頭からどれだけ離れているか
構造体メンバのオフセットなら構造体の先頭からメンバが何バイト離れているか

566:デフォルトの名無しさん
10/05/01 14:20:19
>>565
なるほど~~
ありがとうございます。

567:デフォルトの名無しさん
10/05/01 16:33:13
>>561
int i = 0;
hoge(i++, i++, i++);


568:デフォルトの名無しさん
10/05/02 02:08:52
やっぱ本って買った方がいいの?webの学習用ページじゃダメ?

後者でいいって人はお勧めのサイトお願いします

569:デフォルトの名無しさん
10/05/02 02:10:03
言語は何だよ

570:デフォルトの名無しさん
10/05/02 03:31:36
QueensEnglish all right?

571:デフォルトの名無しさん
10/05/02 04:00:31
結局は何か本を買うことになるだろうが
何がわからないのかわからない状態で買わない方がいい

572:デフォルトの名無しさん
10/05/02 05:10:32
いまどきの若いひとは
環境やツールが便利になった反面
選択肢が多過ぎてかわいそうだな


573:デフォルトの名無しさん
10/05/02 09:51:07
>>568
人それぞれ学習スタイルは違うので、人によるとしか言えない。
一冊の本をボロボロになるまで読むタイプの人は買ったほうがいい。

紙がいいか電子媒体がいいかだが、これは場合による。
人間の記憶力は、視覚触覚聴覚嗅覚味覚とかと関連付けられた時に強く発揮されるということがある。
俺は書いてあったことを思い出す時に、ページのどの辺に書いてあったかをきっかけにしたりする。
Web だと構造がフラットだから、ページ中の位置関係ということでは少し情報が少ない。
電子媒体の利点は検索性。

学習スタイルの話に戻るけど、俺は未知の分野の本を読むときは、毛色の違う三冊を選んで買うようにしている。
で、分からないところを分からないまま読み通す。
すると分からないところが分かるようになり、三冊のうちの、その点について詳しかった本を読み直したり、もっと目的に合った別の本を選べるようになる。

三冊読む学習法は、別に買わなくてもいいし、紙の本じゃなくてもいい。
電子媒体でもいいし、図書館で読んでもいい。
やる気の維持が一番大切だから、自腹を切るとか、図書館でノートにメモするとかの仕掛けがあった方がいいかも。

そういうまとまった文書を読む代わりに、サンプルを改造しまくるような学習法もあるよ。

574:デフォルトの名無しさん
10/05/02 11:19:57
perについて質問です
サブルーチンの中で定義された変数はサブルーチンを抜けるとどうなるんですか?

575:デフォルトの名無しさん
10/05/02 12:12:14
>>574
perl ?

576:デフォルトの名無しさん
10/05/02 13:23:47
すみません、伺いたいのですが、nasmの初歩的な質問はどこですればいいのでしょうか?
アセンブラの質問スレが見つからなかったので・・・

577:デフォルトの名無しさん
10/05/02 16:52:12
>>576
今は丁度良いスレが無さそうだ。
試しに質問を書いてみ。

578:デフォルトの名無しさん
10/05/02 16:52:43
アセンブラスレは Part13 が即死したりして
今はここを再利用してるっぽい

アセンブリ言語最強伝説
スレリンク(tech板)

579:デフォルトの名無しさん
10/05/02 17:42:36
>>577
ありがとうございます。
DOSプロンプトで文字列を入力して、それを出力しようと思うのですが上手くいきません。
たとえば、schrodingerと入力すると、mchrodingerのように出力されてしまいます。

;nasm *.asm -fobj;alink *.obj -oEXE
segment code
..start:
;initial task
mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mov sp,stacktop

;output string
mov dx,@output
mov ah,09h
int 21h
mov dx,@ret
mov ah,09h
int 21h

;input string
mov dx,@str
mov ah,0ah
mov byte [@str],10h
int 21h
(次のレスへ)

580:デフォルトの名無しさん
10/05/02 17:44:45
;output string
;mov dx,@str2
;mov ah,09h
;int 21h
;mov dx,@ret
;mov ah,09h
;int 21h

;out put string which you input
mov dx,@str+2
mov ah,09h
int 21h

;exit
mov ax,4c00h
int 21h

segment data
@output : db 'input string :','$'
@str : db 10h,0,'abcdefghijklm$'
@str2 : db 0dh,0ah,'you input the string:','$'
@ret : db 0dh,0ah,'$'

segment stack stack
resb64
stacktop:

>>578
すみません、過疎化してるみたいなので、こっちで質問してみます。

581:デフォルトの名無しさん
10/05/02 17:47:01
ごめんなさい、へんなコメント入っちゃいました。
変なコメントは無視してください。

582:デフォルトの名無しさん
10/05/02 19:50:29
mov dx,@str+2
mov ah,0ah
mov byte [@str],10h
int 21h


583:デフォルトの名無しさん
10/05/02 20:08:20
>>582
上手くいかないです・・・
schrodinger
と入力したら
aschrodinger
と出力されてしまいます

ah=0ahのdos割り込みは
ds:dxが示すアドレスから3バイト目の位置に文字列を入力するらしいのです
ds:dxの示すアドレスをたとえば@strとすると@strは

[@str]ユーザが定義できる、入力文字数
[@str+1]実際に入力された文字数
[@str+2]これ以降に、実際に入力された文字列

となるらしいのです。
schrodingerは10h文字以内だからちゃんと表示されていいはずだと思うのに、勝手に違う文字列になって表示されてしまうのです

584:デフォルトの名無しさん
10/05/02 20:37:24
>>580
最初の質問を見て、
・nasm 特有の問題なのか
・x86 特有の問題なのか
・DOS ファンクションコールの問題なのか
が判別付かなかったので、質問を書いてみよと言ってみた。

それは多分 INT 21h のお作法の問題だと思うので、多分ここ↓が詳しい。
 懐かしのMS-DOSプログラミング
 スレリンク(tech板)l50

今後のためにも debug.exe の使い方を調べてみるのもいいかもしれない。


で、テストして無いから間違ってたら申し訳ないけど、@str の問題だと思うよ。
多分最初のケースでは schrodingerlm と表示され、583 では abschrodinger と表示されたんじゃないかな?
ah=09h に渡すのは、schrodinger$ であるべきなんだけど、$ を埋め込むコードが無い。
手っ取り早く直すには、@str を db 10h, 0, '$$$$$$$$$$$$$$$$$' としたらよい。

今回の件には関係ないけど、@str の文字列バッファが 14 文字分しかない。
バッファ長は、実際に上書きされてしまう長さであって、先頭 2 バイトの管理領域は含まない。
さらに、$ を埋める分を考えたら、17 文字分確保しておくべき。上の例は $ を 17 個並べてある。
@str 全体では 19 バイトとなる。

585:デフォルトの名無しさん
10/05/02 20:49:46
>>584
分かりやすい解説ありがとうございます!
そのやり方で上手くいきました
ただ、最初のケースだと'schrodingerlm'ではなく'mchrodinger'と表示されてしまいます
>>583では'a?schrodinger'(?は変な四角っぽい文字)と表示されます

debugも勉強してみます

586:デフォルトの名無しさん
10/05/03 02:08:45
プログラミングするとき
内容によって左端からの行間をtabで開けたりするようだけど、
この行間の意味って後で見やすくするためでしょうか?
いまいちどんな理由で行間が開いてるのかわかりません。

587:デフォルトの名無しさん
10/05/03 02:14:49
なんか良スレ化してきてる悪寒

>>586
URLリンク(ja.wikipedia.org)

基本的にはコードを読みやすくするため
なかにはインデントしないとエラーになる言語もある
Python や Haskell なんかがそう

588:デフォルトの名無しさん
10/05/03 12:21:02
>>585
CR (0x0D)
LF (0x0A)
について勉強してからまた来てね

589:デフォルトの名無しさん
10/05/03 20:18:57
排他制御に関しての質問です
今読んでいる参考書には異なるスレッドから同時に同じ変数をインクリメントすると競合が起こるという例が載っていたのですが、
片方のスレッドが読み込みのみ、もう片方が書き込みのみを行う場合競合は起きないのでしょうか?

590:デフォルトの名無しさん
10/05/03 21:33:13
それだけの情報では「起きないとは言えない」としか言えない
本文にあるか演習問題になっているはず

591:デフォルトの名無しさん
10/05/03 23:57:10
>>589
片方が書き換えてる途中で
もう片方が読むとデータが壊れてるケースがある

592:デフォルトの名無しさん
10/05/04 00:24:59
そこら辺はトランザクションの分離レベルなどデータベースの排他制御について学ぶと
より理解が深まると思う。

593:デフォルトの名無しさん
10/05/04 08:38:50
>>587
ありがとうございます。勉強になりました。

594:デフォルトの名無しさん
10/05/04 09:45:56
メソッドを調べてもそれがでてません。こういうときはどうすればいいんでしょうか?
使用言語はRuby1.91です。
調べたいメソッドは
<<=
です。教科書のプログラムでは
h<<=1
と書かれています。リファレンスは引いたのですが、ありませんでした。
ググりましたが出ません。

よろしくお願いします。


595:デフォルトの名無しさん
10/05/04 09:49:10
>>594
URLリンク(www.rubylife.jp)

596:デフォルトの名無しさん
10/05/04 09:54:45
>>594
h のクラスがわからないと答えられないよ
前後のプログラムも載せておくれ

597:デフォルトの名無しさん
10/05/04 10:55:49
h <<= 1 は
h = h << 1 と同じ意味。
代入演算子は検索しにくいから自分も詰まったな

598:デフォルトの名無しさん
10/05/04 12:35:44
h<<1だけで通用するのに
h <<= 1とかh = h << 1とかする意味不明

599:デフォルトの名無しさん
10/05/04 14:33:01
>>591
想像だけで書いてる?

600:デフォルトの名無しさん
10/05/04 17:24:42
みなさん、回答ありがとうございます。
以下長文になってしまいました。すみません。
>>595
これはイコールがないので・・・597さんをみて、わかりました。
ありがとうございます。

>>596
ちょっと長くなるのですが、以下です。
def hash(s)
h = 0
s.each_byte() do lchl
h ^= ch
h <<= 1
end
h % TABLE.size()
end

>>597
なるほど!

>>598
そうなんですよ、この教科書は初心者には使いにくいです。


601:デフォルトの名無しさん
10/05/04 19:00:43
>>600
その場合、h << 1 は不可。 h = h << 1 または h <<= 1 とする必要がある
なぜなら h << 1 は「 h を左に 1 ビットシフトして結果を捨てる」
h <<= 1 は「 h を左に 1 ビットシフトして結果を h に代入する」という意味だから
ちょっと慣れれば「 h を左に 1 ビットシフトする」と読める

あと何レスにもわたってコード貼る場合は URLリンク(codepad.org) 使えってなるけど
そのくらいなら全然長くないよ

602:デフォルトの名無しさん
10/05/04 21:14:14
    以下 loopyなループ

    === 開始 ===



603:デフォルトの名無しさん
10/05/05 02:24:48
>>601
結果を捨てる?
馬鹿じゃねーの?

604:デフォルトの名無しさん
10/05/05 11:08:10
まあまあw

605:デフォルトの名無しさん
10/05/05 11:37:19
C:\>irb
irb(main):001:0> h = 4
=> 4
irb(main):002:0> h << 1
=> 8
irb(main):003:0> h
=> 4
irb(main):004:0> h <<= 1 # h = h << 1
=> 8
irb(main):005:0> h
=> 8

値捨ててるじゃん

606:デフォルトの名無しさん
10/05/05 13:36:28
return h << 1
のときは?

607:デフォルトの名無しさん
10/05/05 13:38:58

  ク    ク   || プ  / ク   ク  || プ  /
  ス  ク ス _  | | │ //. ス ク ス _ | | │ //
  / ス   ─  | | ッ // /  ス   ─ | | ッ //
  / _____  // /          //
.  /   l⌒l l⌒l \  ))   ____
. / / ̄| ,=| |=、| ̄ヾ   / ____ヽ
/ ̄/ ̄.  ー'●ー'  ̄l ̄ |  | /, -、, -、l  ))
| ̄l ̄ ̄  __ |.    ̄l ̄.| _| -| ,=|=、 ||
|. ̄| ̄ ̄  `Y⌒l__ ̄ノ ̄ (6.   ー っ-´、}
ヽ  ヽ    人_(  ヾ    ヽ    `Y⌒l_ノ
  >〓〓〓〓〓〓-イ   /ヽ  人_(  ヽ
/   /  Θ  ヽ|  /    ̄ ̄ ̄ ヽ-イ


608:デフォルトの名無しさん
10/05/05 15:21:33
新しくできたオブジェクトへの参照がない ということが言いたかったとか

609:デフォルトの名無しさん
10/05/05 16:36:48
>>598

610:デフォルトの名無しさん
10/05/05 16:45:19
そういう話じゃなくて、「捨てる」という表現が笑われてるんだよ

611:デフォルトの名無しさん
10/05/06 00:24:38
>>610
わざわざそういう発言をするのは、揚げ足を取られることに性的快感を覚えるとか、そういう理由があるの?
例えば大昔の一部の C コンパイラには戻り値を使用しないことを明示するために (void) でキャストしないと警告が出るものがあったが、
そういう場合のことを戻り値を捨てると表現していたので、代入もされず実引数として何かの関数に渡されもしない値を「捨てる」と表現しても
何の問題も無いと思うよ。
601の説明は面倒になって端折っただけで悪気は無いと思うが、あまりに舌足らずで実刑に値すると思う。

612:デフォルトの名無しさん
10/05/06 02:42:45
おまいら printf() の戻り値はどうしてる?
捨ててる?

613:デフォルトの名無しさん
10/05/06 03:17:13
(;´Д`)もうやだこのスレ

614:デフォルトの名無しさん
10/05/06 21:49:14
コンパイラじゃなくてlintが警告出してただけじゃなかったっけ

615:デフォルトの名無しさん
10/05/06 23:51:39
C++での質問です。

大きな数字などを扱う場合なども含め
処理系でもっとも自然なバイト長で確保する静的メモリの確保をするint型は
あまり使うべきではないのでしょうか?

一応32bitマシン以外への移行性は考えていないのですが、
なるべくはlongなどを使うようになれておくべきなのでしょうか?

616:デフォルトの名無しさん
10/05/07 01:48:50
なんでそう思ったの?

617:デフォルトの名無しさん
10/05/07 10:55:33
>>615
場合によるが、ほとんどの場合は int を使っておくべき。

618:デフォルトの名無しさん
10/05/07 11:11:27
16bitから32bitになったとき
「これからはintとlongが同じ長さだ」
と言ってあらゆる場所でlongだけを使い始めた馬鹿がいた

619:デフォルトの名無しさん
10/05/07 20:13:24
ずっと前から疑問に思ってたんですが、
JSでプログラムしててそれを保存するときに拡張子をHTMLにしているんですが、なんでJSなのにHTMLなんですか?

620:デフォルトの名無しさん
10/05/07 20:19:13
>>619
JS は html 内に記述できるスクリプト言語だから。

621:デフォルトの名無しさん
10/05/07 20:26:24
>>620
本当にありがとうございます。すっきり納得しました

622:デフォルトの名無しさん
10/05/07 20:49:56
ただ、HTML文書の中で
ヘッダ内にlinkタグからJSコードファイルをインクルードする時に
その対象ファイルを.jsという拡張子で使う事もできますね。

でも普通そんな事はCSSくらいだけどさ…

623:デフォルトの名無しさん
10/05/07 20:53:47
え?

624:デフォルトの名無しさん
10/05/08 00:14:01
<head>
...
<script type="text/javascript" src="*****.js"></script>
</head>
これをHTMLソース内へ。

あとは拡張子を~.jsにしたファイルにJavaScriptを書く。
これで一応~.jsというファイルが使用可。

だがこれはあんまり意味ない希ガス…

625:デフォルトの名無しさん
10/05/08 02:05:41
急にレベル低くなったな

626:デフォルトの名無しさん
10/05/08 02:53:38
定命の生き物に >625 ほどのレベルの投稿はできないのだから仕方ない。
いけとし生きるものは全て 625 に感謝しながら生きております。

627:デフォルトの名無しさん
10/05/08 13:19:19
ここで質問していいでしょうか
知りたいことは、インターネットのURLそのものを検索するためのプログラムを組むことは出来るか、です
そのためのプログラム言語は、何がいいのかもあわせて知りたいです

例ですが、こういうのです

↓これはグーグルのトップページですが
1.URLリンク(www.google.co.jp)
 グーグルについてを押すと以下のページになります
2.URLリンク(www.google.co.jp)
 これは公開されている部分なのですが、隠しページなどを検索したい(グーグルのではありません)ので、
 1.の後に続いている2.の「intl/ja/about.html」この部分が不明だとして、その不明部分を検索するプログラムを作りたいと思っています

その場合に、まず、上記のような検索プログラムは可能かということ
可能であれば、どの言語でプログラムを組むのが適しているかということ
上記2点を知りたいです

また、参考になるページなどもありましたら、紹介いただけるとありがたいです
よろしくお願い致します

628:デフォルトの名無しさん
10/05/08 14:11:40
超初心者&教えて厨です

anciCとCとC++とC#って何が違うんですか?
あと、全部C言語だと思っていいんですか?

C言語のコンパイラ入れようと思ってるのですが、違いがわからなくて困っています…

629:デフォルトの名無しさん
10/05/08 14:49:23
>>627
つ[WebProg板]
但し、当てずっぽうで探すのは難しいと思うよ。

>>628
CとC++とC#はそれぞれ違う言語。
一般的に、C専用コンパイラは殆どないのでC/C++は同一視しても構わないが、
C#はかなり異なるので要注意。
Cには所謂レガシーCとC89/90とC95とC99がある。
Cの後の数字はそれぞれISOの年号の下二桁。
レガシーCは俗にK&Rとも呼ばれる、今では余り勧められない仕様。
所謂ansiCと言うのはC89またはC90のこと。
C95のことをISO-Cと言ったりansiCと言ったりする場合もないではない。
C99になると、C++で導入された記法の転用を含めてかなり拡張されているが、
それと知って使うのでなければC89とも互換性は担保されている。
C++は今後C++0xと呼ばれる次期仕様が待っているが、余り意識する必要はない。
C#はCともC++とも異なり、CライクなJavaと思ってもそれほど問題はないだろう。

Cを使いたい理由がはっきりしていれば、後はみんながお勧めを書いてくれるだろう。

630:デフォルトの名無しさん
10/05/08 14:49:44
>>627
しらみつぶししかない

631:デフォルトの名無しさん
10/05/08 15:01:22
>>628
コンパイラはVisualC++使えばいいよ。

632:デフォルトの名無しさん
10/05/08 15:05:12
>>629
>>630
ありがとうございました
そちらの質問スレッドに行ってみます

あるキーワードを打ち込んでそれに近いといった感じのを作ろうと思っているので
イメージとしては、エクセルで文字列があって、そこにたとえば「abcde」で始まるもの、とかそんな感じでやりたいと思っています

とりあえず、webProg板にいってみます
ありがとうございました

633:デフォルトの名無しさん
10/05/08 15:11:05
>>632
ACCSが編み出したインターネットノーガード戦法で逮捕される。

634:デフォルトの名無しさん
10/05/10 17:40:14
シェルスクリプトから起動するC++のプログラムをデバッグするにはどうすればいいですか?
kdgbを使っていますが起動スクリプトを開くと実行可能形式ではないと怒られます。


635:デフォルトの名無しさん
10/05/10 17:42:53
file ./hoge

636:デフォルトの名無しさん
10/05/10 18:12:09
>>629>>631
レスありがとうございます。
ややこしいことを丁寧に…(´・ω・`)
取り敢えずコンパイラ入れてみることにしますた。


637:デフォルトの名無しさん
10/05/10 18:18:30
どの言語やったら女にモテますか?

638:デフォルトの名無しさん
10/05/10 18:26:14
イタリア語。

639:デフォルトの名無しさん
10/05/10 22:24:39
#include <stdio.h>

int main(void)
{
 printf("警告です!!警告です!!\n\a");

 return 0;
}


これのどこが間違ってるのでしょうか?教えてください。

640:デフォルトの名無しさん
10/05/10 22:26:59
間違いは特にないが
\a でビープがなるかどうかは環境次第

\a が \n の前にあるけど、
バッファのフラッシュはプログラム終了時に行われるから大丈夫なはず

641:デフォルトの名無しさん
10/05/10 22:34:13
>>640

正しくプログラムが作成してあるのであれば
========== ビルド: 1 正常終了、0 失敗、0 更新不要、0 スキップ ==========
の行のあとに、表示(出力結果)があるはずです。

これの意味がわかりません。
出力結果は、「ソリューションのビルド」のことじゃないんですか?

642:デフォルトの名無しさん
10/05/10 22:38:10
>>641
ビルドとはコンパイルのこと。
実行は、コマンドプロンプトからできたexeを実行しろ。
[F5]とかexeをダブルクリックとかでもいいけど、
画面が一瞬で消えます、とか言うだろ?

643:デフォルトの名無しさん
10/05/10 22:42:22
>>642
すいません。
出力結果のことがわからないんですが…

644:デフォルトの名無しさん
10/05/10 23:07:10
>>641
たぶん、その本か何かの説明がわるい。

645:デフォルトの名無しさん
10/05/10 23:53:14
>>640
>\a が \n の前にあるけど、
それを言うなら「後」だろ。

>>641
環境くらい書こう。恐らくVisualStudioだろうけれど。

646:デフォルトの名無しさん
10/05/10 23:54:02
1. どこを参考にしてプログラミングしてるのか晒す
2. char buf[1024]; printf("警告です!!警告です!!\n\a"); gets(buf); return 0; とかしてしのぐ
3. VSはひとまずおいといてVisualStudioコマンドプロンプトとテキストエディタでプログラミング

お勧めは3

647:デフォルトの名無しさん
10/05/11 00:07:47
>>646
2.はgetchar()でいいだろ。

648:デフォルトの名無しさん
10/05/11 00:19:57
>>647
getcharが思い出せなかったので悪い横着をしてしまった
ごめんちゃい

649:デフォルトの名無しさん
10/05/11 00:34:46
普通 kbhit();

650:デフォルトの名無しさん
10/05/11 00:44:02
>>649
その場合どういうコードになるの?

651:デフォルトの名無しさん
10/05/11 00:46:54
kbhitは標準関数じゃねーぞ

652:デフォルトの名無しさん
10/05/11 01:47:06
流れを止めてしまったら済みません。
perlの質問をお願いします…。超初心者なのですが…。

$price_A=200; #商品Aの値段
$price_B=300; #商品Bの値段

$tax=1.05;  #消費税(5%)

#合計金額の計算

$sum=($price_A+$price_B)*$tax;

#結果の出力

print"合計金額=",$sum,"円\n";

これで、構文確認ソフトでエラーが出ます。どこで直せば良いのでしょうか…。
御手隙の方、是非アドバイス下さい。

653:デフォルトの名無しさん
10/05/11 01:53:10
>>652
$tax=1.05;のあとに全角スペースが入ってるよ
慣れるまでは全角スペースやタブなんかが目に見えてわかるエディタを使うべき

654:デフォルトの名無しさん
10/05/11 01:55:49
>>653
素早いお答え有難う御座居ました。
そうか…全角はNGなのですね、身に刻みます。

エディタも検討致します。

655:デフォルトの名無しさん
10/05/11 01:58:09
下げます。

656:デフォルトの名無しさん
10/05/11 01:58:46
全角空白が混ざっている。

657:デフォルトの名無しさん
10/05/11 02:18:13
>>651
質問者のレス見ればVCなのは明らか

658:デフォルトの名無しさん
10/05/11 06:57:15
>>641
ビルドは実行ファイルを作るだけ
実行しないと表示されるわけがない

あと、このプログラムは一瞬で終わるので
デバッグ実行(F5)すると一瞬でウィンドウが閉じられてしまう
getchar(); を最後に入れるか、デバッグなしで実行(ctrl+F5)するべし

659:デフォルトの名無しさん
10/05/11 19:24:34
今年から大学でSchemeを習い始めた超初心者です。
(define-struct BALL (x y delta-x delta-y))
(define-struct POSN (x y))
以上のように4つのフィールドを持つBALL構造体とxy座標からなるPOSN構造体を定義しました。
ここで問題が、「BALL構造体データ a-ball から座標位置を取り出し、POSN構造体データとして返す
関数 get-ball-posn を定義せよ」 
となっているのですが、“座標位置を取り出す”というのは何を
具体的にすれば良いのか分かりません。セレクタを使用せよという事で良いのでしょうか。
以下は自分で書いてみたのですが、特に3行目のmake-BALLの後に何を引数として入れれば良い
のか分からず、とりあえず数値を入れただけで終わってしまいます。間違いを指摘して頂けると嬉しいです。
(define-struct BALL (x y delta-x delta-y))
(define-struct POSN (x y))
(define a-ball (make-BALL 1 2 3 4))
(define p (make-POSN (BALL-x a-ball) (BALL-y a-ball)))
(define (get-ball-posn p)
(POSN-x p))
(get-ball-posn p)
>1

660:デフォルトの名無しさん
10/05/11 19:54:54
BALL にある x, y から POSN を作って返せばいい

661:デフォルトの名無しさん
10/05/11 20:48:54
>>660
ええと…つまりどうすれば良いのでしょうか
具体的にお願いします
(make-POSN (BALL-x (make-BALL x y delta-x delta-y))
(BALL-y (x y delta-x delta-y ))
)
こういうことでしょうか

662:デフォルトの名無しさん
10/05/11 23:05:39
>>645
ありがとうございます。
環境はVisualStudioです。どうにか解決することは出来ました。
これは、皆様のおかげです。

663:デフォルトの名無しさん
10/05/11 23:23:50
プログラミング初心者のruby学習中のものです。
以下のコードについて質問です。

# encoding: cp932

require"open-uri"

open("URLリンク(codezine.jp)") do lhttpl
File.open("codezine-news.xml","w") do lfilel
file.write(http.read())
end
end

7行目のfile.write(http.read())の意味がよくわかりません。
疑問は2つあります。
まず第一に、httpブロックとFileオブジェクトとfileブロックの関係がよくわかっていないような気がします。
httpブロックのなかのFileオブジェクトにあるfileブロックを使っているということでいいのでしょうか?

第二に、read()の意味がよくわかりません。リファレンスの中には「self.open(options={}).read と同じです。
このメソッドによって返される文字列は OpenURI::Meta によって拡張されています。」
と書いてあるのですが、意味がわかりません。結局、このライブラリでのreadはどのような機能を持っているのでしょうか?

よろしくお願いします。

664:デフォルトの名無しさん
10/05/11 23:36:49
>>663
ruby 触ったこと無いけど、

http で、そのURLからデータを read() して、
file に write() しているとしか思えない。

665:デフォルトの名無しさん
10/05/12 03:48:30
>>663
 Ruby 初心者スレッド Part 36
 スレリンク(tech板)l50
で聞け。
ruby を知らない俺でも、そのコードの何が何なのか分かるが、ruby における説明の仕方は分からん。
ruby の専門家が沢山いるところにいきなさい。

666:デフォルトの名無しさん
10/05/12 06:16:32
>>661
> 「BALL構造体データ a-ball から座標位置を取り出し、
> POSN構造体データとして返す関数 get-ball-posn を定義せよ」 
BALL 構造体データ(インスタンス)を受け取って
その BALL インスタンスから x と y を取り出し
その x と y から POSN インスタンスを作成して呼び出し側に返す手続きを定義しろってことだよ

>>663
第一については、まず基本がこれ。File.open に渡しているブロックの内側から外側の変数 buf にアクセス
buf = ''; File.open(FILENAME){|f| buf = f.read() }

ネストするとこうなる。内側の File.open に渡しているブロックから外側の src にアクセス
File.open(SRC){|src| File.open(DEST, 'w'){|dest| dest.write(src.read) } }
>>661 は、これの外側の File.open が open-uri で拡張して URL も開けるようになった open の呼び出しに変わっただけ

第二については、読むところが違ってる。open-uri の Kernel.open ってところを読んで

667:デフォルトの名無しさん
10/05/12 11:12:22
>>573
亀だけど一言いいたい
大抵の参考書は買わなくても勉強できるけど、
本買った方がいい理由は(ある程度)間違っておらず、まとまった情報源だから

プログラマとしての理由はそれくらいだろ

668:デフォルトの名無しさん
10/05/12 13:33:25
昔は本の質も良かったと思うんだけど
最近はなんか出鱈目な本も平気で出版されてるよね

669:デフォルトの名無しさん
10/05/12 13:48:11
昔からあった気がする

670:573
10/05/12 14:30:11
>>667
俺は、人それぞれ、自分に合った学習法は違うと主張しているのだが、
それを否定しているのか?
573にある俺の記憶法を虚妄だというのか?

何を否定して何を主張しているのかが曖昧で分からん。
口調からして、ただの補足ということではないよね?


>>668
90年代始め頃にはすでにひどかった。
昔の本が良かったと思うのは、版を重ねて訂正が繰り返されたものばかりを
読んでいるからでは。
そういう、版を重ねた本は、評判が良かったから長く売れているのだろうし、
質が高いとしても不思議ではない。
わざわざ昔の無名の本を探して読まないでしょ?

671:デフォルトの名無しさん
10/05/12 15:35:49
よくわからない>>667にそこまでムキにならんでも、とは思う

672:デフォルトの名無しさん
10/05/12 16:33:57
確かにいまどきの本の信頼性の低さは目に付くが
webの情報のいい加減さに比べたらマシだと思う
あれ?webの方がマシかな?
嘘を嘘と見抜けないひとはどっちにしてもダメだよ

673:デフォルトの名無しさん
10/05/12 17:55:41
>>664
>>665
回答ありがとうございます。

665さんが紹介してくれた板に行こうと思います。


674:デフォルトの名無しさん
10/05/12 18:02:09
>>670
自分に合った学習方法がとか、質問者は聞いてないだろって話だよ

どっちがいいの?
本の場合は探す労力が少ないよ

でいいじゃん

あんたの勉強方法にケチ付けてるわけじゃない
むしろどうでもいい

675:デフォルトの名無しさん
10/05/12 18:06:45
超初心者スレで喧嘩すんなよ情けない

676:デフォルトの名無しさん
10/05/12 18:08:10
>>672
最近の本でも良い本はやっぱりある

ゆとり仕様とか言われるかもしれんが
分かりやすく体系的に書かれてるやつが多い気がする

677:デフォルトの名無しさん
10/05/12 18:09:40
>>675
ごめんちゃい
止めます

678:デフォルトの名無しさん
10/05/12 20:36:16
VisualStudioです。助けて

・キーボードから2つの整数を読み込んで, それらの「和, 差, 積, 商, 余り」を計算し整数として計算結果を画面に出力する
 プログラムを作成せよ。

・キーボードから円の半径を小数として読み込み, その円の直径, 円周, 面積, 更に同じ半径をもつ球の体積を計算して表示する
 プログラムを作成せよ。

わかりません。問題集の問題なんですけど、初心者の私にはプログラムがわかりません。
お願いします。



679:デフォルトの名無しさん
10/05/12 20:39:22
まず言語(C#とかVBとか)を調べる。Visual Studioは言語じゃない。
で、当該言語の宿題スレがあるのでそこで質問すれば良いよ。

680:デフォルトの名無しさん
10/05/12 20:39:37
言語は?
VB
VC#
VC++
F#
どれ?

681:デフォルトの名無しさん
10/05/12 20:45:22
C++です。

682:デフォルトの名無しさん
10/05/13 08:37:33
プログラム以前の質問ですが。

今までフリー、シェアの一般公開されてるソフトを利用していましたが、
自分が本当に使いたい機能がない不満が出てきて悩んでます。
この場合、1からプログラムを学習して自作するのと、
誰か他の人に作ってもらうのとは、
どちらが早いですか?

ソフトはテキストエディタに近いものです。
おおざっぱな概要は作ってあります。

自分はエクセルマクロなら作った経験がある超初心者です。
プログラマにツテやコネはありません。
頼む場合はネットで探すことを考えてます。

683:デフォルトの名無しさん
10/05/13 08:41:31
そりゃプログラム書いたことないんだったら
他人に作ってもらった方が早いだろ
金で時間を買うんだよ

684:デフォルトの名無しさん
10/05/13 08:43:37
金払って誰かに作ってもらうのが最速


685:デフォルトの名無しさん
10/05/13 08:49:24
>>682
エクセルのマクロが組めるだけの初心者を超えた経験があるなら
自分で何とかしてもいいんじゃね?

686:デフォルトの名無しさん
10/05/13 08:52:36
テキストエディタの複雑さをなめんな

687:デフォルトの名無しさん
10/05/13 09:06:24
メモ帳だったりして。

プログラムの教材とかで、たまにメモ帳あるよね。
あと電卓とか。

688:デフォルトの名無しさん
10/05/13 09:07:29
ありがとうございます。
どこかで依頼できる場所を探してみます。

689:デフォルトの名無しさん
10/05/13 09:11:40
概要があるなら晒してみ。
エディタのマクロで実現できるレベルかもしれないし。

# 欲しいものはawkでしたなんてことになったら大笑い。

690:デフォルトの名無しさん
10/05/13 09:23:17
ソフトウェア板に該当スレを見つけましたので、そちらで概要晒してみます。
自分の質問はどうみてもスレ違いでした。
ありがとうございます。

691:デフォルトの名無しさん
10/05/13 09:26:58
ここまで Emacs や xyzzy なし

692:デフォルトの名無しさん
10/05/13 10:18:05
>>668
昔より今の方が翻訳本はいいのがいっぱい出ている気がする。
国内の本は相変わらずどっかの劣化コピーの初心者本ばっかりという感じがするけど。
ただ、でたらめな本が増えても一緒にいい本が増えれば、選択が増えるので歓迎。
ただ、今はどんな本でもほとんど3年で無くなってしまうので、
図書館でいい本を見つけても手に入らないとか言うことがままある。

693:デフォルトの名無しさん
10/05/13 10:49:34
昔の翻訳本は日本語が怪しいっていうか、日本人のプログラマーがちゃんと監修しろよ、
って思うようなのは多かった気がする。今でもそういうの見かけるな。

694:デフォルトの名無しさん
10/05/13 12:22:05
キーボードからCのソース・プログラム名(fname.c)を入力し、そのプログラムの行番号付
テキスト・ファイルを、別名のファイル(fname.txt)で表示するプログラムを作成せよ。ただし、
ファイル名のfnameの部分は共通にせよ。
上を教えてください。
お願いします。


695:デフォルトの名無しさん
10/05/13 12:42:45
キーボード入力
ファイル入力
文字列加工
ファイル出力
この4つわかればなんとかなると思うけど、どれがわからない?

696:デフォルトの名無しさん
10/05/13 13:12:55
プログラミングが苦手で全部分かりません・・・。
色々な参考書を探したんですけど意味が分かりません。

697:デフォルトの名無しさん
10/05/13 13:29:06
苦手な事は得意な人にお金を払ってやってもらおう。得意な事で稼げば良いじゃん。

698:デフォルトの名無しさん
10/05/13 13:34:50
>>694
#include <iostream>
#include <string>
#include <fstream>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{
ifstream fin;
ofstream fout("fname.txt");
string path;
for(;;){
cout << "ファイル名を入力してください。" << endl;
cin >> path;
fin.open(path.c_str());
if(fin.is_open()&&path=="fname.c")
break;
}
string line;
int linecount=0;
while(!fin.eof()){
getline(fin,line);
linecount++;
}
int dignum=(int)log10((double)linecount)+1;


699:デフォルトの名無しさん
10/05/13 13:35:33
fin.clear();
fin.seekg(0,ios::beg);
int i=1;
while(getline(fin,line))
if(line.size())
fout << std::setw(dignum) << std::right << i++ << "\t" << line << endl;
fout.close();
system("fname.txt");
return 0;
}

700:デフォルトの名無しさん
10/05/13 13:43:23
>>696
超初心者向けの入門書を読んでみては?

絵本シリーズ
URLリンク(www3.ank.co.jp)

10日でおぼえるシリーズ
URLリンク(www.shoeisha.com)

○歳からはじめるシリーズ
URLリンク(www.rutles.net)

これでも理解できなかったら諦めるしかないかなあ・・・

701:デフォルトの名無しさん
10/05/13 13:44:50
再帰を使ったmodってこれでよろしいでしょうか?


int mod(int x, int y)
{

   if(x < y)
   {
      return x;
   }
   else if(x == 0)
   {
      return 0;
   }

   mod(x - y, y);

}

702:デフォルトの名無しさん
10/05/13 13:59:15
こんなのを書いてみた
int mod(int x, int y){
if(x<0){
return mod(x+y,y);
}
if(x<y){
return x;
}
return mod(mod(x,y*y)-y,y);
}

703:デフォルトの名無しさん
10/05/13 14:12:22
>>700
理解はできるけど、その先がわからん。
メソッドとかプロパティとかわからんと覚えられないよね。
最終的には関数のヘルプ見れば何でも分かる人間になれるのか?

704:デフォルトの名無しさん
10/05/13 14:34:08
IQ80の人には無理です。

705:デフォルトの名無しさん
10/05/13 14:42:37
>>703
メソッドやプロパティを全部暗記してる人なんていないよ。
分からなかったらその都度リファレンス見ればいいだけだし。

706:デフォルトの名無しさん
10/05/13 15:01:06
>>705
> メソッドやプロパティを全部暗記してる人なんていないよ。
> 分からなかったらその都度リファレンス見ればいいだけだし。

あれだ、メソッドやプロパティの概念のことだったりして。

基本的なことだけわかってれば、Webアプリみたいなものであれば、
リファレンス見ればどんな言語でも何とかそれなりにできそうな気がする。
APIとかOSのことはよくわかんないけどWebアプリにはあんまり関係ないし。

だからWeb系なんて時給1000円とかの世界なのかな。

707:デフォルトの名無しさん
10/05/13 21:03:35

 キーボードから2つの整数を読み込み, それらの「和, 差, 積, 商, 余り」を計算し
整数として計算結果を画面に出力するプログラムを作成しなさい。


#include <stdio.h>

int main(void)
{
int a,b; //2つの変数の型宣言

printf("1つ目の整数を入力してください:");//入力ガイダンス
scanf("%d", &a); //aという変数にキーボードからの整数を読み込む

printf("2つ目の整数を入力してください:");
scanf("%d", &b);

printf("2つの整数の和は%dです.\n",a+b);
printf("2つの整数の差は%dです.\n",a-b);
printf("2つの整数の積は%dです.\n",a*b);
printf("2つの整数の商は%dです.\n",a/b);
printf("2つの整数の余りは%dです.\n",a%b);

  return 0;
}

C++で作ったんですが、ビルドエラーが発生して困っています。
どこが悪いんでしょうか?

708:デフォルトの名無しさん
10/05/13 21:12:50
わざわざかかなくてもわかるものをコメントすんな
逆に読みづらくなる

int a,b // 二つの変数の宣言
とかみりゃわかるから

709:デフォルトの名無しさん
10/05/13 21:12:51
全角空白

710:デフォルトの名無しさん
10/05/13 21:17:52
何行目でどんなエラーが出たかも見てないだろw

711:デフォルトの名無しさん
10/05/13 21:35:37
1>c:\users\manabu\documents\visual studio 2008\projects\kadai3-1\kadai3-1\kadai3-1.cpp(17) : error C3872: '0x3000': この文字を識別子で使用することはできません
1>c:\users\manabu\documents\visual studio 2008\projects\kadai3-1\kadai3-1\kadai3-1.cpp(19) : error C2065: ' ' : 定義されていない識別子です。
1>c:\users\manabu\documents\visual studio 2008\projects\kadai3-1\kadai3-1\kadai3-1.cpp(19) : error C2146: 構文エラー : ';' が、識別子 'printf' の前に必要です。
1>c:\users\manabu\documents\visual studio 2008\projects\kadai3-1\kadai3-1\kadai3-1.cpp(31) : error C3872: '0x3000': この文字を識別子で使用することはできません
1>c:\users\manabu\documents\visual studio 2008\projects\kadai3-1\kadai3-1\kadai3-1.cpp(31) : error C3872: '0x3000': この文字を識別子で使用することはできません
1>c:\users\manabu\documents\visual studio 2008\projects\kadai3-1\kadai3-1\kadai3-1.cpp(31) : error C2065: '  return' : 定義されていない識別子です。
1>c:\users\manabu\documents\visual studio 2008\projects\kadai3-1\kadai3-1\kadai3-1.cpp(31) : error C2143: 構文エラー : ';' が '定数' の前にありません。

ビルドです。すいません本当に初心者なんです。

712:デフォルトの名無しさん
10/05/13 21:36:41
> error C2065: ' ' : 定義されていない識別子です。
>>709が正解

713:デフォルトの名無しさん
10/05/13 21:39:24
まあなんというかまなぶちゃん乙
同じ講義受けてる人はそっとしてあげてくださいね

714:デフォルトの名無しさん
10/05/13 21:54:14
>>713
残念ながら、それ名前じゃないんですけどね

715:デフォルトの名無しさん
10/05/13 23:13:27
プログラムはどうにか動きました。
ありがとうございました。

あと、最後に>>713さんこれは講義とかじゃなくて問題集の奴です。
勘違いさせてしまって申し訳ありません。

716:デフォルトの名無しさん
10/05/14 07:02:44
またつとむ君か・・・・あちこちでuser名変更方法聞いてたもんな

717:デフォルトの名無しさん
10/05/14 07:25:44
つとむはXPじゃなかったっけ

718:デフォルトの名無しさん
10/05/14 09:23:01
iPhone用のプログラムを書いています。
あるファイル(例えばtestA.m)から、他のファイル(例えばtestB.m)の関数を
呼び出すにはどうしたらいいのでしょうか?
何となくですが、testA.mにtestB.hをインクルードすればいいのかなと思って
やってみたのですが、呼び出しかたがわかりません。
[self (関数名)]
とやって呼び出そうとしても、ビルドすると
'testA' may not respond to ~
とワーニングがでて、実行するとアプリが強制終了してしまいます。
よろしくお願いします。


719:デフォルトの名無しさん
10/05/14 12:59:55
>>718
self は不要なのではないか。
testB.h の内容と、どの関数を呼びたいのかが分からないと、正しい答えは返らないかもしれない。

その質問に相応しいのは、この板では
 Objective-C [ObjC part:4];
 スレリンク(tech板)l50
だが、もう一度入門書を読み直してもいいと思う。

720:718
10/05/14 13:45:14
>>719
アドバイスありがとうございます。もう一度入門書を読み直してきます。


721:デフォルトの名無しさん
10/05/14 22:40:49
今、「明解C言語」と「解きながら学ぶC言語」を勉強してるんだけど、
この2冊をマスターしたら中級者くらいにはなれるかな?

722:デフォルトの名無しさん
10/05/14 22:42:17
ageるよん!!

723:デフォルトの名無しさん
10/05/14 22:45:05
>>721
本をマスターしただけでは中級者にはなれない。
こんなことがしたいなあ、と思ったプログラムを
自分で書けるようにならなければ、初心者を
卒業することはできないと思う。


724:デフォルトの名無しさん
10/05/14 22:51:07
>>723
なるほど。ハードルは結構高そう。
外国語を一つマスターするより簡単だと思ってたんだけど、道が長くなりそう。

725:デフォルトの名無しさん
10/05/15 09:49:37
外国語マスターする方が大変

726:デフォルトの名無しさん
10/05/15 09:59:34
>>721
それ、両方やらなくてもどちらか片方でいいだろう
両方とも出てくる問題はほとんど同じだったはず

マスターしてノコギリとトンカチが使えるようになったかなぐらいのレベル

727:デフォルトの名無しさん
10/05/15 10:02:41
>>721
中級者になりたかったら初心者用の本ばかり読んでたらだめだろw

728:デフォルトの名無しさん
10/05/15 10:29:58
初級者、中級者、上級者って、どこが境目なんだよ?

729:デフォルトの名無しさん
10/05/15 10:52:52
初級者 コピペや改造でアプリが書ける
中級者 サンプル見なくても仕様書だけで自前のソースが書ける
上級者 ドライバ書いたり OS書いたり

730:デフォルトの名無しさん
10/05/15 10:56:29
連続しているので境目は無い。

731:デフォルトの名無しさん
10/05/15 11:21:18
確かに明確な境目はないが、「もう初心者とはいえない」という線はあるだろう。
質問するスレを選べるようになれば、とりあえず【超初心者】ではないだろう。

732:デフォルトの名無しさん
10/05/15 11:30:43
初心者(超初心者含む)の前段階として池沼というものがある
エラーメッセージ貼れといっても他人の言う事聞かないやつとか

733:デフォルトの名無しさん
10/05/15 11:51:31
池沼と初心者は不連続だと思う。

734:デフォルトの名無しさん
10/05/15 12:03:34
サンプルを元に、コピペと改造でドライバ書いてる人は?w


735:デフォルトの名無しさん
10/05/15 12:09:49
>>732-733
それは直行する概念だろう。
ネットでフレーミングを繰り返す池沼上級者もいる。

736:デフォルトの名無しさん
10/05/15 12:16:10
>>734
それは上級者

737:デフォルトの名無しさん
10/05/15 12:34:29
>>735
その池沼と>>732が言うところの池沼はネームスペースが異なる。

738:デフォルトの名無しさん
10/05/15 12:54:32
初級者、とりあえず単機能なら、まともに動く自前のソースが書ける
中級者、大体なんでも書けるが、リファレンスが手放せない
上級者、リファレンスなんか、めったに見ない、すでに頭の中に入っている


739:デフォルトの名無しさん
10/05/15 12:59:08
言葉遊びは他でやれ

740:デフォルトの名無しさん
10/05/16 00:12:39
>>726
えー、それじゃ全然じゃん。
もっと勉強しないといけないのか・・・

741:デフォルトの名無しさん
10/05/16 07:45:09
プログラマなんて一生勉強ですよ

742:デフォルトの名無しさん
10/05/16 07:54:47
だね。そういう気持になるなら職業にはしないほうが
身のためだと思う。
プログラマで生き残れるのって自分の知識を広げたくて
うずうずしちゃう人だけだから。

743:デフォルトの名無しさん
10/05/16 10:00:12
勉強しないがそういう気持ちにもならないうちの上司は
そのうち消えてくれますか

744:デフォルトの名無しさん
10/05/16 10:02:18
残念ながら会社の組織上の地位と勉強は別の話

745:デフォルトの名無しさん
10/05/16 10:05:03
上司はその会社でしか通用しないけど一生勉強するプログラマは
どこでも通用する

746:デフォルトの名無しさん
10/05/16 14:17:06
これからプログラムを勉強しようと思ってる者なんですけど、
まず始めに学ぶのにいい言語は何ですか?

747:デフォルトの名無しさん
10/05/16 14:21:45
Schemeが良いと思うよ。
言語仕様が比較的小さいし。

748:デフォルトの名無しさん
10/05/16 15:25:32
外国語とかいうのやめろ
差別にしか聞こえね

749:デフォルトの名無しさん
10/05/16 15:28:23
>>747
いきなりCとかJAVAとかは敷居が高いですか?

750:デフォルトの名無しさん
10/05/16 15:35:10
>>746
ある雑誌に初心者にはVisualBasic、C、Java、JavaScript、PHPのどれかが良いと書いてあった。
何でも良いと思うんだけどマイナーな言語だけは避けるべきだよ。

751:デフォルトの名無しさん
10/05/16 15:41:17
>>750
その中なら迷わずCかJavaだなあ
個人的にはさらにJavaを落として言語仕様がコンパクトなCか

Schemeは入門書を本屋で買うだけで一苦労なので無い

752:デフォルトの名無しさん
10/05/16 16:27:11
最初は、低いレイヤをやった方が良いと思うよ。
アセンブリ言語かCを学び、「コンピュータの動作原理」を理解して、
Schemeで、「プログラミング言語」を理解して、
Javaで「現実的なプログラミング技法(設計含む)」を理解するのが良いだろうと、個人的には思う。

753:デフォルトの名無しさん
10/05/16 17:29:33
Cを学んぶとPCの動作原理がわかるようになるのかー
Cが一番よさそうな感じ。

754:デフォルトの名無しさん
10/05/16 17:57:37
MITの情報学科以外は1年生で全員Schmemだけどね

755:デフォルトの名無しさん
10/05/16 18:09:54
MITの情報学科では何の言語を教えてるのかな?

756:デフォルトの名無しさん
10/05/16 18:12:04
>>755
昔は「計算機プログラムの構造と解釈(Scheme)」だったけど、
今はPythonだよ。

757:デフォルトの名無しさん
10/05/16 18:20:56
人気プログラミング言語ランキング
URLリンク(journal.mycom.co.jp)

758:デフォルトの名無しさん
10/05/16 18:27:40
Cの次はC++かJavaか。PerlやPythonも気になるが。

759:デフォルトの名無しさん
10/05/16 19:22:52
>>753
人によるけどCだけじゃ不足
アセンブラやれ(しかも一種類のCPUじゃなくて色んなCPUの勉強汁)

760:デフォルトの名無しさん
10/05/16 22:05:42
うんこぶりぶりアセンブリ(笑)

761:デフォルトの名無しさん
10/05/16 22:27:26
C言語用の辞書のようなプログラムを作りたいんだ
想定してるのは、ファイル操作でtxtファイルを呼び出して
単語の意味なんかを閲覧する
調べたい単語の選択方法としては
scanf関数によって入力されたアルファベットを、ASCIIコードとして認識して
その大文字小文字を問わずtxtファイル中の頭文字を検索するのを考えてるんだけど

こんな事できるの?
特にtxtファイルの頭文字を検索するのとか

762:デフォルトの名無しさん
10/05/16 22:34:31
>>761
不可能性を証明してみるとか

763:デフォルトの名無しさん
10/05/16 22:41:09
>>762
ファイル操作とか文字列の処理とかが結構曖昧だから、可能かどうかの判断が出来ない

とりあえず作ってみようと思いますはい

764:デフォルトの名無しさん
10/05/17 00:02:09
久しぶりにハードウェア寄りな海外案件つまんだけれど
今ってMIL記号の容姿も変わってるのね。読んでも頭に入らないや。なんだ?このヘンテコな絵は・・・。

765:デフォルトの名無しさん
10/05/17 13:35:29
>>746
独学なら、何をやろうが九割以上の確率で飽きる。
JavaScript とか Excel VBA なら、中途半端な知識でも、将来役に立つこともあるかもよ。

>>761
strcmp() と qsort() と bsearch() を調べてみなさい。

766:デフォルトの名無しさん
10/05/17 13:58:45
>>746
まず始めにおまえが作りたいものは何ですか?

767:デフォルトの名無しさん
10/05/17 14:22:09
子供

768:デフォルトの名無しさん
10/05/17 15:09:23
つ なでしこ

769:デフォルトの名無しさん
10/05/17 18:42:34
Web系ってやっぱり底辺ですか?
いまや案件では一番なので仕事はありそうなのですが。

770:デフォルトの名無しさん
10/05/17 18:44:42
ITバブルがもうすぐはじけるから
底辺のプログラマーはみんな職を失うだろうな。

771:デフォルトの名無しさん
10/05/17 18:45:01
>>765
VBAはいいよな
エクセル使わない業務はまずないし

772:デフォルトの名無しさん
10/05/17 18:46:10
マイクロソフトに依存して生きるなんてまっぴらごめんだね。

773:デフォルトの名無しさん
10/05/17 20:18:45
>>769
労働環境は底辺だけど、向上心があるなら将来性はあるよ。
将来性というのは Web 系の受注環境ではなく、説明は難しいけど、アンテナの感度とか起業のしやすさとか。

底辺偽装請負よりはいいけど、まともな会社と比べると駄目。
ただ、楽しいし、好きならいいんじゃないか。

774:デフォルトの名無しさん
10/05/17 20:46:25
あーあ、これだからPHPerは。

775:デフォルトの名無しさん
10/05/17 20:48:59
とりあえず非初心者がここでグダグダ言ってるのはすごいみっともない

776:773
10/05/17 22:09:03
>>774
Ajax/RIA の話だと思ってたんだけど。

>>775
グダグダの定義を。775は違うということ?

777:デフォルトの名無しさん
10/05/18 01:51:14
Cの勉強が終わったら、アセンブラの挑戦してみよう。
コンピュータの動作原理を知らないと、どうもすっきりしない。 

778:デフォルトの名無しさん
10/05/18 02:48:37
>>777
URLリンク(www.amazon.co.jp)

779:デフォルトの名無しさん
10/05/18 06:16:24
>>778
この表紙なら、普通の表紙との2バージョンあってもいいよな
この表紙じゃ俺には購入は無理だわ

780:デフォルトの名無しさん
10/05/18 06:59:06
ベストセラーだから今更気にする必要もないと思うが


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch