#include <stdio.h>
#include <time.h>
#define MBIG 1000000000
#define MSEED 161803398
#define MZ 0
#define FAC (1.0 / MBIG)
float ran3(long *idum){
static int inext, inextp;
static long ma[56];
static int iff = 0;
long mj, mk;
int i, ii, j, k;
if(((*idum) < 0) || (iff == 0)){
iff = 1;
if(*idum < 0){
mj = MSEED - (-(*idum));
}else{
mj = MSEED - (*idum);
}
mj %= MBIG;
ma[55] = mj;
mk = 1;
for(i = 1; i <= 54; i += 1){
ii = (21 * i) % 55;
ma[ii] = mk;
mk = mj - mk;
if(mk < MZ){
mk += MBIG;
}
mj = ma[ii];
}
for(k = 1; k <= 4; k += 1){
for(i = 1; i <= 55; i += 1){
j = 1 + (i + 30) % 55;
ma[i] -= ma[j];
if(ma[i] < MZ){
ma[i] += MBIG;
}
}
}
inext = 0;
inextp = 31;
*idum = 1;
}
inext += 1;
if(inext == 56){
inext = 1;
}
inextp += 1;
if(inextp == 56){
inextp = 1;
}
mj = ma[inext] - ma[inextp];
if(mj < MZ){
mj += MBIG;
}
ma[inext] = mj;
return (mj * FAC);
}
int main(int argc, const char * argv[]) {
int i;
long idum;
float ran;
time(&idum);
for(i = 1; i <= 5; i += 1){
ran = ran3(&idum);
printf("%.3f\n", ran);
}
return 0;
}
「男女の比率」
●人には男と女の比率がある
たとえば男らしい!という男性の一部。女の子らしい♪という女性の一部。
その比率をどこまで寄せるかどうか。
1:9なのか3:8なのか5:5なのか9:1なのか。
すべてを捨てて理想を目指すのか、現実を加味してできる範囲を目指すのか。
これは仕事に通じる話だと思いました。
●
あと、今日ローソンで抹茶ショコラまんとコカコーラZeroを買って、外に座ってショコラを食べようかなって時に、70〜80歳のおじさんに、半分ちょうだいと話かけられて、半分にしたら3:7になって7をあげて、うまうまと食べてました。で、なんかコンビニによくあるビニール袋を持っていて、今からこれに売りに行くとこなんだわ。って中身を見たら、文鎮のような形状で材質は銅で、中央付近に2つのネジ穴があって、なんかの部品かなぁ。と思ってみてたら、そのおじさんが200円で譲るっていうから、200円で買ったら、今度はコカコーラzeroもくれっていうから、それもあげて昔話を20分ぐらい聞いて、あの店の野菜はうまいから、いつも野菜をそこで買ってるっいうから、その店に入って見て出てたら、まだ、おじさんはコンビニの角に座っていて、5mぐらい離れて、おじさんみてたら、なんか動きが異常な感じして、とくに目がすごいギョロギョロしてて、その姿を見ていると、なんだか急に怖くなって、逃げるようにその場を離れました。いったいあの人はなんだろう。身なりはホームレスぽくないし、ただ寂しかっただけなのかな。
能力者
能力者に見ていただきました。過去に能力があったのか、現在に能力があるのかわかりませんが、見てもらいました。
見えたことをそのままお話しされるので、僕を見てそのままお話ししてくださいました。今は落ち着きましたけど、見てもらった直後はツラかったです。
ある意味、そこはパワースポットというかホラースポットというか、良いか悪いか混合の何かしらのパワーが満ちている場所だと思います。
気に当てられたのか、ただただ、見てもらっている最中は怖かったですね。顔も強張り、心霊スポットで肝試ししている感じというか。
簡単な避けの方法も教えてもらいました。なかなか聞いたことないような、でも説得力ある自然の力を利用する方法でした。
僕が行ったときは、狭い通路と控室の小部屋には、すでに来客が待たれていたので、パワーがあるので当たって人気ってことなんでしょうか。
まあ、なんというか人に見えて、実は得体の知れないナニカなのかもしれませんね。見てもらう人は負のエネルギーを発生させてますので、その負のエネルギーがエネルギーなら充足するために一石二鳥です。
生き死にするぐらいの悩みを抱えている人たちに比べたら、僕の悩みなんて小さなモノなんでしょうね。今が幸せだと思えば幸せですし、不幸せだと思えば不幸せですし、その時の感覚の振れ幅は±∞ぐらいに思います。怖いですね。
問題1.4
;;;aにbの絶対値を加算する
(define (a-plus-abs-b a b)
((if (> b 0) + -) a b))
(a-plus-abs-b 1 3)
(a-plus-abs-b 1 -3)
述語から演算子を求めて式を合成しています。
問題1.6
#lang racket
;;;;Newton法による平方根
;;;2乗
(define (square x)
(* x x))
;;;平均
(define (average x y)
(/ (+ x y) 2))
;;;予測値の2乗が近似値に近いか
(define (good-enough? guess x)
(< (abs (- (square guess) x)) 0.001))
;;;予想値の商と平均で次の予想値を求める
(define (improve guess x)
(average guess (/ x guess)))
;;;ifの新版を定義
(define (new-if predicate then-clause else-clause)
(cond (predicate then-clause)
(else else-clause)))
(define (sqrt-iter guess x)
(new-if (good-enough? guess x)
guess
(sqrt-iter (improve guess x)
x)))
;;;平方根の近似値を求める
#|
(define (sqrt-iter guess x)
(if (good-enough? guess x)
guess
(sqrt-iter (improve guess x)
x)))
|#
;;;開始
(define (sqrt x)
(sqrt-iter 1.0 x))
(sqrt 2)
(sqrt 3)
(sqrt (+ 100 37))
実行結果は無限ループになりました。
;;;ifの新版を定義
(define (new-if predicate then-clause else-clause)
(cond (predicate then-clause)
(else else-clause)))
(define (sqrt-iter guess x)
(new-if (good-enough? guess x)
guess
(sqrt-iter (improve guess x)
x)))
;;;平方根の近似値を求める
#|
(define (sqrt-iter guess x)
(if (good-enough? guess x)
guess
(sqrt-iter (improve guess x)
x)))
|#
ifを新たに定義したnew-ifで置き換えてます。ifやcondは特殊形式ですが、new-ifは定義した関数のためすべての引数が評価されます。new-ifの呼び出しで引数が順番に評価されて、第3引数が評価されて無限ループになるのでしょうか。
作用的順序と正規順序
#lang racket
;;;作用的順序と正規順序
;;;実行すると無限ループ
#|
(define (p) (p))
(define (test x y)
(if (= x 0)
0
y))
;;testを作用するためには第2引数(p)を作用しなければならない。
;;(p)を作用すると(p)なので無限ループになる
(test 0 (p))
|#
;;;例
(define (square x) (* x x))
(define (sum-of-squares x y)
(+ (square x) (square y)))
(define (f a)
(sum-of-squares (+ a 1) (* a 2)))
(f 5)
;;;作用的順序
#|
(f 5)
(sum-of-squares (+ 5 1) (* 5 2))
作用するたびに評価する
(+ (square 6) (square 10))
(+ (* 6 6) (* 10 10))
(+ 36 100)
136
|#
;;;正規順序
#|
(f 5)
(sum-of-squares (+ 5 1) (* 5 2))
途中で評価しない
(+ (square (+ 5 1)) (square (* 5 2)))
基本的演算子だけをもつ式が出てくるまで
(* x x)で(+ 5 1) (* 5 2)が2度評価される
(+ (* (+ 5 1) (+ 5 1)) (* (* 5 2) (* 5 2)))
(+ (* 6 6) (* 10 10))
(+ 36 100)
136
|#
宿命定数と運命変数について
●宿命定数
○宿命とは
宿る、命と合わさって、宿命と読む。つまり生まれて備わっているモノが宿命です。性別、性格、血液型、生年月日、干支、星座、親、戸籍、家系、血筋、歴史など、変えられないモノ。
○定数とは
定まる数、決まっている数、変化しない、固定、マジックナンバー。など既に定まっている変化しようのない数です。
○宿命+定数
人の姿形をした僕たち実態には、宿命定数が定義されています。
それは秘密で書き換えのできない、モノです。
変えられないモノは変えられないので無理して変えようとすると、あたまがくるくるぱーになります。受け入れましょう。
●運命変数
○運命とは
運ぶ、命と書いて運命と読みます。これは命の運び先は変えられるということです。つまり運命は自分で変えられます。たとえば、彼氏彼女、結婚、離婚、日程、食事、購買、睡眠、娯楽、ゲーム、映画、本、美容、理容、ジム、など変化する選択枠を自分自身に含んでいれば、運命です。
○変数とは
変数とは、変化する値。途中の結果、未知の値だから変化します。
○運命+変数
人の姿形をした僕たち実態にはアクション、行動することによって運命変数が書き換わります。それは生命(生きていること)や知性(考えること)、感情(日々触れるモノや物から感覚を受けとること)や仕事(発生から得られる報酬(モノや物))など生活を営む中で、触れるモノや物が運命変数です。ですから僕は運命変数の集まりです。運命変数も管理できる個数が限られてますので、いらない運命変数は削除しましょう。