0 / 0 / 0
Регистрация: 20.02.2019
Сообщений: 2
1

Вычислить значение Y по заданной формуле

20.02.2019, 12:31. Показов 2757. Ответов 8
Метки нет (Все метки)

Добрый день! Нужна хелпа вот по этому заданию.

Вычислить значение Y по заданной формуле:

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
Y=\begin{cases}-X & \text{, if } X\leq 0 \\ X & \text{, if } 0\,<\,X\leq 2 \\ 4-X & \text{, if } 2\,<\,X\leq 4 \\ X-4 & \text{, if } X\,>\,4 \end{cases}<br />
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.02.2019, 12:31
Ответы с готовыми решениями:

Вычислить значение по заданной формуле
написать на паскале, через массивы, цикл... \huge y=\sum_{i=1}^{20} \frac{a_i+^{a_i}/_{b_i}}{2}

Вычислить значение выражения по заданной формуле
Написать программу: Даны целое число n, действительные числа i,j,k вычислить: ...

Вычислить значение выражения по заданной формуле
Написать программу: Даны целое число n, действительные числа i,j,k вычислить: r=\cos...

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

8
2373 / 775 / 561
Регистрация: 15.01.2019
Сообщений: 2,394
20.02.2019, 15:12 2
Не хочу тебя обижать, но задание настолько простое, что попытайся уже сам как-нибудь набросать, а мы поправим код если что не работает.
Переменные оставь как есть.
Слово "если" замени на конструкцию "if X<=0 then Y:=-X" и т. д..
Двойные условия разбивай на одинарные. Например "0<X<=2" будет выглядеть так (0<X) and (X<=2).
Обязательно посмотри на чужие коды, и простенькие примеры.
Все даже самые крутые программеры регулярно смотрят на чужие коды и учатся. Удачи.
0
3 / 3 / 0
Регистрация: 19.02.2019
Сообщений: 25
21.02.2019, 11:09 3
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
var x, y:integer;
begin writeln ('Enter x');
Readln(x);
if x<=0 
    then y:=-x
else if ((x>0) and (x<=2))
    then y:=x
else if ((x>2) and (x<=4))
    then y:=(4-x)
else if x>4 
    then y:=(x-4);
writeln(y);
end.
0
Модератор
9478 / 4802 / 3210
Регистрация: 17.08.2012
Сообщений: 15,036
21.02.2019, 14:25 4
Sindero, лишние условия. Лишние скобки. Ввод и вывод несколько нелогичен. Форматирование так себе. Ещё лишняя точка с запятой. Это не ошибки, но всё же... Есть и ошибка. Не понимаю, почему Вы решили, что x и y - целые.

Можно вот так, например:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var
  x, y: real;
 
begin
  write('x = ');
  readln(x);
  if x <= 0
    then y := -x
    else if x <= 2
      then y := x
      else if x <= 4
        then y := 4 - x
        else y := x - 4;
  writeln('y = ', y);
  readln
end.
Общепринятое форматирование выглядит так:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var
  x, y: real;
 
begin
  write('x = ');
  readln(x);
  if x <= 0 then
    y := -x
  else
    if x <= 2 then
      y := x
    else
      if x <= 4 then
        y := 4 - x
      else
        y := x - 4;
  writeln('y = ', y);
  readln
end.
но оно мне не нравится.
0
3 / 3 / 0
Регистрация: 19.02.2019
Сообщений: 25
21.02.2019, 14:40 5
Cyborg Drone, не понимаю надобности в readln в конце, зачем держать строку если значение отдаст нормально, это же не консоль, а на счет лишних условий я просто набросал за пару минут задачу есть конечно логически ненужные но всё же, попробую еще раз:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var x, y:real;
 begin
  writeln('enter X');
  readln(x);
 if x<=0 
    then y:=-x
else if ((x>0) and (x<=2))
    then y:=x
else if ((x>2) and (x<=4))
    then y:=(4-x)
else if x>4 
    then y:=(x-4);
  writeln('Y is: ', y)
end.
0
Модератор
9478 / 4802 / 3210
Регистрация: 17.08.2012
Сообщений: 15,036
21.02.2019, 15:52 6
Sindero, скажем так, уже лучше.

Ввод на следующей после приглашения строке - дело вкуса, конечно.

Зачем, к примеру, в строке 7 условие x > 0, если в строке 5 это уже было проверено? Ну не может в строку 7 попасть x, который <= 0, он обязательно будет > 0, поэтому условие x > 0 лишнее. То же со строкой 9. В строке 11 "if x>4" и в строке 12 "then" тем более лишнее, поскольку, если программа дошла до строки 11, все варианты были проверены, и безо всяких проверок икс будет больше четырёх.

Внешние скобки в строках 7, 9, 10 и 12 не требуются.

Остальное всё в пределах нормы.

