cametan_42 の回答履歴
- 初めてのプログラミング言語
中3の息子がプログラムを勉強してみたいと言い出したのですが、今の時代だと何から始めた方が良いと思いますか? 本人は最終的にはゲーム(ジャンル問わず)を作りたいそうです。Win10のPCはあるのでVisualStudioを入れて VBでもと思っていますがこっちの方が取っつきやすいなんてのがあれば教えてください。 あと、入門書も欲しいそうなのでおすすめの言語と合わせて紹介して頂けると幸いです。
- ベストアンサー
- その他(プログラミング・開発)
- mt2015
- 回答数8
- 【初心者】c言語をもう一度勉強しようと思います。
c言語をもう一度勉強しようと思います。 独習Cとかの本を一回通しでやって理解していないぐらいの実力です。 ポインタとか構造体とかなんとなくふんわりとした感じでしか理解していなくて プログラミングとか書けません。 文法を固めるのが先か、 何かつくれるようにするのが先かどうすれば上達しますかね? VC6.0++でウィンドープログラミングにしたりしてみたのですが、 肝心のプログラム自体の内容がほぼ無意味なプログラムなので どうすれば内容の濃いプログラムを作れるか考えてしまいます。 アルゴリズムとか数学や物理の公式を実装できればいいと思うのですが、 まず実装までおとしこめないし、 また、何につかったらいいのかもよくわかりません。
- ベストアンサー
- C・C++・C#
- ikegamiakira39
- 回答数2
- クロージャを利用するメリットについて
コボラーです。 いや、PHP、Perl、VB、C#、JavaScript、VC++、ActionScript、Java、Objective-Cは書けるけどCOBOLは書けないのでコボラーではありませんね。 モダンなプログラムコードが好きではない、レガシーなプログラマーとしておきましょう。 自己紹介はこれくらいにして・・・ 今までもアチコチで話されていると思いますが、クロージャ(無名関数)を利用するメリットについてです。 ・グローバル変数の数を減らせる ・関数内の変数値を保持しておける この2つのメリットについては理解しました(これがメリットかどうかは別として) その他には ・1回しか利用しない関数に名前を付けなくて済む ・1回しか利用しない関数が、利用する箇所に書かれているので、コードを追っている間に迷子になり辛い こんな意見も見受けられました。 もしかしたらこれは、オブジェクト指向 vs 関数型プログラミングという話しになってしまうかもしれませんが、そもそも1回しか利用しない処理を関数化するメリットってなんでしたっけ? オブジェクト指向で考えれば、1メソッド当たりのコード数は少ない方が良いとされていますので、そもそも無名関数ではなくオブジェクティブな作りにすると思います。 関数型プログラムでは、main処理の中で複数処理するような共通処理部分を関数化し、整理をしていきますよね。 そうなると、どちらにしても「1回しか使わない処理を、そもそも関数化する必要性」が見いだせないのです。 それなのにその部分を無名関数にする必要性は感じられませんでした。 もちろんコールバックに便利とか、イベントリスナーに使うのが便利なのは理解していますし、利用しています。 もし・・・ 利用する理由が「モダンぽくてカッコいいから」というなら、それならそれで構いませんし、それについて自分の意見をぶつけるつもりもありません。 (自分のコードがレガシーでかっこ悪くて無駄だと言われたら、全力で応戦しますが・・・) ぜひ明日から私もついつい使いたくなってしまうようなクロージャの有用な利用法を私に教えて下さい。
- ベストアンサー
- その他(プログラミング・開発)
- massa_si
- 回答数2
- クロージャを利用するメリットについて
コボラーです。 いや、PHP、Perl、VB、C#、JavaScript、VC++、ActionScript、Java、Objective-Cは書けるけどCOBOLは書けないのでコボラーではありませんね。 モダンなプログラムコードが好きではない、レガシーなプログラマーとしておきましょう。 自己紹介はこれくらいにして・・・ 今までもアチコチで話されていると思いますが、クロージャ(無名関数)を利用するメリットについてです。 ・グローバル変数の数を減らせる ・関数内の変数値を保持しておける この2つのメリットについては理解しました(これがメリットかどうかは別として) その他には ・1回しか利用しない関数に名前を付けなくて済む ・1回しか利用しない関数が、利用する箇所に書かれているので、コードを追っている間に迷子になり辛い こんな意見も見受けられました。 もしかしたらこれは、オブジェクト指向 vs 関数型プログラミングという話しになってしまうかもしれませんが、そもそも1回しか利用しない処理を関数化するメリットってなんでしたっけ? オブジェクト指向で考えれば、1メソッド当たりのコード数は少ない方が良いとされていますので、そもそも無名関数ではなくオブジェクティブな作りにすると思います。 関数型プログラムでは、main処理の中で複数処理するような共通処理部分を関数化し、整理をしていきますよね。 そうなると、どちらにしても「1回しか使わない処理を、そもそも関数化する必要性」が見いだせないのです。 それなのにその部分を無名関数にする必要性は感じられませんでした。 もちろんコールバックに便利とか、イベントリスナーに使うのが便利なのは理解していますし、利用しています。 もし・・・ 利用する理由が「モダンぽくてカッコいいから」というなら、それならそれで構いませんし、それについて自分の意見をぶつけるつもりもありません。 (自分のコードがレガシーでかっこ悪くて無駄だと言われたら、全力で応戦しますが・・・) ぜひ明日から私もついつい使いたくなってしまうようなクロージャの有用な利用法を私に教えて下さい。
- ベストアンサー
- その他(プログラミング・開発)
- massa_si
- 回答数2
- デフォルト引数の意味が解りません
//正しい void func1(int a, int b, int c, int d=2, int e=10) 右から順にデフォルト引数を設定することができます。 //誤り void func2(int a, int b =2, int c, int d, int e=10) このようなデフォルト引数の指定はできません。 このfunc1()関数は次のように呼び出すことができます。 (1)func1(10, 5, 20); (2)func1(10, 5, 20, 30); (3)func1(10, 5, 20, 30, 50); (1)は、デフォルト引数を指定した二つの引数を省略して呼び出しています。つまり引数dは2、 eは、10で初期化されます。 (2)には、最後の引数を省略して呼び出しています。つまり、最後の引数eが10で初期化されます (3)は、すべての引数を指定して呼び出しています。 とあるのですが、まったく意味が解りません。 どうかこの問題を解る方解りやすく説明お願いします。
- schemeのプログラムについて
schemeで同じ長さの2つのリストの要素を交互に並べる関数はどのように書くのでしょうか? 例えば、関数名をabcとして、 (abc '(1 3 5 7 9) '(2 4 6 8 10)) と入力すると (1 2 3 4 5 6 7 8 9 10) のように表示されます
- ベストアンサー
- その他(プログラミング・開発)
- cdwkndw
- 回答数1
- プログラム言語の種類について
プログラム言語名でvisualと頭に付くと、 何が変わるのでしょうか? C、C++、C#、といった言語がありますが これらの頭にvisualが付いた言語もあると思います。 (visual basicもありますが) ザックリとしたイメージは、 ビジュアルということから エクセルのオートシェイプのように 四角いボタンなどが作れて、 そのボタンに機能を持たせるプログラムを 書くというを聞いたことがあります。 質問1 こういうボタンを作れるのが、頭にvisualと付く visual Cで 付かないただのC言語はボタンが作れないということですか? 何かモノを簡単に描けるというのが違いなのでしょうか? 質問2 使ったことがないので ボタンが描けたから何が嬉しいんだ?といった感じです。 実際に使ってみようとも思いましたが いざ、やろうとなるとC言語、visual cで どういう成果物を作ると違いがわかるのか、 そもそも何をそれぞれの言語で作れるかというのが イマイチわかりません。
- Pythonを手軽に学ぶための環境づくり
プログラミング言語として比較的簡単に習得できるというので、Pythonの学習本を買いました。 VBAのようにさらっと立ち上げてプログラムを始めるというわけにはいかないので、結局全然手をつけていません。(プログラムの経験はVBAくらいです) どうしたら学習環境を構築できるでしょうか?候補としては 1.Raspberry Pi(所有しています) 2.Windowsで使えるようにセットアップ 3.LinuxをVMWareかなにかでインストールしてそこからPython すぐ立ち上げてすぐ終了でき、できれば会社のPCと自宅のPCで同じ環境が構築できればなお素晴らしい。あとSublime Textなるツールもあるそうで使ってみたいのです。できればWindowsでできないでしょうか? いまさらですが、C#にすればよかったかなとも思っています。無料のVSがあるので。でもほぼ初心者日曜プログラマとしてはC#は習得が大変かなと思ったのでPythonの本を購入しました。
- ベストアンサー
- Python
- piyo-maru7
- 回答数2
- Pythonを手軽に学ぶための環境づくり
プログラミング言語として比較的簡単に習得できるというので、Pythonの学習本を買いました。 VBAのようにさらっと立ち上げてプログラムを始めるというわけにはいかないので、結局全然手をつけていません。(プログラムの経験はVBAくらいです) どうしたら学習環境を構築できるでしょうか?候補としては 1.Raspberry Pi(所有しています) 2.Windowsで使えるようにセットアップ 3.LinuxをVMWareかなにかでインストールしてそこからPython すぐ立ち上げてすぐ終了でき、できれば会社のPCと自宅のPCで同じ環境が構築できればなお素晴らしい。あとSublime Textなるツールもあるそうで使ってみたいのです。できればWindowsでできないでしょうか? いまさらですが、C#にすればよかったかなとも思っています。無料のVSがあるので。でもほぼ初心者日曜プログラマとしてはC#は習得が大変かなと思ったのでPythonの本を購入しました。
- ベストアンサー
- Python
- piyo-maru7
- 回答数2
- float型関数で定義するプログラミング
今プログラミングを行っているのですが、Xn+1=Xn-f(Xn)/g(Xn)(f(x)=x*x-x-1,g(x)=2x-1,これらはfloat型の関数とすること)で初期値Xo=-2としたときに繰り返しxを求めていき、|f(x)|=<10^-5となるまで計算するプログラムを作成したいのですが結果がおかしくなるので、ここからどう手直しすればいいのかわかりません。 #include<stdio.h> float wa(void); int main(void) { float a,i; for (i = -2; i <= 0.00005; i++) { a = wa(); printf("%f\n", a); } return 0; } float wa(void) { float l = 0, i, m, n, x,b; for (i = -2; i <= 0.00005; i++) { x = i; l *= i; m = x*x - x - 1; n = (2 * x) - 1; b = l - (m / n); } return b; } 結果 -1.000000 -1.000000 -1.000000 正直言ってどういう結果になればいいのかもわかりません。 せめてどういうような結果になるのかだけでも教えていただければありがたいです。
- ベストアンサー
- C・C++・C#
- hatano1341
- 回答数5
- float型関数の定義の仕方がわかりません。
次のプログラミングでfloat型関数を定義しようとしても下の矢印のところにどんな文字を入れても「初期化されてないローカル変数が使用されます。」と出て、どうしてもうまくいきません。 こういう場合どこを直せばエラーが出なくなるのでしょうか? #include<stdio.h> float wa(float ); ↑ int main(void) { float a; a = wa(); ↑ printf("%f\n",a); return 0; } float wa(float ) ↑ { float l = 0, i, m, n, x,b; for (i = -2; i <= 0.00005; i++) { x = i; l *= i; m = x*x - x - 1; n = (2 * x) - 1; b = l - (m / n); } return b; }
- ベストアンサー
- C・C++・C#
- hatano1341
- 回答数3
- C言語 中級編
失礼します。現在書籍にて勉強しているのですが、エラーが出てしまい調べてみたのですが原因がわかりません。何卒よろしくお願いします。 /* 文字列として読み込んだ整数を変換して表示 */ #include <stdio.h> #include <stdlib.h> int main(void) { char temp[20]; /* 読込み用文字列 */ printf("整数を入力してください:"); scanf_s("%s", temp); printf("%dと入力しましたね。\n", atoi(temp)); return 0; } エラーメッセージ ハンドルされない例外が 0xFEFEFEFE (helloworld.exe) で発生しました: 0xC00001A5: 無効な例外ハンドラー ルーチンが検出されました。 (パラメーター: 0x00000003)。
- Ardinoについて…
C言語プログラミングについて…以下の文でスイッチ「RedSwitch(赤スイッチ)」が押された回数だけ後で光るというプログラミングを「switch case」文で作ったものがある。この「switch case」文を「if」文、もしくは「if else」に変換して同じプログラミングを作りなさいという課題が出て、うまくスイッチの押した回数が読み込めません。となたか解説お願いします。 void sw_check(void) { switch(SW_RedSwitch) { case 0: if ( digitalRead(2)==SW_ON ) { SW_RedSwitch=1; } break; case 1: if ( digitalRead(2)==SW_OFF ) { SW_RedSwitch=2; } break; } } void blink(void)
- 締切済み
- C・C++・C#
- noname#220339
- 回答数1
- コンパイラについて
コンパイラは文字をCPUのわかる0101に変換するものと習いました。 プログラムは大体が英語ですが、日本語のコンパイラを作ることも可能ですか? 表示(); と書くと、コンピュータ語に変換されるコンパイラも作れますか??
- 締切済み
- C・C++・C#
- LinuxJavaScript
- 回答数3
- コンパイルの逆はできますか??
プログラムの本にこんなことが書いてありました。 『人間にわかる文字をコンパイルして、CPUのわかる0101にします。』 これを見て思ったのですが、CPUのわかる0101文字を逆に人間にわかる文字に返すことは出来ますか?? 他にも、JavaやCで書いた命令をコンパイルし、CPUのわかる0101文字にしてから逆にコンパイルして、JavaをCに変えたり、CをJavaに変えたりできるってことですか??
- 締切済み
- C・C++・C#
- LinuxJavaScript
- 回答数2
- 【C言語】再帰を用いるプログラムでのセグフォ
明解C言語入門編のp196にあるList8-7 再帰を用いて2つの整数の最大公約数を求めるプログラムなんですが #include<stdio.h> int gcdf(int vx, int vy) { return(vy == 0? vx: gcdf(vy,vx&vy)); } int gcd(int va, int vb) { return(va>vb? gcdf(va,vb): gcdf(vb,va)); } としてmainの中で入力された2つの整数n1,n2を 最大公約数としてgcd(n1,n2)を表示させるのですが、 (1,2)とか(2,4)などの再帰が1度しか行われない(?)プログラムでは ちゃんと結果が表示されるのですが、 (4,6)など再帰が2度以上行われるプログラムになると segmentation fault(コアダンプ) と表示されます。 どこに問題があるのでしょうか OSはubuntu14.04 エディタはvim コンパイラはclangです。 よろしくお願いします。
- 【C言語】再帰を用いるプログラムでのセグフォ
明解C言語入門編のp196にあるList8-7 再帰を用いて2つの整数の最大公約数を求めるプログラムなんですが #include<stdio.h> int gcdf(int vx, int vy) { return(vy == 0? vx: gcdf(vy,vx&vy)); } int gcd(int va, int vb) { return(va>vb? gcdf(va,vb): gcdf(vb,va)); } としてmainの中で入力された2つの整数n1,n2を 最大公約数としてgcd(n1,n2)を表示させるのですが、 (1,2)とか(2,4)などの再帰が1度しか行われない(?)プログラムでは ちゃんと結果が表示されるのですが、 (4,6)など再帰が2度以上行われるプログラムになると segmentation fault(コアダンプ) と表示されます。 どこに問題があるのでしょうか OSはubuntu14.04 エディタはvim コンパイラはclangです。 よろしくお願いします。
- スクリプト言語
JavaScriptやvbscriptなどのスクリプト言語とは 具体的にどういう動きをするものを指すのでしょうか? なにか値を取得するプログラムを指すのでしょうか?
- ベストアンサー
- その他(プログラミング・開発)
- uzrkrsmebpvlt
- 回答数3
- 『BASIC』は今はどうなっているのでしょうか?
幼少の時に家にあるコンピューターを 殆ど理解していないながら色々触ってました 確か…コンピュータ用の言葉であるマシン語というのがあって それだと人間は分かりにくいから『BASIC』という言葉を使って コンピューターに指示を出すみたいなそんな事を教えて貰ったような… 左に10とか20とか1030とか番号が並んでいて 何故か『GO TO ~~~』で好きな番号の所に飛べる、というのだけ妙に覚えてます この『BASIC』っていうプログラム言語は やはり今ではもう全く使われていないのでしょうか? 大型書店のプログラミングの所で成書を探し回りましたが全く見つからないので もう過去のものという事でしょうか? ここのカテゴリでもないですし(^^; (使われていないとしたら、何か理由もあるのでしょうね) プログラミング(の歴史?)にお詳しい方 宜しくお願い致します
- ベストアンサー
- その他(プログラミング・開発)
- GentleSnow
- 回答数11
- Powershell
Powershellについてよくわからないのですが、 ググってみると -------------------------------------------------- Windows PowerShell は、マイクロソフトが開発した拡張可能なコマンドラインインターフェース (CLI) シェルおよびスク リプト言語である。 オブジェクト指向に基づいて設計されており、. NET Frameworkを基盤としている。 -------------------------------------------------- と記載されていたのですが、 要するにどういう事ですか? プログラミング言語ですか? ソフトウェアですか?
- ベストアンサー
- その他(プログラミング・開発)
- easrtbylkkbos
- 回答数3