ページ 11

プログラムを打つ早さ

Posted: 2010年10月19日(火) 21:44
by 未来のプログラマー=GKUTH
#include <stdio.h>

int main (void)
{
int youbi,main,ansar;
printf("今日は何曜日ですか?1=月2=火3=水4=木・・・");
scanf("%d",&youbi);
printf("何日後にしたいですか?\n");
scanf("%d",&main);
ansar = main % 7 + youbi;
if(ansar >= 7)
{
ansar = ansar - 7;
}
switch(ansar)
{
case 1:
printf("%d日後は月曜日です。\n",main);
break;
case 2:
printf("%d日後は火曜日です。\n",main);
break;
case 3:
printf("%d日後は水曜日です。\n",main);
break;
case 4:
printf("%d日後は木曜日です。\n",main);
break;
case 5:
printf("%d日後は金曜日です。\n",main);
break;
case 6:
printf("%d日後は土曜日です。\n",main);
break;
case 7:
printf("%d日後は日曜日です。\n",main);
break;
default:
printf("処理がおかしいです\n作者に問い合わせて下さい");
}

return 0;
}
と、いきなりですがこのソース
どのくらいの速さで打てますか?
やっぱり慣れている人ほど早いのかもしれません。
そこで!皆さんの意見を聞きたいと思い投稿しました。
何秒でかくことが出来たか、
それと C言語暦何年か ということを書いていただけたら
幸いです。
皆さんの意見待ってます。
(最近ミックスCに皆さんいっているので少ないかも・・・)
とちなみにこのプログラムは指定日後がなん曜日か
判断するプログラムです

Re:プログラムを打つ早さ

Posted: 2010年10月20日(水) 00:02
by toyo
switch,caseのところですがコピー貼り付けは使ったらだめですか?

Re:プログラムを打つ早さ

Posted: 2010年10月20日(水) 00:27
by box
ansarはおそらくanswerが正しいので、1文字多くなった分だけ、入力に時間がかかりそうです。
switch文のところは、あらかじめ曜日名の配列でも用意しておけば、ずっと簡単になりそうです。

以下は独白。

# 入力時間を知ってどうしたいのか、全然わからない…。

# 同じようなパターン(くだんのswitch文のところ)が登場する場合、
# 何らかの方法(例:上述のとおり)を使ってコードを短縮できることがある。

# mainっていう変数の名前の意味が全然わからない…。
# 関数名と同じ名前を使わない方がいいような気もする…。

Re:プログラムを打つ早さ

Posted: 2010年10月20日(水) 00:47
by たかぎ
スペスミスとか、効率の悪いところとか、字下げがおかしいところとか、エラー処理が甘いところとかが気になってなかなか入力できません。

Re:プログラムを打つ早さ

Posted: 2010年10月20日(水) 07:40
by へろりくしょん
とりあえず、プログラムを書き上げる速度にタイプ速度はさほど関係はありませんよ。

こういうのは配列を使うとすっきりします。
今回の場合はソースコードはざっくり半分以下になりますね。

Re:プログラムを打つ早さ

Posted: 2010年10月20日(水) 07:51
by 未来のプログラマー=GKUTH
そうですか、まだそこの関数までは行ってないので
まだ文字列とかだから効率あげられないあげれるとしてもぼくの頭では・・・無理
ということなんでプログラム変えます。
#include <stdio.h>
int main(void)
{
printf("Hello,world\n");
return 0;
}
はい、とんでもなく簡単なものですが・・・
スペースは最低限に減らしてるつもりです。
それと、エディタはメモ帳に統一し、
インデントは必須、
ということにして頂きます。
前回と同じように何秒か、C言語暦何ヶ月(または何年)
かということを書いて、投稿して頂けば幸いです。
(敬語とかがめちゃくちゃかもしれませんが
まだそういうの使い慣れてないんで・・・)

Re:プログラムを打つ早さ

