午後1時、ベイシアに買い出しに行く
3/20(水)春分、ショート;久下さん家:二日目
午後7時、世界まる見え
午後10時、報道ステーション
午後11時、寝る
3/26(火)入院3日目
再帰関数
function test(){ test(); } test();
関数 test は関数内で自分自身である test 関数を呼びだしています。このように関数内で自分自身の関数を呼びだす関数のことを再帰関数といいます。
サンプル
function test(n){
console.log('Hello');
if (n != 0) {
test(n - 1);
}
console.log('Bye');
}
test(2);
実行
Hello
Hello
Hello
Bye
Bye
Bye
説明
1) test 関数(1)が呼び出される。引数として 2 が渡される。
2) Hello が出力される
3) test 関数(1)内の条件式は 2 != 0 となり true となる
4) test 関数(2)が呼び出される。引数として 1 が渡される
5) Hello が出力される
6) test 関数(2)内の条件式は 1 != 0 となり true となる
7) test 関数(3)が呼び出される。引数として 0 が渡される
8) Hello が出力される
9) test 関数(3)内の条件式は 0 != 0 となり false となる
10) Bye が出力される
11) test 関数(3) が終了する
12) Bye が出力される
13) test 関数(2) が終了する
14) Bye が出力される
15) test 関数(1) が終了する
16) 最初に関数を呼びだした次の処理へ移る
結果としてコンソールには Hello が 3 回 Bye が 3 回出力されます。このように関数が再帰的に呼び出されるたびに条件式が変化していき、最終的に再帰的に関数を呼びださなくなります。
最後の関数呼び出しが終了すると、その関数呼び出しを行った次の処理へ進み、結果的に順番に関数の呼び出しが終了していきます。最後に一番最初に呼び出された関数の呼び出しが終了し、関数を呼びだした次の処理へ移ります。
【再帰関数の具体的な利用方法】
再帰関数は簡単な階乗の計算などから複雑なアルゴリズムの解決方法まで幅広い利用がされていますが、今回は階乗の計算を例に愚弟的な利用方法についてみていきます。
サンプル
fuction calc(n){
if (n == 0){
return 1;
}
return n * calc(n - 1);
}
console.log(calc(5));実行
120
5 の階乗を計算すると 5 * 4 * 3 * 2 * 1 = 120 を求めるものです
1) 関数の戻り値として 5 * calc(4) を計算するため calc(4) が呼び出される 2) calc(4) が呼び出され 4 * calc(3) を計算するため calc(3) が呼び出される 3) calc(3) が呼び出され 3 * calc(2) を計算するため calc(2) が呼び出される 4) calc(2) が呼び出され 2 * calc(1) を計算するため calc(1) が呼び出される 5) calc(1) が呼び出され 1 * calc(0) を計算するため calc(0) が呼び出される 6) calc(0) が呼び出され return 1 が実行される 7) return 1 * 1 が実行される 8) return 2 * 1 * 1 が実行される 9) return 3 * 2 * 1 * 1 が実行される 10) return 4 * 3 * 2 * 1 * 1 が実行される 11) return 5 * 4 * 3 * 2 * 1 * 1 が実行される 12) 120 がコンソールに出力される
Function オブジェクトのlength プロパティ
function dispTotal(x, y, z){
let sum = x + y + z;
return sum;
}
console.log(dispTotal.length);実行
3
関数 dispTotal は 3 つの引数を受け取るように定義されています。その為、この関数の length プロパティは 3 となります。
【引数にデフォルト値が設定されている場合】
引数の中にデフォルト値が設定された引数がある場合、 length プロパティは最初のデフォルト値が設定された引数の前の引数までの数を返します。
サンプル
function dispPersonal(old, name = 'none', address){
console.log('old = ' + old);
console.log('name = ' + name);
console.log('address = ' + address);
}
実行
console.log(dispPersonal.length);
1
関数 dispPersonal は 3 つの引数を受け取るように定義されていますが、 2 つ目の引数にデフォルト値が設定されているため length プロパティの値はデフォルト値が設定されている一つ前の引数までとなるため 1 となります。
【可変長引数が含まれている場合】
length プロパティには可変長引数は含まれないため、可変長引数を除いた引数の数を返します。次のサンプルをみてください。
function calcSum(start, ...num){
let sum = start;
for (let i = 0 ; i 1
関数 calcSum は通常の引数が 1 つと可変長引数をを受け取るように定義されています。 length プロパティには可変長引数は含まれないため 1 となります。
関数を文字列に変換するには
function dispTotal(x, y){
let sum = x + y;
return sum;
}
console.log(dispTotal.toString());実行
function dispTotal(x, y){
let sum = x + y;
return sum;
}
関数リテラルの場合
let dispTotal = function(x, y){
let sum = x + y;
return sum;
}
console.log(dispTotal.toString());実行 function(x, y){
let sum = x + y;
return sum;
}
アロー関数式
let dispTotal = (x, y) => {
let sum = x + y;
return sum;
}
console.log(dispTotal.toString());実行
(x, y) => {
let sum = x + y;
return sum;
}
Function コンストラクタの場合
let dispTotal = new Function('x', 'y', 'let sum = x + y;return sum');
console.log(dispTotal.toString());実行
function anonymous(x,y
) {
let sum = x + y;return sum
}
Function コンストラクタを使った場合だけ関数名として 'anonymous' を指定した関数宣言と同じ結果が帰ってきました。
息子介護物語-エピソード65(令和6年3月)
【被介護者】
母:91才
要介護3
身長/体重;153/38
認知度:中位であるが、見当障害の為、被害妄想がひどくなって来た。また、運動不足に依る筋力低下や、食事量(80g)低下が見られる。また、傾眠傾向でもある。特に、子供がいる妄想を起こす。
【利用施設】
1.DK(デイケア)
さくら(加須東病院内):1回/週(土曜日)
2.ショートステイ
敬愛会のふれ愛の里:毎週2泊3日
久下さん家:毎週2泊3日(6年3/7)、ふれ愛がコロナのため
※ デイケアのサービス目的は、身体機能の回復・意地、日常生活の回復、認知機能の改善で、リハビリなどの医療的ケアに力を入れています
【介護関連企業】
ケアマネ:すずみな
介護用具:ひまわり館(車椅子・布団用手すり)
【かかりつけ医】
加須東病院(内科・整形外科)・あだち眼科(神経内科)・徳洲会古河総合病院(整形外科・泌尿器)・澤口歯医者
【病 歴】
平成29年以前;大久保病院で内科(胃腸)・整形外科(腰痛)に通院している。
平成29年;大腸ポリープで3日間入院
平成30年5~10月;大腿骨頸部骨折(左足)で入院
令和元年8月7日;誤嚥性肺炎で2週間入院
令和2年5月;骨粗しょう症の治療中(ボンビバ注)
令和2年11月14日:転倒、首と手の甲と後頭部を打撲
令和2年12月25日~令和3年1月4日:ラクナ脳梗塞で入院
令和3年2月5日:左足の痛みにより、風呂から上がれず救急搬送
令和3年6月5日:脳神経内科により、パーキンソン症候群
令和4年3月14日~4月27日:肋骨骨折、右側2箇所
令和4年5月12日:便秘による切れ痔の為、救急搬送
令和4年8月~令和4年11月:膝の水抜きと、ヒアルロン酸注射
令和5年4月:脊椎圧迫骨折
令和5年7月14日~7/20:膀胱炎・過活動膀胱は便秘のため、閉塞を起こす恐れがあるため出せない
令和6年2月26日、ボンビバからプラリア注に変わる
令和6年3月15日、中度の膀胱炎(血尿有り)
令和6年3月24日、徳洲会古河総合に入院
【主な病状】
1.内科
慢性胃炎、逆流性食道炎、貧血、ラクナ脳梗塞、便秘・めまい・立ちくらみなど
2.整形外科
首筋の痛み・腰痛・すり足・左太ももの痛み・首筋から頭にかけての痛み・巻爪
3.あだち眼科(脳神経内科)
白内障・飛蚊症・パーキンソン症候群の疑い
【認知症:要介護3】
中核症状の見当識障害あり
→時間や季節感が無い
季節・日付・時間の認識ができない。
→場所が分からない
トイレ・風呂・寝床など場所が分からない
→人物誤認
子や孫や兄弟の判別がつかない!死んだ両親・兄弟の生死が分からない。常に子供の幻想を見る
→失語・失行
何を言いたいのか分からない?物の名前を忘れ、あれとか、違う物を言ったりする。
例えば、
ナシをバナナで剥け!急須に水を入れろなど、または、失語のため、相手とのコミニュケーションが取りづらい。トイレの場所を忘れたり、仕方を忘れたりする。
→物盗まれ妄想
物が見つからないと、人に盗まれたと言う。
→夕暮れ症候群?
今いる場所が分からなくなり、実家に帰ろうとする。午後、お風呂に入ろうとする
→被害妄想
近所の人から悪口を言われたと思い込んでいる。また、叱ると、いもしない子供もせいにする。やたらと、居ない兄弟の悪口を言う。
→傾眠傾向(けいみん)の症状あり
四六時中寝ているが、逆に真夜中は起きている。
【生活態度】
傾眠傾向があるせいか、普段は寝ている方が多い。また、不安感が強く、イライラしたり、泣いたりすることが増えた。また、妄想を起こして、奇妙な行動を取る。股を拭けなく成った
【介助内容】
・ 排泄介助
→トイレ介助が必要!。自分で紙パンツが履けないし、トイレが自分で出来ない。
・ 食事介助(少食:100gぐらい)
→自分で食べれるが、よくこぼす為、こぼさないように声掛けをする。
・自宅入浴は禁止
・着替え介助
→ほとんど無理、介助なしで、ズボンも履けなければ、シャツのボタンも止めれれない
・歩行介助
→シルバーカーはDSのときだけ、それ以外の外出は車椅子、自立ができないので介助する
・爪切り介助
→爪がうまく切れない・巻爪
・薬介助
→一包化で自己管理が出来ない!薬を飲むのを拒む様になった
・入れ歯介助
歯磨きはなんとかやるが、入れ歯は自分で掃除できない
・就寝時介助
→自分で掛布団をかける事ができない!いちいち体を抑えなければ、歩けない!
【その他】
・差額ベッド(特別療養環境室)について、病院の都合の場合はただだよ。むやみに室料差額入室同意書にサインするなぁ
相談先:関東信越厚生局指導監査課
・見当識障害により混乱や不安を生じる場合の対処法→オリエンリアリティテーション
・介護義務に関する法律
<民法877条>「直系血族及び兄弟姉妹は、互いに扶養をする義務がある」 <民法752条>「夫婦は同居し、互いに協力し、扶助しなければならない」