LINUX.ORG.RU
ФорумTalks

что там про девятиклассников...


0

0

Хай,

попросили помочь школьнику:

Написать прогу, которая вычисляет y если x и b вводятся с клавиатуры

       -
      |   2x+b, x>0
y =  <
      |   x^2+b, x<=5
       -


по-моему эта задача на использования if'а, т.е.

if (<условие_в_первой_строке>)
    <вычисляем y согласно первой строке>
else
    <вычисляем y согласно второй строке>

но в данном случае смущает то, что x>0 пересекается с x<=5

соответственно делать так бессмысленно. А какие ещё варианты?

З.Ы. мну гуманитарий, складывает кирпичики в большую такую стенку, пока ждёт очереди в биореактор :)



>делать так бессмысленно.

нет.

Muromec ☆☆
()

>делать так бессмысленно.

нет. для (x>0) and ((x<5) or (x==5)) нужно считать оба варианта и брать большее

Muromec ☆☆
()

>З.Ы. мну гуманитарий

Ох епт, мог бы и прололчать, это очевидно.

anonymous
()

Заданный таким образом y не является вещественным числом.

anonymous
()
Ответ на: комментарий от anonymous

а, чиорт. мне показалось, что там не «y =», а «y <».

топикстартер, вопрос на засыпку: как его без компьютар решают?

Muromec ☆☆
()

слушайте, мне что-то с такой постановки задачи башню рвёт.

х = -1 - где мы? (меньше и равны 5 или не больше 0?)

х = 2 - какой из вариантов?

х = 10 - это больше 0 и не меньше 5?

gunja
()
Ответ на: комментарий от gunja

от -inf до 0 - второй вариант, от 0 до 5 - непонятно что, от 5 до inf - первый вариант.

Muromec ☆☆
()

> Написать прогу, которая вычисляет y если x и b вводятся с клавиатуры

Не тру. Данные должны передаваться как аргументы командной строки.

> но в данном случае смущает то, что x>0 пересекается с x<=5

X попадает в отрезок (0;5] в чём проблема?

anonymous
()

Задача поставлена некорректно. Значение y между нулем и пятью определяется неоднозначно. Соответственно, вопрос из серии "в каком году умерла у швейцара бабушка". Переформулируйте задачу. Возможно, там все же не пять, а ноль?

Uncle_Theodore ★★
()
Ответ на: комментарий от anonymous

что ы?

>>> x=1
>>> ((x>0) and (x<5)) or (x==5) 
True
>>> x=-1
>>> ((x>0) and (x<5)) or (x==5) 
False

Muromec ☆☆
()

наверняка банальная опечатка, а вы мучаетесь…

dmiceman ★★★★★
()

Это мозговая бомба!!!

anonymous
()
Ответ на: комментарий от record

Угум. Что-то вроде вот такого

#include<stdio.h>

int main()
{
  float x,y,b;
  printf("\nInput b=");
  scanf("%f",&b);
  printf ("\ninput x=");
  scanf("%f",&x);

  if(x<=0)
    printf("\ny=%f", x*x+b);
  else 
    if(x>5)
      printf("\ny=%f", 2*x+b);
    else
      printf("y мого быть %f или мого быть %f, по вкусу...\n", x*x+b, 2*x+b);

  return 0;
}

Uncle_Theodore ★★
()

пля - да че тут думать - принимаем промежуток (0..5] как верный для обеих вариантов и считаем оба! ;-)

Bobr
()
Ответ на: комментарий от record

Это если порядок условий не влияет на их приоритет.

wfrr ★★☆
()
Ответ на: комментарий от Bobr

Ага и выдаем результат в виде вектора или комплексного числа?

wfrr ★★☆
()
Ответ на: комментарий от Uncle_Theodore

> printf("y мого быть %f или мого быть %f, по вкусу...\n", x*x+b, 2*x+b);

Давайте зачотку!

Igron ★★★★★
()

не понимаю, что тут такого...

х существует от -inf до +inf, просто на отрезке (0, 5] каждому значению x соответствует два значения y

kranky ★★★★★
()
Ответ на: комментарий от parser

> Странная какая-то функция, которая даже определению отображения не удовлетворяет.

+1

http://ru.wikipedia.org/wiki/Функция_(математика) :

Определение. Пусть X и Y — два множества. Закон F, согласно которому каждому элементу x из X поставлен в соответствие единственный элемент y из Y, называется отображением множества X в множество Y или функцией, заданной на X со значениями в Y.

::healer

anonymous
()
Ответ на: комментарий от anonymous

или x=y^2 это тоже не функция?

П проге просто

if (x<a) print y = formula if (x>=b) print y = formula

я думаю это то, что ожидается

anonymous
()

да чё тут думать,
x <= 0 - верхний вариант
x > 5 - нижний
если x принадлежит (0; 5] то
складываем оба варианта получаем
2y = x^2 + 2x + 2b =>
 y = (x^2)/2 + x + b

// в топик пишут "Гуманитарии"

anonymous
()
Ответ на: комментарий от anonymous

> Что вы ересь несете? y=x^2 это не функция? Гуманитарии блин.

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

parser ★★
()

Система,внатуре, функцией не является.

najar
()

Херня какая-то. Надо либо в верхнем условии сделать x>5, либо в нижнем x<=0. В задании очепятка, или препод малость того.

anonymous
()
Ответ на: комментарий от anonymous

> если x принадлежит (0; 5] то
> складываем оба варианта получаем

А может лучше умножить? Или вычесть? Что за бред!
Это не функция.

Если имелась в виду функция, отображающая x в пару y = (y1, y2), то это записывается по-другому.

Если имелось в виду, что нужно сложить или взять максимум на пересечении промежутков, то это тоже записывается не так.

Кривое задание, в общем.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.