• ベストアンサー

プログラム作りです。

数学プログラムの授業をしています。:プログラム言語は「Basic」です。 次の問題を後から自分で考えますので、見本を示してくださいっT_T。 (1)文字列A~Jまでを入力して A,C,E,G,Iと一つ飛びに表示するプログラム (2) 自分の姓と名前をローマ字読みで入れ、表示は、1を入力したら、ローマ字で名前、姓の順に表示、2させるプログラム。  文字変数の扱い方がよくわかりません。その点も教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • kabasan
  • ベストアンサー率44% (264/588)
回答No.3

10 INPUT "SEI? ",A$ 20 INPUT "MEI? ",B$ 30 INPUT "HYOJI TYPE?(1=ROMA,2=KANA) ",A 40 IF A=2 THEN GOSUB 100 50 PRINT B$+" "+A$ 60 GOTO 990 100 文字列変換サブルーチン A$をカナ変換し、B$へ格納 B$をカナ変換し、A$へ格納 890 RETURN 990 END 手抜きなので、表示タイプの入力に2以外を入れたら強制的にローマ字で出します。 この100から890行の中身が重要なのでしょうね。 しかし、ローマ字からカナへ変換する機能はBASICにはありませんから自分で作ることになります。ローマ字には1,2,3文字表示で1,2文字のカナになりますね。また、違う書き方で同じカナになったりします。 A ア SI シ SHI シ KYA キャ さらに「ッ」が入るパターンで 北別府=KITABEPPU(PPが連なる) など、大変複雑でここには書ききれる物ではないと思います。 最もわかりやすい考え方としては、以下のとおり(行番号は省略します) C$="" 文字列Cをクリア IF LEFT$(A$,1)="A" THEN C$=C$+"ア" GOTO !!! 先頭1文字を比較 IF LEFT$(A$,2)="SI" THEN C$=C$+"シ" GOTO ### 先頭2文字を比較 IF LEFT$(A$,3)="SHI" THEN C$=C$+"シ" GOTO %%% 先頭3文字を比較 IF LEFT$(A$,3)="KYA" THEN C$=C$+"キャ" GOTO %%% 先頭3文字を比較 !!! A$=RIGHT$(A$,文字列長-1) 文字列から先頭1文字を削除 ### A$=RIGHT$(A$,文字列長-2) 文字列から先頭2文字を削除 %%% A$=RIGHT$(A$,文字列長-3) 文字列から先頭3文字を削除 この比較をすべてのローマ字で文字列長0まで繰り返します。(エレガントな方法ではありませんが) 関数の説明は省きましたが参考になりますかね?

その他の回答 (2)

  • kabasan
  • ベストアンサー率44% (264/588)
回答No.2

10 DIM HAIRETU$(9) 文字列の格納場所を10個(0~9)確保する 20 FOR I=0 TO 9 30 INPUT A$ 40 HAIRETU$(I)=A$ 入力した文字列を格納 50 NEXT I 10回繰り返し 60 FOR I=0 TO 9 STEP 2 ひとつおきに表示 70 PRINT AAA$(I); セミコロンをはずせば文字列ごとに改行する 80 PRINT" "; 連続で表示する場合は間にスペースを挿入。いらなければこの行削除 90 NEXT I 100 END (2)の質問はタイプミスされているので意味がわかりませんでした。

lifebird
質問者

補足

(2) 自分の姓と名前をローマ字読みで入れ、表示は、1を入力したら、ローマ字で名前、姓の順に表示、2を入力したら、カナ字で名前、姓の順に表示させるプログラム。  文字変数の扱い方がよくわかりません。その点も教えてください。

回答No.1

(1) 10 INPUT A$ 20 For I=1 to 5 30 Print MiD$(a$,2*I,1) 40 next I 文字列の入力は続けて”ABCDEFGHIJ"と入力すると仮定しました。 表示はA,C,E...と1行づつに表示されます。 (2) 10 input "Last Name";a$ 20 Input "First Name";b$ 30 Input c 40 if C=1 then print a$;b$ else print b$;a$ 文字変数の扱い方がよくわかりませんとのことですが、どのようなことが判らないのでしょうか?

lifebird
質問者

補足

なんだか難しい構文(関数?)ですね。 文字関数に当たっては、下記ぐらい簡単にならないですかねぇ? 10:A$="Play" 20:B$="Station" 30:C$=A$+B$ 40:PRINT C$ 50:END これでPlay Stationと表示できる。

