Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
Лучше не лучше, но лучше.
 Аватар для BlacKCheT
16 / 14 / 3
Регистрация: 11.03.2018
Сообщений: 422

Функция в виде таблицы

20.12.2018, 22:51. Показов 3035. Ответов 13

Студворк — интернет-сервис помощи студентам
Как записать f(x) , больше всего ненавижу такие задания, где формулу не подставишь..но перейдем к сути..

Нужно сделать так как на скриншоте, вот мой набросок,
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>TEST</title>
    <link rel="stylesheet" href="css/style.css">
    <script
  src="https://code.jquery.com/jquery-3.3.1.min.js"
  integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
  crossorigin="anonymous"></script>
</head>
<body>
<form action="index.php" method="POST">
<p>Начальное значение</p>
<input type="text" name="first">
<p>Конечное значение</p>
<input type="text" name="second">
<p>Вычисление функции:</p>
<select name="taskOption">
  <option value="1">f(x) = log(3 * arctg(x))</option>
  <option value="2">f(x) = x * sin(x) / (x * cos(x))</option>
  <option value="3">f(x) = (x^3 + x) / 2</option>
</select>
<input type="submit" value="Вывести">
</form>
 
 <table border="1">
   <caption>Таблица размеров обуви</caption>
   <tr>
    <th>X</th>
    <th></th>
   </tr>
   <tr><td>34,3</td><td>3,5</td>
   <tr><td>35,5</td><td>4</td>
  </table>
 
<?php
$selectOption = $_POST['taskOption'];
 
switch ($selectOption) {
    case '1':
        
        break;
 
        case '2':
        # code...
        break;
 
        case '3':
        # code...
        break;
    
    default:
        # code...
        break;
}
 
?>
</body>
</html>
И да таблицу я зря там оставил, она же с циклом должна выводится..
Миниатюры
Функция в виде таблицы  
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.12.2018, 22:51
Ответы с готовыми решениями:

Функция вывода значений в виде таблицы (Out_Tabl)
написать программу расчета для каждого x, изменяющегося от a до b с шагом h, найти значения функции Y(x) или S(x) (желательно и...

Есть функция y(x), вывести значения функции в виде таблицы
Есть функция y(x), вывести значения функции в виде таблицы на отрезке (a;b) з шагом d.Программу реализовать без создания дополнительных...

Существует ли функция выводящая год даты не в виде 4-х, а в виде 2-х последних цифр?
TDateTime dt = Date(); Label1-&gt;Caption = IntToStr(YearOf(dt)); в dt число == 2019. TDateTime dt = Date(); unsigned short y,m,d; ...

13
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
20.12.2018, 23:11
Цитата Сообщение от BlacKCheT Посмотреть сообщение
где формулу не подставишь
А что такое тогда f(x) = log(2 * arctg(x))?
1
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
20.12.2018, 23:11
Если вы заранее знаете функцию, то что мешает ее запрограммировать? Тут простейшие математические операции.
Если функцию не знаете, то вам нужен парсер математических выражений, поищите в гугле, там полно алгоритмов и даже готовых решений.
1
Лучше не лучше, но лучше.
 Аватар для BlacKCheT
16 / 14 / 3
Регистрация: 11.03.2018
Сообщений: 422
21.12.2018, 00:04  [ТС]
Ничего не нашел толкового по парсерам, а расписать f(x) у меня не получится. И я гуглил. Ну ладно, я эту часть распишу log(2 * arctg(x)), а эту f(x) нет.

Добавлено через 15 минут
y = Math.log(2 * Math.arctg(x)) так?

Добавлено через 28 минут
y = Math.log(2 * Math.arctg(x)) так?
0
Лучше не лучше, но лучше.
 Аватар для BlacKCheT
16 / 14 / 3
Регистрация: 11.03.2018
Сообщений: 422
21.12.2018, 18:51  [ТС]
Так, хорошо. Как понял место f(x) можно просто подставить y. Надеюсь я прав, но в данном скриншоте есть начало и конечное значение, т.е получается это количество "шагов" или "вычислений". Но какой указывать шаг? В функции ведь не указано.. И какое значение приписать Y(игрику)?
0
204 / 67 / 41
Регистрация: 15.09.2018
Сообщений: 197
21.12.2018, 19:13
Цитата Сообщение от BlacKCheT Посмотреть сообщение
Как понял место f(x) можно просто подставить y
.
Правильно можно (нужно).

Добавлено через 1 минуту
Цитата Сообщение от BlacKCheT Посмотреть сообщение
какое значение приписать Y(игрику)?
Никакого. y вычисляется по формуле.

Добавлено через 2 минуты
Цитата Сообщение от BlacKCheT Посмотреть сообщение
Но какой указывать шаг? В функции ведь не указано..
Шаг должен быть указан в задании. Если не указан спросите у преподавателя, или выбирайте сами. Как сочтете нужным.

Добавлено через 2 минуты
Обычно в подобных заданиях шаг тоже входной параметр. То есть должно быть начальное значение, конечное и шаг.
0
Лучше не лучше, но лучше.
 Аватар для BlacKCheT
16 / 14 / 3
Регистрация: 11.03.2018
Сообщений: 422
21.12.2018, 19:34  [ТС]
Тогда чему равен x?) Y = log3..... какое значение задать иксу?) тоже по усмотрению?

