スレ立てるまでもない質問はここで 160匹目 at TECH
[2ch|▼Menu]
[前50を表示]
450:デフォルトの名無しさん
22/07/23 21:02:27 FAO+OpS7.net
組み込みやったことないのか

451:デフォルトの名無しさん
22/07/23 21:44:52.49 ESnt81dA.net
おいくつなのか判らんけどそんな学校行くよりとっとと就職して経験積んだ方が良いよ
マイコンの授業なんて担当教員の趣味がだいぶ入り込んでて誰も反論できないような立場だからやるだけ無駄
1年だかを無駄に過ごすとになる

452:デフォルトの名無しさん
22/07/23 21:52:30.23 FbAMoEc9.net
パチスロの開発に関わってる方や詳しい方にお聞きしたいのですが、リプレイフラグは8977か8978のどちらでしょうか?
65536/8977と65536/8978どちらもほぼ7.3なので分かりません。フリーズ65536/8のように割り切れればいいのですが
よろしくお願いします。

453:419
22/07/23 22:15:43.77 n897GEgW.net
>>435
>この後の授業は半年かけて、C言語、ラズパイ、Java、スマホのアプリ制作と進んでいく流れです。
半年でそれらを習得できるとは思えないからさわりだけなのかな。内容から察するととIoT関係かな?
>メモリとCPUの関係と、プログラムカウンタの動き方をよく調べておきます。
この辺は>>425の“プログラミング(前編) | Renesas”とその後編が比較的平易に説明されていると思うけど
不足なんだろうか
>自分のメイン機がMac(M1Air)
iOS開発とかは別として組み込みに限らず開発系でMacはサポートが弱い事が多くかつトラブルの元に
なりがちだからWindows環境かLinux環境を用意した方が良いと思う
>>439
お仕着せのSDKやコードジェネレータのみで作れる程度の物なら低レイヤーの知識は不要かもね
>>441
判らんでも無いけど、今のご時世に仕事しながら勉強できる会社ってどのくらいあるんだ?
特に質問者が疑問に思っているような低レイヤーに詳しい人がいる会社なんて結構レアそう
開発系なんて日常業務に忙殺されて下手すりゃ体をこわしかねないイメージがあるが

454:デフォルトの名無しさん
22/07/23 22:42:24.60 NgLN2nLK.net
>>442
「10/73以上であること」が規則
なので8977/65536はダメ

455:デフォルトの名無しさん
22/07/23 23:07:39.46 NgLN2nLK.net
Javaでスマホアプリが目標なのだろう
「低レベルもやっといた方がいいよね」はわかるが、
OSなし組み込みが目標でないならH8アセンブラはやりすぎでは…とは思う
(教材の都合とかもあるだろうから余計なお世話だとも思う)

456:デフォルトの名無しさん
22/07/24 00:13:27.63 SLnKepmZ.net
教える側がH8に一番慣れてるぐらいの事情しかない
H8はarduinoでマイコンが注目されてた頃にuClinuxで一時期頭ひとつ抜けてたがラズパイ以降役目を終えた

457:デフォルトの名無しさん
22/07/24 03:06:45.70 J65kp3AQ.net
組み込みは時間の無駄。
仕事で、お金をもらいながら勉強するもの
例えば、YouTube で有名な、雑食系エンジニア・KENTA の初心者向けRuby on Railsサロンは月千円で、
日本6位の3千人が入っている。1位はキングコング西野の数万人
Rails, Linux などが主な勉強内容
コンピューターの基礎は、入門書を1冊を読むだけ。
マイコンなど、全くアプリ開発者に関係ないので、時間の無駄

458:447
22/07/24 03:17:30.67 J65kp3AQ.net
関係ない授業を入れて、全体の価格を上げるため。
詐欺みたいなもの
1個1個を深く勉強していたら、数年掛かるし、切りがない。
マイコン・C 言語だけで、数年掛かる。
アプリ開発者には関係ないから、時間の無駄
KENTA も言ってる。
必要な所だけを勉強して、それ以外は本をサラッと読んで、先に進む。
だから、半年でポートフォリオを作って転職できる
他の香具師が5年掛かっても、何も作れないのは、学校の水増しカリキュラムのせい
大切なのは何かを勉強することではなくて、
勉強する方法を勉強すること!
これがKENTA。
だから半年で開発者になれる
これが分からない香具師は、10年やっても出来ない

459:デフォルトの名無しさん
22/07/24 03:40:32.32 EX/z9tJK.net
ダレだよケンタってチキンか?w

460:デフォルトの名無しさん
22/07/24 04:23:17.54 E5ZFw2qU.net
底辺派遣奴隷がKENTAのYoutubeみて知ったかぶりして、
自分があたかもKENTAになったかのように妄想する自慰の道具。

461:デフォルトの名無しさん
22/07/24 09:32:03.94 hnBeY/7d.net
エンジニア不足解消にむけて、文科省、通産省がいま最も注目する新進気鋭の先導者では?
文科省がエンジニア育成にユー


462:`ューブを活用するワーキンググループを発足したのは、彼の影響と思われる。



463:デフォルトの名無しさん
22/07/24 10:55:48.87 QqIxIyeR.net
DBとネットワークもやった方がいいね

464:デフォルトの名無しさん
22/07/24 13:09:38.66 2lyIaqMH.net
ライブラリの作り方教えて

465:デフォルトの名無しさん
22/07/24 13:11:39.16 vEjRJRF/.net
何のや

466:416
22/07/24 13:34:31.70 MO/A+cHc.net
>Iot系?
学校バレするとあれなので回答は控えます。ちなみに40代前半IT業界未経験です。

>この辺は>>425の“プログラミング(前編)〜説明されていると思うけど不足なんだろうか
今回の質問の前にも目を通していましたが、重視していませんでした。
ここで教わったあと読み返してようやく繋がった、という感じです。
私が質問前の自力タイム中に注目していたことが
SECTIONやPResetPRG、CODEといった、命令やラベル名、属性の使い方や役割でした。
それも、HTML/CSSやExcelでタグや関数の使い方を調べる時の感覚です。
メモリCPUプログラムカウンタといった部分は、
「今回の質問を調べる上では重視しなくてもいいところ」と思っていました。
でも、そのマイコンの仕組みの基礎の部分にちゃんと注目していれば、
1.HEWでビルドしたプログラムがセクションで定義した属性に従ってメモリに配置される
2.コードセクション(0400)にはSLEEPの部分で、データセクション(0000)にはDATA命令のやつか?
3.CPUはプログラムカウンタが示しているアドレスのメモリを見ている。最初は0000から読む。
4.0000に入っている内容はDATA命令のところ。つまり?
という順序的観点が検索時の前提になり、注目するところも変わったと今は考えています。
自分のつたない調べ方でも、>>428 の「たのしくできるH8マイコン制御実験」92pの
「DATA命令では,さらに,メモル上にアドレスを確保することができます」という記述にも辿り着けたと思います。
それが無理だったとしても、
DATA命令でアドレスの取得みたいなことをしているかも?
右に書いてある「PowerON_Reset」の番地を読んでいる?
などと、と推測することはできたでしょう。
ちなみにここで学ぶまでは「.DATA命令はメモリ領域を定義するもの」と認識していて、
右に書いてある「PowerON_Reset」との関係は謎でしたw

467:デフォルトの名無しさん
22/07/24 14:05:47.61 brewOpTp.net
>>453
つmake library

468:419
22/07/24 17:28:16 t3OCaKrr.net
>>455
プログラムとデータやアドレスを分けて考えちゃっているのかな?
特にマイコンの場合はメモリ保護機能がないか、あっても限定的な機能しか持たないため
セクションの違いはメモリ配置場所(大抵の場合ROMかRAM)を決定する以上の意味を持たないことが多いです
つまり.DATA制御命令でマシンコードを配置してもその領域が実行可能であれば実行出来ますし
割り込みベクタテーブルにアドレスが配置されていれば割り込み発生時にはそのアドレスへジャンプします
あくまでハードウェアから見てそのデータ列がどのように見えるかがポイントで
与えたデータの管理はプログラマか処理系の仕事です

ちなみにCortex-MやRXの場合、ROMだけでなくRAMに配置されているマシンコードも
実行可能ですし(H8系でRAM上のマシンコードを実行可能かは確認できなかった)
割り込みベクタテーブルの一部をRAMに再配置することも出来ます

469:デフォルトの名無しさん
22/07/24 17:28:20 GMSYIMoG.net
アセンブラのラベルとかがわからないなら、一旦オブジェクトファイルを生成して
それをデバッガでディスアセンブルしたりするのは無し?
そしたら、あーこのアドレスにこれが来るんだーとか

470:デフォルトの名無しさん
22/07/24 17:35:32.41 vEjRJRF/.net
組み込みとか時代遅れのゴミは無視してWeb系に行こうぜ
日本のメーカーは糞でこれから落ちぶれていくだけだから関わらない方が良いよ
IoTとかArduinoだったらギリ許す

471:419
22/07/24 18:18:08.33 t3OCaKrr.net
>>458 質問内容からしてビルド時のフローとかデバッグツールの使い方も判ってなさそうに見える ただコンパイラ系の開発経験がない人が理解するのは難しいだろうとも思う ググってもなかなかまとまった情報が出てこないところだし



473:デフォルトの名無しさん
22/07/24 19:14:36.61 SLnKepmZ.net
>>457
H8もノイマンだからセクションによる実行制限はないはずだよ
ただ今更この人がマイコン学習していくこと自体は不毛な気がするんだよね…

474:デフォルトの名無しさん
22/07/24 19:19:53.04 SLnKepmZ.net
>>455
>ちなみに40代前半IT業界未経験です。
それだと半年程度のお勉強ではどう転んでもIT系への就職は無理
職業訓練の経歴なんて全く評価されないよ
学校なんか行くよりはIT系の派遣に登録して派遣先で顔を覚えて貰いつつどういう業界なのか知っていった方が賢いぞ

475:デフォルトの名無しさん
22/07/24 19:24:05.79 fEm4m5y+.net
てか未経験40代がこんな低レイヤーの勉強するの遠回りすぎるだろ
ある程度現場で経験積んだエンジニアが娯楽でやるもんだよこういうのは

476:416
22/07/24 19:26:23.27 MO/A+cHc.net
>>457 >>460
419さん気にかけてくれてありがとう。
>プログラムとデータやアドレスを分けて考えちゃっているのかな?
>特にマイコンの場合はメモリ保護機能がないか、〜そのアドレスへジャンプします
現時点では何もかも調べなければわからない状態なので、
自ずとそれぞれの意味や違いを几帳面すぎるかな〜とは思いつつも違いを意識しています。
何よりここの基礎が理解できない程度だと、この先もついていけないと直感しています。
>〜あくまでハードウェアから見てそのデータ列がどのように見えるかがポイントで
>与えたデータの管理はプログラマか処理系の仕事です
ここは今後の為に意識しておきますね! 線引き大事。
>ちなみにCortex-MやRXの場合〜割り込みベクタテーブルの一部をRAMに再配置することも出来ます
割り込みベクタテーブルはROM配置と習っていたので、へぇ〜という感じっです。
まぁ今の私にはそこから広がった想像をするだけのスキルがないんですが、頭の片隅に覚えておきます。
>質問内容からしてビルド時のフローとかデバッグツールの使い方も判ってなさそうに見える
ビルド時のフローは今回の質問あと復習しました。とは言っても、
教科書とか入門向けに書いてある、簡略化したフロー図をぼんやりイメージできる程度の理解です。
デバッグツールはまだ触ったことがないのでわからないです。
先ほど授業で最初になったら十数行程度のプログラムをやっと私なりに日本語化できました。
JSRとかMOVとかRTSとか、基本的な命令を使って無意味にループしてるだけの勉強用プログラムですが、
やっぱりぜんぶわかると気持ちいいですね。ようやく1歩目が終わった感じです。
ちなみにH8マイコンの授業は来週でおしまいw
そのあとまた別のプログラムを学びます。今後も頑張っていきます。

477:デフォルトの名無しさん
22/07/24 19:29:06.80 pts8jowi.net
>>444
そういった規則があるのですね。
スッキリしました。
ありがとうございます。

478:デフォルトの名無しさん
22/07/24 20:01:22.22 IZxLU3+7.net
「デフォルト」とは債務不履行のことだと思いますが
なぜム/マ業界では「デフォルト」を別の意味で使っているのですか?

479:デフォルトの名無しさん
22/07/24 20:26:17.55 wPXQkERB.net
default=怠ること
ユーザーが設定変更を怠った場合の値=初期値

480:419
22/07/24 20:27:44.54 t3OCaKrr.net
流行のIoTなどの用途向けに今マイコンを勉強するならRA&FSPかSTM32&CubeMXあたりだろうか
Arduino使える人は結構いるけどそのレベルで製品化までこぎ着けるのは難しいし
別にRXやLPCなど他のマイコンでも良いけど覚えることはちょっと増えそう
>>461-462
H8は特に制限ないのか。


481:一つ勉強になった 仮にIoT目的ならメーカー提供のSDKやコードジェネレータでほぼ足りるはずなので 必ずしも低レイヤーを勉強する必要はなさそうではある 就職の足しにならないであろうはその通りだと思うけど、Web系のみとかではもっと厳しそうな気が



482:デフォルトの名無しさん
22/07/24 21:42:19.01 QqIxIyeR.net
ネットワークとDBが足りてない

483:デフォルトの名無しさん
22/07/24 22:05:40.73 tpoO7THQ.net
40代未経験ならJavaとDBの勉強だけやってさっさと働け
未経験のおっさんが流行のIoT出来る選択肢なんてそもそも存在しない

484:デフォルトの名無しさん
22/07/24 22:29:08.85 3wgufn1T.net
>>467
default = 欠席裁判、ですよ

485:デフォルトの名無しさん
22/07/24 22:32:52.70 MshpqOuh.net
>>471
欠席=出席を怠ること、じゃね

486:447
22/07/24 22:55:38.37 J65kp3AQ.net
KENTA の初心者向け・Ruby on Railsサロンに、年齢制限はあるのか?
出来るか出来ないか、ポートフォリオの実力だけじゃないの?
沖縄のかみざとよしとのやんばるコードとか、
人生逆転サロンの守護神・たけは、
中年で1年ぐらいのプログラミング初心者で、Rails のトップになった!
まあ元々、彼は大学院数学科の天才で、
数学講師から、Java の資格を取って、Railsへ転向した
バグ取り名人 たけ
【Rails】(送信時のリロード無し!)Action CableでSlack風チャットアプリを作成
YouTube の動画

487:419
22/07/24 23:43:09 t3OCaKrr.net
マイコンアプリの開発だけで仕事になるとは思えないけど
ハードもそれなりに出来るならアドバンテージになるんじゃないかな
今でも両方出来る人は多くないしね

488:デフォルトの名無しさん
22/07/24 23:48:59 QqIxIyeR.net
マイコンとか教える側の雇用対策やろ

489:デフォルトの名無しさん
22/07/25 01:55:20.49 fy0hTX+n.net
ぜんぜん部外者なんで素朴な質問をしていいですか?
IoTということは、TCP/IPの機能がいるわけですよね? 割り込みベクタがとか
ゆってるけど、まさかTCP/IPのスタックも実装したりはしないですよね?
結局普通は最初からOS的なものが必要になりそうな気がするのですが

490:デフォルトの名無しさん
22/07/25 01:58:55.05 fy0hTX+n.net
ネットワークのドライバぐらいは実装する必要がある、なら割り込みとか知ってた方が
いいでしょうからまあ確かに

491:デフォルトの名無しさん
22/07/25 02:02:04.18 BZBhu3k0.net
有線LANの作例はいくらでもあるしWiFiやBTモジュールで通信させる方法もある
そしてSSL/TLSが欲しくなるまでがセット

492:デフォルトの名無しさん
22/07/25 04:19:42.61 fR7BwuK/.net
>>476
Linux使えばいいだろ?
それともOSなしでIoTしないといかんのか?

493:デフォルトの名無しさん
22/07/25 06:55:34.42 EqxRHHki.net
チップメーカー提供のなりFreeRTOSのなりAzureRTOSのなり使えば良い
TCP/IPどころかTLS/SSLまで用意されているよ

494:デフォルトの名無しさん
22/07/25 11:21:33 dJJE5upa.net
適当に必要なツールだけ造って
面倒な部分は M5StickC にやらせると楽

495:デフォルトの名無しさん
22/07/25 12:58:59.87 +sFX7yRz.net
一口にIoT言っても
・Wi-Fi/BT回線かLTE回線か
・常時給電か否か
・LinuxかRTOSか
・ダウンタイム要求
でだいぶ難易度が違う

496:デフォルトの名無しさん
22/07/25 13:01:00.01 Ag7GGmTP.net
windowsもあるゾ!

497:デフォルトの名無しさん
22/07/25 17:44:12.29 vWw940/9.net
IoTに限った話じゃないけどWindowsを使う必然性ってあまりなくね?

498:デフォルトの名無しさん
22/07/25 17:51:54.32 mBcdUBse.net
普通に考えたら組み込みとかにWindows使う必要無いのだけど案外使われているという事は
大きな企業ほどフリーソフトで無料の


499:ものは避ける傾向があるということ RDBでもオラクルを使うのはその辺もあるし、OSにしてもred hatとかは企業向けもあるけど Windowsにしておけば何かあっても責任逃れ出来るという事だろうなぁ



500:デフォルトの名無しさん
22/07/25 17:52:34.96 fnQLcriz.net
組み込み系や制御系の開発PCはほとんどWindowsだよ
SDKやツールの対応がWindowsファーストだからな

501:デフォルトの名無しさん
22/07/25 18:00:04.51 AXHgFxoO.net
メーカーの老害にはmacは使いこなせないからだよ

502:デフォルトの名無しさん
22/07/25 18:37:43.52 nPMjx1b5.net
macは時代を30年ほど間違えてないか?って値段だろ
LinuxかFreeBSDでえーやん?

503:デフォルトの名無しさん
22/07/25 18:40:12.32 YKvWEWzT.net
下請け丸投げしかできないメーカーのゴミ社員はwindowsでエクセルしか使えないからだよ

504:デフォルトの名無しさん
22/07/25 18:50:14.35 XGvRm+qF.net
ハード屋さんが使ってたロジアナがWinXPで動いててビックリしたわ

505:デフォルトの名無しさん
22/07/25 18:57:37.62 GOtCNvAE.net
macは高級感だけで金払う馬鹿を鴨にする戦略だから

506:デフォルトの名無しさん
22/07/25 19:02:31.32 2PhM5qDH.net
>>485
利益に繋がっているとは言いがたいのがポイントだなw

507:デフォルトの名無しさん
22/07/25 21:11:33.38 GOtCNvAE.net
ケンタウィルスは絶滅汁

508:デフォルトの名無しさん
22/07/25 21:38:03 dV4kzGF1.net
>>486
EDAはWindows優勢だけどMCUやFPGAの開発ツールはLinux版も同時リリースされてない?

509:デフォルトの名無しさん
22/07/25 22:21:56.73 nPMjx1b5.net
RDBだとまぁOracleがトップ、次点がPostgreSQL, SQL Server、その下はMySQL
どういう訳かはしらないけどDB2は一回しか経験ない
フリーのPostgreSQLとかMySQLを使ってたのはバリ一部上場だし、もうあまり有料無料は関係なさそうかな

510:デフォルトの名無しさん
22/07/25 22:29:55 dV4kzGF1.net
そう言えばソニーセミコンのソフト開発系?はLinuxメインかもね
Spresenseの開発環境はLinuxファーストだったような

511:デフォルトの名無しさん
22/07/25 22:32:31 oUQ2GGC1.net
・日立、週休3日で給与維持 生産性向上へ働き方改革 時間から成果へ転換
・日立、最低勤務時間を撤廃 「週休3日」も可能に
・2022年の新入社員、79.8%がテレワーク オフィスの必要性は?
・日立、富士通、NEC…「ジョブ型雇用」を大企業が続々導入する理由
・日立やNECが導入へ 「週休3日」は人材獲得の切り札
・リクルートグループ、週休「約3日」に。4月から年間休日を145日に増加へ
・カルビー/国内社員3900人を対象に副業解禁
・介護職の週休3日制をサポート 宮城県、難しい3連休も可能に

512:デフォルトの名無しさん
22/07/25 22:54:07 gTrk2zFk.net
AWS IoT で良い。
ただし、AWSの12資格には、IoTの資格がないけど

Windows をサーバーで使うことはない。
クライアント・操作側で使うだけ

今は、クラウドのすべてのシステムがDocker だから、
DockerはLinux だけの技術だから、Linuxを使わざるを得ない

513:デフォルトの名無しさん
22/07/25 23:05:15.21 dV4kzGF1.net
ちょっと前に発売された音ゲーがWindows環境よりProton環境の方が遅延が少なくて快適なんてオチがあった

514:デフォルトの名無しさん
22/07/25 23:24:47.38 N/8RfmxG.net
500

515:デフォルトの名無しさん
22/07/26 00:42:45.75 7eeTS5R1.net
>>498
あわしろを召喚しちまうからLinuxの話題


516:はやめとけ。



517:デフォルトの名無しさん
22/07/26 10:40:36 72WDY9Tv.net
みなさんは変数名はきっちり英単語にして付けてます? それとも日本語ローマ字的なものもOKでやってます?

518:デフォルトの名無しさん
22/07/26 11:00:10.77 b/a9cbVb.net
>>472
なるほどね、同意しましょう

519:デフォルトの名無しさん
22/07/26 11:55:16.39 EFLNvNJ6.net
サーバを所有するという概念が十年スパンの長期的にはオワコンになると思うな
DockerにしろVMにしろ仮想環境ソリューションは今だけで、将来的にはLambdaのような疎結合な計算機資源に移行すると思う
モノシリックが過ぎるよ仮想環境とかVPC
無くなるという意味じゃなく、三十年後くらいには完全に基盤として隠蔽されてマネージドがメインストリームになるという
ただLightsailみたいなサーバは多重化とか関係ないからアプリケーションとして残る

520:デフォルトの名無しさん
22/07/26 12:03:39.48 ZN4y9/Yq.net
IT後進国のジャップランド以外ではな

521:デフォルトの名無しさん
22/07/26 12:13:37.87 DIb0h0GI.net
>>502
普段は英単語だけど、たまにnaikei(内径)とか使っちゃう

522:デフォルトの名無しさん
22/07/26 17:58:19.46 gc9s0ohk.net
モノシリックωωω

523:デフォルトの名無しさん
22/07/26 22:55:38.11 5qP0bzbL.net
テキストボックスとラベルを比較したいんだけどこれじゃうまくいかないのでどうすればいいか教えてください
ボタン押しても10点しか出ない
Dim inp1 As String
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles URLリンク(Button1.Click)
inp1 = TextBox1.Text
Label1.Text = CStr(Int(Rnd() * 99))
Label2.Text = "得点"
If "inp1" = Label1.Text Then
Label2.Text = "100点"
ElseIf "inp1" > Label1.Text Then
Label2.Text = "10点"
ElseIf "inp1" < Label1.Text Then
Label2.Text = "5点"
End If

524:デフォルトの名無しさん
22/07/26 22:58:00.90 5qP0bzbL.net
>>508
visalstudioです

525:アリ人間
22/07/26 23:13:19.30 SFGiBpCo.net
>>508
inp1と"inp1"の違いはわかりますか?
前者は変数であり、後者は文字列リテラルです。

526:デフォルトの名無しさん
22/07/26 23:15:05.41 tkxwNYDd.net
AWS Lambda でも、Ruby などの他に、Docker も使える
こんなに流行っているPHP は、デフォルトで用意されていない。
プロ用の言語とは、みなされていない

527:デフォルトの名無しさん
22/07/26 23:31:05.10 MJpCL8rD.net
>>510
すみませんよくわかりません
" "を消すことで点数は出るようになったのですが
textboxに何も入力出来ずにボタンを押すと今度は5点が出るようになってしまいました
また数値の差(textboxとlabelの差が10以内ならAを表示20より上ならBを表示)などはどうすればいいのでしょうか

528:デフォルトの名無しさん
22/07/26 23:31:14.00 khPn0eWd.net
>>511みたいなRubyガイジは消えてねw
Rubyなんてもう仕事では使われなくなっている訳だがw

529:アリ人間
22/07/26 23:45:37.56 SFGiBpCo.net
>>512
イベント駆動、制御構造、文字列と数値の違いもわかってないみたいだから、前の単元を見直して再勉強して下さい。

530:デフォルトの名無しさん
22/07/26 23:52:00.61 EFLNvNJ6.net
>>512
次は文字列から数値に変換してから比較
VBだと思うが文字列比較してるから大小比較には使えない
入力できない件はTextコントロールのEnableプロパティがFalseにでもなってるんだろ

531:アリ人間
22/07/26 23:53:31.94 SFGiBpCo.net
数値の差は引き算と絶対値を使えば得られる。
その前に文字列を数値に変換する必要がある。

532:デフォルトの名無しさん
22/07/27 00:18:54.56 nNmP47B2.net
>>515
>>516
数値の変換はinp1=Val(textbox.text)で正しいのでしょうかそれともIf Val(inp1) = Label1.Text Then でも大丈夫ですか?
あとtext boxに何も入力出来ずにではなくしずにでしたすみません

533:アリ人間
22/07/27 00:25:27.19 LZk+uw73.net
変数には型があって、As Stringと書いた変数は文字列型になる。数値を文字列型の変数に代入することはできない。
式にも型がある。

534:アリ人間
22/07/27 00:31:01.68 LZk+uw73.net
文字列型と数値型の比較は、、、やらん方がいいな。

535:デフォルトの名無しさん
22/07/27 00:35:28.64 RpXAKi4d.net
>>518
Dim inp1 As integer
にするということですか?

536:アリ人間
22/07/27 00:38:41.47 LZk+uw73.net
Label1.Textは文字列型だね。

537:デフォルトの名無しさん
22/07/27 00:50:16.57 L+cMx9Xr.net
>>521
すみませんわからないので
>>508のどこが間違っているか具体的に教えてくれませんか?

538:アリ人間
22/07/27 00:52:50.73 LZk+uw73.net
>>522
何がしたいのかさっぱりわからん。
日本語でプログラムを書いてくだされ。

539:アリ人間
22/07/27 00:56:01.02 LZk+uw73.net
Label1は何に使うのか
TextBox1は何に使うのか

540:デフォルトの名無しさん
22/07/27 00:58:25.68 vjLtCyiu.net
>>523
>>508に書いてある通りtextboxに入力された数値とlabelに出るランダムな数値を比較してlabel2に表示させたいです

541:アリ人間
22/07/27 01:06:32.36 LZk+uw73.net
ランダムな数値をValue1に代入する。
Label1にValue1を文字列にしたものを格納する。
TextBox1の文字列を数値にしたものを変数Value2に代入する。
Value1とValue2を比較する。
Value1 > Value2なら「大きいです」という文字列を(以下略)

542:アリ人間
22/07/27 01:13:48.04 LZk+uw73.net
Value1, Value2という2つの変数が必要。
ランダムな数字を表示するのはいつ? ボタンを押したとき?

543:アリ人間
22/07/27 01:18:20.56 LZk+uw73.net
複数回比較するので、変数に代入せずに変換する式をそのまま書くのは冗長。

544:デフォルトの名無しさん
22/07/27 01:20:57.98 MwlsM79e.net
>>526
cstrではダメということですか?

545:アリ人間
22/07/27 01:22:57.37 LZk+uw73.net
>>529
文字列比較と数値比較は、少し違うんだな~、これが。
"124" > "1234"

546:デフォルトの名無しさん
22/07/27 01:23:03.27 dBfhXkJs.net
>>527
ボタンを押した時です

547:デフォルトの名無しさん
22/07/27 01:28:33.91 8iD3kOwS.net
今の状態ではlabelもtextboxも変数にはなっていないということですか?

548:アリ人間
22/07/27 01:29:37.99 LZk+uw73.net
日本の情報教育では、出題者の意図を推し測るのが義務化されているので、問題がLabel2への格納を暗に要求しているのであれば、そのように書かなければならない。
問題文はどうなってる?

549:アリ人間
22/07/27 01:31:05.90 LZk+uw73.net
フォームでLabel1を配置したのであれば、Label1.Textは文字列変数として使える。

550:デフォルトの名無しさん
22/07/27 01:33:27.91 9eouHVow.net
>>533
スロットを使って2桁の整数を作る
・ 入力欄に 99 以下の整数を入力して、「判定」ボタンを押すと、入力された数値とスロット
の数値を比較して、その差によって以下に示すような点数が表示されるゲーム
・ 「判定」ボタンと「終了」ボタン、数値の入力欄、スロット表示欄、得点表示欄の5つは必
ずつけること。
・ 入力欄とスロット、得点のクリアボタンを作る(クリアの状態は自由に設定して OK)
・ コードには、意図が伝わるようにコメントを書き入れる
<点数と条件>
・ 2 つの数値が一致したら、100 点をフォーム上に表示
・ 一致していないが、2 つの数値の差が 10 以内だったら 10 点をフォーム上に表示 ・ 2 つの数値の差が 10 より大きく 20 より小さかったら5点をフォーム上に表示 ・ 2 つの数値の差が 20 以上だったら 0 点をフォーム上に表示
こんな感じです

551:デフォルトの名無しさん
22/07/27 01:35:03.65 D3U44Pck.net
リテラルとカフ


552:Fラテ おいしいのはネスカフェ



553:デフォルトの名無しさん
22/07/27 01:38:13.06 fjgr5dHm.net
>>534
その文字列変数を数値に代入してから比較するということですか?

554:アリ人間
22/07/27 01:39:32.12 LZk+uw73.net
わかってないようだが、VBでは日本語変数名・日本語コントロール名が使えるはずだ。
まず、フォームに何を配置する?
ボタン、ラベル、テキストボックスの三種のコントロールが使える。
ユーザーはラベルには入力できない。
ユーザーはテキストボックスに文字列を入力できる。

555:アリ人間
22/07/27 01:42:52.40 LZk+uw73.net
「判定」ボタン、
「終了」ボタン、
「数値入力」テキストボックス、
「スロット表示」ラベル、
「得点表示」ラベル。
これでいこう。

556:デフォルトの名無しさん
22/07/27 01:43:55.82 YSkUdWVs.net
>>539
それは既に配置しています

557:アリ人間
22/07/27 01:49:59.36 LZk+uw73.net
Dim 値1 As Integer
Dim 値2 As Integer
Dim 差分 As Integer
値1 = Int(Rnd()*99)
スロット表示.Text = CStr(値1)
値2 = Val(数値入力.Text)
差分 = Abs(値1 - 値2)

558:アリ人間
22/07/27 01:51:03.95 LZk+uw73.net
スロットっていうことは、タイマー使ってクルクル回した方がいいのか?

559:アリ人間
22/07/27 01:58:07.37 LZk+uw73.net
フォームにタイマーを配置。
フォームが初期化されるときに0.33秒間隔のタイマーを起動。
タイマーイベントが発生したら、スロットの文字列をランダムな数字で更新。

560:アリ人間
22/07/27 01:59:20.33 LZk+uw73.net
判定ボタンを押したらタイマーを停止。
終了ボタンを押したらフォームを閉じる。

561:アリ人間
22/07/27 02:00:55.62 LZk+uw73.net
待てよ、スロットは規則正しく動かすべきか、それともランダムに変えるべきか。

562:デフォルトの名無しさん
22/07/27 02:02:44.06 qI+Uo5vp.net
>>541
 Dim inp1 As Integer
Dim inp2 As Integer
Dim inp3 As Integer
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  inp1 = Label1.Text
inp2 = Val(TextBox1.Text)
inp3 = Val(inp1 - inp2)
inp1 = CStr(Int(Rnd() * 99))
ということで大丈夫ですか?

563:アリ人間
22/07/27 02:05:27.70 LZk+uw73.net
>>546
それならinp1は整数でTextBox1.Textは文字列となる。
整数変数に文字列を代入するのはおかしい。

564:アリ人間
22/07/27 02:10:07.62 LZk+uw73.net
>>546
代入文は順序が大事。ランダムな値を求めるのが先。

565:デフォルトの名無しさん
22/07/27 02:10:38.30 kUpgZ120.net
>>547
この状態だとinp2 = Val(TextBox1.Text) は
>>541の値2とは書いてあることは同じではないのですか?

566:デフォルトの名無しさん
22/07/27 02:12:35.54 kUpgZ120.net
>>548
つまり
Label1.Text = CStr(Int(Rnd() * 99))
inp1 = Label1.Text
inp2 = Val(TextBox1.Text)
inp3 = Val(inp1 - inp2)
ということですか?

567:アリ人間
22/07/27 02:13:43.00 LZk+uw73.net
>>550
> inp1 = Label1.Text
文字列を整数変数に代入できない。

568:デフォルトの名無しさん
22/07/27 02:16:20.29 kUpgZ120.net
>>551
なので>>541みたく分けないといけないということですか?

569:アリ人間
22/07/27 02:17:47.50 LZk+uw73.net
>>552
文字列を整数にしたものを返す関数があるから、それを使う。

570:アリ人間
22/07/27 02:20:59.51 LZk+uw73.net
スロットマシンのような動作を期待しているのであれば、タイマーを使ってクルクル回す必要がある。なんなら音を出して、カジノのような演出も必要かも知れない。
出題者の意図をよく理解するんだ。

571:デフォルトの名無しさん
22/07/27 02:22:17.13 kUpgZ120.net
>>553
inp1 = Label1.Text
inp2 = Val(TextBox1.Text)
inp3 = Val(inp1 - inp2)
inp1 = CStr(Int(Rnd() * 99))
それがこの状態だとまだ出来ていませんか?
その関数はintとはまた別なのですか?

572:デフォルトの名無しさん
22/07/27 02:23:41.61 kUpgZ120.net
>>554
基礎レベルなので多分それは大丈夫だと思います

573:アリ人間
22/07/27 02:24:32.42 LZk+uw73.net
inp1 = Label1.Text
の左辺は整数変数。右辺は文字列。
型の不一致。
inp1 = CStr(Int(Rnd() * 99))
の左辺は整数変数。右辺はCStrの値なので文字列。
型の不一致。

574:アリ人間
22/07/27 02:26:47.85 LZk+uw73.net
CIntかValを使えば文字列を数値に変換できる。

575:アリ人間
22/07/27 02:29:56.55 LZk+uw73.net
あとはいくつかのIf文で差を比較し、場合分けして得点表示.Text に適当な文字列を代入すればいい。

576:デフォルトの名無しさん
22/07/27 02:32:21.15 hUPssU1v.net
>>558
inp1 = Val(Int(Rnd() * 99))
Label1.Text = CStr(inp1)
inp2 = Val(TextBox1.Text)
inp3 = Val(inp1 - inp2)
こういうことですか?

577:アリ人間
22/07/27 02:33:05.88 LZk+uw73.net
絶対値を求める関数はAbs

578:デフォルトの名無しさん
22/07/27 02:36:13.30 hUPssU1v.net
>>561
Absは宣言されていないと出てしまいます

579:アリ人間
22/07/27 02:37:16.50 LZk+uw73.net
System.Math.Abs

580:デフォルトの名無しさん
22/07/27 02:41:06.00 QfftK3Ne.net
>>563
すみませんそれだけ書かれてもよくわかりません

581:アリ人間
22/07/27 02:41:25.80 LZk+uw73.net
廃止予定のVB.netを教材に使うなんて


582:学校はひどいことをしますなあ。



583:アリ人間
22/07/27 02:43:48.59 LZk+uw73.net
inp3 = System.Math.Abs(inp1 - inp2)

584:デフォルトの名無しさん
22/07/27 02:46:02.40 mBvV44nn.net
>>566
ありがとうございます

585:デフォルトの名無しさん
22/07/27 02:48:16.34 mBvV44nn.net
これで前提条件は完成ということで大丈夫なのでしょうか?

586:アリ人間
22/07/27 02:51:54.76 LZk+uw73.net
>>568
実行してみてエラーが出ない。
そして、二分間画面をにらみつけて、間違いが見つからなければ次に進めばいい。

587:デフォルトの名無しさん
22/07/27 02:57:24.54 AEbD6U5/.net
>>569
エラーは出ませんでした
If inp2 = inp1 Then
Label2.Text = "100点"
ElseIf inp1 > inp2 Then
Label2.Text = "10点"
ElseIf inp1 < inp2 Then
Label2.Text = "5点"
End If
下はこのようなコードなのですがtextboxに何も入力せずにボタンを押すと10点と出てしまいます
また比較の段階ではinpは既にvalで数値化しているのでvalをつけなくても問題ないという認識で間違っていないでしょうか?

588:アリ人間
22/07/27 02:58:18.78 LZk+uw73.net
※実行結果が間違いかどうか判定するのは、初心者なら自分自身だが、上級者はテストを自動化できる。

589:アリ人間
22/07/27 03:01:09.00 LZk+uw73.net
テキストボックスに何も入れない、ということは.Textが空文字列になる。空文字列をValに渡すとどうなるか?
空文字列かどうか判定する必要があるかも知れない。

590:アリ人間
22/07/27 03:02:49.33 LZk+uw73.net
数値化しているものを数値化するとは意味をなさない。

591:アリ人間
22/07/27 03:05:17.77 LZk+uw73.net
2つの数値の差がinp3だろ?

592:デフォルトの名無しさん
22/07/27 03:10:08.15 jODmrfct.net
>>574
はい

593:アリ人間
22/07/27 03:11:42.49 LZk+uw73.net
>>575
もう一度、判定条件を読み直し。

594:デフォルトの名無しさん
22/07/27 03:11:50.99 jODmrfct.net
自動でデバッグが必要ということもわかるのですが
まず 一致していないが、2 つの数値の差が 10 以内だったら 10 点をフォーム上に表示 ・ 2 つの数値の差が 10 より大きく 20 より小さかったら5点をフォーム上に表示 ・ 2 つの数値の差が 20 以上だったら 0 点をフォーム上に表示
が上手く書けなくて困っています

595:アリ人間
22/07/27 03:13:29.52 LZk+uw73.net
そういうときに便利な「数直線」。
数直線を紙に書いて、場合分けを考える。

596:アリ人間
22/07/27 03:15:18.50 LZk+uw73.net
絶対値は常にゼロより大きいのでカンタンだね。

597:アリ人間
22/07/27 03:17:08.97 LZk+uw73.net
*絶対値は常にゼロ以上なのでカンタンだね。

598:アリ人間
22/07/27 03:19:32.96 LZk+uw73.net
If文に複数の条件式を指定したい場合は、AndかOrを使って条件式をつなげる。

599:デフォルトの名無しさん
22/07/27 03:19:51.93 yKrJTn5K.net
>>580
正直遠回しに言われても理解できないので
どこを直したらいいのか直接的に教えてもらえませんか?
If inp2 = inp1 Then
Label2.Text = "100点"
ElseIf inp1 <> inp2 And inp3 = 10 Then
Label2.Text = "10点"
ElseIf inp1 <> inp2 Then
Label2.Text = "5点"
ElseIf inp1 <> inp2 Then
Label2.Text = "0点"

600:デフォルトの名無しさん
22/07/27 03:20:32.16 yKrJTn5K.net
>>581
それはわかります

601:アリ人間
22/07/27 03:25:42.03 LZk+uw73.net
答えだけ教えたら勉強にならないでしょう。
2 つの数値の差が 10 以内だったら 10 点をフォーム上に表示

ElseIf Inp3 <= 10 Then
10 点をフォーム上に表示。
2 つの数値の差が 10 より大きく 20 より小さかったら5点をフォーム上に表示

ElseIf 10 < Inp3 And Inp3 < 20 Then
5点をフォーム上に表示
2 つの数値の差が 20 以上だったら 0 点をフォーム上に表示

ElseIf 20 <= Inp3 Then
0 点をフォーム上に表示

602:アリ人間
22/07/27 03:27:25.65 LZk+uw73.net
最後に
End If

603:アリ人間
22/07/27 03:29:58.17 LZk+uw73.net
フォームに表示が共通しているから、数値の差から得点を返す関数を作れば、コードが合理的になる。

604:デフォルトの名無しさん
22/07/27 03:31:50.09 yKrJTn5K.net
>>584
ありがとうございます

605:デフォルトの名無しさん
22/07/27 03:33:08.65 yKrJTn5K.net
>>586
なるほど

606:アリ人間 ◆T6xkBnTXz7B0
22/07/27 03:37:40 LZk+uw73.net
時間があったら、その得点判定関数の単体テスト用の関数を書いてみろよ。
いくつかの使用例を想定して、2つの数値と得点数の組を記述するんだよ。

607:デフォルトの名無しさん
22/07/27 03:41:16 yKrJTn5K.net
>>589
わかりました
夜分遅くまで付き合っていただきありがとうございました

608:アリ人間 ◆T6xkBnTXz7B0
22/07/27 03:47:12 LZk+uw73.net
>>590
サイバー世界に夜はない。人助けをしないとここから脱出できないものでな。しかたなくやってるだけさ。

609:デフォルトの名無しさん
22/07/27 03:56:10 OAxBWYWr.net
どんな脱出ゲームなんだよw

610:デフォルトの名無しさん
22/07/27 16:11:49.73 zAtculQV.net
単体テストをmockitoを使って書いてますが、一時的なオブジェクトをモックするには
どうしたらいいでしょうか。例えば以下のようなmethod1()をテストするとき
Obj2 method1() {
 Obj1 obj1 = mendo_na_shori();
 return betsu_no_shori(obj1.hoge());
}
mendo_na_shori()は外部APIを呼ばないといけない、あとobj1の初期化にも深入りしたくない
ので、obj1.hoge()が適当な値を返すようにモックしたいのですが
betsu_no_shori()だけテストすればいいようにも見えてしまいますが、例がうまくないということで

611:デフォルトの名無しさん
22/07/27 16:29:49.90 sRAKzK8I.net
>>593
obj1を外からパラメータとして渡せるようにする
基本的にモックフレームワークの機能で無理矢理差し替えようとするのは悪手で、そもそもモックしやすい設計にすべき

612:デフォルトの名無しさん
22/07/27 16:35:46.22 zAtculQV.net
>>594
なるほど、なんだかテストのためにデザインを変えるようで躊躇していたのですが
むしろそれがいいデザインだったりするということでしょうか
あるいは「テストしやすい」ということを良いデザインの1要件として考えるということでしょうか

613:デフォルトの名無しさん
22/07/27 17:17:41.95 sRAKzK8I.net
>>595
その通り
開発作業を合理的に進めることがデザインの大きな目標なのだから、開発作業において重要な位置を占めるテストを前提にデザインを考えるのは当たり前

614:デフォルトの名無しさん
22/07/27 17:53:16.59 nrHcrDPL.net
API作る費用がないから他の会社が作ったシステムのリードレプリカDB見てデータを取ってこいって流れになってるからなんとか阻止したいのですが、有名なアンチパターンとか何かないですかね?

615:デフォルトの名無しさん
22/07/27 18:51:26.26 5n9aUkym.net
久々にプログラミング復帰しようとして色々ソース見ようと思ったんだけど
昔存在したkodersとかGoogle Code Searchみたいなソースコード検索エンジンってない?

616:デフォルトの名無しさん
22/07/27 18:53:20.17 RFLOe/ZA.net
>>593
セオリーで言うとmethod1が含まれてるクラスのコンストラクタに
mendo_na_shori()を含むクラスのインスタンスを渡す形にしてそいつをモックする
method1がobj1を受け取る形にしたほうがいいかどうかは
純粋にmethod1の責務から考えたほうがいい

617:アリ人間
22/07/27 19:24:01.19 LZk+uw73.net
>>598
URLリンク(qiita.com)

618:デフォルトの名無しさん
22/07/27 19:32:17 5n9aUkym.net
>>600
githubで検索も出来んのね
サンキュー

619:デフォルトの名無しさん
22/07/27 20:48:10.95 8I1dQN/H.net
VSCodeでターミナルに文字が流れて行く時に画面がちらちらするんだけど
何が悪いのかな
argv.jsonの disable-hardware-accelarationはtrueにした


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

564日前に更新/300 KB
担当:undef