Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/34: Рейтинг темы: голосов - 34, средняя оценка - 4.91
1 / 1 / 1
Регистрация: 12.11.2018
Сообщений: 72

Вычислить и вывести на экран в виде таблицы значения функции, заданной графически

11.12.2018, 15:19. Показов 6583. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, уважаемые пользователи форума! Помогите, пожалуйста, с решением задачки..
"Вычислить и вывести на экран в виде таблицы значения функции, заданной графически, на интервале от Х_нач до Х_кон с шагом dx. Интервал и шаг задать таким образом, чтобы проверить все ветви программы. Таблицу снабдить заголовком и шапкой." (Желательно на консоли)
Кликните здесь для просмотра всего текста


P.S. До этого решал задачку, по этому же графику:
"Написать программу, которая по введенному значению аргумента вычисляет значение функции, заданной в виде графика. Параметр R вводится с клавиатуры." Вроде бы работает корректно.
Вот листинг кода программы:
Кликните здесь для просмотра всего текста
C#
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace n2
{
    class Program
    {
        static void Main()
        {
            Console.Write("x = ");
            double x = double.Parse(Console.ReadLine());
 
            Console.Write("R1 = ");
            double r = double.Parse(Console.ReadLine());
 
            Console.WriteLine("F({0}, {1}) = {2}", x, r, F(x, r));
            Console.ReadKey(true);
        }
        static double F(double x, double r)
        {
            if (r > 2 || r < 0) throw new ArgumentOutOfRangeException("r");
 
            double lowerLimit = -3;
            double upperLimit = 7;
 
            if (x < lowerLimit || x > upperLimit) throw new ArgumentOutOfRangeException("x");
 
            if (x < -1 - r) return 1 / (-1 - r - lowerLimit) * (-1 - r - x);
            if (x < r - 1) return Math.Sqrt(Math.Pow(r, 2) - Math.Pow(x + 1, 2));
 
            double r2 = 3 - r;
            if (x < r2 + 2) return -Math.Sqrt(Math.Pow(r2, 2) - Math.Pow(x - 2, 2));
            if (x < 6) return -1 / (4 - r2) * (x - 2 - r2);
            return -1;
        }
    }
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.12.2018, 15:19
Ответы с готовыми решениями:

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

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

Вычислить и вывести на экран в виде таблицы значения функции, заданной графически
№ 3 ТЕМА: Организация циклов. (2 ч) ЦЕЛЬ РАБОТЫ: освоить работу операторов цикла. ЗАДАНИЕ: Вычислить и вывести на экран в виде...

10
1 / 1 / 1
Регистрация: 12.11.2018
Сообщений: 72
12.12.2018, 13:43  [ТС]
Помогите, пожалуйста, кто может..
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16132 / 11256 / 2888
Регистрация: 21.04.2018
Сообщений: 33,091
Записей в блоге: 2
12.12.2018, 14:49
Цитата Сообщение от Dr_Mann Посмотреть сообщение
Помогите, пожалуйста, кто может..
Посмотрите тему Написать программу, которая по введенному с клавиатуры значению аргумента x, находит значение функции f(x)
По-моему, Ваш график.
1
1 / 1 / 1
Регистрация: 12.11.2018
Сообщений: 72
12.12.2018, 16:31  [ТС]
Элд Хасп, Да, эту задачку я уже решил:
Цитата Сообщение от Dr_Mann Посмотреть сообщение
P.S. До этого решал задачку, по этому же графику:
"Написать программу, которая по введенному значению аргумента вычисляет значение функции, заданной в виде графика. Параметр R вводится с клавиатуры." Вроде бы работает корректно.
Я не могу сделать первую задачку, по этому же графику..
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16132 / 11256 / 2888
Регистрация: 21.04.2018
Сообщений: 33,091
Записей в блоге: 2
12.12.2018, 17:17
Цитата Сообщение от Dr_Mann Посмотреть сообщение
Я не могу сделать первую задачку, по этому же графику..
Примерно так
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
            double xBeg=-3, xEnd=7, step=.5, R1=1, R2= 2;
             for(;xBeg <=  xEnd; xBeg+=step)
                 Console.WriteLine($"X = {xBeg}, F(x)={F(xBeg)}");
            double F(double X)
          {
            if (x >= -3*R1 && x <= -2*R1)
                return -x*R1-2*R1*R1;
            if (-2*R1 <= x && x <= 0)
                return  Math.Sqrt(1 - Math.Pow((x + 1), R1));
           if (0 <= x && x <= 4*R2)
               return  -Math.Sqrt(4 - Math.Pow((x - 2), R2));
            if (4*R2 <= x && x <= 6*R2)
                return  -x*R2/2 - R2 ; // ??
            return  -R2/2;
            }
1
1 / 1 / 1
Регистрация: 12.11.2018
Сообщений: 72
14.12.2018, 11:11  [ТС]
Элд Хасп, А как это сделать, не подскажите, пожалуйста:
Цитата Сообщение от Dr_Mann Посмотреть сообщение
Таблицу снабдить заголовком и шапкой.
0
1 / 1 / 1
Регистрация: 12.11.2018
Сообщений: 72
14.12.2018, 11:47  [ТС]
Элд Хасп, Получаю такие ошибки, не получается исправить:
Кликните здесь для просмотра всего текста

Кликните здесь для просмотра всего текста
C#
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication4
{
    class Program
    {
        static void Main(string[] args)
        {
             double xBeg=-3, xEnd=7, step=.5, R1=1, R2= 2;
             for(;xBeg <=  xEnd; xBeg+=step)
                 Console.WriteLine($"X = {xBeg}, F(x)={F(xBeg)}");
            double F(double X)
          {
            if (x >= -3*R1 && x <= -2*R1)
                return -x*R1-2*R1*R1;
            if (-2*R1 <= x && x <= 0)
                return  Math.Sqrt(1 - Math.Pow((x + 1), R1));
           if (0 <= x && x <= 4*R2)
               return  -Math.Sqrt(4 - Math.Pow((x - 2), R2));
            if (4*R2 <= x && x <= 6*R2)
                return  -x*R2/2 - R2 ; // ??
            return  -R2/2;
            }
        }
    }
}

P.S. Таблица не первостепенно важно..
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16132 / 11256 / 2888
Регистрация: 21.04.2018
Сообщений: 33,091
Записей в блоге: 2
14.12.2018, 12:36
Цитата Сообщение от Dr_Mann Посмотреть сообщение
Получаю такие ошибки, не получается исправить:
У Вас студия старая - переходите на актуальную. Для Вашей версии студии
C#
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    class Program
    {
      static double F(double X, double R1, double R2)
      {
            if (x >= -3*R1 && x <= -2*R1)
                return -x*R1-2*R1*R1;
            if (-2*R1 <= x && x <= 0)
                return  Math.Sqrt(1 - Math.Pow((x + 1), R1));
           if (0 <= x && x <= 4*R2)
               return  -Math.Sqrt(4 - Math.Pow((x - 2), R2));
            if (4*R2 <= x && x <= 6*R2)
                return  -x*R2/2 - R2 ; // ??
            return  -R2/2;
            }
 
      static void Main(string[] args)
        {
             double xBeg=-3, xEnd=7, step=.5, R1=1, R2= 2;
             for(;xBeg <=  xEnd; xBeg+=step)
                 Console.WriteLine("X = "+xBeg+", F(x) = "+F(xBeg, R1, R2));
        }
    }
1
1 / 1 / 1
Регистрация: 12.11.2018
Сообщений: 72
14.12.2018, 12:45  [ТС]
Элд Хасп, Теперь все ок! Последнее, что хочу спросить, что значит "не число"? Спасибо большое, за помощь!
Кликните здесь для просмотра всего текста
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16132 / 11256 / 2888
Регистрация: 21.04.2018
Сообщений: 33,091
Записей в блоге: 2
14.12.2018, 14:12
Лучший ответ Сообщение было отмечено Dr_Mann как решение

Решение

Цитата Сообщение от Dr_Mann Посмотреть сообщение
Последнее, что хочу спросить, что значит "не число"?
Не знаю. У меня VS 2017 выходят только числа. Надо попробовать на VS 2012 запустить.

Добавлено через 4 минуты
О..., нет извиняюсь. Где-то ошибка. Сейчас перепроверю.

Добавлено через 57 минут
Вот исправил все ошибки и добавил функционала
C#
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
        static double F(double X, double R1, double R2)
        {
            if (X <= -2 * R1)
                return -(X + 2 * R1);
            if (-2 * R1 <= X && X <= 0)
                return Math.Sqrt(Math.Pow(R1, 2) - Math.Pow((X + R1), 2));
            if (0 <= X && X <= 2 * R2)
                return -Math.Sqrt(Math.Pow(R2, 2) - Math.Pow((X - R2), 2));
            if (2 * R2 <= X && X <= 3 * R2)
                return -0.5 * (X - 2 * R2); // ??
            return -R2 / 2;
        }
        static void Main(string[] args)
        {
            double xBeg = -4, xEnd = 7, step = .5, R1 = 1, R2 = 2;
            bool valid = true;
            do
            {
                Console.WriteLine(new string('*', 30));
                if (!valid)
                    Console.WriteLine("\nОшибка ввода! Повотрите ввод!\n");
                else
                    for (; xBeg <= xEnd; xBeg += step)
                        Console.WriteLine("X = {0:f1}, F(x) = {1:f3}", xBeg, F(xBeg, R1, R2));
                Console.WriteLine(new string('*', 30));
                Console.WriteLine("Выход - Enter в пустой строке\n" +
                    "Введите через пробел: начальное значение и конечное значение X, шаг для диапазона, значение R1 и R2: ");
                string inp = Console.ReadLine();
                if (string.IsNullOrWhiteSpace(inp)) break;
                string[] inpArr = inp.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                valid = inpArr.Length >= 5
                                && double.TryParse(inpArr[0], out xBeg)
                                && double.TryParse(inpArr[1], out xEnd)
                                && double.TryParse(inpArr[2], out step)
                                && double.TryParse(inpArr[3], out R1)
                                && double.TryParse(inpArr[4], out R2);
            } while (valid);
         }
1
1 / 1 / 1
Регистрация: 12.11.2018
Сообщений: 72
14.12.2018, 14:34  [ТС]
Элд Хасп, Спасииибо большое!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.12.2018, 14:34
Помогаю со студенческими работами здесь

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

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

Вычислить и вывести на экран в виде таблицы значения функции, заданной графически
Ребята, помогите. Нужна помощь в решении этих задача: Задание 1. Таблица значений функции Вычислить и вывести на экран в виде...

Вычислить и вывести на экран в виде таблицы значения функции, заданной графически на заданном интервале
Вычислить и вывести на экран в виде таблицы значения функции, заданной графически (см. Графики), на интервале от хнач до хкон с шагом dx....

Вычислить и вывести на экран в виде таблицы значения функции, заданной графически (график прилагается), на интервале от
Помогите ребята, пожалуйста. Таблица значений функции Вычислить и вывести на экран в виде таблицы значения функции, заданной графически...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru