2020-10-24 用課題

進捗

課題

TODO

自分用メモ

Matplotlib

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
import numpy as np
import matplotlib.pyplot as plt
from scipy.special import sph_harm

m,l = 1,2
theta = np.linspace(0, np.pi, 101)
phi = np.linspace(0, 2 * np.pi, 151)
theta, phi = np.meshgrid(theta, phi)

r = sph_harm(m, l, phi, theta).real
x = np.abs(r) * np.sin(theta) * np.cos(phi)
y = np.abs(r) * np.sin(theta) * np.sin(phi)
z = np.abs(r) * np.cos(theta)

fig = plt.figure(figsize=(8, 8))
ax = fig.gca(projection="3d")
ax.plot_surface(x, y, z, color="aqua", edgecolor="k")
plt.axis("off")
plt.show()

TeX の記録

\begin{align} u_{tt} = \triangle u. \end{align}

競プロ、AtCoder

6. 素因数分解を活用した考察6-4. 約数の構造を知る)

問題

正整数 A,B が与えられます。 A と B の正の公約数の中からいくつかを選びます。 ただし、選んだ整数の中のどの異なる 2 つの整数についても互いに素でなければなりません。 最大でいくつ選べるでしょうか。

(数値例)

・A=60

・B=72

答え:3

60 と 72 の公約数は 1, 2, 3, 4, 6, 12 の 6 個ですが、このうち 1, 3, 4 を選ぶと「どの二つも互いに素」となっています。

ポイント

正の整数 $G$ が与えられる。$G$ の約数の中から、「どの二つも互いに素となるように」いくつか選びたい。選べる個数の最大値を求めよ。

コードの参考

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#最大公約数の計算: 再帰的に書いた
#gcd = Greatest Common Divisor
def gcd(a,b):
    return a if b == 0 else gcd(b, a % b)

def factorize(n):
    i = 2
    res = []
    # いつものルート n までの処理
    while i*i <= n:
        while n % i == 0:
            # 割り切れる間は割り続ける
            n //= i
            # 各素因数のべきなど細分してもいいが, とりあえずリストにバンバン突っ込む
            # あとの処理を考えるならはじめから set にしてもいい
            res.append(i)
        i += 1
    # n が素数の場合の処理
    if n > 1:
        res.append(n)
    return res

def solve(a, b):
    g = gcd(a, b)
    pf = factorize(g)
    # 素因数のべきを考えずにただただ素因数をリストに突っ込んでいるので, set で素因数の個数が取れる
    return len(set(pf)) + 1

print(solve(12, 18)) # 12, 18 => 3
print(solve(420, 660)) # 420 660 => 4
print(solve(1, 2019)) # 1 2019 => 1
1
2
3
3
4
1

IT 基礎知識

復習

OSI基本参照モデル

いろいろなプロトコル

本の記述を追いかける

P.408 7.8 交換方式

P.408 パケット交換方式

パケット通信のメリット・デメリット

メリット

耐障害性 - 通信路を固定しないため,迂回経路が取れる。 - パケット交換機にデータが蓄積されているため,復旧まで待てる。 - パケット多重 - 1 対 1 の通信で回線を占有する必要がないため,1つの回線を多くのノードで共有でき,回線を効率的につかえる - 異機種間接続性 - パケット交換機で中継するときにプロトコル変換・速度変換でエンドノードどうしが同じプロトコルをサポートしていなくても通信できる

デメリット

P.408 ATM 交換方式

P.408 ペイロード(payload)

P.410 輻輳

P.370 7 ネットワーク

P.370 7.1.1 OSI基本参照モデル

P.370 プロトコルとサービス

特定ベンダー(メーカー)の独自技術に大きく依存した製品、サービス、システム等を採用した際に、他ベンダーの提供する同種の製品、サービス、システム等への乗り換えが困難になる現象のこと。

出来上がった情報システムの正確な仕様が、システムを開発・構築したベンダーにしか解らなくなる場合がある。結果、システムの保守・拡張・改修等の際、現存システムを開発・構築したベンダーに引き続き発注せざるを得なくなる。

7.1.2 TCP/IPプロトコルスイート

P.372 TCP/IPの通信

P.372 MAC(Media Access Control)アドレス

P372 ポート番号

P.373 ネットワーク間の通信

P.374 7.2 ネットワーク接続装置と関連技術

P.374 7.2.1 物理層の接続

P.374 リピータ

P.374 7.2.2 データリンク層の接続

P374 ブリッジ

P.375 スイッチングハブ

P.375 ブロードキャストストリーム

P.376 ネットワーク層の接続

P.376 ルータ

P.376 デフォルトゲートウェイ

P.376 ルーティング

P.377 ルータの冗長構成

P.377 レイヤ3スイッチ(L3スイッチ)

P.378 トランスポート層以上の層の接続

P.378 ゲートウェイ

P.378 L4スイッチ・L7スイッチ

P.379 7.2.5 VLAN

P.380 データリンク層の制御とプロトコル

P.380 7.3.1 メディアアクセス制御

コリジョン(衝突)

イーサネットや無線LANで複数の端末が送信し、データが衝突する現象を指す。旧式のイーサネット規格では、端末同士を接続するときに1組の通信路で双方向の通信を行う半二重通信のため、送信と受信を同時に行うことができない。送信と受信をその都度切り替えて行うので、端末がお互いデータを送信してしまうと衝突する可能性が高くなる。

P.380 CSMA/CD

P.381トークンパッシング方式

P.381 トークンパッシング方式

P.382 TDMA 方式

P.382 7.3.2 無線LANのアクセス制御方式

P.382 CSMA/CA方式

P.328 RTS/CTS

P.383 無線LANの動作モード

P.383 COLUMN FDMA,CDMA

P.383 7.3.3 データリンク層の主なプロトコル

P.384 ARP

P.384 RARP

P.384 PPP

P.384 PPPoE

P.384 7.3.4 IEEE 802.3規格

P.386 7.4 ネットワーク層のプロトコルと技術

P.286 6.1 データベースの基礎

P.286 6.1.1 データベースの種類

P.286 階層型データベース

P.286 網型データベース

P.287 関係データベース

P.288 6.1.2 データベースの設計

P.288 データベースの設計プロセス

P.288 概念設計

P.288 データ分析

P.289 POINT データ項目洗出しの留意点

P.289 トップダウンアプローチとボトムアップアプローチ

P.289 論理設計

P.290 物理設計

P.290 6.1.3 データベースの3層スキーマ

P.290 スキーマ

P.290 ANSI/SPARC3層スキーマ

P.291 COLUMN インメモリデータベース

P.292 6.1.4 E-R図

P.292 E-R図の構成要素

P.292 「多対多」の関係

P.292 独立エンティティと依存エンティティ

P.294 6.2 関係データベース

P.294 6.2.1 関係データベースの特徴

P.294 関係データベースの構造

次数と基数

P.295 定義域(ドメイン)

P.296 6.2.2 関係データベースのキー

P.296 スーパキー

P.296 候補キー

P.296 主キー

P.296 外部キー

P.297 COLUMN 代用のキー設定

P.298 6.3 正規化

P.298 6.3.1 関数従属

P.298 部分関数従属

P.298 完全関数従属

P.299 推移的関数従属