ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ цикличСской структуры. 
ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

ΠšΡƒΡ€ΡΠΎΠ²Π°Ρ ΠšΡƒΠΏΠΈΡ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²ΡƒΡŽ Π£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π―Π·Ρ‹ΠΊ Java прСдоставляСт Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ стандартных ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ собраны Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ java.util. ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ большим Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ΠΌ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ, поэтому Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ назначСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π½Π΅ΠΎΠΏΡ€Π°Π²Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΈ, часто, Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΠ³ΠΎ замСдлСния процСсса вычислСний. ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ цикличСской структуры. ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

  • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅
  • 1. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Ρ†ΠΈΠΊΠ»Π° Π² ΡΠ·Ρ‹ΠΊΠ΅ Java
  • 2. Бпособы управлСния Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ процСссом Π² Ρ†ΠΈΠΊΠ»ΠΈΡ‡Π΅ΡΠΊΠΈΡ… конструкциях
  • 3. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Ρ†ΠΈΠΊΠ»Π°
  • 4. ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…
  • 5. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ массивов Π² Ρ†ΠΈΠΊΠ»Π°Ρ…
  • 6. ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ
  • 7. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ цикличСских конструкций ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ
  • Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
  • Бписок использованной Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹

Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ символа Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ создаСм ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ, Π½ΠΎΡΡΡ‰ΡƒΡŽ Π΅Π³ΠΎ имя. Алгоритм этой ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ соотвСтствуСт ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ Π²Ρ‹Π²ΠΎΠ΄Π°, Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΎΠΉ, ΠΎΠ½ Π½Π΅ΠΏΠΎΡΡ€Π΅Π΄ΡΡ‚Π²Π΅Π½Π½ΠΎ распознаСт Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ символы, ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½, начиная с ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π² ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠΌ тСкстС, Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ лСксСм, которая выводится ΠΈΠ· ΡΡ‚ΠΎΠ³ΠΎ Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ символа. Если такая ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ отсутствуСт, гСнСрируСтся ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡŽ выраТСния. Если ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π°ΠΉΠ΄Π΅Π½Π°, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ возвращаСтся ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ [9].

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌΠΈ коммСнтариями. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡ‹Π΅ цикличСскиС конструкции ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½Ρ‹ ΠΆΠΈΡ€Π½Ρ‹ΠΌ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠΌ.

package calculate;

import java.math.BigDecimal;

import java.math.RoundingMode;

import java.util.ArrayList;

import java.util.StringTokenizer;

import org.omg.CORBA.IntHolder;

public class Solution {.

private final ArrayList<String> lexs; // список лСксСм.

private int cur; // тСкущая позиция Π² ΡΠΏΠΈΡΠΊΠ΅.

public Solution (String expr) { // конструктор

lexs=new ArrayList<>(); // Ρ€Π°Π·Π±ΠΎΡ€ Π½Π° Π»Π΅ΠΊΡΠ΅ΠΌΡ‹.

StringTokenizer st=new StringTokenizer (expr," *-+/()^", true);

while (st.hasMoreTokens ()){.

String lex=st.nextToken ().toLowerCase ().trim ();

if (lex.length () ≠ 0) // Π²Ρ‹ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈ ΠΏΡ€ΠΈ;

lexs.add (lex); // Π²ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ рСгистру.

}.

lexs.add («=»); // добавляСм ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ ΠΊΠΎΠ½Ρ†Π°.

cur=0; // ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π½Π° Π½Π°Ρ‡Π°Π»ΠΎ.

}.

public String represent () { // прСдставлСниС выраТСния.

StringBuilder buf = new StringBuilder (); // ΠΏΠΎ ΡΠΏΠΈΡΠΊΡƒ лСксСм.

for (String s: lexs) {.

buf.append (s);

}.

return buf. toString ();

}.

public float evaluate (IntHolder op) {.

cur=0;

Float result = expr (op);

if (!result.isNaN ()){ // ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅.

result = (float) new BigDecimal (result).

.setScale (2, RoundingMode. UP).doubleValue ();

}.

return result;

}.

private float expr (IntHolder op){ // Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.

try{ // expr=add{+—}add …

float res=add (op);

while (lexs.get (cur).equals («+») -;

lexs.get (cur).equals («.

-") -;

lexs.get (cur).equals («=»)){.

if (lexs.get (cur).equals («=»)).

break;

if (lexs.get (cur).equals («+»)){ // слоТСниС.

cur++;

res += add (op);

op.value++;

}.

else if (lexs.get (cur).equals («.

-")){ // Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅.

cur++;

res -= add (op);

op.value++;

}.

}.

return res;

}catch (NumberFormatException ex){.

System.out.

.printf («Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ числа: [%s]n», lexs. get (cur));

}catch (IllegalStateException ex){.

System.out.

.printf («ΠΎΠΆΠΈΠ΄Π°Π»Π°cь Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π°Ρ скобка: [%s]n» ,.

lexs.get (cur));

}catch (Exception ex){.

System.out.

.printf («ΠΎΡˆΠΈΠ±ΠΊΠ° Π² Π²Ρ‹Ρ‡ΠΈcлСниях: %sn», ex. getMessage ());

}.

return Float. NaN;

}.

private float add (IntHolder op){ // слагаСмоС.

float res=pow (op); // add=pow{*-/}pow …

while (lexs.get (cur).equals («*») -;

lexs.get (cur).equals («/») -;

lexs.get (cur).equals («=»)){.

if (lexs.get (cur).equals («=»)) // Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΎ.

break;

if (lexs.get (cur).equals («*»)){ // ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅.

cur++;

res *= pow (op);

op.value++;

}.

else if (lexs.get (cur).equals («/»)){ // Π΄Π΅Π»Π΅Π½ΠΈΠ΅.

cur++;

res /= pow (op);

if (res == Float. POSITIVE_INFINITY -;

res == Float. NEGATIVE_INFINITY){.

throw new ArithmeticException («Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° 0»);

}.

op.value++;

}.

}.

return res;

}.

private float pow (IntHolder op){ // ΡΠΎΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒ.

float res=mul (op); // pow=mult^mult …

while (lexs.get (cur).equals («^») — lexs. get (cur).equals («=»)){.

if (lexs.get (cur).equals («=»)) // Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΎ.

break;

if (lexs.get (cur).equals («^»)){ // Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ.

cur++;

res=(float) Math. pow (res, mul (op));

if (Float.isNaN (res)){.

throw.

new ArithmeticException («Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ»);

}.

op.value++;

}.

}.

return res;

}.

private float mul (IntHolder op){.

// ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ возвСдСния Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ.

float res; // mult=(expr) — {+—-sin-cos-tan}mult — float.

switch (lexs.get (cur)) {.

case «(«: // Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ….

cur++;

res=expr (op);

if (!lexs.get (cur).equals («)»)).

throw new IllegalStateException ();

else.

cur++;

break;

case «+»: // ΡƒΠ½Π°Ρ€Π½Ρ‹ΠΉ плюс.

cur++;

res=mul (op);

op.value++;

break;

case «.

-": // ΡƒΠ½Π°Ρ€Π½Ρ‹ΠΉ минус.

cur++;

res=-mul (op);

op.value++;

break;

case «sin»: // синус.

cur++;

res=(float) Math. sin (mul (op)/180.f*Math.PI);

op.value++;

break;

case «cos»: // косинус.

cur++;

res=(float) Math. cos (mul (op)/180.f*Math.PI);

op.value++;

break;

case «tan»: // тангСнс.

cur++;

res=(float) Math. tan (mul (op)/180.f*Math.PI);

if (res == Float. POSITIVE_INFINITY -;

res == Float. NEGATIVE_INFINITY){.

throw.

new ArithmeticException («Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ тангСнса»);

}.

op.value++;

break;

default: // число.

res=Float.parseFloat (lexs.get (cur));

cur++;

break;

}.

return res;

}.

public static void main (String[] args) {.

IntHolder op=new IntHolder (0);

Solution solution = new Solution («sin (2*(-5+1.5*4)+28)»);

System.out.

.printf («%s%.2f %dn» ,.

solution.represent (),.

solution.evaluate (op),.

op.value);

}.

}.

Для округлСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° с Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ setScale класса BigDecimal, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΡ… стандартных срСдств округлСния Π΄ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ количСства Π·Π½Π°ΠΊΠΎΠ² послС запятой Π² Java Π½Π΅ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΎ.

Π’Π°ΠΊ ΠΊΠ°ΠΊ Π² Java ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ, для подсчСта количСства ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈΠ±ΠΎ счСтчик ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π² ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠ΅, Π»ΠΈΠ±ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ для ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Π²ΠΈΠ΄Π΅ класса, содСрТащСго Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычислСния выраТСния ΠΈ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Π½Π½ΠΎΠ΅ количСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ принят Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π² ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠ΅. ΠžΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ класс ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠ° Integer Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° этого Ρ‚ΠΈΠΏΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π½ΠΎΠ²Ρ‹ΠΉ экзСмпляр класса. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° использован класс IntHolder, доступ ΠΊ Ρ…Ρ€Π°Π½ΠΈΠΌΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ производится Ρ‡Π΅Ρ€Π΅Π· свойство value.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

sin (2*(-5+1.5*4)+28)=0.50 6.

sin (2*(-5+1.5*42/(0.25*16))+28)=0.50 9.

Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ числа: [1.5].

sin (2*(-5+1.5*42/(0.25*16))+28)=NaN 1.

ΠΎΠΆΠΈΠ΄Π°Π»Π°cь Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π°Ρ скобка: [=].

sin (2*(-5+1.5*42/(0.25*16)+28)=NaN 8.

ошибка Π² Π²Ρ‹Ρ‡ΠΈcлСниях: Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° 0.

sin (2*(-5+1.5*42/0+28)=NaN 3.

ошибка Π² Π²Ρ‹Ρ‡ΠΈcлСниях: Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ.

sin (2*(-5+1.5*-40.5+28)=NaN 2.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π˜Ρ‚Π°ΠΊ, цикличСскиС конструкции ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Ρ‹ΠΌ элСмСнтом систСмы ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… конструкций языков высокого уровня.

Π’ ΡΠ·Ρ‹ΠΊΠ΅ Java имССтся ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Ρ‚Π°ΠΊΠΈΡ… конструкций, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… достаточно Π³ΠΈΠ±ΠΊΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ процСссом выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Для прСдставлСния Π³Ρ€ΡƒΠΏΠΏ ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ структур Π΄Π°Π½Π½Ρ‹Ρ… Π² ΡΠ·Ρ‹ΠΊΠ΅ Java ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ массивы ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ.

ΠœΠ°ΡΡΠΈΠ²Ρ‹ цСлСсообразно ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π² ΡΠ»ΡƒΡ‡Π°Π΅, Ссли Π·Π°Ρ€Π°Π½Π΅Π΅ извСстно количСство ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. Если Ρ‚Π°ΠΊΠΎΠ΅ количСство Π·Π°Ρ€Π°Π½Π΅Π΅ нСизвСстно, для хранСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ.

Π―Π·Ρ‹ΠΊ Java прСдоставляСт Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ стандартных ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ собраны Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ java.util. ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ большим Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ΠΌ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ, поэтому Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ назначСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π½Π΅ΠΎΠΏΡ€Π°Π²Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΈ, часто, Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΠ³ΠΎ замСдлСния процСсса вычислСний.

Π’ Ρ€Π°Π±ΠΎΡ‚Π΅ рассмотрСны ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования цикличСских конструкций, массивов ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ цикличСскиС конструкции ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° вычислСния арифмСтичСского выраТСния Π² ΠΈΠ½Ρ„иксной записи.

1. ЦикличСскиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ — элСктронный Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚:

http://festival.1september.ru/articles/598 696/.

2. Π©Π΅Ρ€Π±Π°ΠΊΠΎΠ² И. Н. ЧислСнныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΠΊ Π»Π΅ΠΊΡ†ΠΈΠΎΠ½Π½ΠΎΠΌΡƒ курсу — элСктронный Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚:

http://www.physchem.chimfak.rsu.ru/Source/NumMethods/Iterations.htm.

3. Π¨ΠΈΠ»Π΄Ρ‚ Π“. ΠŸΠΎΠ»Π½Ρ‹ΠΉ справочник ΠΏΠΎ Java, 7-Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅.: ΠŸΠ΅Ρ€. Ρ Π°Π½Π³Π». — Πœ.: ООО «Π˜.Π”. Π’ΠΈΠ»ΡŒΡΠΌΡ», 2007. — 1040 с., ΠΈΠ».

4. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ continue — элСктронный Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚:

http://sernam.ru/book_java.php?id=25.

5. ИспользованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° break — элСктронный Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚:

http://www.linkex.ru/java/operator-break.php.

6. ArrayList vs. LinkedList vs. Vector — элСктронный Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚:

http://www.programcreek.com/2013/03/arraylist-vs-linkedlist-vs-vector/.

7. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ основных ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ java. Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ с Π°Π½Π°Π»ΠΎΠ³Π°ΠΌΠΈ .Net — элСктронный Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚:

http://korzh.net/2010;11-proizvoditelnost-osnovnyx-kollekcij-java-sravnenie-s-analogami-net.html.

8. Π₯Π°Π½Ρ‚Π΅Ρ€ Π . ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ компиляторов/ΠŸΠ΅Ρ€ с Π°Π½Π³Π».; ΠŸΡ€Π΅Π΄ΠΈΡΠ». Π’. М. Π‘Π°Π²ΠΈΠ½ΠΊΠΎΠ²Π°. — Πœ.: Ѐинансы ΠΈ ΡΡ‚атистика, 1984. — 232 с., ΠΈΠ».

9. Π›ΡŒΡŽΠΈΡ Π€., Π ΠΎΠ·Π΅Π½ΠΊΡ€Π°Π½Ρ† Π”., Π‘Ρ‚ΠΈΡ€Π½Π· Π . ВСорСтичСскиС основы проСктирования компиляторов/ΠŸΠ΅Ρ€ с Π°Π½Π³Π». — Πœ.: ΠœΠΈΡ€, 1979. — 654 с., ΠΈΠ».

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст

Бписок Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹

  1. ЦикличСскиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ — элСктронный Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚: http://festival.1september.ru/articles/598 696/
  2. И.Н. ЧислСнныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΠΊ Π»Π΅ΠΊΡ†ΠΈΠΎΠ½Π½ΠΎΠΌΡƒ курсу — элСктронный Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚: http://www.physchem.chimfak.rsu.ru/Source/NumMethods/Iterations.htm
  3. Π“. ΠŸΠΎΠ»Π½Ρ‹ΠΉ справочник ΠΏΠΎ Java, 7-Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅.: ΠŸΠ΅Ρ€. Ρ Π°Π½Π³Π». — Πœ.: ООО «Π˜.Π”. Π’ΠΈΠ»ΡŒΡΠΌΡ», 2007. — 1040 с., ΠΈΠ».
  4. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ continue — элСктронный Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚: http://sernam.ru/book_java.php?id=25
  5. ИспользованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° break — элСктронный Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚: http://www.linkex.ru/java/operator-break.php
  6. ArrayList vs. LinkedList vs. Vector — элСктронный Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚: http://www.programcreek.com/2013/03/arraylist-vs-linkedlist-vs-vector/
  7. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ основных ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ java. Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ с Π°Π½Π°Π»ΠΎΠ³Π°ΠΌΠΈ .Net — элСктронный Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚: http://korzh.net/2010−11-proizvoditelnost-osnovnyx-kollekcij-java-sravnenie-s-analogami-net.html
  8. Π . ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ компиляторов/ΠŸΠ΅Ρ€ с Π°Π½Π³Π».; ΠŸΡ€Π΅Π΄ΠΈΡΠ». Π’. М. Π‘Π°Π²ΠΈΠ½ΠΊΠΎΠ²Π°. — Πœ.: Ѐинансы ΠΈ ΡΡ‚атистика, 1984. — 232 с., ΠΈΠ».
  9. Π€., Π ΠΎΠ·Π΅Π½ΠΊΡ€Π°Π½Ρ† Π”., Π‘Ρ‚ΠΈΡ€Π½Π· Π . ВСорСтичСскиС основы проСктирования компиляторов/ΠŸΠ΅Ρ€ с Π°Π½Π³Π». — Πœ.: ΠœΠΈΡ€, 1979. — 654 с., ΠΈΠ».
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ
ΠšΡƒΠΏΠΈΡ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ

Π˜Π›Π˜