Информатика, вопрос задал Аноним , 2 года назад

Написать программу с использованием условного оператора if...then...else (полной или неполной формы) для условия: Сaд прямоугольной формы хотят обнести забором. Длина сада 800 м, а ширина составляет 5/8 длины. Какой длины должен быть весь забор?
Pascal
Программу и сам могу написать, вопрос куда тут можно сунуть условного оператора? Сказали должен быть, но зачем - ума не приложу...


restIess: а входные данные всегда одинаковые?
Аноним: Нет, программа универсальная, вводные данные могут быть разные
restIess: Тогда можно проверять данные на "адекватность", если пользователь введёт ширину или что-то отрицательной, то вывести, что Ширина не может быть отрицательной
Аноним: Спасибо огромное! А есть еще варианты решения с условным оператором?
restIess: Можно сверять длину и ширину забора, если они равны, то выводить, что это квадрат, но это уже совсем от нефиг делать))
Аноним: Спасибо еще раз за помощь!
Аноним: П.С. привет 7Л класс)

Ответы на вопрос

Ответил TENDER228
1

Ответ:

Проверить входную данную

Объяснение:

Если я правильно понял, то в программе идет ввод общей длины забора.

Поэтому нужно делать проверку, является ли длина подходящий под периметр забора( т.е. (ширина+длина)*2) и если вход равен этой длине, но выполняешь то, что в условии, НО если больше(меньше) нужной длины, то выходишь( или что ты там делаешь)


Аноним: Спасибо! А если это будет универсальная программа с разными вводными данными, то куда в таком случае поставить условного оператора?
TENDER228: Нужно будет сделать цикл, пока 'входной' периметр не будет равен периметру, к которму нужно стремиться(ширина+длина)*2). Т.е. допустим нужен конечный периметр = 500.
TENDER228: Делаешь цикл, потом запрашиваешь длину например, пользователь её вводит ты проверяешь меньши ли она длины общего периметра(500), если она меньше, то делаешь 500 - входной периметр(допустим 150) = 350, дальше опять пользователь вводит периметр забора, допустим 300, ты его проверяешь меньше ли он конечного периметра(350 уже, т.к. мы уже добавили забор и вычли его), если меньше то 350-300, конечный периметр будет = 50.
TENDER228: Допустим дальше человек вводит 100, но он не проходит, т.к. условие сравнивает входной периметр и конечный 100 > 50 условию не соответствует. Пропускаешь этот цикл, дальше пользователь опять вводит, вводит 50, и он равен конечному периметру, значит проходит и конечный периметр становится 0, там уже делашь выход либо ставишь условие Если конечный периметр=0, тогда выход( обычно break; )
TENDER228: Либо используешь While
Новые вопросы