専門学校36日目(情報工学)6月3日(月)

1時限~3時限
HTML基礎 スラスラわかるHTML&CSSの基本 第2版

メールでファイルを送ることが多々あるのでフォルダの添付やり方は覚えましょう。通常メールにはフォルダを添付することができない。圧縮することで添付できるようになります。
試験の際にも、フォルダごと送ることになります。
フォルダを右クリックするとZIPファイルに圧縮するという項目がある。これをクリックすると、圧縮される。圧縮はいろいろな形式があるがZIPが一般的。ZIPになると添付ができるようになる。

圧縮されたものが送られてきたときはどうするか。
Googleの設定でダウンロード先を確認するように設定を変えて、指定のフォルダにダウンロードする。そうでないとダウンロードフォルダに入ることになる。ダウンロードができたら、フォルダを右クリックしてすべて展開を押す。これで圧縮されたファイルを解凍できます。ZIPファイルは展開しても残るので、それは削除しても構わない。


今日はCSSを学びます。まずは用意されたindex.htmlをテキストエディターで開き、マークアップして体裁を整えました。マークアップといっても<h1>、<h2>、<p>といったタグを使って整えました。さらに見やすくするためにCSSを使う。ファイルの拡張子が異なり、style.cssのようになっている。デザインを担当するのがCSSで文書構造を担当するのがHTML。

h1 {
    color: #ff0000
}

のff0000は色を16進数で表したもの。
各順番としてはHTMLを書いてからCSSを作る。
HTMLのタグ(h1など)に対してCSSで指定する部分をセレクタ、colorの部分はプロパティという。

h1 {
    color: #ffd700
}
h2 {
    color: #008000
}
p {
    color: #fa8080
}

と見出しや文章の文字の色を変えました。colorは文字の色を指す。
<link rel="stylesheet" href="style.css">
はCSSファイルを読み込むためのタグ。これも指定は相対パスになっている。一つ上のフォルダ内にあれば../などとつけて指定します。でもたいていは同じフォルダ内にあると思います。今回はファイル名がstyle.cssなのでそのように指定しました。

CSSを使う方法は、CSSファイルを読み込む方法と、<style></style>タグで書くという方法がある。HTMLファイル内のstyleタグの中にCSSを記述することができる。

<style>
    p {
        color: #00ffff
    }
</style>

こんな感じに記述します。

borderは線を引くプロパティで次のように記述します。ここに書いてはいませんがh1 {    }などのセレクタがあってその中に記述します。

border: 4px solid #0000ff

は線の太さ、線の種類、線の色の値の順になっている。命令が複数あるときは1つの命令の終わりにセミコロンで区切る必要がある。
線を下だけに引く場合は
border-bottom; 4px solid #0000ff
のようにする。borderだけだと周囲を線で囲むことになる。
border-left
border-right
でそれぞれ左側の線、右側の線を設定できる。
borderだけで見出しっぽい表現ができる。
(border-leftを太い線にして、border-bottomを細い線にするなど)

baclgroundプロパティは背景の色を設定するものです。

font-sizeプロパティは文字のサイズを設定します。

paddingは余白を決めるプロパティです。
borderで囲まれたものはpタグの領域。領域の内側のスペースをとるのがpaddingになる。
padding: 100pxとすると左側の領域が100px分取れる。

marginは外側の領域を意味する。paddingもmarginもtop、bottom、left、rightを持つ。
課題でやったHTMLとCSSを載せておきます。

<!DOCTYPE html>
<html lang="ja">
 <head>
  <meta charset="UTF-8">
   <title>練習問題</title>
   <link rel="stylesheet" href="style.css">
 </head>
<body>
 <h2>北陸とは</h2>
 <h3>富山県(雷鳥)</h3>
 <img src="image/toyama/raityo.jpg" alt="らいちょう">
 <p>富山県は、四方を海と山脈で区切られた越中国と領域を同じくする。</p>
 <h3>石川県(イヌワシ)</h3>
 <img src="image/ishikawa/inuwashi.jpg" alt="いぬわし">
 <p>東西約100km、南北約200kmと南北に細長い形状をしている。</p>
 <h3>福井県(ツグミ)</h3>
 <img src="image/fukui/tsugumi.jpg" alt="つぐみ">
 <p>山中峠・木ノ芽峠・栃ノ木峠を通る稜線を境にして、北側の嶺北(越前地方)と、南側の嶺南(若狭地方および敦賀市)より構成される。</p>
 <p>Copyright &copy; ○○○, all rights reserved.</p>
 </body>
 </html>

CSSは次のようになりました。

h2 {
    background: #008b8b
}
h3 {
    border-left: 16px solid #0000ff;
    border-bottom: 4px solid #0000ff
}
p {
    color: #ff0000;font-size: 20px
}


