工学部学生のための
プログラミング入門

(単位名:コンピュータプログラミング)

末広ページへ このコーナーの目次へ 最新情報

 このページは、岐阜大学 工学部 の授業です。

私の授業は,授業開始前の2時間前(この授業は,午前6時50分)に,どんな「警報」でも出ていたら休講です。「警報」が出ていない場合は,学校の方針に従います。注意報は授業あり。これは私の授業のルールです。学校のルールではありません。

連絡事項

期末テスト 2月5日(木)1限目(08:50〜)生命104番教室,機能105番教室

問題:5大機能,ハード・ソフトの階層図,「コンピュータを学習の道具にする3つの工夫」(論述)など


講師:

 斎藤末広(岐阜大学非常勤)

 岐阜大学教育学部教育学科治療教育コース卒業後、ソフトハウス、株式会社テスクを経て、日本総合ビジネス専門学校にて教壇にたち,現在は,ウェブで教材を配付している。

 情報処理技術者試験,TOEIC指導が専門

目標:

 リテラシー(コンピュータを使って勉強する)
 プログラミングの基礎を学ぶ

授業の進め方

 出席はときどき取る。

 年内の授業は,10分ほどキーボード練習がある。

 タッチタイプの練習,メール操作練習

 VBScript,JavaScriptプログラミング

単位課題

 1 タッチタイプで目標数値をクリア

 美佳タイプのローマ字単語で,手元を隠して,45 字/分かつミス9回までで合格。各授業最後に,テスト(学生証必要)可能,締切は,(休講になったらその前の)最後の授業,(参考:岐阜大学美佳タイプ選手権) → これで最低限の単位はでます。

 2 期末テスト

 コンピュータのハード・ソフト,プログラミングの用語の意味を問います。

使用するハード・ソフト

 岐阜大学総合情報処理センター実習室パソコン(Windowsパソコン)
 美佳タイプ

教科書・参考資料

 指定教科書はありません。

 Winパソコン基本操作:チェックリスト
(日本総合ビジネス専門学校社会人向け短期パソコン習得講座用から)

 『驚異のブラインド・タッチ』増田忠 著 参考サイト:増田式キーボード学習法

 キーボード練習プログラム ミカタイプ:美佳のタイプトレーナ ダウンロード英字用 テキスト1テキスト2

 Windows Script Host@マクロソフト社公式サイト)

強く薦めること

 この授業で、パソコン、インターネットを自分の道具にすること。そのためには、キーボードを見ずにたたけるようにすること、さらに、自分専用のパソコンを手に入れ、すぐにでも自分の道具して使用を開始することである。→ 自分用のパソコンを手に入れよう。

 自分の学習パターンにインターネットを利用することを組み入れること。

授業の約束

 席は教室に入った順番で座ること。実習室を出るときは,自分の席,近くの席の椅子をしまう事


第14回目(1/29) 復習

必須課題

smpMenseki.vbs 三角形の面積を求める

smpRuikei.vbs: 1*2*..*n までの計算する。ただし,n < 10 で行うこと。

smpStdEng.vbs ALCのページを画面に左の半分,iKnowを右上1/4,memo.txt を右下1/4に表示をする。

任意課題

smpTimeStamp.vbs 現在時刻から,時分秒.txt (例 090352.txt) というファイルを作る

アンケート

学科,下二桁学生番号,氏名

A 授業の充実度(1-5)
B 授業の理解度(1-5)
C ペアの人の名前と,その人の得意科目(後期の授業の中で)を聞く
D 来年の人の授業への提案

本日は,正式なアンケートもあります。

前回の質問から

> 休んだときの授業のプログラムを作る必要はありますか?

作る必要はありません。今日の課題が4つともでできたらこの授業は卒業です。

> Option Explicit を消して,変数宣言エラーをなくすのはどうでしょうか?

それでもいいです。ただし,変数名タイプミスのエラーがあっても発見されず,そのため正しく動作していると勘違いしやすくなります。


第13回目(1/22) パソコンを使って学習 URL作成

目的

URLをプログラムを利用して作成する

作業

次のプログラムを,mkAmazon.vbs として,作成する。

エラーを訂正する。

Option Explicit
xstr = InputBox("ISBN-10: ?")
xurl ="http://www.amazon.co.jp/exec/obidos/ASIN/"

xurl = xurl & xstr

Set xShell = CreateObject("Wscript.Shell")
xShell.Run(xurl) 

 

課題

 ALCYahooGoogleで同様のプログラムを作成

 iKnow!に,席の前後左右の人,さらに,自分の友人で英語ができる人,をつなぐ

 iKnow!の日記に,大学受験のときに使った参考書の名前とAmazonのURLを貼り付ける( 見本 )

 (iKnow!の日誌はだれにでも見えてしまうので注意すること)

アンケート

学科,下二桁学生番号,氏名

A 授業の充実度(1-5)
B 授業の理解度(1-5)
C ペアの人の名前と,その人の大学受験のときの英語の参考書の名前
D 質問そのほか感想


第12回目(1/15) パソコンを使って学習

目的

パソコンを使って専門の勉強をする

作業

用語学習フォルダを作成

以下のサイトを特定の位置に開く

単語を覚える iKnow!- 英語学習コミュニティ - iKnow!

連語を探す 地球人ネットワークを創るアルク:スペースアルク

課題

 実際に用語をさらに10個追加し,iKnow!で学習する

 自宅のパソコンで同様のことを行う

アンケート

学科,下二桁学生番号,氏名

A 授業の充実度(1-5)
B 授業の理解度(1-5)
C ペアの人の名前と,冬休みの思い出
D 質問そのほか感想

 


第11回目(12/18) 復習

ホームページの表示の仕方

美佳タイプの最高速度を競う

iKnow!紹介

アンケート

学科,下二桁学生番号,氏名

A 授業の充実度(1-5)
B 授業の理解度(1-5)
C ペアの人の名前と,その人の好きな科目(今の大学の授業の中で)
D 質問そのほか感想


第10回目(12/11) 応用:HTML利用

目的

 HTMLの構造を学ぶ

学習項目

 HTMLサンプル解説 smp1211-01.htm

課題

課題1 smp1211-01.htm を,navi_ALC.htm を作成しなさい。

課題2 前回のref_ALC.vbs を,ref2_ALC.vbs として,そから,navi_ALC.htm を実行しなさい。

課題3 前回作成したプログラムをすべて課題2のように変更しなさい。

アンケート

学科,下二桁学生番号,氏名

A 授業の充実度(1-5)
B 授業の理解度(1-5)
C ペアの人の名前と,その人の好きな科目(今の大学の授業の中で)
D 質問そのほか感想

質問事項

Q 漢字の文字だと検索できません。

A SendKey() が,キーボードを叩いているのと同じことをしてます。ですから,英字は単純に遅れますが,変換が必要な漢字は送ることができません。対応するには,別のやり方をする必要があります。

Q ¥は,どういう意味でしょうか?

A ¥は,日本語のOSで表示すると¥ですが,海外でみると,\(バックスラッシュ)の記号になります。フォルダの中にフォルダがあったとき,また,フォルダとファイルの切れ目を表します。c:\work\test.txt は,海外では,c:\work\test.txt となります。

\は,本当は半角ですが,全角で書いています。



 

第9回目(12/04) 応用:辞書サイト検索プログラム

目的

 実際に使えるツールを作成する。

学習項目

 Sleep メソッド,Run メソッド,SentKey メソッド

例題

ref_ALC.vbs

Option Explicit

Dim xs, xword

xword = InputBox("調べたい語句は?")

Set xs = CreateObject("Wscript.Shell")

