はじめに

データについては前回話しましたので、今回はシステムにおけるシステム処理について考えようと思います

【システムとは何か?】(第2回)データとは何か

システム処理を一言でいうと、データから別のデータを作り出すことです。

よくわかりませんね

ちょっと具体的に考えてみましょう

システム処理とは何か

データから別のデータを作り出すというのは、別の言葉で言い換えると、データを変換するともいえます


ホテルの空き状況の確認 を例にすると

<入力データ>
 人数 :4人
 宿泊日:2018/09/08

<処理>
 入力された宿泊日と人数から、空き部屋情報を検索する

<結果データ>
 (空き部屋がある場合)「予約可能です」というデータを画面に表示させる
 (空き部屋がない場合)「満室です」というデータを画面に表示させる


という具合になります。つまりここでのシステム処理は

入力された宿泊日と人数から、空き部屋情報を検索する

となります

つまり「人数」と「宿泊数」の入力データ「予約可能 or 満室」という結果データに変換された

ということです


人間であれば、電話で聞いた内容から、空き部屋情報ノートから探して空いているかを
確認するかもしれませんが、システムの場合はそいういうわけにはいきません


じゃあ、システムではどう行ってしているのか?

これが プログラム です

プログラムとは何か?

プログラムとは、一言で言うと、

「コンピュータが理解できる言葉でかかれた実行手順書」

です

例えば

1.朝7時に起きる
2.「おはよう」という

といういつも人間がやっていることをコンピュータにやらせてみると下記のようになります
下記は、Pythonという言語でかいています
# -*- coding: utf-8 -*-
import sched
mport time
from datetime import datetime , timedelta

def hello():
    print('おはようございます')

while True:
   today = datetime.today()
   if today.hour >= 7 and today.minute > 0 :
      date_at = (today + timedelta(days=1)).day
   else:
      date_at = today.day
   timer = str(today.year) + "-" + str(today.month) + "-" + str(date_at) + " 07:00:00"
   scheduler = sched.scheduler(time.time, time.sleep)
   run_at = datetime.strptime(timer, '%Y-%m-%d %H:%M:%S')
   run_at = int(time.mktime(run_at.utctimetuple()))
   scheduler.enterabs(run_at, 1, hello)
   scheduler.run()
   time.sleep(1)

こんな感じになります。

下記は関数定義で、この hello() という関数を定義しています
ここでは、画面上に「おはようございます」と表示させるようにしています
def hello():
    print('おはようございます')

下記がメイン処理といって、プログラムが実行されたときに上から順番に実行されるコードです
無限ループするプログラムになっています


while True:
   today = datetime.today()
   if today.hour >= 7 and today.minute > 0 :
      date_at = (today + timedelta(days=1)).day
   else:
      date_at = today.day
   timer = str(today.year) + "-" + str(today.month) + "-" + str(date_at) + " 07:00:00"
   scheduler = sched.scheduler(time.time, time.sleep)
   run_at = datetime.strptime(timer, '%Y-%m-%d %H:%M:%S')
   run_at = int(time.mktime(run_at.utctimetuple()))
   scheduler.enterabs(run_at, 1, hello)
   scheduler.run()
   time.sleep(1)

1.今日の日時を確認する
2.7時を過ぎていた場合は 次の日をセット
  7時を過ぎていなかった場合は 今日の日をセット
3.2でセットした日の7時を起動時刻としてセット
4.起動時刻になったら hello() を呼び出す
5.一秒待って最初から繰り返す


このようにシステムの処理はプログラミング言語によって記述されます