情報工学Ⅱ (第2回) 月曜4限 担当:北川 晃.

Slides:



Advertisements
Similar presentations
情報基礎実習 I (第6回) 木曜4・5限 担当:北川 晃. Stream クラスを用いたファイルの接続 … Dim インスタンス名 As New IO.StreamReader( _ “ ファイルの絶対パス ”, _ System.Text.Encoding.Default) … s = インスタンス名.
Advertisements

1 情報基礎 A 第 9 週 プログラミング入門 VBA の基本文法 1 準備・変数・データの入出力 徳山 豪・全 眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
1 情報基礎 A 第 6 回 プログラミング入門 VBA の基本文法 1 - 計算の基本構造とプログラミング - 準備・変数・データの入出力 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
情報基礎実習 I (第3回) 木曜4・5限 担当:北川 晃. プログラミング演習 2 つの数を入力し,「計算」ボタンをクリック すると,それぞれの計算結果を次のように 表示するプログラムを作れ.
復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ
復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ
コンピュータープログラミング(C言語)(2) 1.文字列出力と四則演算 (復習) 2.関数と分割コンパイル
コンピュータープログラミング(C言語)(2) 1.文字列出力と四則演算 (復習) 2.関数と分割コンパイル
情報基礎実習I (第4回) 木曜4・5限 担当:北川 晃.
情報基礎実習I (第2回) 木曜4・5限 担当:北川 晃.
基礎プログラミングおよび演習 第4回 担当:花岡 5階522/520.
情報基礎実習I (第7回) 木曜4・5限 担当:北川 晃.
数値計算及び実習 第3回 プログラミングの基礎(1).
Q q 情報セキュリティ 第6回:2005年5月20日(金) q q.
情報基礎実習I (第5回) 木曜4・5限 担当:北川 晃.
情報基礎A 第10週 プログラミング入門 VBAの基本文法2 データ型・If ~Then~Else
第2回:Javaの変数と型の宣言 プログラミングII 2007年10月2日.
第6章 2重ループ&配列 2重ループと配列をやります.
情報基礎実習I (第1回) 木曜4・5限 担当:北川 晃.
トキのカタチ2016 電子工作(Arduino)講習
第7回 条件による繰り返し.
繰り返し計算 while文, for文.
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
本時の目標 「簡単なプログラム言語の意味を理解し、マクロ機能を使って簡単なプログラムを作ることができる。」
情報工学Ⅱ (第9回) 月曜4限 担当:北川 晃.
第二回 VB講座 電卓を作ろう.
電気・機械・情報概論 VBAプログラミング 第2回 2018年7月2日
地域情報学演習 VBAプログラミング 第2回 2017年10月17日
地域情報学演習 VBAプログラミング 第3回 2017年10月24日
情報実習I (第7回) 木曜4・5限 担当:北川 晃.
アルゴリズムとプログラミング (Algorithms and Programming)
コンピュータに計算させる命令を確かめよう!
情報とコンピュータ 静岡大学工学部 安藤和敏
第7回 条件による繰り返し.
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
情報基礎Ⅱ (第11回) 月曜4限 担当:北川 晃.
コンピュータープログラミング(C言語)(2) 1.文字列出力と四則演算 (復習) 2.関数と分割コンパイル
VBで始めるプログラミング 第三回 コードを書こう!! まきはた@ナーク ’04/05/21.
PHP 概要 担当 岡村耕二 月曜日 2限 平成22年度 情報科学III (理系コア科目・2年生)
情報処理Ⅱ 第2回:2003年10月14日(火).
情報基礎Ⅱ (第5回) 月曜4限 担当:北川 晃.
情報実習I (第1回) 木曜4・5限 担当:北川 晃.
第5章 計算とプログラム 本章で説明すること ・計算の概観と記述法 ・代表的な計算モデル ・プログラムとプログラム言語.
プログラムの基本構造と 構造化チャート(PAD)
C言語 はじめに 2016年 吉田研究室.
C言語ファミリー C# 高級言語(抽象的) Java オブジェクト指向 C++ C 機械語(原始的)
情報実習I (第2回) 木曜4・5限 担当:北川 晃.
地域情報学 C言語プログラミング 第2回 変数・配列、型変換、入力 2017年10月20日
第6回レポート解説 条件1 条件2 条件3 月の入力 月、日、曜日の表示 日の入力 曜日の入力
情報基礎Ⅱ (第1回) 月曜4限 担当:北川 晃.
プログラミング入門2 第6回 関数 情報工学科 篠埜 功.
情報工学Ⅱ (第9回) 月曜4限 担当:北川 晃.
Webページに動きを持たせるJavascript言語について 例題のプログラムを通して体験的に理解することとします。
プログラミング基礎演習 第4回.
情報実習I (第6回) 木曜4・5限 担当:北川 晃.
情報工学Ⅱ (第8回) 月曜4限 担当:北川 晃.
cp-3. 計算 (C プログラミング演習,Visual Studio 2019 対応)
情報実習I (第1回) 木曜4・5限 担当:北川 晃.
プログラミング入門2 第6回 関数 情報工学科 篠埜 功.
Q q 情報セキュリティ 第8回:2004年5月28日(金) の補足 q q.
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
プログラミング1 プログラミング演習I 第2回.
プログラミング入門2 第5回 配列 変数宣言、初期化について
プログラミング入門2 第3回 条件分岐(2) 繰り返し文 篠埜 功.
printf・scanf・変数・四則演算
復習 いろいろな変数型(2) char 1バイト → 英数字1文字を入れるのにぴったり アスキーコード → 付録 int
情報処理Ⅱ 第3回 2004年10月19日(火).
C言語講座 四則演算  if ,  switch 制御文.
分岐(If-Else, Else if, Switch) ループ(While, For, Do-while)
アルゴリズム ~すべてのプログラムの基礎~.
Presentation transcript:

