ハルの初心者プログラミング部

ブログを最近始めたばかりの初心者です。よろしくお願いします。

【雑記】2ヶ月ほど帰省で車に乗らなかったらバッテリーが上がった話。

こんにちは、情報系大学生のハル(Blog_IT_haru)です。

今回は、いつもと毛色を変えた記事になります。

2ヶ月ほど帰省で車に乗らなかったらバッテリーが上がってしまったので、備忘録的にまとめておきたいと思います。

同じ状況の方に役立ちますように。

f:id:Blog_IT:20210411195649p:plain

バッテリー上がり判明経緯

1月末 実家に帰る。

4月初め 一人暮らしの家へ帰り、車に乗ろうとするが、鍵でしかドアが開けられず、エンジンがかからない。

ネットで色々調べてみるが、解決せず、家の近くのガソリンスタンド(ENEOS)に見てもらう。

バッテリー上がり判明。

中古だったため、バッテリー交換へ。

このような流れです。

やったこと

・キーの電池交換

・以下の動画を参考にしてかかるか検証

車の種類

ダイハツのタントです。

アイドリングストップ機能がついており、走行距離は8万6000キロほどです。

鍵の種類は、以下のURLのページより、タイプDでした。

https://www.daihatsu.co.jp/service/carlife/keytype1.pdf

鍵の電池の交換方法は以下のページを参考にしました。

私の場合、CR1632で、ドライバーを必要としましたが、ドライバーは百均のもので十分だと思います。

https://www.daihatsu.co.jp/service/carlife/keytype2.pdf

バッテリー上がりの原因は何か?

以下は引用です。

ライトの消し忘れ

夜間やトンネルでの走行後、ライトを消し忘れたままエンジンを停止し車を離れてしまうことがあります。

このとき、エンジンは止まっているわけですから、ライトの点灯に使われるのはバッテリーの電気です。

その状態で長時間放置してしまうと、いずれバッテリーの電気がなくなってしまいます。

半ドアのままだった

車のドアを閉めたと思っていたのに実はしっかり閉まっていなかった、いわゆる「半ドア」もバッテリー上がりの原因のひとつです。

通常、車はドアが開くと室内灯が点灯するしくみになっています。

そのため、半ドアの状態で室内灯が点灯し続け、バッテリーが上がるトラブルが多いのです。

停止時にエアコンを使いすぎた

ライト、室内灯の他に原因となりやすい電装品にエアコンがあります。

車種によってはエンジンがかかっていなくともエアコンを使用できますが、長時間使い続けるとバッテリーが上がる原因になりかねません。

運転頻度が少なかった(自然放電)

車のバッテリーは、「自然放電」と呼ばれる現象を起こします。

自然放電とは、使用していなくても蓄えられた電気の量が自動的に少しずつ減っていく現象です。

通常は走行中に充電が行われるので問題ないのですが、車に乗る機会が極端に少ない場合、自然放電でバッテリーが上がる可能性があります。

バッテリー液の補充をしていなかった

バッテリーの内部には、バッテリー液と呼ばれる液体が入っています。

バッテリー液がきちんと所定の量で満たされている場合は問題ありません。

しかし、バッテリー液が少なく、内部の極板が露出した状態で使い続けているとバッテリーの劣化が進んでしまい、バッテリーが上がりやすい状態に陥ってしまうので気をつけてください。

バッテリーが寿命を迎えた(平均2~3年)

バッテリーも他の車の部品と同じく、「寿命」があります。

寿命を迎えたバッテリーは電気を蓄えられなくなってしまうので、速やかに交換しないとバッテリー上がりの原因になります。

引用元:車のバッテリー上がりの原因や症状と対策防止|チューリッヒ

他にも、JAFのサイトによると、

季節や気温による影響で、バッテリーが酷使されることもあります。

たとえば夏季の夜間、雨が降っていて渋滞している状況では、エアコン、ヘッドライト、ワイパー、オーディオ、カーナビなどが同時に稼働することになります。

さらにブレーキランプも頻繁に点灯し、エンジンが掛かっていてもバッテリーを消耗します。

また夏季の厳しい使用状況を乗り越えても、その使用状況から冬季になって弱ったバッテリーがトラブルを起こすことも考えられます。

というような、季節による影響もあるようです。

私の場合では、

・運転頻度が少なかった 2ヶ月ほど運転しなかった。

・バッテリーが寿命を迎えた 中古車のため。

・季節の影響 1,2,3月運転していなかったので、冬季期間の影響。

があると考えています。

では、対処方法はどうすればいいのか?以下の章でまとめておきます。

バッテリー上がりを防ぐには

降車する際、電装品がオフになっているのを確認する

エンジンを切り、車から降りるときは、ライト・ルームランプ・半ドアなどの状態になっていないか、よくチェックしてから車を離れましょう。

定期的なバッテリーメンテナンスを忘れずに

バッテリー液の不足や寿命などが原因でバッテリーが上がるのを防ぐには、定期的なバッテリーチェックが欠かせません。必要に応じてバッテリー液の補充や交換を行ってください。

ひとりで判断するのが難しい場合は、専門家に相談するのもいい方法です。

引用元:車のバッテリー上がりの原因や症状と対策防止|チューリッヒ

それでもバッテリーが上がってしまったら

JAFを呼ぶ

JAF会員であれば、様々なサービスを無料で行ってもらえますが、その中のサービスの1つにバッテリー上がりの対処があります。

情報元:ロードサービス内容 | JAF

近くのガソリンスタンドに頼む

今回私が選んだ方法です。

徒歩10分圏内に、ガソリンスタンドがあったため、ガソリンスタンドのほうが早いかな?と思い、ガソリンスタンド(ENEOS)に頼みました。

バッテリー上がりを対処してもらい、その後、ENEOSに出向き、バッテリーの交換をしてもらいました。

私のバッテリーの型式は、VFI-B20Lで、15000円でやっていただきました。

アイドリングストップ機能付きなので、少し普通のものより高かったらしいです。

クルマを長期保管するときの注意事項

私の場合、長期間(2ヶ月ほど)全く運転していない状態で放置していたため、バッテリー上がりが起こってしまった可能性も考えられます。

なので、長期保管するときの注意事項をまとめておきたいと思います。

下記サイトによると、長期保管では、タイヤの変形や、オイルの変質、バッテリー上がりが起こる可能性が上がります。

なので、長期保管するときには、

サイドブレーキは引いておかない」「車内には除湿剤を入れておく」など、長期保管時の注意点は多種多様にあります。

しかし、大切なことは、できるだけ長期保管後の再始動時にトラブルが起こらないように、安全な方法で保管することです。
個人で保管する場合に必ず実行してほしいのは、保管する前にディーラー等に連絡して適切な方法を確認することです。

ディーラーならば愛車の状況・車種に応じた対応が可能になり、安心感も違うでしょう。

もちろん、トラブルの起こりやすい再始動時も同様です。

必ずディーラー等に相談し、安全を確保したうえでエンジンを再始動させてください。

引用元:[Q] クルマを長期保管する際の注意点 | JAF

以上のような対応方法があるらしいです。

まとめ

いかがでしたか?

私の車が中古車だったこと、長い間運転しなかったことなど様々な理由があるとは思いますが、同じような状況に陥った方がいたらぜひ参考にしていただければと思います。

この記事がいいな、と思ってくれたら、SNSなどで拡散したり、

ブックマークやコメントなどしてくれると励みになります!

更に、読者になってくれたら、お返しに私も読者になります!

また、この記事の内容についてなにかありましたら、

お問い合わせ、コメント、TwitterのDMなどによろしくお願いします。

それでは。

【大学生活】GPAって何??【新入生】

こんにちは、情報系大学生のハル(Blog_IT_haru)です。

今回は、GPAとは何か?について説明したいと思います。

多くの大学で導入されていると思いますので、ここにまとめておきたいと思います。

f:id:Blog_IT:20210406111800p:plain

GPAとは?

GPAとは、Grade Point Averageを略したもので、日本語にすると、評定平均のことです。

コトバンクによると、アメリカの大学では、ABCDFの5段階で成績がつきます。

私の大学では、SABCFで成績が付きます。(大学によって異なる場合があります。)

以下の表のようになります。

評価 評点 GP
S 90点以上 4
A 80点以上90点未満 3
B 70点以上80点未満 2
C 60点以上70点未満 1
F 60点未満 0

Fは簡単にいうと、落単というやつです。

C以上は単位がでますが、Cばかりとっていると、すごく成績が悪い、ということになりますね。 

GPAの算出方法

私の大学のPDFから引用させていただくと、GPA とは,履修した各科目の GP(grade points)に,その科目の単位数を掛けた数値の総和を総単位数で割った数値のことです。

たとえば、ある学期に英語(3単位)、数学(3単位)、心理学(3単位)、絵画(4単位)、体育(1単位)の5科目を履修し、英語でC、数学でA、心理学でB、絵画でA、体育でAの成績をとったと仮定します。

その場合、「英語:C(2ポイント)×3単位=6」+「数学:A(4ポイント)×3単位=12」+「心理学:B(3ポイント)×3単位=9」+「絵画:A(4ポイント)×4単位=16」+「体育:A(4ポイント)×1単位=4」=「47ポイント」を「取得単位14」で割った「47÷14=3.36ポイント」が、この学期のGPAになります。

引用元:GPAとは - コトバンク

簡単にまとめると、合計14単位取得し、ポイントの合計が47ポイントの場合、47/14で3.36ポイントということです。

ここに0が入ったり、1がいっぱいだったりすると、GPAが低くなってしまいます。

まとめ

いかがでしたか?

大学入学すると、色々わからないことが出てくると思いますが、今回は、その中の1つ、GPAについて説明しました。

この記事がいいな、と思ってくれたら、SNSなどで拡散したり、

ブックマークやコメントなどしてくれると励みになります!

更に、読者になってくれたら、お返しに私も読者になります!

また、この記事の内容についてなにかありましたら、

お問い合わせ、コメント、TwitterのDMなどによろしくお願いします。

それでは。

【プログラミング】番外編 コードに出てきた用語解説まとめ 【0から始めるアルゴリズム】【初級】【入門】

こんにちは、情報系大学生のハル(Blog_IT_haru)です。

今回は、C言語で、0から始めるアルゴリズムというのを書いていましたが、

コードに出てきた用語解説が、色々な記事にかかれていてわかりづらくなっている

と思いましたので、まとめていきます。

※少し修正していますが、ほぼ同じものを過去の記事に載せています。

今後、新しく用語など出てくれば、加筆する予定です。

f:id:Blog_IT:20210401182539p:plain

コードに出てきた用語解説

int

型の種類の一つです。

int型は、整数を取り扱います。

int型のサイズは4バイトで、最大値は2147483647、最小値は-2147483648となります。printf関数などを使って出力表示する際の変換指定子はdになります。

引用元:

【C言語入門】整数(int、long int、short int)の使い方 - 侍エンジニアブログ

変換指定子dについては、後ほど解説します。

for文

同じ処理を繰り返したいときに使用する関数です。

似たような機能をもつ関数として、while文もありますが、今回は、省略します。

for文は、以下のように記述します。

合計値の記事では、i=0から、i<5のときfor文の中身である足し算を繰り返すという処理を行いました。

より詳しく知りたい方は、こちらからどうぞ。

繰り返しを行う文 - 苦しんで覚えるC言語

sizeof

sizeof演算子とは、変数や型のメモリサイズを調べるための演算子です。sizeof演算子は、変数や型のメモリサイズをバイト単位で返してくれます。メモリサイズとはコンピュータが使用するメモリの大きさのことです。

引用元:

【C言語入門】sizeof演算子の使い方(配列の要素数、構造体のサイズ) - 侍エンジニアブログ

合計値の記事では、sizeofを用いて、配列がいくつの要素数を持っているのか調べましたね。

この場合は、5つ持っていました。

printf

文字列を表示するための関数です。

合計値の記事の場合は、計算結果がきちんと合っているかどうか、確認のために使用しました。

普通は、以下のように、文字列を記述するのですが、合計値の記事の場合は整数の計算結果を記述したいので、少し違う書き方になりましたね。

普通の文字列の場合

計算結果のように整数の場合

このとき出てきた、%dのdが、変換指定子dです。

%d

printf内で使います。

整数を10進数で出力します。

int型に対応します。

使用例

この場合、10と出力されます。

\n

printf内で使います。

改行を行います。

先程の変換指定子の前か後に記入します。

前に記入した場合は前が改行され、後ろに記入した場合は後ろが改行されます。

合計値の記事でも、見やすく出力するために、使用しました。

こんな感じですね。

小話

合計値の記事で、for文で使う、i,j,kのintの宣言を、for文内に書きましたが、あまり好かれる表現ではないらしいです。(大学教授談)ただ、あまり気にしない人もいるらしいので、なんとも言えないところはありますが。

if文

if文字通り、~なら~する

という、条件で処理を実行するか否か決めることのできます。

次のようにつかいます。

または、

です。

より詳しく知りたい方は以下のサイトを御覧ください。

比較を行う文 - 苦しんで覚えるC言語

float型

float型とは、プログラミングにおける変数のデータ型の一種であり、実数を扱うことができるデータ型です。ここで扱われる実数は、整数型の値と比べ、値の桁数が多く小数も扱えるような数値です。整数型同様、正負の値を示せます。

引用元:float – プログラミング用語解説|Unity高校&ゲームスクールのG学院

って書いてありますが、平均値の記事では、

小数点以下まで表示したいので、使っている感じです。

簡単に説明すると、int型=整数値、float型=整数+小数って感じです。

これは現段階ではふんわり理解しておけば問題ないでしょう。

.1f

まず、fは、int型でいう、dのことですね。

float型だと、fになります。

じゃあ、.1ってなんなの?ってことなんですが、

.1は、小数点以下1桁まで表示しますよ、っていうことです。

以下のサイトがわかりやすかったので、参考までにどうぞ。

marycore.jp

まとめ

いかがでしたか?

今までコードに出てきた用語解説を、その解説ページに書いたり、

記事を紹介したりしてきましたが、バラバラになると、読みづらいと思いますので、

まとめてみました。

この記事がいいな、と思ってくれたら、SNSなどで拡散したり、

ブックマークやコメントなどしてくれると励みになります!

更に、読者になってくれたら、お返しに私も読者になります!

また、この記事の内容についてなにかありましたら、

お問い合わせ、コメント、TwitterのDMなどによろしくお願いします。

それでは。

(2021/4/1 公開)

【paizaラーニング】【データセット選択メニュー】STEP: 3 最大値と最小値 C言語編【解説】【初級】【入門】

こんにちは、情報系大学生のハル(Blog_IT_haru)です。

今回は、paizaラーニングの、データセット選択メニューの第3回、最大値と最小値についてC言語での解き方を解説していきます。

サンプルコードも掲載してありますので、勉強の参考にしていただければと思います。

また、私自身も初心者であるため、今後解けない問題が出てきた際は記事の更新が滞るかもしれませんが、ご了承下さい。

すぐコードを見たい方は以下のもくじから、サンプルコードで見ることができます。

f:id:Blog_IT:20210330123634p:plain

問題

問題の閲覧・回答は以下のページで行えます。

paiza.jp

問題の引用

以下は、上記ページより引用させていただきました。

自然数A, B, Cが与えられます。(A, B, Cの最大値) - (A, B, Cの最小値)を答えてください。

入力される値

A B C
入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。
期待する出力

答えの数値を出力してください。

N
末尾に改行を入れ、余計な文字、空行を含んではいけません。
条件

すべてのテストケースにおいて、以下の条件をみたします。
* A, B, C は 1 以上 100 以下

入力例1

30 50 10

出力例1

40

入力例2

1 1 1

出力例2

0

解説

この問題も、STEP: 1,STEP: 2同様、配列を用いて解く問題です。

しかし、STEP: 1、STEP: 2と比べると、一番簡単に感じるかもしれません。

入力される値のA B Cは、配列の要素として考えると簡単です。

※ただ、今回の場合、入力される値が3つと決まっているので、配列を使わなくても、一応は解くことができます。

最大値と最小値の求め方については、私の過去の記事で解説していますので、よろしければ御覧ください。

blog-it.hatenablog.com

blog-it.hatenablog.com

では、コードを書いていきましょう。

サンプルコード

私のコードは以下のようになります。

まず、前回同様、int型で変数の宣言を行います。

配列の要素数は、問題文より、3つとわかるので、a[3]と宣言します。

今回は、最大値と最小値の差を求めたいので、max=0,min=100としておきます。

※今回私はmax=0と設定していますが、問題文より、1以上100以下なので、max=1でOKです。

次に、scanfを用いて、値を読み取って、変数または配列に格納していきます。

for文で読み取るときは、0からスタートし、0,1,2と3回回るように条件も設定します。

その後、if文を用いて、maxとminを用いて行けばOKです。

最後にprintfを用いて出力すれば完了ですね。

まとめ

いかがでしたか?

前回同様、paizaラーニングのデータセット選択メニューの第3回の解説を行いました。

C言語でpaizaラーニングの問題集の記事を書いている方が中々いなかったので、これからちょくちょく書いていけたらな、と思います。

これは私のアウトプットでもありますし、更に誰かのお役に立てたら幸いです。

※次回は少し遅れると思います。(私がまだ解けていないため)

この記事がいいな、と思ってくれたら、SNSなどで拡散したり、

ブックマークやコメントなどしてくれると励みになります!

更に、読者になってくれたら、お返しに私も読者になります!

また、この記事の内容についてなにかありましたら、

お問い合わせ、コメント、TwitterのDMなどによろしくお願いします。

それでは。

【paizaラーニング】【データセット選択メニュー】STEP: 2 複数回のランダムアクセス C言語編【解説】【初級】【入門】

こんにちは、情報系大学生のハル(Blog_IT_haru)です。

今回は、paizaラーニングの、データセット選択メニューの第2回、複数回のランダムアクセスについてC言語での解き方を解説していきます。

サンプルコードも掲載してありますので、勉強の参考にしていただければと思います。

また、私自身も初心者であるため、今後解けない問題が出てきた際は記事の更新が滞るかもしれませんが、ご了承下さい。

すぐコードを見たい方は以下のもくじから、サンプルコードで見ることができます。

f:id:Blog_IT:20210328174547p:plain

問題

問題の閲覧・回答は以下のページで行えます。

paiza.jp

問題の引用

以下は、上記ページより引用させていただきました。

入力される値

N
A1 A1 ... A_N
Q
B1 B2 ... B_Q
入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。

期待する出力

答えの数値を出力してください。

Ans1
Ans2
...
Ans_Q
末尾に改行を入れ、余計な文字、空行を含んではいけません。
条件

すべてのテストケースにおいて、以下の条件をみたします。
* N, Q は 1 以上 100 以下
* A の各要素の値は 1 以上 100 以下
* B の各要素の値は 1 以上 N 以下

入力例1

5
10 20 30 40 50
3
2 4 1

出力例1

20
40
10

入力例2

3
7 8 9
5
3 3 3 3 3

出力例2

9
9
9
9
9

解説

この問題も、STEP: 1同様、配列を用いて解く問題です。

しかし、STEP: 1よりは少し難しい内容になっています。

入力される値のNは、配列Aの要素数、Qは、配列Bの要素数、配列A,Bは、それぞれ配列に入る値が指定されています。

Aの配列の何番目の数字を抜き取るか?というのが配列Bに格納されています。

そのため、出力される値は、配列A[配列B[添字]]の値です。

今回はこの理解が難しかったかもしれません。

二重配列になっているので、難しく感じると思いますが、やっていることはさほど難しくはありません。

では、コードを書いていきましょう。

サンプルコード

わかりやすいように、問題文の文字そのままで変数を設定しました。

まず、前回同様、int型で変数の宣言を行います。

A,Bそれぞれの要素数は、問題文の条件より、1以上100以下とわかるので、A[100],B[100]と宣言します。

次に、scanfを用いて、値を読み取って、変数または配列に格納していきます。

for文で読み取るときは、1からスタートします。

0からにすると正しく出力できない恐れがあるので注意しましょう。

また、for文の継続条件も、<ではなく、<=であることにも注意しましょう。

最後に、for文で、出力したら完了です。

このときは、配列Bの要素数であるQ回ループを回せばよいですね。

まとめ

いかがでしたか?

前回同様、paizaラーニングのデータセット選択メニューの問題の解説を行いました。

C言語でpaizaラーニングの問題集の記事を書いている方が中々いなかったので、これからちょくちょく書いていけたらな、と思います。

これは私のアウトプットでもありますし、更に誰かのお役に立てたら幸いです。

この記事がいいな、と思ってくれたら、SNSなどで拡散したり、

ブックマークやコメントなどしてくれると励みになります!

更に、読者になってくれたら、お返しに私も読者になります!

また、この記事のコードをコピペしても、上手く行かない、などありましたら、

お問い合わせ、コメント、TwitterのDMなどによろしくお願いします。

それでは。