コピー2020.08.30今回は、実際にフローチャートを自分で作成する演習を行います。インターネットや書籍でフローチャートの書き方の記事を見ると、「バブルソート」や「クイックソート」を題材にしているものがあります。これらは、並び替え処理を行うための代表的なアルゴリズムとして昔から利用されています。フローチャートを書く演習としては、若干難しすぎます。そこで、今回はもう少し簡単な題材でフローチャートの書き方を練習していきましょう。「フローチャートの書き方」は以下の記事で説明をしています。併せて、確認してみてください。【初心者用】フローチャートの書き方プログラムを作成する場合、まずアルゴリズムを考え、次にそのアルゴリズムをフローチャートにしましょう。初心者にとってはフローチャートを書くことは大変な作業となります。こで、今回は最低限使用する記号だけを取り上げ、気軽にフローチャートを書く方法について説明します。今回は私の解説ではなく、実際に演習を行います。チャレンジしてみてください!!花子さん分かりました。考えたアルゴリズムの結果フローチャートを書くまとめ演習あなたは、駅の自動改札機用のプログラムを作ることとなりました。この目的の処理を行うプログラムのアルゴリズム及びフローチャートを考えてください。実際は非常に複雑な処理を考えなければなりませんが、初心者用の演習なので、処理自体を簡素化しています。交通系ICカードで自動改札を出る時の金額処理を行うプログラムを作る実装する処理は、次の通りです。交通系ICカードには、チャージ済みの金額が保存されている自動改札で入った時に、その駅の情報がICカードに記憶される出る時に、その駅までの運賃が計算され、残金から引かれ、出口のバーが開くもし残金が足りない場合、自動改札機のランプが光り、同時に警告音が鳴る。出口のバーは開かないアルゴリズムを考えるアルゴリズムの考え方の考え方については、以下の記事で説明しています。【初心者用】アルゴリズムの考え方プログラムを作る場合、アルゴリズムを考えることは非常に重要です。初心者の方がつまずく原因のひとつが「アルゴリズムを考えられない」ことが挙げられます。今回は、アルゴリズムの考え方を解説していきます。ict-skillup.com2020.08.23また、プログラムの考え方については、以下の記事で説明しています。【初心者用】プログラムは3つの構成要素で考えるどんなプログラムでも3つの構成要素で成り立っています。この3つの構成要素を意識すれば、プログラムは誰でも作れるようになります。初心者が「プログラムの書き方がわからない」のは、この3つの構成を知らないだけです。今回はプログラムの基本となる3つの構成要素について説明します。ict-skillup.com2020.08.19これらをもとに、改札口の処理を行うアルゴリズムを考えてみましょう。アルゴリズムを考える前に、プログラムの3つの構成要素に注目します。構成要素ごとに、内容を詳細に洗い出していきます。最初に、「必要なデータは何か」「どのようにして用意するか」を考えます。今回の場合、以下のデータが挙げられます。駅を出る時の運賃の金額も必要なデータですが、この金額は計算で求めるものです。したがって、データの入力部分では除外します。これらのデータをどのようにして用意するかですが、改めてプログラム内でユーザに入力させるものではなく、電車に乗る時にすでに保存されているものです。したがって、保存済みの情報を取り出して、利用することになります。【プログラムの構成】データの処理データの入力部分で必要なデータの準備は終わりました。次に考えるのは、「準備したデータをどのように使って、目的の結果を得るか」になります。今回の場合、以下の処理が必要となります。残高によって、出る時の自動改札機の動作を決める残金がある場合、残金から運賃を引いて、改札機のゲートを開ける残金が足りない場合、残金から運賃は引かず、改札機のランプを光らせ、警告音を鳴らす運賃の計算まず最初に行わなければならないのは、「乗車区間の運賃の計算」です。この演習では、具体的な金額の情報がありません。したがって、細かい計算式を考えるのではなく、単純に「運賃を計算する」いう処理だけを考えるだけで構いません。残高によって、出る時の自動改札機の動作を決める次に行うのは、ICカードの残金から利用した区間の運賃を引き落とす処理です。単純な引き算ですが、注意しなければならないことがあります。それは、残金が足りない場合です。皆さんも経験があるかもしれませんが、残金が足りないと自動改札機から出られません。乗り越し精算機に向かって、精算するか、チャージしなければなりません。その処理をアルゴリズムで考える必要があります。この処理を間違えると、残金が足りないのにも関わらず、出口から出られてしまうという大問題が発生してしまいます。自動改札機を出る際には乗車した駅の情報を、ICカードから消去しなければなりません。忘れがちですが、重要な処理となります。消し忘れると、ICカードにはまだ駅から出ていない、乗車し続けているという情報が残ったままになります。以上のことから、このプログラムで行う処理を羅列すると以下のようになります。今回のプログラムでは、特に結果を出力する必要がありません。したがって、この結果の出力要素は不要となります。以上のことから、今回の処理を実現するアルゴリズムは次のようになります。チャージ済みの料金を取得する乗った駅の情報を取得する乗車区間の運賃を計算するもし、残金が運賃より高ければ残金から運賃を引く乗車した駅の情報を消去する自動改札機のゲートを開く自動改札機のゲートを閉めるもし、残金が運賃より低ければ自動改札機のランプを光らせる自動改札機の警告音を鳴らすこのように、プログラムを作る前に、まず日本語で行わせる処理を書き出してみると良いでしょう。フローチャートを書くアルゴリズムができあがったので、次にそのアルゴリズムをフローチャートで表現します。フローチャートの書き方については、以下の記事で説明しています。【初心者用】フローチャートの書き方プログラムを作成する場合、まずアルゴリズムを考え、次にそのアルゴリズムをフローチャートにしましょう。初心者にとってはフローチャートを書くことは大変な作業となります。こで、今回は最低限使用する記号だけを取り上げ、気軽にフローチャートを書く方法について説明します。ict-skillup.com2020.08.27今回は、以下のようなフローチャートになります。上の記事でも説明していますが、このサイトではフローチャートを書く場合、簡単な記号しか使用していませんので、注意してください。フローチャートが完成したら、処理が正しいかどうか実際にフローチャートをなぞってみてください。その場合、具体的な値を入れると、チェックしやすくなります。以下がチェックのサンプルです。(「300円は500円よりも高いか?」は間違いなので結果は「no」)ランプが光る警告音がなる残金から運賃は引かれない、改札機から出られないこのように、具体的な値を入れてみると、フローチャートの流れをきちんと確認することができます。フローチャートが完成したので、この後にプログラム言語を使って実際にプログラムを入力していきます。まとめ今回は、アルゴリズムとフローチャートを書くための演習を行いました。アルゴリズムを考える場合、まずプログラムの3つの構成要素について考える詳細な内容は、日本語で表記しても構わないアルゴリズムが完成したら、フローチャートを書くフローチャートを書いたら、トレースをして確認するフローチャートはプログラム言語に依存しません。したがって、実際はどのプログラム言語を使ってもプログラムを記述することができます。プログラム言語を理解することも大事ですが、アルゴリズムとフローチャートを書くことも非常に重要なことです。書くことができましたか。花子さん今まで、きちんと書いてこなかったので、ちょっと苦労しました。関連記事Java【Java初心者用】配列内の最大値と最小値を求める悪い例と良い例この記事では最大値と最小値を求めるプログラムの作り方についてフローチャートと図解を使って解説しています。プログラムの良い書き方と悪い書き方についても説明しています。どのようにしてプログラムを作ればよいのか、是非ヒントにしてみて下さい!!Java【初心者用】Javaのメソッドに付ける『static』って何?!Javaでプログラムを記述する時、メソッドには必ず「static」を書くと思ってませんか?おまじないのようなものと思って深く考えずに書いてませんか?「static」は重要なキーワードです。今回は「static」について詳しく説明しますJava【初心者用】写経しながらJavaを理解しブラインドタッチも習得するプログラムの勉強でブラインドタッチは必要でしょうか?「ブラインドタッチができると勉強の効率が上がる」のでブラインドタッチができた方が良いでしょう。今回Javaの勉強をしながらブラインドタッチの練習ができるおススメのサイトを紹介します。Java【switch編】Java言語で『じゃんけんゲーム』を作るJava言語で「じゃんけんゲーム」を作成する方法として、今回は「swtich文」を利用するサンプルを紹介します。キーボードからデータを入力する時に例外処理を使ってデータのチェックを行う方法を説明します。Java【初心者用】アルゴリズムの考え方プログラムを作る場合、アルゴリズムを考えることは非常に重要です。初心者の方がつまずく原因のひとつが「アルゴリズムを考えられない」ことが挙げられます。今回は、アルゴリズムの考え方を解説していきます。多くの書籍ではmain()の中に全てのコードを記述していますが実際には複数のメソッドに分けて記述します。初心者はメソッドに分けて記述しようとすると記述方法が分からず、いきなりプログラムが書けなくなります。今回はメソッドの書き方を詳しく説明します。【Java初心者用】今年の年齢の求め方(サンプル4種類)2021.09.20【Java初心者用】今日の日付を表示する(4つのクラス)2021.09.15【Java初心者用】メールアドレスをユーザ名とドメイン名に分割2021.09.12【Java初心者用】数当てゲームを作る(メソッドあり)2021.09.11【PacketTracer基本操作】ルータ1つのLAN構築2021.09.05プロフィール続石恭正です。27年間コンピュータ関係のセミナー講師を行ってきました。初心者や新入社員を対象としたセミナーも多数担当してきましたので、初心者の目線で様々なICT関連の情報提供をおこなっていきたいと考えています。ICTに関連する情報提供を行っているサイトを見ると、初心者には難しい内容が多くあります。ここでは、他のサイトと違って、より初心者目線で分かりやすい説明を心掛けています。ある技術に特化せず、幅広く初心者の方のスキルアップをサポートしていきます。今後ともよろしくお願いいたします。ICTエンジニアのための教習所.メニューホームサイトマップお問い合わせサイト管理者ホーム検索トップサイドバータイトルとURLをコピーしました。