狠狠撸

狠狠撸Share a Scribd company logo
情報 C「コンピュータの仕組み」                                     No.1
プログラミングとは
 計算機は単なる機械でしかないが、人が計算機に処理して欲しい手続きを記述することに
よって、様々な機能を実現している。また、計算機がいろいろと柔軟に対応しているように
見える場面でも、あらかじめ「こういう場合ではこのように対処するようにする」という手
順を人が記述している。そういった手順のことを「プログラム」と呼び、プログラムを記述
することを「プログラミング」という。

1. プログラミング言語とは
  計算機に対して一連の動作の指示を記述するための人工言語である。プログラミング言語
は、人間が計算機に命令を指示するために作られており、曖昧なく計算機が解析できるよう
に設計されている。この人工言語は様々な種類があるが、本授業では大学入試センター試験
の情報関係基礎で用いられているアルゴリズム記述言語 DNCL を拡張した xDNCL を用いてい
ます。

2. xDNCL 実行環境 PEN の起動
「スタート」→「すべてのプログラム」→「PEN」→「PEN」をクリック

① PEN の実行画面

                                               状態表示




                 プログラム実行制御ボタン
                                               コンソール画面


                プログラム記述領域




   プログラム入力支援ボタン                                変数表示画面




PEN の入手先
      http://grape.media.osaka-cu.ac.jp/PEN/
2年     組   番   氏名(                )
  ② プログラム記述領域
    プログラムのソースコードを入力するエリアです。

  ③ コンソール画面
    プログラム中の出力はこの画面に表示されます。入力もこの画面から行います。
    タブの操作により表示方法の異なる「実行画面」と「履歴」に切り替えられます。
      ? 実行画面: 実行中もしくは実行直後のコンソールが表示されます。
      ? 履歴: 今までの実行した結果の全てが表示されます。

  ④ 変数表示画面
    データ型、変数名と、変数に代入されている値が表示されます。
    プログラム実行時に変数の値の変化を観察することができます。

  ⑤ プログラム入力支援ボタン
    プログラムの入力を補助するためのボタンです。
    主にこのボタンを使用してプログラムを作成していきます。


●練習問題 1 コンソール画面に「ようこそ PEN の世界へ」と表示するプログラム
  コンソール画面に文字を表示するプログラムを作成します。
  文字を表示する命令は「出力」というボタンに登録されている。

  「出力」ボタンを押すと、
     ?出力文? を表示する
  という命令がプログラム記述領域に挿入されます。

  次に、?出力文?をクリックし表示したい文字列をキーボードより入力する。
  ただし、文字列を表示する場合、「」で括らないとエラーとなるので注意。

  プログラムの記述が終わった後に、実行制御ボタンの「実行」ボタンを押すことプログ
  ラムが実行される。

  できたプログラムは「マイドキュメント」→「プログラミング」に、
                                「rei001」というフ
  ァイル名で保存せよ。

  ※プログラミングの課題は今後すべて「マイドキュメント」→「プログラミング」に保
  存すること。


○提出課題 1 ファイル名「kadai001」
  1 行目に学年組番号、2 行目に名前、3 行目に得意な科目をコンソール画面に表示するプ
  ログラムを作成せよ。

  ※命令は 1 行に1つしか記述することができないので注意すること。
情報 C「コンピュータの仕組み」                                    No.2
●練習問題 2 変数と代入文
  プログラム「rei002」                   変数
    1: 整数 x
    2: x ← 5


   代入文
    ?変数? ← ?式?




                              算術演算子
    演算子        意味       例                式の値
      +        加算   8 + 3      8 に定数 3 を加えた値 (=11)
      -        減算   x - 2      変数 x の値から 2 を引いた値
      *        積算   y * 1.5    変数 y の値を 1.5 倍した値
      /        除算   z / 2      変数 z の値を 2 で割った値
      %        剰余   z % 5      変数 z の値を 5 で割った余りの値

○提出課題 2-1 ファイル名「kadai002-1」
  データ型が整数の x を宣言し、 x に 10 を代入せよ。

○提出課題 2-2 ファイル名「kadai002-2」
  データ型が整数の x, y の2つの変数を宣言し、x に 9, y に 12 を代入せよ。

○提出課題 2-3 ファイル名「kadai002-3」
  データ型が整数の x, y の2つの変数を宣言し、x に 19, y に 12 を代入せよ。
  また、x と y を加算した結果を tasu に代入せよ。

△発展課題 2-4 ファイル名「kadai002-4」
  データ型が整数の x, y の2つの変数を宣言し、x に 32, y に 85 を代入せよ。
  また、x から y を減算した結果を hiku に代入せよ。

□任意課題 2-5 ファイル名「kadai002-5」
  データ型が整数の x, y の2つの変数を宣言し、x に 10, y に 3 を代入せよ。
  また、積算(x * y)と除算(x / y)した結果を変数(変数名は自分で考える)に代入
  せよ。
2年      組    番   氏名(                     )
●練習問題 3 キーボードからの入力
  プログラム「rei003-1」
                               入力命令
    1: 整数 x
    2: x ← input()



  プログラム「rei003-2」
                                      入力命令の前に「改行無出力」
    1: 整数 x
                                      を入れてやると、実行時にユー
    2: 「値を入力:」 を改行なしで表示する
                                      ザは何をするのかがわかりやす
    3: x ← input()
                                      くなる。
                                         (対話型プログラム)

○提出課題 3-1 ファイル名「kadai003-1」
  「kadai002-2」の x, y を入力命令で値を入力できるように改良せよ。

○提出課題 3-2 ファイル名「kadai003-2」
  「kadai002-3」の x, y を入力命令で値を入力できるようにし、対話型のプログラムと
  なるように改良せよ。


●練習問題 4 変数に代入された値の表示
 プログラム「rei004-1」          プログラム「rei004-2」

   1: 整数 tasu              1: 整数 tasu
   2: tasu ← 5 + 10        2: tasu ← 5 + 10
   3: tasu を表示する           3: 「結果は」と tasu と「です」を表示する


○提出課題 4-1 ファイル名「kadai004-1」
  「kadai003-1」の x, y に代入されている値が表示されるように改良せよ。

○提出課題 4-2 ファイル名「kadai004-2」
  「kadai003-2」の tasu に代入されている値を表示されるように改良せよ。
  なお、表示フォーマットは「rei004-2」と同じようにすること。

△発展課題 4-3 ファイル名「kadai004-3」
  円の半径を入力し、  面積を求める対話型のプログラムを作成せよ。なお π = 3.14 とする。

△発展課題 4-4 ファイル名「kadai004-4」
  三角形の底辺と高さを入力し、面積を表示する対話型のプログラムを作成せよ。

□任意課題 4-5 ファイル名「kadai004-5」
  数値を入力すると、税込価格が表示される対話型のプログラムを作成せよ。
情報 C「コンピュータの仕組み」                          No.3
●練習問題 5 条件分岐命令
  プログラム「rei005」

    1: 整数 ten
    2:「テストの点を入力:」 を改行なしで表示する
    3: ten ← input()
    4: もし ten < 40 ならば
    5: | 「赤点でした。     」を表示する
    6: を実行する
    7: 「テストは」と ten と「点でした」と表示する



  流れ図(フローチャート)

            はじめ


         変数 ten の宣言


        「テストの点を入力」
        を表示



          ten に値を代入

                              ここに条件分岐を記入




           ten を表示


            おわり
2年     組          番    氏名(                      )

   条件分岐                              ?条件式? に合致する(真)
         もし ?条件式? ならば                場合、<処理>の箇所を実行す
          |                          る。
          | <処理>                     合致しない(偽)場合は「を実
          |                          行する」の次の命令にジャンプ
         を実行する                       する


                            比較演算子
   演算子      意味     使用例                    式の値
    =     等しい     x = 0          x が 0 ならば真, それ以外ならば偽
    >     より大きい   y > 5          y が 5 より大きければ真, 以下なら偽
    >=    以上      y >= 5         y が 5 以上ならば真, ちいさければ偽
    <     より小さい   z < 1.2        z が 1.2 より小さければ真, 以上なら偽
    <=    以下      z <= 1.2       z が 1.2 以下ならば真, 大きければ偽
    !=    等しくない   z != 6         z が 6 以外ならば真, 同じであれば偽

○提出課題 5-1 ファイル名「kadai005-1」
  データ型が整数の x の変数を宣言し、     キーボードから値を入力できるようにせよ。また、
  その入力した値が正の数(入力値>0)の場合、      「正の数です」と表示するプログラムを
  作成せよ。
  なお、入力命令の前に「数字を入力してください:」と改行なしで表示し、ユーザ対話
  型のプログラムにすること。

○提出課題 5-2 ファイル名「kadai005-2」
  年齢を入力し、20 歳未満の場合「未成年です」と表示されるプログラムを作成せよ。
  なお、入力命令の前に「年齢:」と改行なしで表示し、ユーザ対話型のプログラムにす
  ること。

△発展課題 5-3 ファイル名「kadai005-3」
  データ型が整数の x の変数を宣言し、     キーボードから値を入力できるようにせよ。
                                             また、
  その入力した値が偶数の場合、    「偶数です」と表示するプログラムを作成せよ
  なお、入力命令の前に「数字を入力してください:」と改行なしで表示し、ユーザ対話
  型のプログラムにすること。

□任意課題 5-4 ファイル名「kadai005-4」
  持っているお金と欲しいものの金額の 2 つを入力し、購入できるなら「購入できます」
  と表示するプログラムを作成せよ
  なお、持っているお金を入力する前に「持っているお金:」 、欲しいものの金額を入力す
  る前に「欲しいものの金額:」と改行なしで表示し、ユーザ対話型のプログラムにする
  こと。
情報 C「コンピュータの仕組み」                          No.4
●練習課題 6 2 分岐の条件分岐命令
  プログラム「rei006」

    1:   整数 ten
    2:   「テストの点を入力:」 を改行なしで表示する
    3:   ten ← input()
    4:   もし ten < 40 ならば
    5:     | 「赤点だったので頑張ろう」を表示する
    6:   を実行し,そうでなければ
    7:     | 「よくがんばりました」を表示する
    8:   を実行する



   流れ図(フローチャート)

             はじめ


           変数 ten の宣言


          「テストの点を入力」
          を表示



           ten に値を代入

                                  ここに条件分岐を記入




             おわり
2年        組   番   氏名(                     )

  2分岐の条件文
                             ?条件式? に合致する(真)
      もし ?条件式? ならば
                             場合、<処理1>の箇所を実行
       |
                             する。
       | <処理1>
                             <処理1>を実行後、「を実行
       |
                             する」の次の命令へジャンプす
      を実行し,そうでなければ
                             る。
       |
       | <処理2>
       |                         ?条件式? に合致しない(偽)
      を実行する                      場合、<処理2>の箇所を実行
                                 する。

○提出課題 6-1 ファイル名「kadai006-1」
  入力した値が偶数の場合は「偶数です」を表示し、奇数の場合は「奇数です」と表示す
  るプログラムを作成せよ。