Posted: 2010年10月20日(水) 07:59
by 未来のプログラマー=GKUTH
>boxさん色々な意見ありがとうございました。
質問するはずが質問されてしまいました。
># mainっていう変数の名前の意味が全然わからない…。
># 関数名と同じ名前を使わない方がいいような気もする…。
はいそのとおりです。
ちょっと変数の名前が思いつかないので
(英語もぜんぜん出来ない・・・)

Re:プログラムを打つ早さ

Posted: 2010年10月20日(水) 08:18
by へろりくしょん
変数 main に限って言えば、main は予約識別子です。
プログラム内で宣言・定義した識別子が、予約識別子と同名の場合の動作は未定義ですので、厳密に言うなら、使ってはならない。 が正解です。


さっぱり意図は分かりませんが、No:63790 のコードを測ってみました。
大体10秒ぐらいでしょうか。


C言語歴は、ちょっと分かりません。
覚え初めて今までならば、高専で習いましたので十ン年です。
が、高専時代は、N88とZ80でずっと遊んでましたし、途中途中でブランクもあったりで正確なところは分かりません。

ただ、タイピングオブザデッドは得意です。

Re:プログラムを打つ早さ

Posted: 2010年10月20日(水) 08:18
by Dixq (管理人)
未来のプログラマーさんは小学生でこれだけプログラムを書けるのはすごいと思いますよ^^
アンサーなんてスペルは私が小学生だった頃は掛けなかったと思います。

プログラマーって毎日のようにプログラムを書いているので、
未来のプログラマーさんからしてみれば一体この人たちはどんな人たちなんだろうと思うかもしれませんね。

確かにスーパープログラマーみたいな人はものすごい早く入力を終えます。
特にLinux派でviエディタを使う方のように完全に手をキーボードに置く形を全く変えず、マウスも使う事なく全ての操作をしてしまうような人はまさに音速?!みたいな感じで作業されているのを見ます。

一方、私の大学の恩師である教授は、これもものすごくプログラミングスキルにたけていて、問題解決能力も素晴らしい方ですが、
人差し指でしか入力されないのですごくゆっくりです。
でも書かれるプログラムは非常にきれいです。

また、プログラムって全部入力しなくても予測変換やユーザー辞書を使って早く入力しようとする人もいるかもしれません。
例えばVisualStudio2010でしたら

#include"までうてば候補が出てきますよね(地味に不便ですが^^;)

また、Ctrl+スペースで予測候補が出てきます。
こういうのを使うと少し早く打てるかもしれませんよ。

私は予めひな形を作っていてコピーするので、純粋に全て手打ちする事はあまりないです。

このように書き方は人それぞれで入力の速さもそれぞれで、入力の速さはあまりスキルに関係無かったりします。
でも「一体プログラマーってどれ位早くうてるんだろう」という気持ちも解りますよ。

まぁタイピングの速さで言えば、四六時中オンラインゲームをしている人が一番速いんじゃないでしょうか^^;

Re:プログラムを打つ早さ

Posted: 2010年10月20日(水) 08:31
by toyo
ハッカー用?のキーボードでテンキーもカーソルキーもないのがありますよね(HappyHackingKeyboard)
そういうのが使いこなせるようになりたいなという気持ちはあります
プログラムのときはキー入力より考えてる時間のほうが多いのであまり影響ない気もしますが

画像は刻印すらないキーボード

Re:プログラムを打つ早さ

Posted: 2010年10月20日(水) 08:36
by ゆーずぃ
No:63790 のコードですが、20秒くらいでしたね。へろりさん尊敬ですw
C言語暦は大体3年くらいでしょうか。けど趣味のレベルなので全然書かないため、実際にコーディングした時間は3年間で2ヶ月分くらいじゃないですかね。

ただ、僕もタイピングオブザデッドは得意ですw

Re:プログラムを打つ早さ

Posted: 2010年10月20日(水) 08:45
by toyo
37秒でした
Cは5年ぐらい
記号が苦手です

Re:プログラムを打つ早さ

Posted: 2010年10月20日(水) 10:29
by みぐえーる
僕も基本人差し指ばっかでプログラミングする教授みたことありますよ。
ものすごく疑問に思ってました。プログラミング、PC関係の学歴をたくさんもってるのに。

