PAGE TOP

情報学の良問

算数、数学とは別に新設される「情報」という科目との関連を整理してみましょう。まずは、算数と数学(中学)の関連を見てみると、・・・
ここをクリックgreen小学校と中学校の学習指導要領(クリック)してください。
次に、数学(中学)と高校数学の関連を見てみましょう。これらの関連図を見ますと、算数や数学の学ぶ学習範囲の前後関係が分かります。
ここをクリックgreen中学校と高校の学習指導要領(クリック)してください。

つまり、学習指導要領から、算数や数学は「積み上げ」式の学問だと分かりますね。でも、それは高校教育までの学習期間が規定されている為の制約から 関連性を分断していて、継続性が無い事を示します。では新たに新設された「情報」という科目と数学との関連を記述してみましよう。
現在の「情報」は★情報モラルなど知識が中心の「社会と情報」と★プログラミングも手厚く扱う「情報の科学」のどちらかを選択することになっていて、 プログラミングを学ぶ生徒はおよそ2割程度です。新たな学習指導要領では「情報1」と「情報2」に再編され、このうち「情報1」は新たに必修化されます。 プログラミングやデータ活用を文系理系を問わずすべての生徒が本格的に学ぶようになります。ここが大きな変更点となっています。 こちらをクリックgreen数学と情報学の関連(クリック)してください。

新しい「情報」という科目は、算数や数学の発展形の位置にある総合的な学問となります。情報学という学問の位置付けも数学の学習体系と比較し確認してみます。 「情報」という科目で学習するテーマで良問と言われる問題を集めてみました。是非ご覧ください!!♥♥♥

ご意見などあればgreen問い合わせサイトからどうぞ。




めだか


★★アルゴリズムって知ってますか?★★

【問題5】new

コンピュータの利用技術にアルゴリズムがあります。プログラムから、計算機やプログラミング言語に依存 する部分を取り去って、純粋に計算機に仕事をさせる手順を考えたものを「アルゴリズム(algorithm)」といいます。 アルゴリズムは計算機で実行可能でなくても良いという点で、やや抽象化された処理手順の表現です。 「与えられた基本命令と制御構造とを組み合わせて、ある範囲内の一群の仕事のどれでも行う事ができる ように一般的手順を記述したもの」と定義されます。では、アルゴリズムに関する問題を纏めてみました。 以下に問い形式で出題します。メモ用紙を用意して流れ図などを書いて考えてみてください。 それでは、システムエンジニアを目指して学習しましょう。


【問5-1】まず、2つの数値の大小を比較するアルゴリズム(流れ図)問題です。

アルゴリズムの問題

  問5-1の解答です。どうでしょうか?(Click!)  自分の答えと比較してみてください。

アルゴリズムの回答

【問5-2】では、3つの数値の大小を比較するアルゴリズム(流れ図)はどうなりますか?

アルゴリズムの問題

  問5-2の解答です。  自分の答えと比較してみてください。どちらがスッキリしていますか?

アルゴリズムの回答

【問5-3】3つの数値のうち真ん中の数値をMIDに入れるように流れ図を修正してみてください。

アルゴリズムの問題

【問5-4】最後にN個の数値の大小を比較するアルゴリズム(流れ図)を考えてみてください。

アルゴリズムの問題

  問5-4の答えです。  3つの数値をN個まで拡張する場合がポイントとなります。どうでしたか?

アルゴリズムの回答

    次に、アルゴリズムを考えながら実際のプログラミングを学習してみましょう。
    前問の【問5-3】で「3つの数値の大小関係を比較するアルゴリズム(流れ図)」を考えましたね。
    この流れ図を実際にコーディングしてみます。プログラミング言語は沢山あります。
    ここではPascalを使用してみます。Pascalはスイス生まれの教育用プログラミング言語。
    ALGOLの影響を受けた、強力な構造化プログラミング言語として、ちょいと昔までは大学の
    プログラミングの講義といえばPascalというぐらい、よく使われていました。
    流れ図に照らし合わせて確認してみましょう。

    プログラミング言語の種類はいくつあるか、分かりますか?⇒ここをクリック!!
    高校生に伝えたい本当の情報科学とは?⇒ここをクリック!!

  【問5-3のプログラムコーディング】最大値、最小値、中間値を決定する解答です。(Click!)

Pascalコーディング

トップへ戻る

前のページに戻る


★★基本的手法は構造化プログラミングだ!★★

【問題78】new

構造化プログラミングは、現代のプログラミング言語の大半が属する、最もよく知られているプログラミングパラダイムです。 他のプログラミングパラダイムのベースの考え方にもなっているので、プログラミング言語として最初に学ぶべきものといえます。 構造化プログラミングとは、「順次」「反復」「分岐」という単純な制御構造を「手続き」という単位でまとめることで抽象化し、 その手続きをさらにまとめてより抽象的な「手続き」を作る、といった階層構造によってプログラミングするパラダイムです。
順次とは、プログラムに記述された順に上から実行する処理です。反復とは、指示された処理を繰り返し実行することで、多くの 言語ではfor文、while文といった形で表現されます。分岐とは、条件によって実行する処理を切り替えることで、こちらは if文、switch文が代表的です。ソフトウエア設計の考え方の1つに「分割統治法」があります。構造化プログラミングはこれを 体現したものです。
分割統治法とは、そのままでは解決が難しい「大きな問題」を「小さな問題」に分割し、その分割された 小さな問題のすべてを個別に解決する手法です。構造化プログラミングに当てはめて考えてみると、大きく複雑なソフトウエアと いう問題を小さな手続きという単位に分割し、それをさらに分割することを繰り返すと最後には順次、反復、分岐という単純な 小さな文になります。これが、分割統治法の考えが生かされているということになります。


  次に構造化プログラミングについて勉強しましょう。 (Click!)

Pascalコーディング

  【問78】は、かなり抽象的なので具体的にn=8として図式化して考えてみましょう。(Click!)

Pascalコーディング

  では、【問78】<手順の説明>を段階的に詳細化していきます。まず第一段階レベルは?

Pascalコーディング

  第二段階では「最大値を求める」と「値を入れ換える」に分割して詳細化を考えます。

Pascalコーディング

  第三段階では「最大値を求める」処理と「値を入れ換える」処理を詳細化します。

Pascalコーディング

  第四段階では「最大値と比較して必要ならば最大値を置き換える」部分を詳細化します。

Pascalコーディング

  それではコーディングした部分を全て統合してみましょう。纏め作業になります。

Pascalコーディング

  (ちょっとブレイク)色を付けた部分はいろんな記述方法があります。(NSチャートとPAD)

Pascalコーディング

トップへ戻る

前のページに戻る


★★覗いてみよう!ソートの世界!★★

【問題79】new

大小関係が定められたたくさんのデータを、小さい順(昇順)あるいは大きい順(降順)に並べ替える作業をソート(整列)と言います。 この処理は、さまざまなプログラムの中で頻繁に使われ、そのゆえ、古くからいろいろなアルゴリズムが考案されてきました。 並べ替えは、主にデータベースなどの大量のデータを処理する必要のあるプログラムで有用です。試験の点数の高い順番に並べ替えて、 上位1000人を合格にするなどの場合は、点数による並べ替えが行われます。また、住所録のデータを住所毎にまとめて参照したい場合は、 住所(文字列)による並べ替えが行われます。では、「ソートの世界」にご案内しましょう


  まずは、クイック整列法でn個の数値を大きい順に並び換える【問79】です。(Click!)

Pascalコーディング

  では、横に8個の数値を配置して添字2つi(左から右),j(右から左)を使いましょう。(Click!)

Pascalコーディング Pascalコーディング

  【問79】について分割統治法のアルゴリズムを考えると、次のような手順となります。(Click!)

アルゴリズム概観 Pascalコーディング

  【問79】考えたアルゴリズムを概観しつつ、Pascal言語でコーディングします。(Click!)

Pascalコーディング Pascalコーディング

  【問79】Pascalコーディング例を示します。段階的詳細化部分も明示します。(Click!)

Pascalコーディング

  最後に、アルゴリズムを評価します。効率の良いアルゴリズムとは何でしょうか?(Click!)

オーダー記法

  【問79】クイックソートのアルゴリズムの計算量を考えてみましょう。(Click!)

Pascalコーディング Pascalコーディング Pascalコーディング

  【問79】クイックソートのアルゴリズムの改善方法を考えてみましょう。(Click!)

Pascalコーディング Pascalコーディング

  【問79】最後にクイックソートのアルゴリズムのPascalコーディング例を示しましょう。

Pascalコーディング

トップへ戻る

前のページに戻る


★★離散数学の良問です!★★

【問題80】new

離散数学(りさんすうがく、英語:discrete mathematics)とは、原則として離散的な(言い換えると連続でない、とびとびの) 対象を扱う数学のことです。有限数学あるいは離散数理と呼ばれることもあります。グラフ理論、組み合わせ理論、最適化問題、 計算幾何学、プログラミング、アルゴリズム論が絡む応用分野で、その領域を包括的・抽象的に表現する際に用いられることが多いです。 微分積分学の極限に関係しない数学です。すなわち〈連続の数学〉に対して離散的な構造を扱う数学。計算可能性の理論,符号理論, オートマトンの理論,計算量の理論,証明論,組合せ論,集合論,整数論,グラフ理論,組合せ論などの分野などで幅広い分野が 含まれます。では、問題です!

離散数学の問題




「まりちゃんが乗ってる観覧車の真下にゆう君の乗っている観覧車」を図式化したら?!(Click)

算数オリンピック問題

では、問題に沿って掛った時間を整理してみましょう!(Click)

算数オリンピック問題

答えはこうなります!分かりますか?(Click)

算数オリンピック問題


トップへ戻る

前のページに戻る


数学ランキング

↑ここをクリックして応援、よろしくお願いします。




inserted by FC2 system