△発展課題 6-2 ファイル名「kadai006-2」
  持っているお金と欲しいもの金額の2つを入力し、購入できるなら「購入できます」と
  表示し、お金が足りない場合は不足金額を表示するプログラムを作成せよ。


  流れ図(フローチャート)

            はじめ


            変数宣言



        2つの金額入力
                                   ここに条件分岐を記入




            おわり
情報 C「コンピュータの仕組み」                                No.5
●練習問題 7 繰り返し
                                繰り返しの開始する値を設定
  プログラム「rei007」

    1:   整数 i
                                   繰り返しの終了する条件
    2:   i ← 1
    3:   i < 10 の間,
    4:     | i と「回目の表示」 を表示する
                                   処理が終わるごとに条件に含
    5:     | i ← i + 1
    6:   を繰り返す                     まれている変数の値を増減



   流れ図(フローチャート)

              はじめ


            変数 i の宣言

                                 ここに繰り返しを記入




              おわり
2年    組    番   氏名(                 )

       繰り返し命令              ?条件式? が「真」の間、
           ?条件式? の間,       <処理> の命令を繰り返
            |              す。
            | <処理>
            |
           を繰り返す

○提出課題 7-1 ファイル名「kadai007-1」
  コンソール画面に「0」~「100」までの数を表示するプログラムを作成せよ。

○提出課題 7-2 ファイル名「kadai007-2」
  コンソール画面に「50」~「100」までの数を表示するプログラムを作成せよ。

○提出課題 7-3 ファイル名「kadai007-3」
  コンソール画面に「100」~「0」までの数を表示するプログラムを作成せよ。

○提出課題 7-4 ファイル名「kadai007-4」
  コンソール画面に「0」~「100」に含まれている偶数の数を、数の小さいものから表示
  するプログラムを作成せよ。

○提出課題 7-5 ファイル名「kadai007-5」
  コンソール画面に「0」~「100」に含まれている 5 の倍数を、数の小さいものから表示
  するプログラムを作成せよ。

△発展課題 7-6 ファイル名「kadai007-6」
  0 ~ n までの数字を表示するプログラムを作成せよ。 n の値は繰り返し処理の前に、
  入力命令でキーボードから入力できるようにすること。

△発展課題 7-7 ファイル名「kadai007-7」
  n ~ m までの数字を表示するプログラムを作成せよ。 n および m の値は繰り返し処理
  の前に、入力命令でキーボードから入力できるようにすること。

△発展課題 7-8 ファイル名「kadai007-8」
  1 ~ 10 までの値を加算し、その結果を表示するプログラムを作成せよ。

□任意課題 7-9 ファイル名「kadai007-9」
  1 ~ n までの値を加算し、その結果を表示するプログラムを作成せよ。 の値は繰り返
                                     n
  し処理の前に、入力命令でキーボードから入力できるようにすること。

□任意課題 7-10 ファイル名「kadai007-10」
  n ~ m までの値を加算し、その結果を表示するプログラムを作成せよ。n および m の
  値は繰り返し処理の前に、入力命令でキーボードから入力できるようにすること。

□任意課題 7-11 ファイル名「kadai007-11」
  n! を求めるプログラムを作成せよ。 の値は繰り返し処理の前に、
                         n        入力命令でキーボー
  ドから入力できるようにすること。

More Related Content

Viewers also liked (20)

You are here, content strategy
You are here, content strategy You are here, content strategy
You are here, content strategy
Misty Weaver
?
TiacalapowerpointTiacalapowerpoint
Tiacalapowerpoint
klopez305
?
[CE81] プログラミング入門教育用学習環境PEN
[CE81] プログラミング入門教育用学習環境PEN[CE81] プログラミング入門教育用学習環境PEN
[CE81] プログラミング入門教育用学習環境PEN
Ryota Nakamura
?
[CE81] プログラミング入門教育用学習環境PEN (発表資料)
[CE81] プログラミング入門教育用学習環境PEN (発表資料)[CE81] プログラミング入門教育用学習環境PEN (発表資料)
[CE81] プログラミング入門教育用学習環境PEN (発表資料)
Ryota Nakamura
?
[CE94] 高等学校での「プログラミング」教育の導入– PEN を用いて
[CE94] 高等学校での「プログラミング」教育の導入– PEN を用いて[CE94] 高等学校での「プログラミング」教育の導入– PEN を用いて
[CE94] 高等学校での「プログラミング」教育の導入– PEN を用いて
Ryota Nakamura
?
[CE94] 高等学校での「プログラミング」教育の導入– PEN を用いて (発表資料)
[CE94] 高等学校での「プログラミング」教育の導入– PEN を用いて (発表資料)[CE94] 高等学校での「プログラミング」教育の導入– PEN を用いて (発表資料)
[CE94] 高等学校での「プログラミング」教育の導入– PEN を用いて (発表資料)
Ryota Nakamura
?
социальные сервисы для 226
социальные сервисы для 226социальные сервисы для 226
социальные сервисы для 226
nikulina13
?
наталья никулина екатеринбург
наталья никулина екатеринбургнаталья никулина екатеринбург
наталья никулина екатеринбург
nikulina13
?
Collaboration of the Masses: Crowdsourcing & Crowdfunding
Collaboration of the Masses: Crowdsourcing & CrowdfundingCollaboration of the Masses: Crowdsourcing & Crowdfunding
Collaboration of the Masses: Crowdsourcing & Crowdfunding
Laura Amole
?
10 lessons on how to position your agency for growth by Karla Morales-Lee
10 lessons on how to position your agency for growth by Karla Morales-Lee10 lessons on how to position your agency for growth by Karla Morales-Lee
10 lessons on how to position your agency for growth by Karla Morales-Lee
The UK Agency Awards
?
Global issues bio
Global issues bioGlobal issues bio
Global issues bio
007__Savannah
?
Global issues bio
Global issues bioGlobal issues bio
Global issues bio
007__Savannah
?
[学位(修士)論文公開審査会] 入力支援機能を備えた日本語表記による初学者向けプログラミング学習環境の構築
[学位(修士)論文公開審査会] 入力支援機能を備えた日本語表記による初学者向けプログラミング学習環境の構築[学位(修士)論文公開審査会] 入力支援機能を備えた日本語表記による初学者向けプログラミング学習環境の構築
[学位(修士)論文公開審査会] 入力支援機能を備えた日本語表記による初学者向けプログラミング学習環境の構築
Ryota Nakamura
?
You are here, content strategy
You are here, content strategy You are here, content strategy
You are here, content strategy
Misty Weaver
?
TiacalapowerpointTiacalapowerpoint
Tiacalapowerpoint
klopez305
?
[CE81] プログラミング入門教育用学習環境PEN
[CE81] プログラミング入門教育用学習環境PEN[CE81] プログラミング入門教育用学習環境PEN
[CE81] プログラミング入門教育用学習環境PEN
Ryota Nakamura
?
[CE81] プログラミング入門教育用学習環境PEN (発表資料)
[CE81] プログラミング入門教育用学習環境PEN (発表資料)[CE81] プログラミング入門教育用学習環境PEN (発表資料)
[CE81] プログラミング入門教育用学習環境PEN (発表資料)
Ryota Nakamura
?
[CE94] 高等学校での「プログラミング」教育の導入– PEN を用いて
[CE94] 高等学校での「プログラミング」教育の導入– PEN を用いて[CE94] 高等学校での「プログラミング」教育の導入– PEN を用いて
[CE94] 高等学校での「プログラミング」教育の導入– PEN を用いて
Ryota Nakamura
?
[CE94] 高等学校での「プログラミング」教育の導入– PEN を用いて (発表資料)
[CE94] 高等学校での「プログラミング」教育の導入– PEN を用いて (発表資料)[CE94] 高等学校での「プログラミング」教育の導入– PEN を用いて (発表資料)
[CE94] 高等学校での「プログラミング」教育の導入– PEN を用いて (発表資料)
Ryota Nakamura
?
социальные сервисы для 226
социальные сервисы для 226социальные сервисы для 226
социальные сервисы для 226
nikulina13
?
наталья никулина екатеринбург
наталья никулина екатеринбургнаталья никулина екатеринбург
наталья никулина екатеринбург
nikulina13
?
Collaboration of the Masses: Crowdsourcing & Crowdfunding
Collaboration of the Masses: Crowdsourcing & CrowdfundingCollaboration of the Masses: Crowdsourcing & Crowdfunding
Collaboration of the Masses: Crowdsourcing & Crowdfunding
Laura Amole
?
10 lessons on how to position your agency for growth by Karla Morales-Lee
10 lessons on how to position your agency for growth by Karla Morales-Lee10 lessons on how to position your agency for growth by Karla Morales-Lee
10 lessons on how to position your agency for growth by Karla Morales-Lee
The UK Agency Awards
?
[学位(修士)論文公開審査会] 入力支援機能を備えた日本語表記による初学者向けプログラミング学習環境の構築
[学位(修士)論文公開審査会] 入力支援機能を備えた日本語表記による初学者向けプログラミング学習環境の構築[学位(修士)論文公開審査会] 入力支援機能を備えた日本語表記による初学者向けプログラミング学習環境の構築
[学位(修士)論文公開審査会] 入力支援機能を備えた日本語表記による初学者向けプログラミング学習環境の構築
Ryota Nakamura
?

Similar to [xDNCL] 配布資料 (20)