Re:プログラムを打つ早さ

Posted: 2010年10月20日(水) 19:00
by 未来のプログラマー=GKUTH
訂正があります。
「まだ文字列とかを扱えないので効率あげられない」
と、書くつもりが
「まだ文字列とかだから効率あげられない」
などと書いてしまいました。
おおきな誤解を招いてすいませんでした。

Re:プログラムを打つ早さ

Posted: 2010年10月20日(水) 19:19
by 未来のプログラマー=GKUTH
キュー様も含めて 皆さんご意見ありがとうございました。
平均30~40秒ぐらいですかね
ん と僕は39秒でした(お、遅い・・・

>Dixq様

>未来のプログラマーさんは小学生でこれだけプログラムを書けるのはすごいと思いますよ^^

そうですかね・・・そうとは思えないですが・・・

>一方、私の大学の恩師である教授は、これもものすごくプログラミングスキルにたけていて、問題解決能力

>も素晴らしい方ですが、

>人差し指でしか入力されないのですごくゆっくりです。

そうなんですかw

でもプログラムがきれいって

早く打てるということ以上に良い事なんですね。

>toyoさん

こ、このキーボード確かにアルファベット書いてない・・・

ハッカーやスーパープログラマさんってこんなキーボードで

毎日プログラム書いているんでしょうか・・・

>ゆーずぃさん

>へろりさん

>タイピングオブザデットが得意

僕もやってみようかな・・・

>みぐえーる

>僕も基本人差し指ばっかでプログラミングする教授みたことありますよ。

>ものすごく疑問に思ってました。プログラミング、PC関係の学歴をたくさんもってるのに。

Dixqさんと同じですね

プログラミング、PC関係の学歴があるだけで

タイピングが早いとは限らないんですね。



皆さんの意見たくさんありがとうございました!
これからもプログラミングがんばりたいと思います!!
あ それとまっだまだたくさん書き込みしてくださいね!

Re:プログラムを打つ早さ

Posted: 2010年10月20日(水) 19:20
by シエル
あ、さっきやったら15秒弱でした。

Re:プログラムを打つ早さ

Posted: 2010年10月20日(水) 21:58
by Dixq (管理人)
一体何をどうすれば15秒に・・^^;
シエルさんの書き込みを見た瞬間にトライしてみようという気がうせました(笑

一字一句書き写さないといけないのか、仕様を満たすプログラムを書けばいいのかでかなり変わりそうですね。

Re:プログラムを打つ早さ

Posted: 2010年10月20日(水) 23:24
by ookami
No.63790で計測するコード変わったんですねw
タイプミスちょこちょこして20秒でした。
C++は中学3年の時に触ったので10年近くになりますが、
ブランクありまくりなので、カウントが難しいですw

Re:プログラムを打つ早さ

Posted: 2010年10月21日(木) 00:02
by シエル
あ、C言語暦は五ヶ月程度ですが、PCは5年ぐらい触ってます。

Re:プログラムを打つ早さ

Posted: 2010年10月21日(木) 08:26
by dic
キーボードに刻印してないのはキーボードのレイアウトを変更したら変わるからじゃないでしょうかと
ひとりでに想像

Re:プログラムを打つ早さ

Posted: 2010年10月21日(木) 08:46
by クローバ
取りあえず、プログラムは速さじゃない!
正確さだよ~~~。
と、自分の友達が先生に質問した時に言われていましたし。
気に成るところでは有りますが。
早い≠良いと言うことですね。

寝起きでボ~っとしてるので色々とミスしてるかも・・・
帰ってきたら、自分も挑戦して見ますね(^ー^)

Re:プログラムを打つ早さ

Posted: 2010年10月21日(木) 23:31
by アビゲイル
ちょっと興味引かれたので、やってみました。
15秒ですね。 タイピング練習してた全盛期ならもうちょっと速く打てるかもしれませんが、

タイプウェル ランダム 総合XB
キーボード Realforce 106
C歴は2年ぐらいと

普段のプログラミングは、切って張ってですね。