Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
NoBrains
0 / 0 / 0
Регистрация: 21.03.2018
Сообщений: 19
#1

Дано действительное число Х. Вычислить в паскале

21.03.2018, 19:46. Просмотров 866. Ответов 17
Метки нет (Все метки)

Дано действительное число Х. Вычислить в паскале
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.03.2018, 19:46
Ответы с готовыми решениями:

Дано действительное число x. Вычислить f(x)
Дано действительное число x. Вычислить f(x): f(x)=\begin{cases} & \text{ x=...

Дано действительное число a, натуральное число n, вычислить a^n (for do)
Решить с помощью цикла for do Заранее спасибо :senor:

Дано действительное число x. Вычислить значение функции
{ x^2- ∛(x,) при x≥1 f(x)= {(x^2+3)^2,при x<0 {x^3+sin(π+x) при...

Дано действительное число х. Вычислить с точностью ε:
Здравствуйте уважаемые форумчане! Прошу вашей помощи при написании блок-схемы и...

Дано натуральное n, действительное число x. Вычислить частичную сумму ряда
Дано натуральное n, действительное число x. Вычислить: ...

17
Hitoku
Модератор
1702 / 1301 / 1400
Регистрация: 28.10.2016
Сообщений: 4,240
Завершенные тесты: 4
21.03.2018, 19:55 #2
Продолжение см на странице 29?

Добавлено через 21 секунду
Давайте уж всё задание, раз на то пошло
0
NoBrains
0 / 0 / 0
Регистрация: 21.03.2018
Сообщений: 19
21.03.2018, 19:56  [ТС] #3
Буду благодарен
0
Миниатюры
Дано действительное число Х. Вычислить в паскале  
Puporev
Модератор
54387 / 41968 / 28988
Регистрация: 18.05.2008
Сообщений: 98,864
21.03.2018, 20:10 #4
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
var x,p:real;
    i:integer;
begin
repeat
write('Введите х не целое четное число от 2 до 64 x=');
readln(x);
until(frac(x)<>0)or((trunc(x) in [2..64])and(trunc(x) mod 2<>0));
p:=1;
for i:=1 to 32 do
p:=p*(x-2*i-1)/(x-2*i);
write('p=',p:0:4)
end.
0
NoBrains
0 / 0 / 0
Регистрация: 21.03.2018
Сообщений: 19
21.03.2018, 20:12  [ТС] #5
А можно как-то проще, для тупых желательно без trunc и frac
0
Puporev
Модератор
54387 / 41968 / 28988
Регистрация: 18.05.2008
Сообщений: 98,864
21.03.2018, 20:14 #6
Тогда тупые при вводе чисел вида 2,4,6,8..,64 будут получать ошибку деления на 0.
0
NoBrains
0 / 0 / 0
Регистрация: 21.03.2018
Сообщений: 19
21.03.2018, 20:18  [ТС] #7
Думаю, не страшно
0
Puporev
Модератор
54387 / 41968 / 28988
Регистрация: 18.05.2008
Сообщений: 98,864
21.03.2018, 20:19 #8
Ну уберите проверку, в чем проблема?
0
NoBrains
0 / 0 / 0
Регистрация: 21.03.2018
Сообщений: 19
21.03.2018, 20:43  [ТС] #9
Все равно неправильно считает
0
Новичок
Модератор
1495 / 968 / 460
Регистрация: 17.07.2012
Сообщений: 4,925
Завершенные тесты: 3
21.03.2018, 21:59 #10
Цитата Сообщение от Puporev Посмотреть сообщение
Pascal
10
p:=p*(x-2*i-1)/(x-2*i);
Кажется скобка нужна, т.е
Pascal
10
p := p * (x - (2 * i - 1)) / (x - 2 * i);
либо сразу раскрыть скобки
Pascal
10
p := p * (x - 2 * i + 1) / (x - 2 * i);
0
NoBrains
0 / 0 / 0
Регистрация: 21.03.2018
Сообщений: 19
21.03.2018, 22:06  [ТС] #11
Все равно не получается. Если подставить х=20 должен получиться ответ 1,3605
0
Новичок
Модератор
1495 / 968 / 460
Регистрация: 17.07.2012
Сообщений: 4,925
Завершенные тесты: 3
21.03.2018, 22:24 #12
Лучший ответ Сообщение было отмечено Puporev как решение

Решение

А, там еще надо степени двойки вместо 2i и 2i-1. Сейчас исправлю.

Добавлено через 8 минут
Как-то так если не проверять ввод.
Pascal
1
2
3
4
5
6
7
8
9
var x, p: real;
    i: integer;
begin
  readln(x);
  p := 1;
  for i := 1 to 6 do
    p := p * (x - 1 shl i + 1) / (x - 1 shl i);
  write('p = ', p:0:4)
end.
Проверял в онлайн-компиляторе FPC, но в ABC тоже должно сработать.
http://rextester.com/GTW12941
0
NoBrains
0 / 0 / 0
Регистрация: 21.03.2018
Сообщений: 19
21.03.2018, 22:28  [ТС] #13
А почему i от 1 до 6?
0
Новичок
Модератор
1495 / 968 / 460
Регистрация: 17.07.2012
Сообщений: 4,925
Завершенные тесты: 3
21.03.2018, 22:30 #14
1 3 7 15 31 63
2 4 8 16 32 64
0
NoBrains
0 / 0 / 0
Регистрация: 21.03.2018
Сообщений: 19
21.03.2018, 22:33  [ТС] #15
А можно как-то без shl сделать?
0
Новичок
Модератор
1495 / 968 / 460
Регистрация: 17.07.2012
Сообщений: 4,925
Завершенные тесты: 3
21.03.2018, 22:36 #16
Лучший ответ Сообщение было отмечено Puporev как решение

Решение

Pascal
5
6
7
8
9
p := 1; k := 2; // var x, k, p: real;
for i := 1 to 6 do begin
    p := p * (x - k + 1) / (x - k);
    k := k * 2;
end;
0
NoBrains
0 / 0 / 0
Регистрация: 21.03.2018
Сообщений: 19
21.03.2018, 22:56  [ТС] #17
Спасибо, все работает.
Я конечно наглый, но если Вы ещё поможете с этим Даны числовой ряд и некоторое число Е то буду в двойне благодарен
0
Puporev
22.03.2018, 06:45     Дано действительное число Х. Вычислить в паскале
  #18

Не по теме:

Да уж, написал я какую-то хрень...

0
22.03.2018, 06:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.03.2018, 06:45
Привет! Вот еще темы с ответами:

дано действительное число х
дано действительное число х. Вычислить значение функции f(x) _____{x-2, при...

Дано действительное число a...
Помогите пожалуйста с этой задачей Дано действительное число a.Вычислите f(a),...

Дано действительное положительное число x, меньше 5. Напишите программу, позволяющую округлить это число до ближайшего целого числа
Дано действительное положительное число x, меньше 5. Напишите программу,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru