06.11.2012, 15:00 | #1 (permalink) |
Member
Регистрация: 05.11.2012
Сообщений: 25
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Надеюсь на то, что Vladimir_S отзовется
|
06.11.2012, 15:00 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Моя рекомендация - обратите внимание на похожие темы Надеюсь на подсказку Я надеюсь на вас. |
06.11.2012, 17:02 | #4 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Да... огорчили Вы меня, сударь. Ведь эта задачка вполне подобна первой, требуется лишь небольшая косметическая правка - могли бы и сами справиться. Ну да ладно.
Код:
Var a,b:real; v:byte; Function Y(p,q:real):real; begin If p*q<=0 then Y:=1 else If p*q>5.5 then Y:=Ln(p+q)+Sin(p) else Y:=Exp(0.35*p+q)+p*q; end; Function X(r,t:real):real; begin X:=5.0*Sin(r)+Cos(r*t); end; Begin Write('Input parameters: test values - 0, other - 1 '); Readln(v); If v=0 then begin a:=1.87; b:=2.45; Writeln('a= ',a:0:5); Writeln('b= ',b:0:5); end else begin Write('a= '); Readln(a); Write('b= '); Readln(b); end; Writeln('Y= ',Y(a,X(a,b)):0:5); Readln; End. |
06.11.2012, 22:17 | #5 (permalink) |
Member
Регистрация: 05.11.2012
Сообщений: 25
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Владимир) тот кто попросил меня помочь с этими заданиями не проходил еще функции с помощью которых вы предлагаете решить данное задание) без них никак?
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
07.11.2012, 10:05 | #7 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
1. Терпеть не могу указуль типа "не использовать функции", "не использовать циклы" или, наоборот, "задать то-то и то-то в виде функции или процедуры" (там, где подпрограмма - что седло на корове). С одной стороны - на форуме постоянное нытьё типа "нам ничего не объясняют", с другой - "мы этого не проходили". Черт вас подери, осваиваете программирование - так вперед и смелее! 2. Использование функций в данном случае придает программам лаконичный, аккуратный и, как следствие, удобочитаемый вид. Отказ от функций приведет лишь к громоздкости кода. А потому уродовать собственные программы - отказываюсь. 3. И вообще - современные языки программирования (СИ, Delphi) строятся на модульном принципе архитектуры программ, что прежде всего предполагает умение работать с разного вида подпрограммами. Поэтому чем скорее начинающий программист освоит эту технику, тем лучше. 4. Но если всё-таки возникнет необходимость убрать функции (напр. упЭртый препод), то предлагаю сделать это самостоятельно. В конце концов, надо и учиться чему-то, кроме тупого скатывания. Тем более, никаких проблем тут нет. На примере программы в этой теме, подсказываю: а) вместо функций X и Y вводим переменные x и y типа real; б) после присваивания значений параметрам a и b вставляем две строки, начинающиеся с "x:=", "y:=" (впрочем, тут с ветвлением), куда перетаскиваем формулы из функций, заменив формальные параметры p,q,r,t реальными a и b. Успехов! |
|
07.11.2012, 18:38 | #8 (permalink) |
Member
Регистрация: 05.11.2012
Сообщений: 25
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
я говорил как раз про Y и X) function препод упомянул вскольз как я понял и по-этому не желательно их использовать т.к. препод может задать заковыристые вопросы) написал программу с помощью вложенных условных операторов. ошибка была в том что я забыл про то что условие 0<x<=5.5 надо написать в программе как x>0 and x<=5.5. В принципе проблем с защитой не должно возникнуть у той для кого я писал) спасибо за то что заглянули в мою тему)
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|