C言語 Part2 続 (条件分岐と繰り返し)

お題
・正の整数nを入力し、n以下の素数を出力するプログラム

想定外の入力には対応させていません。

こちらのお題は教材の内容でしたが、元資料を無くしてしまいました。
正確な解説がありませんが、以前書いたものを今回アップします。
3つのパターンを作成しました。
いずれも二重ループを使います。

①約数の個数をカウントする

①約数の個数をカウントする_src

①約数の個数をカウントする_実行結果

②割り切れないことを調べる

②割り切れないことを調べる_(フラグを使う)_src

②割り切れないことを調べる_(フラグを使う)_実行結果

 

②' 割り切れないことを調べる_src

②' 割り切れないことを調べる_実行結果

お題
・正の整数a,k,p,qを入力し、an+1=p×an+q で定められた数列の第k項まで出力するプログラム

出力プログラム

出力結果




C言語 Part2 (条件分岐と繰り返し)

本日のお題
・次々に整数を入力し、それぞれの絶対値の合計値と入力した整数の個数を出力するプログラム
入力の終了は0の入力です。 scanf()関数を使用します。
想定外の入力には対応させていません。


2パターンを書きました。
1つめが、無限ループで0入力のときにbreakするように書いています。
2つめが、入力値が0かどうか? ループの条件判定をするように書いています。

個人的には1つ目のパターンの方が、scanf()を2回書かなくて済むので好きかな。

次々に整数を入力する_src(1つめ)

次々に整数を入力する_実行結果(1つめ)

次々に整数を入力する_src(2つめ)

次々に整数を入力する_実行結果(2つめ)

C言語 Part1 (初歩)

どうも、プログラミングのお勉強をします。

今日のお題は、
・入力した数値に合わせて、明治以降の和暦を出力するプログラム
2019年は4月30日までが平成ですが、2019と入力したら、令和1年と出ます。
本当は令和元年ですが、処理が面倒なので(プログラムでは重要でないので)、1年と表示します。
条件分岐を使うだけのザ・初級という感じです。
scanf()関数を使いました。また、想定外の入力は考えていません。

下記に私が作成したプログラムのソースファイルと実行結果をスクリーンショットしたものを載せちゃいます!
(個人情報は入っていないハズ、、、)

 

和暦の出力プログラム

和暦の出力プログラム 実行結果

Raspberry Pi Pico 動かしてみました

おひさしぶりでございます。

らびぃです。

 

今日は、Raspberry Pi Picoを触りました。

去年の10月5日、、、131日前から放置しておりました。(やる気ねぇな)

 

ピンヘッダのはんだづけをして終わりましたが、

今日はファームウェアの書き込みを行いました。

 

最初は

以前に購入したラズパイマガジン編の「ラズパイ工作パーツ大全2021-2022」を参考にしました。

f:id:gutatcharabiryu:20220214011811j:plain

図1_参照したラズパイマガジン

 

Thonnyという開発環境用のツールをインストールする必要があったため、これをインストール!そして成功。

f:id:gutatcharabiryu:20220214011722p:plain

図2_Thonny

 

Raspberry Pi Picoにある「BOOTSEL」と記載されているボタンを押しながら(これ重要)USBケーブルをPCにつなぎました。

 

本の通りに、Thonnyを起動し、ToolメニューのOptionsを選び、Interpreterラブのプルダウンで「MicroPython (Raspberry Pi Pico)」を選択してInstallをクリック!

これで、、、でき、、、ない。あれ?

何かエラーと表示されている。。。

f:id:gutatcharabiryu:20220214011929p:plain

図3_Thonnyのエラー表示

 

解消法、別の方法があるのかな?と思い、

前回参照させていただきました動画を再度参照しました。

550円のラズパイとPythonで始めるマイコン開発 導入~開発環境構築方法 Raspberry Pi Pico【解説】 - YouTube

 

Getting started with MicroPythonの下の方のにあるUF2ファイルというものをダウンロードすればいいのか?

でもどこだ??となりました。まぁ5分くらい後で見つけました。

1年以上前の動画であったため、レイアウトとか何か変わっているかもしれませんね。

 

Raspberry Pi DocumentationのMicrocontrollersをスクロールしていくと、発見しました。

 

f:id:gutatcharabiryu:20220214012131p:plain

図4_Raspberry_Pi_Documentation_Microcontrollers

f:id:gutatcharabiryu:20220214012328p:plain

図5_Download_MicroPython_UF2file

 

あとは、参照動画の通りに実行していくと、ファームウェアを書き込むことができました。

やっと動かす準備ができました。(超ゆっくりやってますね)

 

現段階では、部品が全く手元にないため、documentation内のプログラムをちょこちょこ動かしてみただけで、今日は終わりました。

 

これから電子工作やってみようと思っております。

少しずつ、勉強になったなぁとか、記録として残しておこうと思ったことがあれば、ここに書いていこうと思います。

 

では、また今度!

バイバーイです。

 

Raspberry Pi Picoが届いたため、はんだづけしてみました!

Raspberry Pi Picoが届いたからはんだづけしてみました

 

Amazonで購入したRaspberry Pi Picoが届きました。

他には、はんだ用のマット、ピンヘッダ、ブレッドボードを購入しました。

 

ブレッドボードだけ早めに届きました。

電子工作は初心者であったため、モノの大きさを把握していなかったのですが、

思っていたよりもブレッドボードって小さいですね。

 

本と比べてみました。↓

f:id:gutatcharabiryu:20211005003753j:plain

 

さてモノがそろったので早速、はんだづけしました!

f:id:gutatcharabiryu:20211005004011p:plain

 

新卒で就職した先で、はんだづけをすることが数回あり、練習はしたのですが…

下手ですね(笑)

入社前まで、はんだづけは、中学の技術の授業でやったことがあるくらいでした。

実は、今回はこういった練習のために購入したような感じです。

まぁ、値段は2000円しないくらいなので、安いでしょう!

はんだごてなど、工具関係は少し前に購入をしましたため、ゼロから揃えるとなるともう少し値段がかかると思います。

さて、ピンヘッダを手で2つに折って、40ピンを20ピン×2に分け、ブレッドボードに挿して、はんだづけをしました。

参照した動画↓

550円のラズパイとPythonで始めるマイコン開発 導入~開発環境構築方法 Raspberry Pi Pico【解説】 - YouTube

 

自分のはんだづけ結果はこちらです。↓

f:id:gutatcharabiryu:20211005004101p:plain

f:id:gutatcharabiryu:20211005004142p:plain

所要時間は1時間ほど(時間をはかっていないのでテキトーです)。

全然きれいじゃない(笑)

良くも悪くも手作り感がありますね(笑)

私、本当にハードウェアエンジニアか? 泣けてくるぞ。

 

まままま(汗)、練習なのだから大丈夫!これから手慣れてきて、上手になるはず!

タブンネ

 

さて、いよいよラズパイピコを起動する準備を…と思っていましたがmicro USBがないのでファームウェアのインストールができないです。

今回の目的は、はんだづけの練習ですしおすし。

 

では、また!

Androidアプリ開発の初歩に触れる。Flutter SDKでつまったところ。

Androidアプリの開発をしてみよう!

と思い、この本(画像はAmazonから切り取り)を購入しました。

f:id:gutatcharabiryu:20210726215748p:plain

図1_Flutter入門で参照した本

まずは、環境構築をしていました。

 

@Windows10 Pro

1 JDKをダウンロード

2 Flutter SDKをダウンロード (C:\Users\*****\Downloads\ に保存されていました。これが意外と大事。*****には私の名前が書いてあります。)

3 PATH環境変数の追加(PATH環境変数にFlutterのパスを追加しておく必要がある)

4 Flutter SDKのアップグレードをcmd上で「bat upgrade」を打つ

5 Android Studioをインストール

6 Android Studioのウィンドゥの右下にある「Configure」をクリックし、「SDK Manager」を選択

7 SDKをインストール(時間が結構かかります)

8 Flutterプラグインをインストール

 (Android Studioのバージョンが違うためか、Pluginsのウィンドゥが少し違っていました。本には「Flutter」と「Flutter i18n」をインストールと書いていましたがi18nがなかったため「Flutter Intl」を代わりにインストールしました。よくIntlの詳細を読んでいませんでしたが、i18nの代わりになりそうだったという理由でインストール)

 

1 ~ 8を行い。問題なく進んだかのように思いました。

さぁ!プロジェクト作成だ!と思い、本に従って

「Create New Flutter Project」をクリック。Flutter Appをクリックして進めようとしました。

しかし、「flutter sdk is not found in the specified location」と表示され、先に進めない。

f:id:gutatcharabiryu:20210726220034p:plain

図2_Android-Studioの画面

とりあえずGoogle検索をする。

 

f:id:gutatcharabiryu:20210726220642p:plain

図3_google検索結果

図の赤で囲ったページを参照しました[1]。

[1] https://qiita.com/GengroHirano/items/611818c59baa241bdb64

そういえば④Flutter SDKのアップグレードのときにAndroid toolchainが×と表示されていたなと思い出しました。

調べていく途中で[2]を見つけました。×は放置できないようだったため、これを解決すればいいと思い込み進めました。

[2] https://blog.fire-sign.info/1591/

 

×を解消させようと調べて[3]を見つけました。どうやら「flutter doctor」でupgradeのときと同じような画面が出て、SDKがしっかりダウンロードを確認することができるとつきとめました。

[3] https://qiita.com/zushinohigashi/items/6b32738141779a2e7815

 

そして「flutter doctor -android--licenses」で解決できるようとのことでした。

しかし、試したところ、全く変化なし。

さらに調べていくと[4]で、⑦のSDKのインストール時に「Android SDK Command-line Tool」のインストールにチェックが入っておらず、「Android SDK tools」のチェックを外していないことが原因かもしれないと知りました。

[4] https://qiita.com/pe-ta/items/e5a1813b21de8d446407

 

しかしながら、[4]を実行しても直らない。

さらに調べると①でダウンロードしたJDKのバージョンに問題があるとのこと[5]。

[5] https://seikousyahenomichi.com/flutterdoctorallgreen/

 

[6]を参照してJDKをダウンロードし、再インストールをしました。

[6] https://nj-clucker.com/install-runtime-for-java-application/

 

そして、PC再起動をし、「flutter doctor -android--licenses」を実行したら

Android toolchainに✓が付きました!

 

やった!ようやく、「Create New Flutter Project」をクリック。Flutter Appをクリックして進められる。

しかし、、、「flutter sdk is not found in the specified location」と表示されている。

 

あれ???

もう一度「flutter sdk is not found in the specified location」とGoogle検索をする。

さきほど見ていない方のページを閲覧しました[7]。

[7] https://teratail.com/questions/329832

 

f:id:gutatcharabiryu:20210726220755p:plain

図4_google検索の結果(再掲)

 

どうやらパスに問題がある模様。「C:\Users\*****\Downloads\」配下の展開されたFlutterに設定したところプロジェクト作成ができました。

 

 

所感ですが、かなり回り道をした印象でした。

「最初にしっかり見ておけばよかった」と思いました。

調べ方がまだまだ未熟なのだと思いました。こういうのは慣れなのかもしれませんが。

では、また!

 

その他、見ていたページ(2021/6/21時点の情報)です。

[8] https://zenn.dev/micheleno13/articles/73660f3dccfa59

[9] https://www.youtube.com/watch?v=7GuGlATHYX8

[10] https://www.youtube.com/watch?v=PaW6fSzGhOg

一か月遅れで投稿するレベルのやる気のなさ。←