Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

chrisBG69 avatar chrisBG69 29 Точки

Задача 13.Area of Figures от Simple Conditions

Затруднявам се с тази задача, не мога да определя как на входа на две фигури да печатам две цифри, а на останалите фигури по едно число (readline), иначе формулите за area са ясни. Моля за някакво решение...

Тагове:
0
Programming Basics with PHP
Thedi avatar Thedi 200 Точки
Best Answer

Здравей,

Идеята е да прочетеш един ред. Който е какъв тип е фигурата.
Примери №1 : Дават триъгълник. 
Проверяваш коя фигура е това и след като видиш, че фигурата която ще ти дават е триъгълник знаеш, че за тази фигура ти трябват две страни. Така, че четеш две страни и изкарваш резултата който трябва.

Пример №2 : Дават ти квадрат.

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

Обобщено първо виж каква е фигурата и според това каква е, чети различен брой входове. Не е нужно в задачати да прочетеш всичко още на първия ред. Възможно е да трябва някаква логила и според нея да четеш различни неща.

Надявам се да си разбрал. Ако имаш въпроси питай.

0
25/01/2018 13:36:22
chrisBG69 avatar chrisBG69 29 Точки

Това го разбрах, обаче ми куца синтаксиса (все пак съм новобранец), примерно за първия ред, от който ще се чете го правя така - $figure = "square"."rectangle"."circle"."triangle".readline(); после за всеки if ако дадена фигура е една от тези добре, но как да се добави да чете за една 1 число, а за друга 2, и може ли във if-а да влезе readline (), това не ми е ясно как да го изпиша, беден речник брат (синтаксис) :) 

0
Thedi avatar Thedi 200 Точки

Абсолютно всичко може да влиза в if. Единственото нещо което прави иф-а е да каже, че този код ще се изпълнява само и единствено ако условието в иф-а е изпълнено и то не влия на това какво може да пишеш в него.

Идеята е, че ти дават фигура:

$figure = readline();

После правиш проверка:
 

if($figure == "square") {

Само когато фигурата ти е квадрат ще влезнеш в тази проверка. Съответно ти знаеш че за квадрат ти трябва само една страна за това си прочиташ само една.

if ($figure == "square") {
 $sideA = readline();
 //Смяташ лицето тук и го принтираш.
}

Ако обаче фигурата ти е триъгълник:
 

if ($figure == "square") {
    $sideA = readline();
   
} elseif ($figure =="triangle"){
    //Тук вече знаеш, че фигурата ти е тригълник.
    //За това четем две страни.
    $sideA = readline();
    $sideB = readline();
} 


Понеже всички проверки са залепени с if-elseif, то тази $figure ще бъде валидна само за една от фигурите. Така, че ще се изпълни само кодът в съответната проверка и ще се прочете или само 1 вход или 2 зависи какво е написано в проверката.

0
chrisBG69 avatar chrisBG69 29 Точки

Благодаря, така е друго нещо, аз от снощи се мъча с тази задача. Благодаря на всички за насоките!

https://pastebin.com/4vTdMyyZ

0
25/01/2018 15:34:18
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.