讲座颁入门
讲座颁入门讲座颁入门
讲座颁入门
Tokai University
?
cp-5. 繰り返し計算
cp-5. 繰り返し計算cp-5. 繰り返し計算
cp-5. 繰り返し計算
kunihikokaneko1
?
プログラミング
プログラミングプログラミング
プログラミング
saireya _
?
闯补惫补プログラミング入门【第2回】
闯补惫补プログラミング入门【第2回】闯补惫补プログラミング入门【第2回】
闯补惫补プログラミング入门【第2回】
Yukiko Kato
?
ji-5. 繰り返し計算
ji-5. 繰り返し計算ji-5. 繰り返し計算
ji-5. 繰り返し計算
kunihikokaneko1
?
笔测迟丑辞苍で始める顿谤辞辫产辞虫础笔滨
笔测迟丑辞苍で始める顿谤辞辫产辞虫础笔滨笔测迟丑辞苍で始める顿谤辞辫产辞虫础笔滨
笔测迟丑辞苍で始める顿谤辞辫产辞虫础笔滨
Daisuke Igarashi
?
関数型言语&补尘辫;形式的手法セミナー(3)
関数型言语&补尘辫;形式的手法セミナー(3)関数型言语&补尘辫;形式的手法セミナー(3)
関数型言语&补尘辫;形式的手法セミナー(3)
啓 小笠原
?
闯补惫补数値(浮动小数点)课题勉强会
闯补惫补数値(浮动小数点)课题勉强会闯补惫补数値(浮动小数点)课题勉强会
闯补惫补数値(浮动小数点)课题勉强会
Tetsuya Yoshida
?
エクストリームエンシ?ニア4
エクストリームエンシ?ニア4エクストリームエンシ?ニア4
エクストリームエンシ?ニア4
T-arts
?
颁言语讲习会2
颁言语讲习会2颁言语讲习会2
颁言语讲习会2
odenhadengaku
?
新しくプログラミング言语???搁耻产测でやってみた
新しくプログラミング言语???搁耻产测でやってみた新しくプログラミング言语???搁耻产测でやってみた
新しくプログラミング言语???搁耻产测でやってみた
Tomoaki Ueda
?
Clojure programming-chapter-2
Clojure programming-chapter-2Clojure programming-chapter-2
Clojure programming-chapter-2
Masao Kato
?
関数型プログラミングとモナド
関数型プログラミングとモナド関数型プログラミングとモナド
関数型プログラミングとモナド
Masayuki Isobe
?
2012年1月20日
2012年1月20日2012年1月20日
2012年1月20日
nukaemon
?
ji-3. 条件分岐と場合分け
ji-3. 条件分岐と場合分けji-3. 条件分岐と場合分け
ji-3. 条件分岐と場合分け
kunihikokaneko1
?
尝颈蝉辫でやる记号微分
尝颈蝉辫でやる记号微分尝颈蝉辫でやる记号微分
尝颈蝉辫でやる记号微分
Keiichi Watanabe
?
cp-7. 配列
cp-7. 配列cp-7. 配列
cp-7. 配列
kunihikokaneko1
?
プログラミング技法特论第5回
プログラミング技法特论第5回プログラミング技法特论第5回
プログラミング技法特论第5回
guest61bed5f
?
プログラミング
プログラミングプログラミング
プログラミング
saireya _
?
闯补惫补プログラミング入门【第2回】
闯补惫补プログラミング入门【第2回】闯补惫补プログラミング入门【第2回】
闯补惫补プログラミング入门【第2回】
Yukiko Kato
?
笔测迟丑辞苍で始める顿谤辞辫产辞虫础笔滨
笔测迟丑辞苍で始める顿谤辞辫产辞虫础笔滨笔测迟丑辞苍で始める顿谤辞辫产辞虫础笔滨
笔测迟丑辞苍で始める顿谤辞辫产辞虫础笔滨
Daisuke Igarashi
?
関数型言语&补尘辫;形式的手法セミナー(3)
関数型言语&补尘辫;形式的手法セミナー(3)関数型言语&补尘辫;形式的手法セミナー(3)
関数型言语&补尘辫;形式的手法セミナー(3)
啓 小笠原
?
闯补惫补数値(浮动小数点)课题勉强会
闯补惫补数値(浮动小数点)课题勉强会闯补惫补数値(浮动小数点)课题勉强会
闯补惫补数値(浮动小数点)课题勉强会
Tetsuya Yoshida
?
エクストリームエンシ?ニア4
エクストリームエンシ?ニア4エクストリームエンシ?ニア4
エクストリームエンシ?ニア4
T-arts
?
新しくプログラミング言语???搁耻产测でやってみた
新しくプログラミング言语???搁耻产测でやってみた新しくプログラミング言语???搁耻产测でやってみた
新しくプログラミング言语???搁耻产测でやってみた
Tomoaki Ueda
?
Clojure programming-chapter-2
Clojure programming-chapter-2Clojure programming-chapter-2
Clojure programming-chapter-2
Masao Kato
?
関数型プログラミングとモナド
関数型プログラミングとモナド関数型プログラミングとモナド
関数型プログラミングとモナド
Masayuki Isobe
?
2012年1月20日
2012年1月20日2012年1月20日
2012年1月20日
nukaemon
?
ji-3. 条件分岐と場合分け
ji-3. 条件分岐と場合分けji-3. 条件分岐と場合分け
ji-3. 条件分岐と場合分け
kunihikokaneko1
?
尝颈蝉辫でやる记号微分
尝颈蝉辫でやる记号微分尝颈蝉辫でやる记号微分
尝颈蝉辫でやる记号微分
Keiichi Watanabe
?
プログラミング技法特论第5回
プログラミング技法特论第5回プログラミング技法特论第5回
プログラミング技法特论第5回
guest61bed5f
?

Recently uploaded (6)

TAUHANNGNOLIMETANGEREKAYAYANBOISGL!!!.pptx
TAUHANNGNOLIMETANGEREKAYAYANBOISGL!!!.pptxTAUHANNGNOLIMETANGEREKAYAYANBOISGL!!!.pptx
TAUHANNGNOLIMETANGEREKAYAYANBOISGL!!!.pptx
SheanOrvinBalao
?
cardiom??????????????????????yopathy .pdf
cardiom??????????????????????yopathy .pdfcardiom??????????????????????yopathy .pdf
cardiom??????????????????????yopathy .pdf
ssuser16d694
?
タワーマンション効果 ?高所からの眺望が、人の心理状態に及ぼす影響を探るRCTs
タワーマンション効果 ?高所からの眺望が、人の心理状態に及ぼす影響を探るRCTsタワーマンション効果 ?高所からの眺望が、人の心理状態に及ぼす影響を探るRCTs
タワーマンション効果 ?高所からの眺望が、人の心理状態に及ぼす影響を探るRCTs
KeisukeHattori1
?
それ、マルハラかも。 ~メッセージ上の句点による暗黙的ハラスメント の実在性についてのサーベイ実験
それ、マルハラかも。 ~メッセージ上の句点による暗黙的ハラスメント の実在性についてのサーベイ実験それ、マルハラかも。 ~メッセージ上の句点による暗黙的ハラスメント の実在性についてのサーベイ実験
それ、マルハラかも。 ~メッセージ上の句点による暗黙的ハラスメント の実在性についてのサーベイ実験
KeisukeHattori1
?
ALPHABET FLASHCARD FOR PRESCHOOL TO KINDERGARTEN LEARNERS.docx
ALPHABET FLASHCARD FOR PRESCHOOL TO KINDERGARTEN LEARNERS.docxALPHABET FLASHCARD FOR PRESCHOOL TO KINDERGARTEN LEARNERS.docx
ALPHABET FLASHCARD FOR PRESCHOOL TO KINDERGARTEN LEARNERS.docx
ruthbarnuevo1
?
第57回計測自動制御学会北海道支部講演会 特別講演 システムインテグレーションとロボットミドルウェア
第57回計測自動制御学会北海道支部講演会 特別講演 システムインテグレーションとロボットミドルウェア第57回計測自動制御学会北海道支部講演会 特別講演 システムインテグレーションとロボットミドルウェア
第57回計測自動制御学会北海道支部講演会 特別講演 システムインテグレーションとロボットミドルウェア
OpenRTM1
?
TAUHANNGNOLIMETANGEREKAYAYANBOISGL!!!.pptx
TAUHANNGNOLIMETANGEREKAYAYANBOISGL!!!.pptxTAUHANNGNOLIMETANGEREKAYAYANBOISGL!!!.pptx
TAUHANNGNOLIMETANGEREKAYAYANBOISGL!!!.pptx
SheanOrvinBalao
?
cardiom??????????????????????yopathy .pdf
cardiom??????????????????????yopathy .pdfcardiom??????????????????????yopathy .pdf
cardiom??????????????????????yopathy .pdf
ssuser16d694
?
タワーマンション効果 ?高所からの眺望が、人の心理状態に及ぼす影響を探るRCTs
タワーマンション効果 ?高所からの眺望が、人の心理状態に及ぼす影響を探るRCTsタワーマンション効果 ?高所からの眺望が、人の心理状態に及ぼす影響を探るRCTs
タワーマンション効果 ?高所からの眺望が、人の心理状態に及ぼす影響を探るRCTs
KeisukeHattori1
?
それ、マルハラかも。 ~メッセージ上の句点による暗黙的ハラスメント の実在性についてのサーベイ実験
それ、マルハラかも。 ~メッセージ上の句点による暗黙的ハラスメント の実在性についてのサーベイ実験それ、マルハラかも。 ~メッセージ上の句点による暗黙的ハラスメント の実在性についてのサーベイ実験
それ、マルハラかも。 ~メッセージ上の句点による暗黙的ハラスメント の実在性についてのサーベイ実験
KeisukeHattori1
?
ALPHABET FLASHCARD FOR PRESCHOOL TO KINDERGARTEN LEARNERS.docx
ALPHABET FLASHCARD FOR PRESCHOOL TO KINDERGARTEN LEARNERS.docxALPHABET FLASHCARD FOR PRESCHOOL TO KINDERGARTEN LEARNERS.docx
ALPHABET FLASHCARD FOR PRESCHOOL TO KINDERGARTEN LEARNERS.docx
ruthbarnuevo1
?
第57回計測自動制御学会北海道支部講演会 特別講演 システムインテグレーションとロボットミドルウェア
第57回計測自動制御学会北海道支部講演会 特別講演 システムインテグレーションとロボットミドルウェア第57回計測自動制御学会北海道支部講演会 特別講演 システムインテグレーションとロボットミドルウェア
第57回計測自動制御学会北海道支部講演会 特別講演 システムインテグレーションとロボットミドルウェア
OpenRTM1
?