関連するQ&A

  • ローマ字で名前の記入

    申請書類の記入について初歩的なことをお聞きしたいのですが、ローマ字指定で名前を書く場合、姓/名の順又は、名/姓どちらで書けばよいのでしょうか。また、スペルは全て大文字?それとも最初の一字だけ大文字ですか?どちらが良いのかわかりません。 あと、本人のサインを英語で書くよう指示がある場合、筆記体で書くのでしょうか。それともローマ字でも良いのでしょうか? 分かりづらい質問だとは思いますが、どなたかよろしくお願い致します。

  • Facebookの名前変更(漢字→ローマ字)につい

    FaceBookで、友達のウォールに書き込んだ時に表示される名前を 漢字→ローマ字に変えたいのですが、方法がわからず困っています。 どなたかご存知の方、助言いただけますようお願いいたします。 こちらの方とまったく同じ質問です。(回答が正反対のローマ字→漢字であり、逆にやってみたができなかった) (http://oshiete.orangepage.net/qa6405338.html?order=DESC&by=datetime) 登録時は、 最初の画面でローマ字で名前を入力し、次の漢字での入力画面で漢字を入力しました。 その後、漢字入力を取り消すために、アカウントーアカウント設定ー名前 で 変更をしようと思いましたが、「フルネーム」「別名」はローマ字になっており、 どこにも漢字で表記してないので漢字をローマ字に訂正しようがありません。 どのようにしたら自分や相手先に自分の名前がローマ字で表示されるようになるでしょうか? 現状↓ ■アカウント設定→名前→変更 フルネーム表示:ローマ字 名        :ローマ字 ミドルネーム  :なし 姓        :ローマ字 別名       :ローマ字 ■ホーム 自分の写真の横に漢字の名前 その下にプロフィール変更の文字 ■プロフィール ローマ字(ローマ字) ■友達のところにコメントを書き込みした時 漢字 ちなみに、こちらの質問も参考にしましたが、上記現状のままです。 (http://okwave.jp/qa/q5848634.html) どなたかお力を貸していただけますよう、よろしくお願いいたします。

  • Macのローマ字入力について

    Macのローマ字入力について iMacのローマ字入力で「ta→た」の変換のみができなくなりました。 まず「ta]と入力しようとすると、「t」が表示され、「a」は表示されず、少し間をおいて「aaaa」になってしまいます。 他の50音文字のローマ字入力は可能なのですが、「た」のみできません。 キーボードを他のものに変えてみても症状はかわりません。 突然にできなくなり、原因はまったくわかりません。 どなたかお詳しい方がいらっしゃいましたら、解決法をご教授いただけませんでしょうか。 よろしくお願い申し上げます。

    • 締切済み
    • Mac
  • このようなプログラムを教えて下さい

    コマンドプロンプト上の標準入力で文字列と数値を複数組入力していき、 その入力された文字列とそれに対する数値をその数値で比較し最後に大きい順で順に表示するようなプログラムを作りたいのですが、よく構造がわからないので教えて下さい。(ちなみに入力された文字列と数値は、それらを1つのクラスのフィールドとして定義するとして) たとえば人の名前と年齢を入力し大きい順に並べるとか NAME :Bob age :12 NAME :Tom age :25 NAME :Ken age :3 NAME : NAME:Tom,age:25 NAME:Bob,age:12 NAME:Ken,age:3 このように出力したいのですが もしこのようなプログラムを作成することのできる方いましたら、 教えてやってください。

    • ベストアンサー
    • Java
  • ローマ字での氏名の書き方

    最近、ローマ字で名前を書く場合Tarou YamamotoがYamamoto TarouになりましたがT.Yamamotoのように省略して書く場合はYamamoto T.でいいのでしょうか。 また、姓はYAMAMOTOのように大文字で書いたりするのを見たりしますがこの使い方についても教えてください。

  • エクセルを使った文字入力練習シート

    例えば、エクセルシートのA1のセルに見本となる「ひらがな」文字を表示しておき、B1セルにローマ 字入力で該当文字を入力し、スペルが正しければ○、誤りは×をC1セルに表示し、×の場合には 正しいスペルをD1に表示する文字入力練習シートを作成したいのですが、簡単な方法があれば 教えて下さい。エクセルは2007、2008です。

  • Outlook2003 アドレス帳の名前について

    Outlook2003 アドレス帳の名前について教えてください。 連絡先の登録は、英語と日本語を混在して使用しております。日本語で登録しているものは問題ないのですが、英語(ローマ字)で登録している場合「アドレス帳」の名前の表示が「姓名」が逆に表示されてしまいます。 <連絡先:漢字で入力した場合> 姓:山田 名:太郎  アドレス帳の名前は、「山田太郎」と表示される。 <連絡先:ローマ字で入力した場合> 姓:Yamada 名:Taro アドレス帳の名前は、「Taro Yamada」と表示される。 ローマ字で入力した場合でも、姓名の並びで「Yamada Taro」のように表示することは可能でしょうか?

  • Basicでのプログラムなのですが・・・

    配列変数についてなのですが、 『20個のデータを入力し、大きい順に並べて表示するプログラム。』 なのですが… 言語:【BASIC】 ソフト:【N88】 を使用しています。 とりあえず、 10 DIM A(20) 20 FOR I=1 TO 20 30 INPUT A(I) 40 NEXT I まではわかるのですが、ここから先がわかりません。 ここから先はどのようにすればいいでしょうか。 どなたかご教授いただけると幸いです。

  • romanize() を使って・・・

    はじめまして。今年からプログラミングをやりはじめた超初心者です。 皆様にとっては簡単なものかもしれませんが私にはどうしてもわからずこちらに投稿させていただきました。 数を入力し、ローマ字を表示するというプログラムなのですが、たとえば 483を入力してromanize(483, 1, ’a’),romanize(483, 5, ’b’),romanize(483, 10, ’c’),romanize(483, 50, ’d’),romanize(483, 100, ’e’)のようにすると eeeedcccaaa と表示するプログラムを作りたいのです。私がわからないのは入力された数字の中に1, 5, 10などの数字がいくつ含まれているか、また含まれていた場合どのようにしてletter文字 aやbなどのローマ字を表示するかです。 今まではなんとか間違っていてもなんらかを書いていろいろ試し、自力でやっていたのですがどうにも手がつけられないので質問させていただきました。 ご回答のほうよろしくお願いします。

  • Facebook名前表示変更について

    こんにちは。 Facebookに登録したのですが、自分や相手先に自分の名前が漢字で表示されていて、 ローマ字に変更したいのですが、方法がわかりません。 登録時は、 最初の画面でローマ字で名前を入力し、次の漢字での入力画面で漢字を入力しました。 その後、漢字入力を取り消すために、アカウントーアカウント設定ー名前 で 変更をしようと思いましたが、「フルネーム」「別名」はローマ字になっており、 どこにも漢字で表記してないので漢字をローマ字に訂正しようがありません。 どのようにしたら自分や相手先に自分の名前がローマ字で表示されるようになるでしょうか? よろしくお願いします。