• 締切済み

ITパスポート試験

アルゴリズム:合計の意味が理解できません。 テキストは以下の通りです。 考え方を分かり易く教えてください。 -------------------------------------------- 1+1を計算する場合: y = y +x (1)値yに0を代入する(初期化) y=0+x (2)値xに1を代入する y=0+1 (3)計算結果を、解yに代入する 1=1 (4)値xに1を代入する y=1+1 (5)計算結果をyに代入する 2=2 (6)さらに計算する場合は(4)と(5)を繰り返す -------------------------------------------

みんなの回答

回答No.2

プログラムの中でよく使われる「繰り返し」の意味をご存知でしょうか? プログラム言語で言えば、for文、while文、repeat文の随所で現れる計算というと素人にはわかりづらいので↓下記で説明します。 y=0 (yへ1を代入するとyは1を保持) x=1  (xへ0を代入するとxは0を保持) y=0+1 (yへ新たにy+xを代入(上書き)すると、y=0+1つまりy=1) yは次の処理へ値を保持します(メモリー) y=1+1 (yへ新たにy+xを代入(上書き)すると、y=1+1つまりy=2) y=2 (結果) という処理の流れを表現しているのだと思います。 さらに、処理を続けると以下の用になります y=2+1 (yへ新たにy+xを代入(上書き)すると、y=2+1つまりy=3) y=3 この例の上げ方は、素人には意味不明ですし、不親切です。 ITパスポート試験のテキストでこの様に書かれていたのでしょうか? 簡単に書くと、 y=y+x の処理を行った回数を1ずつ加算していきその合計をメモリーへ保持するということを言っているわけです。 エクセルの累計の計算もこの概念から成り立っているので試すといいです。たぶん、表計算でよく使う概念だからITパスポートでの出題なのでしょう。表計算ソフトの名前とか試験では出せませんから概念でピンと着てねって意味でしょう。 エクセルで表現すると↓下記の用になります。 A1セルに0 A2セルに1 をそれぞれ入力して A3セルに =A1+A2 を書いてA10までコピーします。 すると、A10では、A列にコピーした分の累計が出ます。 この計算のことです。 もちろん「セル」だとか「列名a1」などは、表計算ソフトやデータベースソフトでの統一の表現では無いので、概念的な書き方になっているのでしょう。

全文を見る
すると、全ての回答が全文表示されます。
  • nac03056
  • ベストアンサー率48% (203/419)
回答No.1

代入が理解できないものとして説明します。 y=y+1 は代入であり、○=△とは、△を○に入れると言う意味になります。(ここで=を等しいと解釈すると混乱しますので○=△は○←△と考えた方がわかりやすいです。) そしてこの代入では、△部分の計算を終えて値を求めてから代入しないといけないというルールがありますので、まだ値の入っていないyは0ですから、y+1は、0+1、すなわち計算すると1になります。 つまりは、y=y+1 とは y=1 つまり y←1 のことであるとなります。 そして、この処理をもう一度実行したときにどうなるかがポイントで、 y=y+1 の△部分 y+1 のyが今度はすでに1が入っているため、1+1になり、y=2 つまり y←2 となります。 この繰り返しで、常に1増えるカウントができるわけです。 ということで、ここでは、yに何が入っていようと関係なく1にしてしまう y=1 の代入と、yの値に応じてyに1を加える y=y+1 の代入の違いが理解できているかどうかが重要です。 ※もし不自然な「 」がある場合、左向き矢印(<-)が入っています。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • パラメーターが中間のときの近似

    5/23に次のような問題が投稿されていました。  (1/√y) = 2log(x*√y) - 0.8 ...(1) をyについて解く(対数の底は10) 私ならば次の様にします。  y = f(x) + g(y) ...(2) という方程式でg(y)が小さいとみなせるとき、第1近似は  y1 = f(x) これを(2)の右辺に代入して、第2近似は  y2 = f(x) + g(y1) 以下同様に  y[i+1] = f(x) + g(y[i]) これを逐次代入法と呼びます。(厳密にはこれが正しい解に収束することを示さなければなりませんが)。この方法を使うためにはxが大きいときと小さい時に分ける必要があります。Excelで第10近似まで計算したときの結果を下に示します。 xが小さい時1/√yが小さいとみなせる  x   0.05    0.1     1     5  y 2639.5157 688.81421 12.199135 3.5624 残差 -2.2e-16 -2.4e-14  -1.9e-5  -0.61 xが大きい時log(y)が小さいとみなせる  x   5     10    100    1000  y 0.4908 0.8265 0.1694847 0.06260594 残差 1.13 -0.017 -9.0e-5 -1.4e-6 残差というのは近似解を元の方程式(1)に代入したときの左辺ー右辺です。さて、ここでやっと問題です。残差を見れば分かるように、また実際に計算してみれば収束の仕方から分かるようにxが1から10ぐらいの中間の値ではどちらの展開も良い結果を与えません。パラメーターが中間の値のときの良い展開の仕方はないものでしょうか。

  • excelで方程式を解くことはできますか?

    たとえばy=100x^z (xのz乗)において、yとxの値を代入したときのzの解をセルに表示することができるのでしょうか?もちろん、この式の場合は式を変形すれば(Logをとってz=)にすればよいのでしょうが、もっと複雑な式の解を求めたいので、式を変形せずに計算したいです。どなたかよろしくお願いします。

  • 連立方程式

    次の連立方程式が2組の相異なる実数解をもつとき,kの値の範囲求める問題で x-y=k (x^2)+xy+(y^2)=4 で x-y=kを(1) (x^2)+xy+(y^2)=4を(2)とすると (1)よりy=x-kを(3)として (2)に代入して計算すると 3(x^2)-3kx+(k^2)ー4=0となりこれを(4)とすると これから 判別式をDとすると求められますが 参考書に (4)の実数解に対して(3)よりyの実数解がただ1つ定まることにより(4)が相異なる2つの実数解をもつkの値の範囲を求めればいいと書いてあるのですが (3)よりyの実数解が1つ定まるというのがよくわかりません 国語のようになってしまってすいません

  • JavaScriptの変数への代入について

    <単純なデータ型> 1. 以下のようなケースでxに5という値を代入すると1行目の「let x = 1;」で「x」の値が5に変わるというのは理解できます。 この場合、2行目は「y」の値は「1」のままです。「5」でないのがわかりません。 代入したことによって「let y =x」へは影響を及ぼさないのはなぜですか? 少なくともスコープの範囲以内は代入の影響が出るものと考えてしまいます。 { let x = 1; let y = x; x = 5; console.log(x); //5 console.log(y); //1 } <配列> 2.このような配列の場合、「x[0]」に配列である[1, 2];が代入されているわけですよね。 以下のように「x[0]」に5を代入した場合、console.logで見てみると、[5, 2]となるのは理解できます。 しかし、2行目の「let y = x;」も[5, 2]となっています。 上の単純なデータ型のケースをもとに考えるならば、ここは[1, 2]のままでないのはなぜなのでしょうか? 試しに自分で「x[1]」に書き換えてみると両方とも「1, 5」となります。 { let x = [1, 2]; let y = x; x[0] = 5; console.log(x); //[5, 2] console.log(y); //[5, 2] } なぜ、単純なデータ型と配列ではパターンが異なってくるのでしょうか? 初心者です。学習中でまだ基礎的な段階なのですが、つまづいてしまいました。 分かる方いらっしゃいましたら教えて下さい。よろしくお願いいたします。

  • 偏微分方程式の数値計算について

    偏微分方程式の解の数値計算の仕方についての質問です。 例えば、偏微分方程式の解が以下のような形だったとします。 T(x,y)=Σ(A1n*x^n+A2n*x^(-n))*cos(ny) nは変数分離定数です。A1n,A2nが積分定数です。またn=1~∞とします。 今、あるxにおけるTとyの数値計算をするとします。 つまりxを定数として扱います。 そして、上式を条件に代入して解を求めるのですが、 n=3の場合の結果が欲しい場合は、 n=1,2,3のとき連立方程式をそれぞれで解いて、 数値結果は、 (n=1の結果)+(n=2の結果)+(n=3の結果) という考え方であってますか? アドバイスをお願いします。 プログラムで数値計算をするのですがなかなかうまくいかずこまっています。

  • 数学の問題

    すいません。 全然わからなくて、どこから考えていいのか全然わかりません 35x-151y=1 x、yは整数とすします。 (1)一般解を求めます (2)|x+y|の最小値とそのときのx,yの値はどうやってもとめるのですか? 参考書によると (1)151=35×4+11 …(1)  35=11×3+2 …(2)  11=2×5+1 …(3) この式はどこからでるのでてきたのでしょうか? そして、 (3)に(2)を代入し、さらに(1)を代入して 1=11-2×5 =11-(35-11×3)×5 =11×16ー35×5 =(151-35×4)×16-35×5 =151×16-35×69 これより、x=-69,y=-16は1組の解である。 これより、 35x-151y=1 35(-69)-151(y+16)=35×151K kは整数 答え x=151k-69 y=35k-16 (2) |x+y|=|186k-85| k=0のとき、|x+y|=85 x=-69,y=-16 k=1のとき |x+y|=101 答えは 最小値85(x=-69,y=-16) これが、参考書の答えです。 これを、何度も読んだのですがよくわからなくて、 くわしく(途中計算)もつけてくれませんか? 要求が多くてごめんなさい

  • 中学数学

    -6x+4y = 22・・・(1) x-7y = 9・・・(2) この連立方程式の(x.y)の解を教えて下さい。 自分で計算しますと 2をx=7x+9に移行し、1に代入します。 結果、38y=32となってしまいます・・・。 宿題などではなく、ネット数学の問題ですので答えを教えて下さい。 出来れば過程も・・・ お願い致します。

  • 微分方程式

    以下の問題がわかりません。 y''-y'-2y=αx の解y=y(x)でlim y(x)/x=2 (x→∞)を満たすものが存在する。このときのαの値を求めよ。 計算をして、一般解はy=Ae^2x+Be^(-x)+(2-x)/2α (A,Bは定数) と出しました。(この一般解が間違っていれば教えてください。) この後が解けないので教えてください。

  • 公務員試験 整数解の問題について

    80円、30円、10円の3種類の切手を、合わせて30枚、金額の合計でちょうど1640円になるように買う。 切手の枚数の組み合わせは何通りあるかという問題なんですが、解説では 3種類の切手を買った枚数の合計が30枚であるから、x+y+z=30・・・・(1) 0≦x、y、z≦30・・・・(2)になり、3種類の切手を買った合計が1640円であるから 80x+30y+10z=1640⇔8x+3y+1=164となるところまでは理解できました。 しかし、解説では(1)×9-(3)より5y+7z=76となると解説されていてその後も計算が続いているのですが、私は何故(1)×9-(3)をするのか理解できませんでした。 どなたか分かる方がいらっしゃったら教えて下さい。 よろしくお願いいたします。

  • 確率の求め方の計算式を教えてください。

    X%のものがY回連続で来ない場合の確率(%)の計算式を教えてください。 たとえばX=50%、Y=4の場合だと、 Y=1の時は50% Y=2の時は25%... だと思うのですが、応用がききません。 XとYに値を代入するだけで計算できると とても有難いです。 よろしくお願いいたします。

専門家に質問してみよう