Назад | Начало урока | Вперед
Содержание

Глава 6

Задача 6.7 "Средняя величина напряжения."

Для определения среднего напряжения в электросети показания вольтметра фиксируются каждый час в течение 72 часов. На основе этих данных и вычисляется искомая величина. Напишите программу, в которой предусмотрен ввод 72 показаний вольтметра, и определите

- среднее напряжение в сети
- часы, когда отклонение вольтажа от среднего значения превысило 10%
- любые смежные часы, когда разница между показаниями вольтметра превысила 15% от средней величины напряжения

Программа должна выводить на экран график вольтажа за 72 часа. Используйте для этого класс Graph.

Решение 1

Эту задачу можно решить создавая и обрабатывая обычные массивы.

Программа должна выводить на экран график вольтажа за 72 часа. Используйте для этого класс Graph.

Для создания массива и инициализации его случайными значениями воспользуемся функцией randOut, которую будем вызывать в цикле для каждого элемента массива.

//создадим массив со значениями
int m = 72;
int scoreFreqs [] = new int [m];

for (int i=0; i < m; i++)
scoreFreqs[i] = randOut(195,240);

Затем воспользуемся классом Graph для вывода значений массива в виде графика.

Код программы:


import java.io.*;
import java.util.*;
import javagently.Stream;
import java.text.*;
import javagently.*;
import myutilities.*;

class TestVoltage{

int randOut(int minNum, int maxNum) {

int temp = 0; while( temp < minNum ){
temp = (int) (Math.random() * maxNum);
}
return temp;
}

TestVoltage(){

Graph g = new Graph("Voltage", "hour", "volt");
g.setTitle("Voltage");
g.setColor(g.blue);
g.setSymbol(true);

//создадим массив со значениями
int m = 72;
int scoreFreqs [] = new int [m];

for (int i=0; i < m; i++)
scoreFreqs[i] = randOut(195,240);

for (int i=0; i < m; i++)
System.out.println("scoreFreqs" + i + " " +scoreFreqs[i]);

for (int i = 0; i < m; i++) {

g.add(i,scoreFreqs[i]);
}

g.showGraph();

} // end constructor

public static void main (String [ ] args) {

new TestVoltage ();
}

}


Результат :

scoreFreqs0 200
scoreFreqs1 226
scoreFreqs2 199
scoreFreqs3 204
scoreFreqs4 197
scoreFreqs5 211
...
scoreFreqs67 219
scoreFreqs68 202
scoreFreqs69 216
scoreFreqs70 205
scoreFreqs71 195

Подсказка


Назад | Начало урока | Вверх | Вперед
Содержание

Hosted by uCoz