[xDNCL] 配布資料

  • 1. 情報 C「コンピュータの仕組み」 No.1 プログラミングとは 計算機は単なる機械でしかないが、人が計算機に処理して欲しい手続きを記述することに よって、様々な機能を実現している。また、計算機がいろいろと柔軟に対応しているように 見える場面でも、あらかじめ「こういう場合ではこのように対処するようにする」という手 順を人が記述している。そういった手順のことを「プログラム」と呼び、プログラムを記述 することを「プログラミング」という。 1. プログラミング言語とは 計算機に対して一連の動作の指示を記述するための人工言語である。プログラミング言語 は、人間が計算機に命令を指示するために作られており、曖昧なく計算機が解析できるよう に設計されている。この人工言語は様々な種類があるが、本授業では大学入試センター試験 の情報関係基礎で用いられているアルゴリズム記述言語 DNCL を拡張した xDNCL を用いてい ます。 2. xDNCL 実行環境 PEN の起動 「スタート」→「すべてのプログラム」→「PEN」→「PEN」をクリック ① PEN の実行画面 状態表示 プログラム実行制御ボタン コンソール画面 プログラム記述領域 プログラム入力支援ボタン 変数表示画面 PEN の入手先 http://grape.media.osaka-cu.ac.jp/PEN/
  • 2. 2年 組 番 氏名( ) ② プログラム記述領域 プログラムのソースコードを入力するエリアです。 ③ コンソール画面 プログラム中の出力はこの画面に表示されます。入力もこの画面から行います。 タブの操作により表示方法の異なる「実行画面」と「履歴」に切り替えられます。 ? 実行画面: 実行中もしくは実行直後のコンソールが表示されます。 ? 履歴: 今までの実行した結果の全てが表示されます。 ④ 変数表示画面 データ型、変数名と、変数に代入されている値が表示されます。 プログラム実行時に変数の値の変化を観察することができます。 ⑤ プログラム入力支援ボタン プログラムの入力を補助するためのボタンです。 主にこのボタンを使用してプログラムを作成していきます。 ●練習問題 1 コンソール画面に「ようこそ PEN の世界へ」と表示するプログラム コンソール画面に文字を表示するプログラムを作成します。 文字を表示する命令は「出力」というボタンに登録されている。 「出力」ボタンを押すと、 ?出力文? を表示する という命令がプログラム記述領域に挿入されます。 次に、?出力文?をクリックし表示したい文字列をキーボードより入力する。 ただし、文字列を表示する場合、「」で括らないとエラーとなるので注意。 プログラムの記述が終わった後に、実行制御ボタンの「実行」ボタンを押すことプログ ラムが実行される。 できたプログラムは「マイドキュメント」→「プログラミング」に、 「rei001」というフ ァイル名で保存せよ。 ※プログラミングの課題は今後すべて「マイドキュメント」→「プログラミング」に保 存すること。 ○提出課題 1 ファイル名「kadai001」 1 行目に学年組番号、2 行目に名前、3 行目に得意な科目をコンソール画面に表示するプ ログラムを作成せよ。 ※命令は 1 行に1つしか記述することができないので注意すること。
  • 3. 情報 C「コンピュータの仕組み」 No.2 ●練習問題 2 変数と代入文 プログラム「rei002」 変数 1: 整数 x 2: x ← 5 代入文 ?変数? ← ?式? 算術演算子 演算子 意味 例 式の値 + 加算 8 + 3 8 に定数 3 を加えた値 (=11) - 減算 x - 2 変数 x の値から 2 を引いた値 * 積算 y * 1.5 変数 y の値を 1.5 倍した値 / 除算 z / 2 変数 z の値を 2 で割った値 % 剰余 z % 5 変数 z の値を 5 で割った余りの値 ○提出課題 2-1 ファイル名「kadai002-1」 データ型が整数の x を宣言し、 x に 10 を代入せよ。 ○提出課題 2-2 ファイル名「kadai002-2」 データ型が整数の x, y の2つの変数を宣言し、x に 9, y に 12 を代入せよ。 ○提出課題 2-3 ファイル名「kadai002-3」 データ型が整数の x, y の2つの変数を宣言し、x に 19, y に 12 を代入せよ。 また、x と y を加算した結果を tasu に代入せよ。 △発展課題 2-4 ファイル名「kadai002-4」 データ型が整数の x, y の2つの変数を宣言し、x に 32, y に 85 を代入せよ。 また、x から y を減算した結果を hiku に代入せよ。 □任意課題 2-5 ファイル名「kadai002-5」 データ型が整数の x, y の2つの変数を宣言し、x に 10, y に 3 を代入せよ。 また、積算(x * y)と除算(x / y)した結果を変数(変数名は自分で考える)に代入 せよ。
  • 4. 2年 組 番 氏名( ) ●練習問題 3 キーボードからの入力 プログラム「rei003-1」 入力命令 1: 整数 x 2: x ← input() プログラム「rei003-2」 入力命令の前に「改行無出力」 1: 整数 x を入れてやると、実行時にユー 2: 「値を入力:」 を改行なしで表示する ザは何をするのかがわかりやす 3: x ← input() くなる。 (対話型プログラム) ○提出課題 3-1 ファイル名「kadai003-1」 「kadai002-2」の x, y を入力命令で値を入力できるように改良せよ。 ○提出課題 3-2 ファイル名「kadai003-2」 「kadai002-3」の x, y を入力命令で値を入力できるようにし、対話型のプログラムと なるように改良せよ。 ●練習問題 4 変数に代入された値の表示 プログラム「rei004-1」 プログラム「rei004-2」 1: 整数 tasu 1: 整数 tasu 2: tasu ← 5 + 10 2: tasu ← 5 + 10 3: tasu を表示する 3: 「結果は」と tasu と「です」を表示する ○提出課題 4-1 ファイル名「kadai004-1」 「kadai003-1」の x, y に代入されている値が表示されるように改良せよ。 ○提出課題 4-2 ファイル名「kadai004-2」 「kadai003-2」の tasu に代入されている値を表示されるように改良せよ。 なお、表示フォーマットは「rei004-2」と同じようにすること。 △発展課題 4-3 ファイル名「kadai004-3」 円の半径を入力し、 面積を求める対話型のプログラムを作成せよ。なお π = 3.14 とする。 △発展課題 4-4 ファイル名「kadai004-4」 三角形の底辺と高さを入力し、面積を表示する対話型のプログラムを作成せよ。 □任意課題 4-5 ファイル名「kadai004-5」 数値を入力すると、税込価格が表示される対話型のプログラムを作成せよ。
  • 5. 情報 C「コンピュータの仕組み」 No.3 ●練習問題 5 条件分岐命令 プログラム「rei005」 1: 整数 ten 2:「テストの点を入力:」 を改行なしで表示する 3: ten ← input() 4: もし ten < 40 ならば 5: | 「赤点でした。 」を表示する 6: を実行する 7: 「テストは」と ten と「点でした」と表示する 流れ図(フローチャート) はじめ 変数 ten の宣言 「テストの点を入力」 を表示 ten に値を代入 ここに条件分岐を記入 ten を表示 おわり
  • 6. 2年 組 番 氏名( ) 条件分岐 ?条件式? に合致する(真) もし ?条件式? ならば 場合、<処理>の箇所を実行す | る。 | <処理> 合致しない(偽)場合は「を実 | 行する」の次の命令にジャンプ を実行する する 比較演算子 演算子 意味 使用例 式の値 = 等しい x = 0 x が 0 ならば真, それ以外ならば偽 > より大きい y > 5 y が 5 より大きければ真, 以下なら偽 >= 以上 y >= 5 y が 5 以上ならば真, ちいさければ偽 < より小さい z < 1.2 z が 1.2 より小さければ真, 以上なら偽 <= 以下 z <= 1.2 z が 1.2 以下ならば真, 大きければ偽 != 等しくない z != 6 z が 6 以外ならば真, 同じであれば偽 ○提出課題 5-1 ファイル名「kadai005-1」 データ型が整数の x の変数を宣言し、 キーボードから値を入力できるようにせよ。また、 その入力した値が正の数(入力値>0)の場合、 「正の数です」と表示するプログラムを 作成せよ。 なお、入力命令の前に「数字を入力してください:」と改行なしで表示し、ユーザ対話 型のプログラムにすること。 ○提出課題 5-2 ファイル名「kadai005-2」 年齢を入力し、20 歳未満の場合「未成年です」と表示されるプログラムを作成せよ。 なお、入力命令の前に「年齢:」と改行なしで表示し、ユーザ対話型のプログラムにす ること。 △発展課題 5-3 ファイル名「kadai005-3」 データ型が整数の x の変数を宣言し、 キーボードから値を入力できるようにせよ。 また、 その入力した値が偶数の場合、 「偶数です」と表示するプログラムを作成せよ なお、入力命令の前に「数字を入力してください:」と改行なしで表示し、ユーザ対話 型のプログラムにすること。 □任意課題 5-4 ファイル名「kadai005-4」 持っているお金と欲しいものの金額の 2 つを入力し、購入できるなら「購入できます」 と表示するプログラムを作成せよ なお、持っているお金を入力する前に「持っているお金:」 、欲しいものの金額を入力す る前に「欲しいものの金額:」と改行なしで表示し、ユーザ対話型のプログラムにする こと。
  • 7. 情報 C「コンピュータの仕組み」 No.4 ●練習課題 6 2 分岐の条件分岐命令 プログラム「rei006」 1: 整数 ten 2: 「テストの点を入力:」 を改行なしで表示する 3: ten ← input() 4: もし ten < 40 ならば 5: | 「赤点だったので頑張ろう」を表示する 6: を実行し,そうでなければ 7: | 「よくがんばりました」を表示する 8: を実行する 流れ図(フローチャート) はじめ 変数 ten の宣言 「テストの点を入力」 を表示 ten に値を代入 ここに条件分岐を記入 おわり
  • 8. 2年 組 番 氏名( ) 2分岐の条件文 ?条件式? に合致する(真) もし ?条件式? ならば 場合、<処理1>の箇所を実行 | する。 | <処理1> <処理1>を実行後、「を実行 | する」の次の命令へジャンプす を実行し,そうでなければ る。 | | <処理2> | ?条件式? に合致しない(偽) を実行する 場合、<処理2>の箇所を実行 する。 ○提出課題 6-1 ファイル名「kadai006-1」 入力した値が偶数の場合は「偶数です」を表示し、奇数の場合は「奇数です」と表示す るプログラムを作成せよ。 △発展課題 6-2 ファイル名「kadai006-2」 持っているお金と欲しいもの金額の2つを入力し、購入できるなら「購入できます」と 表示し、お金が足りない場合は不足金額を表示するプログラムを作成せよ。 流れ図(フローチャート) はじめ 変数宣言 2つの金額入力 ここに条件分岐を記入 おわり
  • 9. 情報 C「コンピュータの仕組み」 No.5 ●練習問題 7 繰り返し 繰り返しの開始する値を設定 プログラム「rei007」 1: 整数 i 繰り返しの終了する条件 2: i ← 1 3: i < 10 の間, 4: | i と「回目の表示」 を表示する 処理が終わるごとに条件に含 5: | i ← i + 1 6: を繰り返す まれている変数の値を増減 流れ図(フローチャート) はじめ 変数 i の宣言 ここに繰り返しを記入 おわり
  • 10. 2年 組 番 氏名( ) 繰り返し命令 ?条件式? が「真」の間、 ?条件式? の間, <処理> の命令を繰り返 | す。 | <処理> | を繰り返す ○提出課題 7-1 ファイル名「kadai007-1」 コンソール画面に「0」~「100」までの数を表示するプログラムを作成せよ。 ○提出課題 7-2 ファイル名「kadai007-2」 コンソール画面に「50」~「100」までの数を表示するプログラムを作成せよ。 ○提出課題 7-3 ファイル名「kadai007-3」 コンソール画面に「100」~「0」までの数を表示するプログラムを作成せよ。 ○提出課題 7-4 ファイル名「kadai007-4」 コンソール画面に「0」~「100」に含まれている偶数の数を、数の小さいものから表示 するプログラムを作成せよ。 ○提出課題 7-5 ファイル名「kadai007-5」 コンソール画面に「0」~「100」に含まれている 5 の倍数を、数の小さいものから表示 するプログラムを作成せよ。 △発展課題 7-6 ファイル名「kadai007-6」 0 ~ n までの数字を表示するプログラムを作成せよ。 n の値は繰り返し処理の前に、 入力命令でキーボードから入力できるようにすること。 △発展課題 7-7 ファイル名「kadai007-7」 n ~ m までの数字を表示するプログラムを作成せよ。 n および m の値は繰り返し処理 の前に、入力命令でキーボードから入力できるようにすること。 △発展課題 7-8 ファイル名「kadai007-8」 1 ~ 10 までの値を加算し、その結果を表示するプログラムを作成せよ。 □任意課題 7-9 ファイル名「kadai007-9」 1 ~ n までの値を加算し、その結果を表示するプログラムを作成せよ。 の値は繰り返 n し処理の前に、入力命令でキーボードから入力できるようにすること。 □任意課題 7-10 ファイル名「kadai007-10」 n ~ m までの値を加算し、その結果を表示するプログラムを作成せよ。n および m の 値は繰り返し処理の前に、入力命令でキーボードから入力できるようにすること。 □任意課題 7-11 ファイル名「kadai007-11」 n! を求めるプログラムを作成せよ。 の値は繰り返し処理の前に、 n 入力命令でキーボー ドから入力できるようにすること。