4時限~6時限
Java基礎 スッキリわかるJava入門 第4版

//気温で真夏日かどうかを判定するプログラム
public class Main {
    public static void main(String[] args) {
        System.out.println("温度を入力してください。");
        double ondo = new java.util.Scanner(System.in).nextDouble();
        if (ondo >= 30.0) {
            System.out.println("真夏日です。");
        }
    }
}
//性別を判定するプログラム
public class Main {
    public static void main(String[] args) {
        System.out.println("性別(1:男性、2:女性)を入力してください。");
        int seibetu = new java.util.Scanner(System.in).nextInt();
        if (seibetu == 1) {
            System.out.println("男性です。");
        } else {
            System.out.println("女性です。");
        }
    }
}
//倍数を判定するプログラム
public class Main {
    public static void main(String[] args) {
        System.out.println("整数を入力してください");
        int num = new java.util.Scanner(System.in).nextInt();
        if (num % 2 == 0) {
            if (num % 4 == 0) {
                System.out.println("4の倍数です");
            } else {
                System.out.println("2の倍数です");
            }
        } else {
            System.out.println("2の倍数ではありません");
        }
    }
}
//手当を計算するプログラム
public class Main {
    public static void main(String[] args) {
        int teate = 0;
        System.out.println("手当の計算をします");
        System.out.println("住まいは賃貸ですか?(Y/N)");
        char a = new java.util.Scanner(System.in).next().charAt(0);
        if (a == 'Y' || a == 'y') {
            teate += 10000;
        }
        System.out.println("通勤は車ですか?(Y/N)");
        char b = new java.util.Scanner(System.in).next().charAt(0);
        if (b == 'Y' || b == 'y') {
            teate += 5000;
        } else if (b == 'N' || b == 'n') {
            System.out.println("1日分の交通費を入力してください");
            int cost = new java.util.Scanner(System.in).nextInt();
            teate += cost * 20;
        }
        System.out.println("あなたの1ヶ月分の手当の合計は、" + teate + "円です");
    }
}

教科書p.118- switch文

switch(変数や項目の名前) {
    case1 -> {
        処理1
    }
    case2 -> {
        処理2
    }
    default -> {
        処理
    }
}

というように書く。switch文を使うと見やすく簡潔になる。

//運勢を占うプログラム
public class Main {
    public static void main(String[] args) {
        System.out.println("あなたの運勢を占います");
        int fortune = new java.util.Random().nextInt(4) + 1;
        switch (fortune) {
            case 1 -> {
                System.out.println(fortune);
                System.out.println("大吉");
            }
            case 2 -> {
                System.out.println(fortune);
                System.out.println("中吉");
            }
            case 3 -> {
                System.out.println(fortune);
                System.out.println("吉");
            }
            default -> {
                System.out.println(fortune);
                System.out.println("凶");
            }
        }
    }
}

矢印(->)を使ってswitch文が書かれるようになったのは最近のこと。実務ではすでにあるコードをいじることがほとんどですので、昔の書きかたも学びましょう。

case 1, 2:
    System.out.println();
    break;

という書き方をする。breakがないと下にあるcaseに処理が移ることになる。breakするとswitch文を抜けるところまで処理が飛びます。

//運勢を占うプログラム
public class Main {
    public static void main(String[] args) {
        System.out.println("あなたの運勢を占います");
        int fortune = new java.util.Random().nextInt(5) + 1;
        switch (fortune) {
            case 1, 2:
                System.out.println("いいね");
                break;
            case 3:
                System.out.println("普通です");
                break;
            case 4, 5:
                System.out.println("うーん・・・");
        }
    }
}

先日(5月21日に)作った誕生日占いのif文をswitchで置き換えました。

public class Main {
    public static void main(String[] args) {
        System.out.println("お誕生日占いを始めます。"); 
        System.out.println("誕生日(西暦で8桁)を入力してください。"); 
        int a = new java.util.Scanner(System.in).nextInt(); 
        int y = a/10000; //年 
        int m = a/100%100; //月 
        int d = a%100; //日 
        int total1 = y+m+d; //年+月+日 
        //total1を桁ごとに分解する計算と4つの変数 
        int num1 = total1/1000; 
        int num2 = total%1000/100; 
        int num3 = total1%100/10; 
        int num4 = total1%10; 
        int total2 = num1+num2+num3+num4; 
        //1桁になるまで計算して変数を最終的にresultにまとめる 
        int result; 
        if ( total2 >= 10) { 
            result = total2/10+total%10; 
        } else { 
            result = total2; 
        }
        switch (result) {
            case 1 -> {
                System.out.println("あなたはアイデアマンタイプです");
                System.out.println("");
            }
            case 2 -> {
                System.out.println("あなたは平和主義タイプです");
                System.out.println("");
            }
            case 3 -> {
                System.out.println("あなたはお祭り好きタイプです");
                System.out.println("");
            }
            case 4 -> {
                System.out.println("あなたは保守的タイプです");
                System.out.println("");
            }
            case 5 -> {
                System.out.println("あなたはパイオニアタイプです");
                System.out.println("");
            }
            case 6 -> {
                System.out.println("あなたはロマンチストタイプです");
                System.out.println("");
            }
            case 7 -> {
                System.out.println("あなたはインテリタイプです");
                System.out.println("");
            }
            case 8 -> {
                System.out.println("あなたは大物タイプです");
                System.out.println("");
            }
            default -> {
                System.out.println("あなたはエンターテイナータイプです");
            System.out.println("");
            }
        }
    }
}

教科書p.136の練習問題3-5

public class Main {
    public static void main(String[] args) {
        System.out.print("[メニュー] 1:検索 2:登録 3:削除 4:変更>");
        int selected = new java.util.Scanner(System.in).nextInt();
        switch (selected) {
            case 1 -> {
                System.out.println("検索します");
            }
            case 2 -> {
                System.out.println("登録します");
            }
            case 3 -> {
                System.out.println("削除します");
            }
            case 4 -> {
                System.out.println("変更します");
            }
        }
    }
}

1~4以外の時は何もしないので、defaultは不要です。

プログラムは順次、分岐、繰り返しで動く。
今日から学ぶ繰り返し(ループ)処理で挫折する人が多いのでここを乗り越えましょう。
教科書のサンプルコードではwhile(boolean)とだけ書いてコメントがないが、本来はtrueやfalseで何が起こるかをコメントで示す必要がある。

while(継続条件)はループの条件で条件に合致していたらループ内の処理を繰り返す。
継続条件に合致しない場合は、while文を飛ばすことになる。
whileループが無限ループにならないように、上手に作りましょう。

//気温を下げるプログラム
public class Main {
    public static void main(String[] args) {
    int temp = 30;
    while (temp > 25) {
        temp--;
        System.out.println("温度を1度下げました。");
        System.out.println("温度が" + temp + "になりました。");
        }
    }
}

while文で画面を縦に1から10まで出力するプログラムを作ってください。

//1~10までを縦に出力するプログラム
public class Main {
    public static void main(String[] args) {
    int count = 1;
    while (count <= 10) {
         System.out.println(count);
         count++;
        }
    }
}
//1~50までの偶数を縦に出力するプログラム
public class Main {
     public static void main(String[] args) {
     int count = 2;
     while (count <= 50) {
         System.out.println(count);
         count += 2;
     }
    }
}


7限目
IT法規 知的財産権管理技能検定3級 公式テキスト改訂14版

教科書p.34-特許権の管理と活用
特許査定を受けてから第1年から第3年までの特許料を支払うと設定登録される。
登録がされると、特許公報が発行される。
公報発行から6か月以内は特許異議申し立てにより取り消されることがある。
4年目以降も特許権を維持するには特許料を納付する。納付期限6ヵ月以内なら追納できる。
一定の例外があって追納が許されることもある。
特許出願日から20年で終了する。最大5年延長されることがある。医薬品など。


第三者にライセンス(実施権)を与えたり、譲渡できる。
ライセンスの方法には以下二つある。

通常実施権
許諾された範囲で実施が認められ、差止請求や損害賠償は請求されない。
重複する範囲でも複数人に許諾できる。ここが占有実施権と違う。
登録不要。契約の相手以外には実施権を許諾しない独占的通常実施権がある。当事者の契約のみで登録は必要ない。

専用実施権
設定した範囲内で独占排他的に実施する権利を有する。重複する範囲については複数人に専用実施権を設定することができない。設定すると特許の保有者も実施できない。この設定は特許庁に登録する必要がある。


どちらの実施権も内容や地域、期間を限定して認めることができる。
特許が共有する場合、ほかの共有者の同意が必要になる。


例外的に本人の希望と関係なく、他人に通常実施権が付与されることがある。職務発明だと会社に通常実施権が認められる。
特許出願前から発明を実施していると、先使用権が認めらるケースもある。


授業の終わりにやった問題の答えだけ載せます。
ア)所定の期間内に第1年から第3年までの特許料を納付する。
イ) 設定登録を受けるためには、第1年から第3年までの特許料を納付する。
イ) 専用実施権を設定すると、特許権者も実施できない。
ウ) 契約せずに発生する実施権もある。

この記事が気に入ったらサポートをしてみませんか?