練習問題2

問題 7-10-1

1~100までの数字をファイル x.txt に書くプログラムを作りなさい。

作成されたファイルの中身

x.txt

1
2
3
4
..
100


 

問題 7-10-2

aa~zzまでの文字の組み合わせをファイル xx.txt に書くプログラムを作りなさい。このファイル xx.txt はこの後の問題で使用します。

作成されたファイルの中身

xx.txt

aa
ab
ac
ad
ae
...
az
ba
bb
bc
bd
...
zz

 

問題 7-10-3

問題7-10-2で作ったファイルxx.txtの各行に番号をつけてファイル yy.txtに出力するプログラムを作りなさい。

xx.txt

aa
ab
ac
ad
ae
...
az
ba
bb
bc
bd
...
zz

 

->

yy.txt

1: aa
2: ab
3: ac
4: ad
5: ae
...
27: az
28: ba
29: bb
30: bc
31: bd
...
676: zz

 

 

 

 

問題 7-10-4

ファイルxx.txtの各行に番号をつけてファイル yy.txtに出力し、もし hi という文字列があれば"こんにちは"に置き換えるプログラムを作りなさい。

xx.txt

aa
ab
ac
ad
ae
...
az
ba
bb
bc
bd
...
hh
hi
hj
...
zz

 

->

yy.txt

1: aa
2: ab
3: ac
4: ad
5: ae
...
27: az
28: ba
29: bb
30: bc
31: bd
...
190: hh
191: こんにちは
192: hj
...
676: zz

 

 

 

 

問題 7-10-5

ファイルxx.txtの各行を3行ずつくりかえし、番号をつけてファイル yy.txtに出力するプログラムを作りなさい。

xx.txt

aa
ab
ac
ad
ae
...
az
ba
bb
bc
bd
...

zz

 

->

yy.txt

1: aa
2: aa
3: aa
4: ab
5: ab
6: ab
7: ac
8: ac
9: ac
10: ad
11: ad
12: ad
...
2025 : zy
2026 : zz
2027 : zz
2028 : zz

 

 

 

 

答 7-10-1

        FileOpen(1, "test.txt", OpenMode.Output)
        Dim x
        For x = 1 To 100
            PrintLine(1, x)
        Next
        FileClose(1)

        

答 7-10-2

        FileOpen(1, "xx.txt", OpenMode.Output)
        Dim x, y, c1, c2
        For x = 1 To 26
            For y = 1 To 26
                c1 = Mid("abcdefghijklmnopqrstuvwxyz", x, 1)
                c2 = Mid("abcdefghijklmnopqrstuvwxyz", y, 1)
                PrintLine(1, c1 & c2)
            Next
        Next
        FileClose(1)

        

答 7-10-3

        FileOpen(1, "xx.txt", OpenMode.Input)
        FileOpen(2, "yy.txt", OpenMode.Output)
        Dim x, n
        For n = 1 To 676
            Input(1, x)
            PrintLine(2, n & " : " & x)
        Next
        FileClose(1)
        FileClose(2)

        

 

答 7-10-4

        FileOpen(1, "xx.txt", OpenMode.Input)
        FileOpen(2, "yy.txt", OpenMode.Output)
        Dim x, n
        For n = 1 To 676
            Input(1, x)
            If x = "hi" Then
                x = "こんにちは"
            End If
            PrintLine(2, n & " : " & x)
        Next
        FileClose(1)
        FileClose(2)

        

 

答 7-10-5


        FileOpen(1, "xx.txt", OpenMode.Input)
        FileOpen(2, "yy.txt", OpenMode.Output)
        Dim x, n, k
        k = 0
        For n = 1 To 676
            Input(1, x)
            k = k + 1
            PrintLine(2, k & " : " & x)
            k = k + 1
            PrintLine(2, k & " : " & x)
            k = k + 1
            PrintLine(2, k & " : " & x)
        Next
        FileClose(1)
        FileClose(2)