情報工学Ⅱ (第2回) 月曜4限 担当:北川 晃

Visual Studio 2017を使ってみよう ファイルメニューから,新規作成→プロジェクトを選ぶ. Visual Basicからコンソールアプリケーションを選び, ’Hello’と名前をつける.(保存箇所にも注意)

プログラミングの第一歩 ここにプログラムを書く. Sub:サブルーチン, ひとかたまりのプログラム (値を返さない)

プログラミングの第一歩(続き) Sub Main() Dim s As String s = "Hello world" Console.WriteLine(s) End Sub 左のプログラムを入力して保存

プログラミングの第一歩(続き) 「デバッグ」タブから, 「デバッグなしで開始」を選ぶ. コンソールに結果が表示される.

プロジェクトとソリューション プロジェクト: フォームやプログラムなどを含む1つの アプリケーション全体を指す. ソリューション: 1つまたは複数のプロジェクトと,それ全体を含む. C#など,Visual Studioの他の言語の プロジェクトを含むことができる. 当面,1つのソリューションに1つのプロジェクトを作成 プロジェクト: フォームやプログラムなどを含む1つの アプリケーション全体を指す. プロジェクトごとにプログラムを作成して保存. プログラムを作成する=プロジェクトを作成する

コード記述の基本 ステートメント(文)は1行に1つが基本. 長い文の場合は,文末にスペースと アンダースコアを書くことで,次の行に継続できる. 各行でアポストロフィ(’)をつけた箇所以降は, コメント扱いとなる(何も処理されない). コメントは,プログラムを見る人間向けの説明書き. プログラムのうち,半分程度がコメントであるプログラムがよいとされる. 折に触れ,コメントをつけるよう心がけるとよい.

定数と変数 定数:プログラムで扱うデータを定数という. (プログラム実行中に,その値は変わらない) 変数:データを記憶する場所を変数という. (その値は計算中に変化する場合がある) 変数名の付け方 頭文字は英字. 英字,数字,アンダースコア(_)を使用する. 大文字,小文字の区別はない. 字数は16383字以内.

定数と変数の型 いろいろな型のデータがあるが, 基本的には以下のものを用いる. 整数型:Integer 単精度実数型:Single 倍精度実数型:Double 文字列:String ブール型(論理型):Boolean 日付型:Date

変数の宣言 プログラムの最初に,必ず変数の型宣言を行う. Dim 変数名, … As 型名, 変数名, … As 型名 例: Dim Gokei As Integer Dim a As Single, b As Double Dim moji5 As String Dim L As Boolean Dim sum As Integer=100 宣言時に任意の 初期データを設定可能

四則演算,様々な演算 変数にデータや式の計算結果を 記憶させるには,代入文を用いる. 等号“=”は,右辺の式の計算結果を 左辺の変数に代入するという意味である. 式に用いることのできる演算子は,次の通り. ():かっこ ^:べき乗 -:負符号 *, /:乗算,除算 \:整数除算の商 Mod:整数除算の余り +, -:加算,減算 &:文字の結合

プログラムの例 二つの整数の和,差,積,商,余りを計算するプログラム Dim m, n, wa, sa, seki, sho, amari As Integer ’値を代入する m=7 n=3 wa=m+n sa=m-n seki=m*n sho=m\n amari=m-(m\n)*n Console.WriteLine( _ “和={0},差={1},積={2},商={3},余り={4}”, _ wa, sa, seki, sho, amari) 整数型の変数宣言 値を代入 コメント文 演算の実行 文の継続

