Re: Обчислення виразу залежно від умов
по першій умові має бути 1/7
а воно викидає по третій умові 1,5
ЧОМУ? Ви можете пояснити, ЧОМУ ВОНО МАЄ БУТИ ТАК?
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → Pascal/Delphi → Обчислення виразу залежно від умов
Для відправлення відповіді ви повинні увійти або зареєструватися
по першій умові має бути 1/7
а воно викидає по третій умові 1,5
ЧОМУ? Ви можете пояснити, ЧОМУ ВОНО МАЄ БУТИ ТАК?
{a/max(x,y,z), якщо c^2 <= x^2 + y^2 + z^2 <= d^2
{b/min(x,y,z), якщо x^2 + y^2 + z^2 <= c^2
{v=(a+b)/2, інший випадок
за цим прикладом так виходить
порахуй сам
vasyl_2013
може краще податись в розвідку? ну його в баню, це програмування!
Пане, ідіть в АТО. Навіть якщо вас візьмуть в полон, ви ворогам нічого не скажете.
по першій умові має бути 1/7
так і є, виконується перша умова і V = 1/7
Але ж ви його нікуди не виводите!
Тому, далі по коду йде перевірка наступної умови
sqr(x) + sqr(y) + sqr(z) <= sqr(c)
і результат є false, а отже виконання йде у гілку else, де
V := (a + b) / 2;
І тут V набуває значення 1.5, яке ви виводите на екран стрічкою
Write(V);
Якщо ви хочете вивести значення після V першої умови то поставте після неї теж Write(V);. Якщо ви хочете щоб після першої умові інші не провірялись поставте між ними else.
Тепер ви зрозуміли чому виводиться 1.5? Ви перезаисуєте V ще до того як вивели його на екран.
Для відправлення відповіді ви повинні увійти або зареєструватися