改め Objective Technician

はぐれ技術者のやりたい放題

思い込みの怖さ

2006-05-31 21:38:08 | 陸上競技
ハイハードルの練習中、s平さんがむりやりインターバルを9mに伸ばしたもんだから、ダメもとでしぶしぶ走ってみたところ、なんと3歩で走れてしまった。


いままで8.5mが精一杯だと思ってたのに。


と言っても、上体ばらばらでブレーキかかりまくりのひどいハードリング。もちろんインターバルも刻めてない。

でも、初めて9mを3歩で走れたのが嬉しくてしょうがない。


課題だらけだけどそれをクリアしていくのがまた楽しかったりする。

s藤さんにいろいろとアドバイスをいただいたので北大戦までにはなんとか形にしたい。



自分は中学のときからずっと、どうもネガティブな思い込みを消し去れないでいる。

中三のときも全中標準の6m50を跳ぼうと思えば思うほど心の底ではムリだと思ってしまい、結局6m30で終わっちゃったし、高校2,3年でも、高1のベスト6m61を越える自己新を意識するあまり、61という数字で勝手に壁を作ってしまっていた。

その証拠にその後、6m60が3回出てる。

大学1年のときなんか、6m00を基準に考えてたもんだから5m台連発だった。

ハードルもそう。9mじゃ走れないと思ってたらいつまで経っても走れない。


一般に、記録の伸び方はデジタルだ。急に伸びたり、急に出来るようになったりするのが普通で、アナログ的に少しずつ順調に伸びている選手をほとんど知らない。


記録が伸びるときは少なからず深層心理にも変化があるはずだ。

今日のウエイトで、TTRは「上げられると思えば上げられる。」と言っていたが、自分はいまだにどうすれば思い込みを消し去ることが出来るのか分からない。


今の時点で「6m半が出ればいいな」と思っている限り6m70とか80とかは出せない。

練習しまくって悟りの境地に達すればこのマインドコントロールが出来るようになるのだろうか。


そんなわけで、s平さんどうもありがとうございました。

振れ取り

2006-05-30 19:39:03 | 自転車
振れ取りとは、ポテトチップス状に歪んだ自転車のホイールを真っ直ぐに直す作業。


ニップル回しというものを使う。

これでスポークテンションを調節する。




ホイールを空回りさせてリムがブレーキシューに寄っているところを見つける。

その付近で、寄っているほうのニップルの緩めて反対側を締めると歪んでいたリムが反対側に引き寄せられる。


この微妙な調整を根気良く繰り返すことで振れを取る。


いくら丁寧に乗っててもホイールは歪むので定期的に振れ取りをしないと危ない。特に下り坂。


今回は最初振れが5[mm]ほどあって、約1[mm]までになったところで諦めた。

完全に振れを取るのは職人技である。

うるさい

2006-05-29 20:43:40 | 勉強
プログラミング演習で、Enterキーをこれでもかというほど大きな音を立てて打つ人。


「自分は着々と進んでるぜ」アピールだろうか。


気持ちは分からなくもない。自分も中学生のときそうだったから。

でも、大学生にもなってそんなことするのはやめれ。




今日はヒープソートプログラムを組んだ。

使いたい方はご自由にどうぞ。

#include <stdio.h>
#include <stdlib.h>

struct records{
  int code;
  int score;
};

void heapsort(int n,struct records *array);
void showdata(struct records *array,int n);
void swap(struct records *a,struct records *b);
void makeheap(int n,struct records *array);

int x=0;

int main(void)
{
  int i,n;
  struct records *array;

  scanf("%d ",&n);

  array=(struct records *)malloc(n*sizeof(struct records));
  if(!array){
    printf("もぉー。たっくんのいじわるぅ。もったいぶらないでぇー。¥n");
    exit(1);
  }

  for(i=0;i<n;i++)
    scanf("%d %d",&array[i].code,&array[i].score);

  /*showdata(array,n);*/

  heapsort(n,array);

  printf("要素数:%d  比較回数:%d¥n",n,x);

  showdata(array,n);

  return 0;
}

void heapsort(int n,struct records *array)
{
  for(;n;n--){
    makeheap(n,array);
    swap(&array[0],&array[n-1]);
  }
}

void showdata(struct records *array,int n)
{
  int i;

  for(i=n-1;i+1;i--){
    if(i)
      if(array[i].score==array[i-1].score && array[i].code>array[i-1].code)
        swap(&array[i],&array[i-1]);
    printf("%dn%dnn",array[i].code,array[i].score);
  }
  printf("¥n");
}

void swap(struct records *a,struct records *b)
{
  struct records buffer;

  buffer=*a;
  *a=*b;
  *b=buffer;
}

void makeheap(int n,struct records *array)
{
  int a=n/2,max;

  while(a){
    max=a;

    if(2*a<=n && array[max-1].score<array[2*a-1].score){
      max=2*a;
      x++;
    }
    if(2*a+1<=n && array[max-1].score<array[2*a].score){
      max=2*a+1;
      x++;
    }

    if(max==a)
        a--;
    else
      if(max==2*a){
        swap(&array[a-1],&array[2*a-1]);
        a*=2;
      }
      else
        if(max==2*a+1){
          swap(&array[a-1],&array[2*a]);
          a=2*a+1;
        }
  }
}

OB戦

2006-05-27 22:33:00 | 陸上競技
5月27日(Sat) 評定 快晴 暑 強風

100m 12"5
走幅跳 6m10
走高跳 1m40
400m 57"2
砲丸投 6m79
円盤投 16m00
4×100mR ミルコ・カミコップチームのアンカー たぶん50秒台


今日は体が良く動いて、走ってるときも気持ちよかったけれど記録が思ったほど出なかった。ただ幅跳びに関して、土のピットで6m10が出たことには(東北インカレと比べたら)ちょっとビックリした。(低レベルな記録だけど…)

よくよく考えたら今回の幅跳びの記録が納得できるような思い当たる節があるので、それを成長するための手段として新しく付け加えることが出来たのが今日の収獲。

北大戦は3週間後だからそれまでに練習量を増やす時期を1回入れてピークを狙っていく。




それにしても今日は風が強かった。








iPodシリーズに新メンバー登場!

2006-05-25 20:40:29 | ムダ話
橋本通信によると、米アップルコンピューター社は25日、株式会社トンボ鉛筆と共同でiPodの次世代版となる"iPod mono"を発売すると発表した。

アップルコンピュータ社と㈱トンボ鉛筆の主力商品の夢のコラボレーションが注目を集め、早くも注文が殺到している。

これまでの、iPod nanoは表面にキズがつきやすいとの苦情が相次いだが、アップルコンピュータ社は今回のiPod monoで顧客の信頼を取り戻したいと意気込んでいる。

開発者によると、iPod monoを使えば誰でも2メートルは伸びるという。


一足先にiPod monoを体験したH.Kさんの話
「最初は興味もなにもなかったのですが友人の勧めで軽い気持ちで使ってみたんです。そしたら、これがすごくイイ!本当に夢のようです!まさか本当に伸びるとは思ってなかったから…。朝起きたら3メートルも伸びていたんですよ!どうしてもっと早く教えてくれなかったのかと思いました。これはもう手放せません。グフフフ…」

          

練習日誌

2006-05-24 20:17:13 | 陸上競技
5月24日(Wed) 評定 晴れ 暖

w-up

weight
ラダー、ミニハードル
流し

ハードル走
middle 4台、i=9.14m

c-down


正規のインターバルで走るためにはどのくらいのスピードが必要なのか大体分かった。
ハードルは練習すればするほど研ぎ澄まされていくものだと思うから、何度もやって体で覚えるしかない。



練習中に一年生がウルトラマンだのゼットンだの言っていた。

何の話だったんだろう。


自分はジャミラが好きだ。

自画自賛

2006-05-23 22:07:54 | 勉強
ノーヒントで0から一気に書き上げたオリジナルのマージソートプログラム。ポインタをふんだんに使用したため、普通のソースとは一味ちがう。

#include <stdio.h>
#include <stdlib.h>

void devide(int end,int *data);
void merge1(int *leftarray,int *rightarray,int n,int *data);
void merge2(int *leftarray,int *rightarray,int n,int *data);
void showdata(int *array,int n);

int main(void)
{
  int i,*base,N;

  scanf("%d ",&N);

  base=(int *)malloc(N*sizeof(int));
  if(!base){
    printf("メモリの割り当てに失敗しました。¥n");
    exit(1);
  }

  for(i=0;i<N;i++)
    scanf("%d ",&base[i]);

  showdata(base,N);

  devide(N-1,base);

  showdata(base,N);

  return 0;
}

void devide(int end,int *data)
{
  int middle,*leftarray,*rightarray,i;

  if(!end)
    return;

    middle=end/2;

 if(end%2){
   leftarray=(int *)malloc((middle+1)*sizeof(int));
  if(!leftarray){
    printf("メモリの割り当てに失敗しました。¥n");
    exit(1);
  }
   rightarray=(int *)malloc((middle+1)*sizeof(int));
  if(!rightarray){
    printf("メモリの割り当てに失敗しました。¥n");
    exit(1);
  }
   for(i=0;i<middle+1;i++){
     leftarray[i]=data[i];
     rightarray[i]=data[middle+1+i];
   }

   devide(middle,leftarray);
   devide(middle,rightarray);

   merge1(leftarray,rightarray,middle+1,data);
  }
  
 else{
   leftarray=(int *)malloc((middle+1)*sizeof(int));
  if(!leftarray){
    printf("メモリの割り当てに失敗しました。¥n");
    exit(1);
  }
   rightarray=(int *)malloc(middle*sizeof(int));
  if(!rightarray){
    printf("メモリの割り当てに失敗しました。¥n");
    exit(1);
  }

   for(i=0;i<middle;i++){
     leftarray[i]=data[i];
     rightarray[i]=data[middle+1+i];
   }
   leftarray[middle]=data[middle];

   devide(middle,leftarray);
   devide(middle-1,rightarray);

   merge2(leftarray,rightarray,middle,data);
 }

 free(leftarray);
 free(rightarray);

}

void merge1(int *leftarray,int *rightarray,int n,int *data)
{
  int leftcount=0,rightcount=0;

  do{
    if(leftarray[leftcount]<=rightarray[rightcount]){
      data[leftcount+rightcount]=leftarray[leftcount];
      leftcount++;
    }
    else{
      data[leftcount+rightcount]=rightarray[rightcount];
      rightcount++;
    }
  }while(leftcount<n && rightcount<n);

  while(leftcount<n){
    data[n+leftcount]=leftarray[leftcount];
    leftcount++;
  }
 
  while(rightcount<n){
    data[n+rightcount]=rightarray[rightcount];
    rightcount++;
  }

}


void merge2(int *leftarray,int *rightarray,int n,int *data)
{
  int leftcount=0,rightcount=0;

  do{
    if(leftarray[leftcount]<=rightarray[rightcount]){
      data[leftcount+rightcount]=leftarray[leftcount];
      leftcount++;
    }
    else{
      data[leftcount+rightcount]=rightarray[rightcount];
      rightcount++;
    }
  }while(leftcount<n+1 && rightcount<n);

  while(leftcount<n+1){
    data[n+leftcount]=leftarray[leftcount];
    leftcount++;
  }
 
  while(rightcount<n){
    data[n+1+rightcount]=rightarray[rightcount];
    rightcount++;
  }
}


void showdata(int *array,int n)
{
  int i;

  for(i=0;i<n;i++)
    printf("%d  ",array[i]);
  printf("¥n");
}
  

新聞勧誘撃退法

2006-05-22 20:27:48 | ムダ話
それは昨日の夜7時頃。

Y新聞の新聞勧誘員がやってきた。

台所にいたため直接ドアを開けてしまったのが間違いだった。


こちらが断る隙を与えないかのごとく愛想よく喋り、ジャイアンツのタオルやらQUOカードやらを次々と出してくる。


こちらが拒否の態度を示すと、「3日間何も食べてない」、「この契約が取れたら晩御飯が食べられる」、「お願いしますよ」と泣きついてくる。


いらない理由を話してもひたすらそれしか言わない。


その後はもう○×£@▽⊿!∈$#%>&☆¥♂∑∬√∂〆


これ以上愚痴ってもしょうがないのでやめますが、とにかく酷かった。
最後はこっちが押し切った。


おかげで精神的に消耗して今日はどんよりしてたけれど、部活で走ったり跳んだりしてるうちに気が晴れてきた。



今度来ようものなら…