プログラミング演習 二つの整数m,nの和,差,積,商,余りを計算する プログラムにおいて,mおよびnの値をキーボードから 入力する形式に変更してみよ. 円の半径rを読み込んで,円周の長さLと 面積Sを計算して表示させるプログラムを作れ.

解答例:m, nの和,差,積,商,余り 入力に先立って“m=”と 表示させることで,次に 何をすればよいかわかり やすくなる. Console.Title=“m, nの和,差,積,商,余り” Dim m, n, wa, sa, seki, sho, amari As Integer Console.Write(“m=”) m=Console.ReadLine() Console.Write(“n=”) n=Console.ReadLine() wa=m+n sa=m-n seki=m*n sho=m\n amari=m-(m\n)*n Console.WriteLine( _ “和={0},差={1},積={2},商={3},余り={4}”, _ wa, sa, seki, sho, amari) 入力に先立って“m=”と 表示させることで,次に 何をすればよいかわかり やすくなる.

出力例:m, nの和,差,積,商,余り

“WriteLine”と“ Write”の使い分けに注意 解答例:円の円周,面積の計算 Console.Title = "円の円周,面積の計算" Dim r, pi, L, S As Single Console.WriteLine("半径を入力して下さい") Console.Write("r=") r = Console.ReadLine() pi = 3.1415926 L = 2 * pi * r S = pi * r ^ 2 Console.WriteLine("円周の値は{0}," _ & "円の面積は{1}", L, S) 単精度実数型 “WriteLine”と“ Write”の使い分けに注意 πの近似値を代入 べきの計算 文字列の途中で改行する方法

出力例:円の円周,面積の計算

判断と飛び越し1 IF文 WHILE型 条件成立? 繰り返して 実行する部分 次の処理へ NO YES GoTo文

If文の基本的な表式1 条件式: 条件式が満たされれば文1を実行 満たされないときは文2を実行 [ ]で囲まれたElse句は省略可. If 条件式 Then 文1 [Else 文2] 条件式(比較演算子)の書き方 < (より小さい) If a<100 Then …… <= (以下) If a<=100 Then …… > (より大きい) If a>100 Then …… >= (以上) If a>=100 Then …… = (等しい) If a=100 Then …… <> (等しくない) If a<>100 Then ……

1行のIf文の例文 Dim a, b, c, d, As Integer Dim flag As Boolean If a > b Then c = 100 Else c = -100 If a <= b Then c = 125 If flag Then c = d 条件式は論理型の変数として扱われる. 満たされた場合は「真」(True), 満たされない場合は「偽」(False)という. 条件式に,論理型の変数を用いることも可能.

例題:ユークリッドの互除法 ユークリッドの互除法を用いて,2つの正整数a,b (a>b)の最大公約数を求めるプログラムを作れ. あまり のとき, と の最大公約数は と の最大公約数に等しい. 例:1058と943の最大公約数 1058÷943=1 あまり 115 (943と115の最大公約数) 943÷115=8 あまり 23 (115と23の最大公約数) 115÷23=5 あまり 0 あまりが0になるまで この作業を繰り返す. あまりが0になったときの 割る数が最大公約数

ユークリッドの互除法:出力例

ユークリッドの互除法のアルゴリズム 2つの整数aとbを読み込む. a→m,b→nを代入. ℓ=(m÷nのあまり)を計算. 手順3と4を,あまりℓが0になるまで繰り返す. このときのnを最大公約数として書き出す.

プログラム例:ユークリッドの互除法 ℓ=lと読み替えてください GoTo で 飛ぶ先 余りを計算して,0なら Dim a, b, ℓ, m, n As Integer Console.Write("一つ目の整数を入力して下さい") a = Console.ReadLine() Console.Write("二つ目の整数を入力して下さい") b = Console.ReadLine() m = a n = b point1: ℓ = m - (m \ n) * n If ℓ = 0 Then GoTo point2 m = n n = ℓ GoTo point1 point2: Console.WriteLine("最大公約数は{0}", n) GoTo で 飛ぶ先 余りを計算して,0なら ‘point2’へ飛べ,という命令 条件成立? 繰り返して 実行する部分 次の処理へ NO YES この二つの行を 逆にしてはならない

Whileループを用いた条件分岐 While……End While文 ある条件によって繰り返しを続けるかどうかを判断するループ 文ブロック End While 条件式が真(True)の間はループを繰り返す. 条件が最初から偽(False)の場合は, ループを1回も実行しない.

While文の例文 Dim sum As Integer = 0, i As Integer i = 1 While i <= 10 sum = sum + i i = i + 1 End While Console.WriteLine(“合計は{0}”, sum) iが11を越えるまで, 以下の命令を繰り返せ. 変数’sum’に’i’を加えた ものを新たな’sum’とする. While文の条件式を誤れば,ループが 無限に繰り返されることにもなる.