Насчёт последнего readln: не забываем, что эта ветка называется Turbo Pascal. Readln НЕ нужен лишь тогда, когда есть уверенность, что результат работы программы останется видимым после окончания работы программы. То есть, фактически только для MS-DOS или его эмуляции без файловой оболочки. В остальных случаях - увы, разглядеть результат так просто не удастся. Ввёл x, нажал <Enter>, что-то там мелькнуло и тут же пропало, потому что программа закроется, и ничто её не остановит. В MS-DOS после выполнения запустится Norton Commander или ещё какая-нибудь файловая оболочка во весь экран, и нужно будет гасить его окна, чтобы посмотреть результат, DOS-окно в Windows (до XP включительно) просто закроется, и результат вообще будет потерян (придётся в свойствах окна MS-DOS снимать галку "Закрывать после окончания работы", а для уже скомпилированной программы специально создавать ярлык без этой галки), в более старших Windows в эмуляторе MS-DOS (например, DOSBox) будет всё то же самое. Кроме того, в самой среде Turbo Pascal тоже результата так просто не увидеть: после окончания работы программы во весь экран запустится среда. Это, конечно, лечится просто, насколько я помню, нужно запустить программу комбинацией клавиш <Shift>+<F9>, и окно ввода-вывода не закроется, но об этом мало кто из современной молодёжи знает.

Не правда ли, проще написать readln? Запустил программу, она выполнила всё, и не закрывается, а ждёт, когда будет нажат <Enter>. Что там за результат получился, хоть обглядись. И объяснять ТСу не нужно будет, что Ваша программа работает, просто ТС её запустил неправильно. Знаете, как раздражает, когда вдруг отвечают, что Ваша программа не работает?
1
3 / 3 / 0
Регистрация: 19.02.2019
Сообщений: 25
21.02.2019, 16:44 7
Cyborg Drone, я не очень хорош в Pascal знаю как на нем писать, но Turbo/ABC/NET мне не говорит ни о чем, так то стыдно
0
Модератор
9478 / 4802 / 3210
Регистрация: 17.08.2012
Сообщений: 15,036
21.02.2019, 17:40 8
Sindero, ну, у каждого диалекта свои особенности.

Преданья старины глубокой, типа UCSD Pascal, поминать не будем.

Turbo Pascal / Borland Pascal работают в среде MS-DOS, казалось бы, пора о них и забыть, но эти диалекты до сих пор живы, поскольку частенько используются в учебных целях. Издано очень много литературы про эти диалекты.

Pascal ABC - учебный диалект паскаля, в котором очень многое урезано. Используется в учебных целях, естественно. Его поддержка давно прекращена. Не путайте этот диалект с Pascal ABC.NET. Корни у них общие, но диалекты совершенно разные. Не рекомендую.

Pascal ABC.NET - мощнейший диалект паскаля, помесь классического паскаля с C#, и, как следствие, с платформой .NET. Годится только для Windows. Его синтаксис очень сильно отличается от синтаксиса классического паскаля, что позволяет писать очень короткие и эффективные программы (вместо полсотни "классических" строк может быть достаточно одной строки), хотя, на нём можно писать программы и в "классическом" стиле. Поддержка так себе, и программисты, поначалу "влюбившиеся" в этот диалект, частенько переходят с него на майкрософтовский "первоисточник" C#, из которого, собственно, все "плюшки" PABC.NET и понадёрганы.

Диалекты, основанные на Object Pascal (первоначально Object Pascal использовался на Apple):

Delphi - мощная среда программирования, не бесплатная. Есть, вроде бы, и бесплатная, урезанная и несколько устаревшая, версия. Удобная среда, отличный инструментарий, хорошая поддержка (раньше это был Borland, сегодня - Embarcadero). Есть средства для написания мобильных приложений. Да и вообще в Delphi полно всего. Короче, всё хорошо, кроме цены.

Free Pascal Compiler, он же FPC - весьма мощный, удобный и бесплатный кроссплатформенный диалект паскаля, особенно, совместно с оболочкой Lazarus. Тогда это будет почти Delph. Девиз "Write once, compile anywhere". Можно писать программы для чего угодно. Ключи компилятора позволяют писать программы с синтаксисом Object Pascal (по умолчанию), Turbo Pascal, Delphi, а теперь и для MAC тоже (поддерживаются Think Pascal и MetroWerks Pascal). Ассемблерные вставки также допускают различный синтаксис. По возможностям практически равен Delphi. Хорошая поддержка, вообще лихие ребята. Вроде бы, хотели добавить поддержку синтаксиса C++, но не знаю, будут ли это делать. Рекомендую FPC + Lazarus.
0
3 / 3 / 0
Регистрация: 19.02.2019
Сообщений: 25
21.02.2019, 19:00 9
Cyborg Drone, Ну для меня паскаль слаб как ЯП, на нем сложно написать что-нибудь свыше учебных программ, по типу введите 2 массива, сложите их по порядку первый к последнему, выведите в обратном порядке. Я выбрал C# тк он очень хорош и силен для создания софта. Delfi может и хорошая среда, но для меня она, по сравнению с Visual Studio даже Community очень урезана и неоптимизирована.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.02.2019, 19:00
Помогаю со студенческими работами здесь

Вычислить значение выражения по заданной формуле
Написать программу: Даны целое число n, действительные числа i,j,k вычислить: ...

Задача по циклической структуре: вычислить значение по заданной формуле
помогите решить эту задачу, пожалуйста

Вычислить значение выражения по заданной формуле
F(x)={█(x^2-3x+9@1/(x^3+6))} если x ≤3 и если �� &gt;3

Вычислить значение переменной по заданной расчетной формуле и набору исходных данных.
Если не сложно ребят) 1. Вычислить значение переменной s по заданной расчетной формуле и набору...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru