[VB] 初心者に課題を [.net]

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
     初心者にもできそうな課題をみなさんで
     与えてあげましょう。
     出された課題を与えた初心者さんは必ずアップ
     しましょう。

     関連スレ
     [老若]VB.net質問スレ[男女]
     http://pc2.2ch.net/test/read.cgi/tech/1043629429/
(・∀・)ニヤニヤ
やっぱり戦争は駄目だよ。
【問題】
2chではいつも多くの糞スレが立ちます。
糞スレを立てた人が書き組みできなくなる、またその糞スレを自動的に削除
してくれるものを作りなさい。
5デフォルトの名無しさん:03/03/21 09:33
早く課題くれよ
(1)0〜255の範囲の乱数6000個生成し、それを小さい順になるべく高速に並び替えなさい。
また、そのアルゴリズムの計算量をO(n)の形で表しなさい。
>>6
ああ、生成後の配列に対して並び替えを行ってね。
スレタイの VB はなぜ全角なのだろう?
>>8
聞くまでもなくVBユーザだからでしょう。小学生か中学生。
>>6
System.ArrayのSortメソッドで終了。
内部ではクイックソートを使ってるので、クリックソートのオーダーとほぼ一緒。
>>10
VBユーザのそこが見えた一瞬。
>>10
>O(n)の形で表しなさい。

日本語読め。
VBでねっとり。
[C]初心者に課題を[言語]
こんなスレに名前を変えてはいけませんか?
C、の課題出して欲しいのですが。
>>14
じゃあ>>6。qsort禁止な。


っていうか言語を問わないプログラムの問題なんぞ腐るほどある。
と、言うか言語依存の問題をプログラムの問題というのははばかられる。
1610:03/03/21 14:25
>>11
ど素人の甘ちゃんハケーン。
わざわざ言語を限定しているのだから、
アルゴリズムをごりごり書けと言っているわけではない。
ちなみにSystem.ArrayはVBの固有のものではなく.NET共通のものだ。

>>12
クイックソートのオーダーなら調べりゃわかることだから省略してるんだが・・・。

System.ArrayのSortメソッドはそれとほぼ同じということはわかっても、
厳密なオーダーの計算は内部ロジックを検証できないので、オーダー表記はできない。
(Sortメソッド内部ロジックでTrySZSortメソッドが使われているが、
その内部処理がないので、そこんところが不明だし。他の処理部分も全部が見れるわけではない)
1710:03/03/21 14:33
マンスリーカレンダーを作成せよ。
具体的な細かい仕様は自分で設定すること。

なお言語や開発環境に依存した機能をいろいろ使ったバージョンと
なるべく使わないで作ったバージョンのものを作成すること。

例えば、曜日を求めるためには最低限、算術演算子があれば計算で求められる。
しかし、最近の言語に付随するライブラリには曜日を求める機能等を持っているものも多い。
そういったものを自前で計算するもよし、ライブラリの機能を使うもよしということだ。
DateTimePicker貼り付けて完成。
MonthCalendarでもいいか。
>>16
必死ですね。1行オーダーを書けば相手はぐぅの音も出なくなるのに。
2110:03/03/21 16:31
じゃ。
O(n log n)でいいですかい?
でも、System.Array.Sortのオーダーじゃないんだって。
VBって便利だね
23リア厨:03/03/21 20:34
>>9
阿呆。漏れでもそんな事せんな。ま、漏れも英数字の全角は嫌いだが。

ま、このスレだって着眼点はいいんじゃねぇ?
コンソールで適当な規則を得た数列を生成するとか、Windows アプリで規則的なグラフィックを作成するとか...
まぁネタスレにマヂレスしている時点で逝っていいかもしれんが。
24デフォルトの名無しさん:03/03/22 00:33
次の課題きぼん
>>24
いい死に方を教えてください。クイックソート話でお願いします。
>>24
クラスターミサイルを散布されたときに、
それらを回避するための移動経路を計算するプログラムを作成せよ。

27デフォルトの名無しさん:03/03/23 13:23
>>26
それどこで使うんだ?
>>26
イラク
29デフォルトの名無しさん:03/03/23 16:27

サントリーホワイト :40%
サントリーオールド新 :40%
アーリータイムズ :40%
ジャックダニエルブラック :43%
宝焼酎純20 :20%
宝焼酎純25 :25%
宝焼酎純35 :35%
佳撰大関辛口 :
佳撰大関 : 16%
菊水辛口 :15%
菊水四段仕込 :15%
サントリー赤玉スイートワイン :14%
サントリーレゼルブ赤:14%
マンズワインモンフレールあか :14%
キリン一番搾り生 :5.5%
朝日スーパードライ  :5.0%
バドワーザー :5.0%
ハイネケン :5.0%
すぱちゅ 巨峰 :5%
すぱちゅ 梅 :5%

ここに4つのお酒が混ざってるカクテルがある、比率は1:2:3:4でアルコールの度数が10.7%だ、10.7%になる組み合わせを導いてみよ
30デフォルトの名無しさん:03/03/23 16:28
佳撰大関辛口 は16%で
最大値と最小値を得るのはO(n)で充分です。
クイックソートのピボット値は一番右や一番左の値にはせずに
最大値と最小値の平均値にすべきなのです。
32山崎渉:03/04/17 15:51
(^^)
33山崎渉:03/05/28 13:22
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
(優)瀞瀞
35デフォルトの名無しさん:03/06/15 21:02
>>31
そんなもの探していたら余計時間がかかってしまうだろ
36デフォルトの名無しさん:03/07/20 23:00
いづれ、VB_PGがCOBOL_PGを追い抜く!勉強しとかなきゃ、お前ら公開するぜ。
アナログ時計を作成せよ。
表示できたら文字盤を付けよ。
>>28
はテーブル引いて上から総当りにして結果出せ
ばいいのかな?(合計107のやつだけ最後取り出す)
平凡だけど・・当たってる??
もっといい方法あるんだったらおしえてください。

-------------------------------------------
比率→1234
お酒の名前

a 4080120160
b 4080120160
c 4080120160
d 4386129172
e 20406080
f 255075100
g 3570105140
h 16324864
i 16324864
j 15304560
k 15304560
l 14284256
m 14284256
n 14284256
o 5.51116.522
p 5101520
q 5101520
r 5101520
s   5101520
t   5101520
------------------------------------------------
39デフォルトの名無しさん:03/07/21 00:05
>>38
すいません・・
表が・・
-----------------------------------
比率→1_2_3_4
お酒の名前

a _40_80_120_160
b _40_80_120_160
c _40_80_120_160
d _43_86_129_172
e _20_40__60__80
f_ 25_50__75_100
g _35_70_105_140
h _16_32__48__64
i _16_32__48__64
j _15_30__45__60
k _15_30__45__60
l _14_28__42__56
m _14_28_42__56
n _14_28_42__56
o _5.5_11_16.5_22
p _5_10_15__20
q _5_10_15_20
r _5_10_15_20
s_5_10_15_20
t_5_10_15_20
------------------------------------------------
汚くてすいません(;・∀・)
40_:03/07/21 00:08
41デフォルトの名無しさん:03/07/21 17:55
>>37
さすがに馬鹿にしてませんか?
42デフォルトの名無しさん:03/07/21 22:15
>>41 はできない。φ(。。)
43デフォルトの名無しさん:03/07/22 07:48
すみやかにC#へ移行せよ(σ・∀・)σ
44山崎 渉:03/08/02 02:27
(^^)
45山崎 渉:03/08/15 16:49
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
MonthCalendarでもいいか。
47デフォルトの名無しさん:03/09/13 22:19
VB.NETで作成したアプリケーションって
VB6の時のような,ランタイム(の頒布)は必要ないのでしょうか?
>>47
.NETフレームワークが必要。再配布は可能。ユーザ側で単独でもDLできる。
>>48さま
ありがとうございます。
もっと情報を集めたいと思います。勉強しなければ・・・
VB.NETがわか〜るAPPENDを作れ。
51こっちも頼む:03/10/16 20:22
こっちのスレ(VBAエキスパートについて)もよろしく
http://school2.2ch.net/test/read.cgi/lic/1066275292/l50
52デフォルトの名無しさん:03/11/29 01:09
電卓を作ってください。
小数点以下の計算もできるような。
それを流用して宿題を完成させると
54超初心者:04/03/09 16:09
皆様方にお教えを請いたく、ここにメッセージをアップさせていただきます。
私は文系でVB? ハァ? という手合いの者なのですが、大学でいきなり
意味の分からない課題を出され、途方に暮れております。
その課題は、「VB6で2進演算をする計算機を作れ」というものです。
例えば、「1011+11001=」と入力すると「100100」が出力
されるという計算機です。ただし、加数、被加数を十進に直してから計算し、
出てきた答えを2進に直して出力する、というのはナシだそうです。

どなたか、加法だけでも教えてくださいませんか?
残り3つの演算は、それをヒントにして自分で考えます。

ネタじゃないので、よろしくお願い申し上げます。
sage
>>54
そんな面倒な方法で論理演算でなく四則演算させるなんてネタ臭いな。

・その「十進数に直す」って何なんだ? Decimal型がダメなのか??
・本当に一つのテキストボックスに全角で「1011+11001=」と入力するのか?
  Text1に「1011」、Text2に「11001」と別々に入力するんじゃないのか?
・桁数に制限はあるのか?
・割り切れなかったら余りを出すのか?
・引き算に「2の補数」を使ってもいいのか?

・配列を知ってるか?
・Mid関数を知っているか?

・小学生の頃にやった筆算は覚えてるか?
変数宣言、文字列処理などは省略


'1011'
a(0) = 1
a(1) = 1
a(2) = 0
a(3) = 1

'11001'
b(0) = 1
b(1) = 0
b(2) = 0
b(3) = 1
b(4) = 1

'aとbの和を 配列cに入れる
c(0) = a(0) + b(0)
If c(0) = 2 Then '繰り上がり
 c(1) = 1
 c(0) = 0
End If
c(1) = c(1) + a(1) + b(1)
If c(1) >= 2 Then c(2) = 1: c(1) = c(1) - 2
c(2) = c(2) + a(2) + b(2)
If c(2) >= 2 Then c(3) = 1: c(2) = c(2) - 2
・・・
以下略
58超初心者:04/03/10 02:56
>>56様、>>57様、どうもありがとうございます。

>>56
ネタではありません。何分ド素人な者ですから、用語の使い方などよくわかりません。
例えば、論理演算と四則演算など。

 >・その「十進数に直す」って何なんだ? Decimal型がダメなのか??
  例えば、「1011」を11にし、「11001」を25にして11+25=36とし、
  36を「100100」に直す、というプログラムはNGだということらしいです。
  あくまで、各桁同士で計算して繰り上がりを考えて...というプログラム
  にしろということです。「Decimal型」というのがよくわからなくて調べて
  みましたが、さっぱりです。「精度があがる云々」という文言が見受けられ
  ましたので、先生が求めているレベルをはるかに超えるものと推察します。
  したがって、「Decimal型」というのは考えに入れなくていいと思います。
 
 >・本当に一つのテキストボックスに全角で「1011+11001=」と入力するのか?
  Text1に「1011」、Text2に「11001」と別々に入力するんじゃないのか?
  違います。普通の計算機と同じようにボタンを作り(但し数字は0と1のみ)、
  普通の計算機と同じように入力します。
 
 >・桁数に制限はあるのか?
  自由だということです。制限した方が良いのでしょうか?

 >・割り切れなかったら余りを出すのか?
  恐らくそこまで高いレベルは求められていないと思いますので、商を整数値
  (四捨五入なり切り捨てるなどして)で出力できれば十分です。
59超初心者:04/03/10 02:56
 >・引き算に「2の補数」を使ってもいいのか?
  先生いわく、使わなければダメだということです。

 >・配列を知ってるか? ・Mid関数を知っているか?
  どちらもチンプンカンプンですが、調べてみます。

 >・小学生の頃にやった筆算は覚えてるか?
  正にそれをプログラムさせたいようです。2進で。

 私のみならず先生もちょっとDQNっぽく、言っていることが良く分からないので、はっきり言って
 うんざりしてます。「時間がない」と言っているクセに、「授業アンケート」の結果が悪かった
 ことに対する言い訳をダラダラと1時間以上やってたこともありました。おまけに、「この授業は
 VBの授業ではありません。VBを知りたいならカルチャーセンターに逝ってください」と言い出す始末。
 授業ではif文とfor文に関する拙い説明を受けたのみ。(言い訳されるかもしれませんが、少なくとも
 私はそう解釈してます) なのに評価はこの課題で行うと。訳がわかりません。

>>57
 どうもありがとうございます。略された「配列」「変数宣言」の方が、
 どちらかというとわかりません。面倒でなければお教えいただけませんか?
60超初心者・訂正:04/03/10 02:58
>>56

>Text1に「1011」、Text2に「11001」と別々に入力するんじゃないのか?
その通りです。
どうでもいいけどさ、VBの勉強が主でないのなら、
VBの部分はヒントぐらい出すべきじゃないのか?
本題以前の部分で悩ませてどうするんだ?
62超初心者:04/03/10 03:56
>>61
やっぱり、そうですよね。
何が本題かもよくわからない授業なので、???だったのですが。
何も分からない羊は言われるがままやるしかないのです(泣)
今日授業だったんですが、やっと十進の普通の計算機のプログラムの
ソースがプリントで配られました。それに関する説明は、ほとんどなし。
でも、1週間後には提出です。

おっと、こんな時期に授業だなんて言うと、面が割れちゃいますね。
先生のひとりよがりだな
64デフォルトの名無しさん:04/04/08 19:11
超初心者のふつつか者ですが質問させてください。

Dim rc as Long
rc = DB_Sub_Select(SQL)
If rc Then …

…以上のようにコードの一部がなっているのですが、
rcはLong型と定義されているので、If rc Then との記述の中では
Boolean 型に自動的に型の変換がされていると考えていいのでしょうか。
また、Ifのあとは条件式が普通ですが、これは、
rc=true の省略形なんでしょうか。
検索してみたんですが見つけられなかったんです(泣
65デフォルトの名無しさん:04/04/08 22:55
>>64
それで合ってるよ。
値が 0 だったら False
!0 だったら True ね。
マンゾクした?
66デフォルトの名無しさん:04/04/11 17:41
ユーザーに画像ファイルを選択させて、
その画像で15パズルが遊べるソフトを作ろうと思ったのですが、
画像を15分割する方法が、まったく見当も付きません。
ヒントだけでも良いので教えて下さい。よろしくお願いします。
ここって初心者が質問するスレだっけ?
68デフォルトの名無しさん:04/04/16 12:03
課題を出したがる初心者じゃない人が、あまり居ないんだろう
まぁ、少し強引かもしれないけど、初心者の質問が初心者に対する課題とも取れる。
69帳初心者問題:04/04/22 14:42
問題

テキストボックスに偶数を入力して、CommandButton1を押すと、「偶数です」のダイアログを返す。
奇数を入力しCommandButton1を押すと、「奇数です。」のダイアログを返し、入力した文字を
変数に代入し3をマイナスさせて、もう一度偶数テストさせ、奇数だった場合ダイアログは「奇数です。2回目の計算です。」
と返し、偶数になるまでこれを繰り返す。偶数だった場合は「偶数です。2回目の計算です。」と返す。

これできたら、ガッ
70最凶VB厨房:04/04/22 19:31
奇数から奇数を引くと偶数
>>66まだいるか?
では問題を出すぞい。
オーソドックスだが、万年暦を作成するべし。
二つのテキストボックスに西暦年号(1〜9999)と月数(1〜12)を入れて
ボタンをぽちっと押すと、該当する月のカレンダーが表示される。
一行目は日〜土曜の表示の形式。
もちろんシステムから日付を取得するというのはなし。
うるう年についてのちょいとした知識がいるけれども、それは
ネットで調べればすぐわかります。
って、そういうの開発しててソース盗もうって腹か
74デフォルトの名無しさん:04/07/08 15:59
>>72
作ったよ。でも作ったのはかならずUPって、
あぷろだにすればいいのか?
相互リンク

【初心者】課題をクリアしていくスレ【講習会】
http://pc5.2ch.net/test/read.cgi/gamedev/1086858349/
77デフォルトの名無しさん:04/11/09 13:36:29
78デフォルトの名無しさん:04/11/09 14:52:47
↑nullpon
79デフォルトの名無しさん:04/11/22 16:26:11
80デフォルトの名無しさん:04/12/02 10:03:40





















81デフォルトの名無しさん:05/02/05 04:26:27
【問題】

簡単な野球ゲームを作れ

(条件)

・打者は5回打席に立つ
・1打席ごとにW(敬遠)、H(ヒット)、O(アウト)を判定
・W,O,HはArrayから呼び込む
・ヒットの場合は1ポイント、アウトは0ポイント、敬遠はノーカウント
・打者のアベレージをだす
(例:5打席で2ヒット、2アウト、1敬遠の場合、2ヒット÷(5打席-敬遠の数)

ヒント:LoopとIf

82デフォルトの名無しさん:05/02/05 04:38:49
>>81
コンソールアプリケーションでもフォームでもOK
お好きなほうでどうぞ
83山崎 渉:05/02/06 22:20:20
山崎
84デフォルトの名無しさん:05/02/07 22:38:06
<<66
画像を読み込んでサイズを取得。
そして16個のマス目の座標を計算する。
するとそのマスに表示すべき画像の座標とサイズがわかる。
画像からBitbltで切り取って来て表示。

下手くそな日本語でスマソ。
わかった?
85デフォルトの名無しさん:2005/06/24(金) 17:30:24
Text1.Text = Null
86デフォルトの名無しさん:2005/06/24(金) 17:55:48
87デフォルトの名無しさん:2005/06/25(土) 11:20:59
【課題】
素数を列挙せよ。
そうだな60分でタイムアップとしようか?
どこまでイケルかな?

アドバイス:
アルゴリズムは問わない。CPUをこき使って構わない
その間はエロ動画鑑賞は控えるw
88デフォルトの名無しさん:2005/06/30(木) 03:31:55
スロットみたいにボタンを押したらランダムで柄がとまる・・・
そして3種類の絵柄が揃ったら おめでとう! って表示される

そんなプログラムをVBで書いて・・・
89デフォルトの名無しさん:2005/08/16(火) 18:21:07
str$()、str() chr$()、chr()

など

$の有り、なしの違いを教えてください。
$の意味ってなんですか?
90デフォルトの名無しさん:2005/10/27(木) 14:34:35
だれか頼むといてくれ。[ ]に入るやつ考えて。あたえられた文字を暗号化するプログラム。

Const Table = "QWERTYUIOPASDFGHJKLZXCVBNM?"

Private Sub Command1_Click()
ango = Text1.Text
decode = ""
n = Len(ango)
For i = 1 To n
p = Mid(ango, i, 1)
If [ ] Then
Index = [ ]
Else
Index = 26
End If
decode = decode + Mid(Table, Index + 1, 1)
Next i
Text2.Text = decode
End Sub

Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
End Sub

91デフォルトの名無しさん:2005/11/01(火) 00:33:05
if [i < 26] then

Index = [i]
92デフォルトの名無しさん
>>87
Private Sub Command1_Click()
  Dim n As Long
  Dim n2 As Long
  Dim lngtime As Long
  
  lngtime = Timer
  Debug.Print 1
  n = 1
  Do
    n = n + 1
    n2 = 1
    Do
      n2 = n2 + 1
      If n Mod n2 = 0 Then
        If n = n2 Then
          Debug.Print n
        End If
        Exit Do
      End If
      If Timer - lngtime >= 60 Then
        Exit Sub
      End If
    Loop
  Loop
End Sub

>>88
rnd関数とpictureboxコントロールのコントロール配列つかえば簡単にできる

>>89
$が付くとString型つかなければVariant型らしいけど実際にはしらべてない