xs.Run("""IEXPLORE.EXE"" http://www.alc.co.jp/")

WScript.Sleep(10000)

' TABキーで位置付け
'WScript.Sleep(200)
'xs.SendKeys("{TAB}")

WScript.Sleep(200)
xs.SendKeys(xword)

WScript.Sleep(200)
xs.SendKeys("{ENTER}")

ref_ALC_Encarta.vbs (未完成)

Option Explicit

Dim xs, xs2, xword

xword = InputBox("調べたい語句は?")

Set xs = CreateObject("Wscript.Shell")

xs.Run("""IEXPLORE.EXE"" http://www.alc.co.jp/")

WScript.Sleep(10000)

' TABキーで位置付け
'WScript.Sleep(200)
'xs.SendKeys("{TAB}")

WScript.Sleep(200)
xs.SendKeys(xword)

WScript.Sleep(200)
xs.SendKeys("{ENTER}")

Set xs2 = CreateObject("Wscript.Shell")

xs2.Run("""IEXPLORE.EXE"" http://encarta.msn.com/encnet/features/dictionary/dictionaryhome.aspx")

WScript.Sleep(10000)

' Tabで位置付け

WScript.Sleep(200)
xs.SendKeys("{TAB}")
WScript.Sleep(200)
xs.SendKeys("{TAB}")
WScript.Sleep(200)
xs.SendKeys("{TAB}")
WScript.Sleep(200)
xs.SendKeys("{TAB}")
WScript.Sleep(200)
xs.SendKeys("{TAB}")
WScript.Sleep(200)
xs.SendKeys("{TAB}")


WScript.Sleep(200)
xs2.SendKeys(xword) 

WScript.Sleep(200)
xs2.SendKeys("{ENTER}")

課題

課題1 ref_ALC.vbs の Sleep の数字を調整して,実用性を高めなさい。

課題2 ref_ALC_goo.vbs を作成しなさい。

goo辞書 http://dictionary.goo.ne.jp/

課題3 ref_ALC_Encarta_Cambridge.vbs を作成しなさい。

Cambridge辞書 http://dictionary.cambridge.org/

参考

Encartaは,英語を母語とする人向け
Cambridgeは,英語学習者向け

アンケート

学科,下二桁学生番号,氏名

A 授業の充実度
B 授業の理解度
C 質問そのほか感想
D ペアの人の名前とその人の冬休みの予定

冬休みのお勧め

字幕なしで映画を見る訓練(主宰,斎藤末広)


 

第8回目(11/27) オブジェクト

目的

 実際に使えるツールを作成する。

 オブジェクトを理解する。

学習項目

 InputBox 関数

 オブジェクト

 日付の取り扱い

 ファイル,フォルダの取り扱い

例題

smp1127-01.smp

Option Explicit

'大切な変数
Dim xmyPage '選択したホームページの番号

'使い捨て変数
Dim d

' InputBox は,文字入力を促す関数
xmyPage = InputBox( "1 〜 3 の数字を入力してください。")
                    
d = MsgBox("今,入力したのは:" & xmyPage)

smp1127-02

Option Explicit

'大切な変数
Dim xmyPage '選択したホームページの番号
Dim xobjIE  'Internet Explorer をコントロールするオブジェクトの名前

'使い捨て変数
Dim d

' InputBox は,文字入力を促す関数
xmyPage = InputBox( "1 〜 3 の数字を入力してください。")

' オブジェクト のときの代入は,Set が必要
Set xobjIE = Wscript.CreateObject("InternetExplorer.Application")

If xmyPage = 1 Then
    d = xobjIE.Navigate2("http://www.3721p.com")
End If

If xmyPage = 2 Then
    d = xobjIE.Navigate2("http://www.yahoo.co.jp")
End If

If xmyPage = 3 Then
    d = xobjIE.Navigate2("http://www.google.co.jp")
End If

xobjIE.Visible = TRUE

smp1127-03.vbs

Option Explicit

'大切な変数
Dim xobjFS 'FileSystem をコントロールするオブジェクトの名前

'使い捨て変数
Dim d

Set xobjFS = CreateObject("Scripting.FileSystemObject")

On Error Resume Next

d = MsgBox("フォルダの作成とファイルの作成をします。ウィルスチェックされる場合があります")

xobjFS.CreateFolder("testfolder")  'フォルダの作成
xobjFS.CreateTextFile("testfolder\text.txt")  'ファイルの作成

smp1127-04.vbs

Option Explicit

'大切な変数
Dim xobjFS 'FileSystem をコントロールするオブジェクトの名前
Dim xFilePath 'ファイルを保存する場所
Dim xYYYYMMDD '8桁年月日  2006年08月24日 → 20060824

xFilePath = "Z:\testfolder2" '作成するファイルを保存するフォルダ

'使い捨て変数
Dim d

' Year(Date) 4桁年数
' Right("0" & Month(Date), 2)    '例 012 → 12,08 → 08
' Right("0" & Day(Date), 2)      '例 024 → 24,07 → 07

xYYYYMMDD = Year(Date) & Right("0" & Month(Date), 2) & Right("0" & Day(Date), 2)

xYYYYMMDD = InputBox("訂正が可能です", "日付入力", xYYYYMMDD)

Set xobjFS = CreateObject("Scripting.FileSystemObject")

On Error Resume Next

d = MsgBox("フォルダの作成とファイルの作成をします。ウィルスチェックされる場合があります")

d = xobjFS.CreateFolder(xFilePath)   'フォルダの作成
d = xobjFS.CopyFile(xFilePath & "\" & "jYYYYMMDD.txt", xFilePath & "\" & "j" & xYYYYMMDD & ".txt")  'ファイルの作成

課題

課題1 smp1127-02.vbs を修正し,myStartWeb.vbs します。1:岐阜大学,2:ヤフーメール,3:コンプロ授業 と表示して,それぞれホームページを開くようにしなさい。

課題2 smp1127-04.vbs を修正し,myMemo.vbs とします。元ファイルを,jHHMMSS.txt ,コピーして出来るものを j から始まる6桁日付のファイル(例 j153025 としなさい。ヒント:time が時刻。時,分,秒は,それぞれ,time から,Hour( ),Minute( ),Second( ) で取得できる。


質問事項

Q Set xobjIE = Wscript.CreateObject("InternetExplorer.Application")の,Wscriptがなくても,いいみたいです。

A 私の勘違いでした。この場合の"Wscript."は,省略可能です。省略したほうがわかりやすいので,次からは省略します。

Q xobjIE.Navigate2( ) は,xobjIE.Navigate( ) でもいいみたいです。

A それでも動きますが,Navigate2( ) の方が( ) の中の使い方に制限が少ないです。応用しやすいので,.Navigate2( ) の方を使いましょう。

Q 家だと,*.vbs の拡張子に変更できません。

A 拡張子を表示するモードにしてから拡張子を変更します。

 


第7回目(11/20) 関数/メソッド

目的

 関数の作り方を学ぶ

学習項目

 Function 定義

例題 2 + 3。(smp1120-00.vbs)

Option Explicit

dim ans, d

ans = 2 + 3

MsgBox("解答:" & ans)

例題 Function定義(smp1120-01.vbs)

Option Explicit

dim xans, d

xans = xAdd(2, 3)

MsgBox("解答:" & xans)

Function xAdd(x, y)

	dim d
	d = x + y
	xAdd = d
	
End Function

課題1 xSub,xMult,XDiv 関数を作成しなさい。

課題2 1から10まで合計するを関数を利用して書きなしなさい。なお,関数名は,xsum(x),内容を1からxまで合計と定義。

解答例

Option Explicit

dim xans

xans = xSum(10)

MsgBox("合計: " & xans)

'関数定義

Function xSum(x)

    dim s, n
    n = 1
    s = 0

    Do
        If n > x Then
            Exit Do
        End If

        s = s + n
        n = n + 1

    Loop

    xSum = s

End Function
 

関数を,○から△までを足すとすると

Option Explicit

dim xans

xans = xSum(1, 10)

MsgBox("合計: " & xans)

'関数定義

Function xSum(x, y)

    dim s, n
    n = x
    s = 0

    Do
        If n > y Then
            Exit Do
        End If

        s = s + n
        n = n + 1

    Loop

    xSum = s

End Function


第6回目(11/13) 復習

今までの課題でやっていないものをすべて行う。

今までやった課題のプログラムを修正する。

インデント(段付け)

コメント(メモ書き)

第5回目(10/30)

課題1 1から10までの,奇数のみの合計する。

課題2 2次方程式の2つの答えをひとつのmsgboxで表示。b^2-4ac < 0 のとき、計算不能と表示。

参考 http://d.hatena.ne.jp/suehiro3721p/20081030#ju

第4回目(10/23)

参考 http://d.hatena.ne.jp/suehiro3721p/20081023

課題1 円周の長さを求めるプログラム

課題2 台形の面積を求めるプログラム

課題3 球の体積を求めるプログラム

第3回目(10/16) 変数,関数

目的

 プログラムを書くときの変数,関数について学ぶ

重要用語

 拡張子,変数,関数,文字型,数値型

学習項目

hello.vbs

MsgBox("Hello")

 

add.vbs

a = 5
b = 3
ans = a + b

MsgBox(ans)

 

add01.vbs

Option Explicit 'エラーを調べるためのおまじない

dim a, b, ans

a = 5
c = 3
ans = a + b

MsgBox(ans)

input.vbs

Option Explicit

dim a, b, ans

a = inputBox("aは?")
b = inputBox("bは?")

ans = CDbl(a) + CDbl(b)

MsgBox(ans)

課題

sub, mult, dev を作成する。割り算記号は,/

三角形の面積,円の面積のプログラムを作成

 

第2回目(10/09) 5大機能とハードソフト

目的

 コンピュータ世界の全体像を理解する。

学習項目

 5大機能(5大装置)と9つの名称

 ハードウェアとソフトウェア

 プログラムとは

授業の流れ

 講義(期末テストに出すところ)

 今日のプログラム 2008-10-02 - 情報処理技術者試験・英語学習-ジャンジャン日記

 キーボードの練習


第1回目(10/02) 美佳タイプ,授業の進め方説明

目的

 キーボード練習ができる状態にする。

学習項目

 美佳タイプをダウンロードし,各自の[ホームディレクト](Z:)に入れる。
 ヤフーメールで,自分のメールを出せるように設定する。

 補足:[ホームディレクト]は,岐阜大学の方で用意してあり,卒業まで使用可能です。

授業の流れ

 席の座り方,退出の仕方の約束確認

 電源の入れ方,ID(ユーザー名)とパスワードの入れ方,電源の落とし方の説明

 Winパソコン基本操作:チェックリスト

 文字書きスピードの測定 日本国憲法前文 タッチタイプの目標はこの3倍。

 指回しのやり方説明

 美佳タイプをダウンロードし,各自の[ホームディレクト]に入れる。
  メニューの4-2の確認

 ホームポジションの確認

 今日の道具

 2008-10-02 - 情報処理技術者試験・英語学習-ジャンジャン日記

先生にメールを出す

件名(subject):1002

内容:

氏名

学科 生命,機能,その他(具体的に)

A 授業の充実度 5段階評価(1 から 5)

B 授業の理解度  5段階評価(1 から 5)

C 授業の感想,よく分からなかった用語

D アンケート

1 自分専用のパソコンを所有している?  はい,いいえ
2 手元にみずにタイピングができる?  はい,いいえ
3 勉強にパソコンを利用している? はい,いいえ

メールアドレスは,spage@yscon.co.jp に空メールを送り,返信が届いたら,そこに書いてあるメールアドレスに送る。件名は,必ず,半角数字を利用すること。


spage@yscon.co.jp

末広ホームへ このコーナの目次へ