Добавлено через 5 минут
Или x = первому значению, а последнее это указывать в цикле? Точнее брать значение из поля и вносить в цикл.
0
204 / 67 / 41
Регистрация: 15.09.2018
Сообщений: 197
21.12.2018, 19:38
https://rextester.com/YUB76573

PHP
1
2
3
4
5
6
7
8
9
$a = 1; // начальное значение
$b = 10; // конечное значение
$d = 1; // шаг
 
for($x = $a; $x <= $b; $x += $d){
    $y = log(3 * atan($x));
    //$y = log(0);
    echo "x = $x, y = $y \n";
}
0
Лучше не лучше, но лучше.
 Аватар для BlacKCheT
16 / 14 / 3
Регистрация: 11.03.2018
Сообщений: 422
21.12.2018, 20:03  [ТС]
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$selectOption = $_POST['taskOption'];
 
switch ($selectOption) {
    case 1:
$x = (boolean)$_POST['first'];
$end = (boolean)$_POST['second'];
$h = 0.35;
$y = Math.log(3 * Math.atan($x));
    //Вывод функции
             echo '<table border="1">';
             echo "<caption>Результат функции:</caption>";
             echo "<tr>";
             echo "<th>X</th>";
             echo "<th>Результат функции: $selectOption</th>";
             echo "</tr>";
             for ($i = $x; $i<=$end; $i+=$h){
             echo "<tr><td>$i</td><td>$y</td>";
             }
             echo "</table>";
        break;
Добавлено через 44 секунды
Не чикипики) ошибок нету) конвертацию типов вроде сделал
0
204 / 67 / 41
Регистрация: 15.09.2018
Сообщений: 197
21.12.2018, 20:28
Лучший ответ Сообщение было отмечено BlacKCheT как решение

Решение

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$selectOption = $_POST['taskOption'];
 
switch ($selectOption) {
    case 1:
$x = (boolean)$_POST['first'];
$end = (boolean)$_POST['second'];
$h = 0.35;
// $y = Math.log(3 * Math.atan($x));
    //Вывод функции
             echo '<table border="1">';
             echo "<caption>Результат функции:</caption>";
             echo "<tr>";
             echo "<th>X</th>";
             echo "<th>Результат функции: $selectOption</th>";
             echo "</tr>";
             for ($i = $x; $i<=$end; $i+=$h){
                   $y = Math.log(3 * Math.atan($i)); // !!
             echo "<tr><td>$i</td><td>$y</td>";
             }
             echo "</table>";
        break;
Добавлено через 8 минут
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$selectOption = $_POST['taskOption'];
 
switch ($selectOption) {
    case 1:
$x = (float)$_POST['first']; // !!
$end = (float)$_POST['second']; // !!
$h = 0.35;
    //Вывод функции
             echo '<table border="1">';
             echo "<caption>Результат функции:</caption>";
             echo "<tr>";
             echo "<th>X</th>";
             echo "<th>Результат функции: $selectOption</th>";
             echo "</tr>";
             for ($i = $x; $i<=$end; $i+=$h){
                   $y = log(3 * atan($i)); //!!
             echo "<tr><td>$i</td><td>$y</td>";
             }
             echo "</table>";
        break;
1
Лучше не лучше, но лучше.
 Аватар для BlacKCheT
16 / 14 / 3
Регистрация: 11.03.2018
Сообщений: 422
21.12.2018, 21:47  [ТС]
У меня компухтер отъезжает, нужно округлять..

Добавлено через 8 минут
x результут функции
1 0.86
1.35 1.03
1.7 1.14
2.05 1.21
2.4 1.26
2.75 1.30
3.1 1.33
3.45 1.35
3.8 1.37
4.15 1.39
4.5 1.40
4.85 1.41

Добавлено через 27 секунд
почему x не четное?

Добавлено через 25 минут
Короче, в итоге сделал так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<?php
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>TEST</title>
    <link rel="stylesheet" href="css/style.css">
</head>
<body>
<form action="index.php" method="POST">
<p>Начальное значение</p>
<input type="text" name="first">
<p>Конечное значение</p>
<input type="text" name="second">
<p>Вычисление функции:</p>
<select name="taskOption">
  <option value="1">f(x) = log(3 * arctg(x))</option>
  <option value="2">f(x) = x * sin(x) / (x * cos(x))</option>
  <option value="3">f(x) = (x^3 + x) / 2</option>
</select>
<input type="submit" value="Вывести">
</form>
 
<?php
$selectOption = $_POST['taskOption'];
 
switch ($selectOption) {
    case 1:
$x = (float)$_POST['first'];
$end = (float)$_POST['second'];
$h = 0.5;
 
    //Вывод функции
             echo '<table border="1">';
             echo "<caption>Результат функции:</caption>";
             echo "<tr>";
             echo "<th>X</th>";
             echo "<th>Результат функции: $selectOption</th>";
             echo "</tr>";
             for ($i = $x; $i<=$end; $i++){
                $y = log(3 * atan($i));
                $y = sprintf("%.2f", $y);
             echo "<tr><td>$i</td><td>$y</td>";
             }
             echo "</table>";
        break;
 
        case 2:
        //Вывод функции
        echo '<table border="1">';
             echo "<caption>Результат функции:</caption>";
             echo "<tr>";
             echo "<th>X</th>";
             echo "<th>Результат функции: $selectOption</th>";
             echo "</tr>";
             
             for($i = 1; $i<=10;$i++){
             echo "<tr><td>$i</td><td>$i</td>";
             }
             echo "</table>";
        break;
 
        case 3:
        //Вывод функции
        echo '<table border="1">';
             echo "<caption>Результат функции:</caption>";
             echo "<tr>";
             echo "<th>X</th>";
             echo "<th>Результат функции: $selectOption</th>";
             echo "</tr>";
             
             for($i = 1; $i<=10;$i++){
             echo "<tr><td>$i</td><td>$i</td>";
             }
             echo "</table>";
        break;
    
    default:
        echo "Бог, сегодня больше не желает слышать вас!";
        break;
}
 
?>
 
</body>
</html>
Добавлено через 19 минут
Финал, ПРОВЕРЬТЕ ПОЖАЛУЙСТА ФОРМУЛЫ, ПРАВИЛЬНО ЛИ Я ИХ ВВЕЛ
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<!--<?php
/*ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
*/
?>
-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>TEST</title>
    <link rel="stylesheet" href="css/style.css">
</head>
<body>
<form action="index.php" method="POST">
<p>Начальное значение</p>
<input type="text" name="first">
<p>Конечное значение</p>
<input type="text" name="second">
<p>Вычисление функции:</p>
<select name="taskOption">
  <option value="1">f(x) = log(3 * arctg(x))</option>
  <option value="2">f(x) = x * sin(x) / (x * cos(x))</option>
  <option value="3">f(x) = (x^3 + x) / 2</option>
</select>
<input type="submit" value="Вывести">
</form>
 
<?php
$selectOption = $_POST['taskOption'];
 
switch ($selectOption) {
    case 1:
$x = (float)$_POST['first'];
$end = (float)$_POST['second'];
$h = 1;
 
    //Вывод функции
             echo '<table border="1">';
             echo "<caption>Результат функции:</caption>";
             echo "<tr>";
             echo "<th>X</th>";
             echo "<th>Результат функции: $selectOption</th>";
             echo "</tr>";
             for ($i = $x; $i<=$end; $i++){
                $y = log(3 * atan($i));
                $y = sprintf("%.2f", $y);
             echo "<tr><td>$i</td><td>$y</td>";
             }
             echo "</table>";
        break;
 
        case 2:
        $x = (float)$_POST['first'];
$end = (float)$_POST['second'];
$h = 1;
 
    //Вывод функции
             echo '<table border="1">';
             echo "<caption>Результат функции:</caption>";
             echo "<tr>";
             echo "<th>X</th>";
             echo "<th>Результат функции: $selectOption</th>";
             echo "</tr>";
             for ($i = $x; $i<=$end; $i++){
                $y = $i*(sin($i)/($i*cos($i)));
                $y = sprintf("%.2f", $y);
             echo "<tr><td>$i</td><td>$y</td>";
             }
             echo "</table>";
        break;
 
        case 3:
        $x = (float)$_POST['first'];
$end = (float)$_POST['second'];
$h = 1;
 
    //Вывод функции
             echo '<table border="1">';
             echo "<caption>Результат функции:</caption>";
             echo "<tr>";
             echo "<th>X</th>";
             echo "<th>Результат функции: $selectOption</th>";
             echo "</tr>";
             for ($i = $x; $i<=$end; $i++){
                $y = ((pow(3,$i)+$i)/2);
                $y = sprintf("%.2f", $y);
             echo "<tr><td>$i</td><td>$y</td>";
             }
             echo "</table>";
        break;
    
    default:
        echo "Бог, сегодня больше не желает слышать вас!";
        break;
}
 
?>
 
</body>
</html>
0
204 / 67 / 41
Регистрация: 15.09.2018
Сообщений: 197
22.12.2018, 12:06
Формулы, как будто бы правильно, кроме третьей. По-моему, должно быть так:

PHP
1
$y = ((pow($i,3)+$i)/2);
0
Лучше не лучше, но лучше.
 Аватар для BlacKCheT
16 / 14 / 3
Регистрация: 11.03.2018
Сообщений: 422
23.12.2018, 06:52  [ТС]
Благодарю.
0
204 / 67 / 41
Регистрация: 15.09.2018
Сообщений: 197
23.12.2018, 12:13
Варианты
Вложения
Тип файла: zip 02.ZIP (33.1 Кб, 7 просмотров)
Тип файла: zip 03.ZIP (33.4 Кб, 6 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.12.2018, 12:13
Помогаю со студенческими работами здесь

Вычислить и вывести на экран в виде таблицы значения функции ln(x), заданной в виде ряда Тейлора
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от хнач до xкон с...

Как результат вывести не в виде матрице, а в виде таблицы?
Подскажите, плиз, как здесь результат вывести не в виде матрице, а в виде таблице. Ни как не получается. MathCAD 14.

Вывод из таблицы MySQL записей в виде html таблицы и дальнейшая их обработка
И снова здравствуйте! На этот раз я со сложным вопросом. Мне нужно вывести определенные записи из таблицы MySQL и собрать их в таблицу...

Вывести из таблицы MySQL все записи в виде html таблицы, не зная имена и колличество столбцов
Всем привет. Подскажите как вывести из таблицы MySQL все записи в виде html таблицы не зная имена и колличество столбцов

Вывод всей таблицы из БД в виде таблицы
Доброго времени суток, уважаемые обитатели cyberforum. Столкнулся с такой проблемой : нужно вывести все записи из таблицы бд в виде...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
BOINC: 22 года — и всё ещё работает
Programma_Boinc 12.03.2026
BOINC: 22 года — и всё ещё работает Дэвид Андерсон написал ретроспективу. Кратко: в 2001 году он ушёл из United Devices, где был CTO, и за несколько месяцев написал ядро BOINC — клиент, сервер,. . .
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru