Форумы-->Форум для внеигровых тем--> 1|2
Автор | Нужна помощь в решении задач(Pasсal) |
Есть три задачи которых я не понимаю,естественно за решение каждой вознагражу))..
1)Пользователь вводит номер месяца и число.Выдать сообщение о поре года и количестве дней,оставшиеся до конца месяца.
..первую часть Выдать сообщение о поре года сделал,дальше не понимаю..
2)Составте программу,кот-ая задает пользователю вопросы по таблице умножения до тех пор пока он не даст неверный ответ. | 1) самый простой способ, для каждого месяца составь матрицу числа дней в них и потом вычитай из соответствующего элемента твоему месяцу в матрице число введенных дней.
2) тут тоже все элементарно, делаешь цикл while до тех пор, пока не возникла ошибка. Ошибка считается как разница между результатом операции случ_число*случ_число и введенным от пользователя. Те если ошибка!=0 то выход из цикла.
Вот тебе алгоритм, писать не буду из принципа. Если будут какие-то проблемы, напиши свой код, я подскажу что не так. | для MrSlayer:
1)Ну первую я как бы собирался через case делать..
2)Если было бы так легко и понимал,не спрашивал бы.. | Если ты в школе учишься и не можешь такое решить, то это не беда, если в универе к середине семестра не научили делать такую элементарщину, то надо задумываться о смене факультета...
Покажи как решал то хоть | а организовать массив day_of_month = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, и потом подставить в формулу days_left = month[current_month] - current_day не проще?
может, не нужно никакого case ? ;) | ну сделай через case если хочешь. только группируй месяцы по числу дней в них. | для KragHack:
case как бы понятнее,еще не дошли до таких массивов:)ну уж извиняй) | 2-я даже полегче первой потому что не нужно лазить в интернете и искать в каком месяце сколько дней чтобы массив объявить.
булевую переменную true, цикл условный даешь компу посчитать 2 числа, сравниваешь. если не совпадает то переменную false, условие выхода из цикла переменная эта. всё.
таких массивов
а до каких дошли?:) это самый примитивный из всех :) | case your_month of
1,3,5,7,8,10,12: diff_days=31-your_day;
4,6,9,11: diff_days=31-your_day;
...
else
//вывод об ошибке введения
end; | сорри, во втором случае 30-your_day; | В общем случае первая задача не решаема. При вводе 02.02 ответ дать невозможно. | для Derryk:
Почему так? в феврале 28.25 дней. | в феврале 28.25 дней
Ну если препод настолько глуп, что примет этот ответ, то да. | В общем случае первая задача не решаема. При вводе 02.02 ответ дать невозможно.
Задача лишь требует самую малость творческого подхода от ученика, как бы на высшую оценку)
Спросить в случае февраля год, к примеру.
Судя по второй задаче, проверяться все это будет учителем, а не прогой-тестером. | Задача лишь требует самую малость творческого подхода от ученика,
Ну вообще-то в реальной жизни за такой творческий подход полагается бить по рукам:) Долго и больно.
Потому как определять, что в данном случае должна делать программа, должен не программист, а аналитик или заказчик. Т.е. с точки зрения реальной жизни правильно спросить у преподавателя, как полагается обрабатывать дату 02.02. Если хочется повыпендриваться - то предложить на выбор варианты использовать 28 дней, запрашивать, високосный ли год, или по номеру года определять это самостоятельно. | для Derryk:
Тут не реальная жизнь, а школа, и этот нюанс в первой задаче - ровно то, что отделяет 9 баллов от 10 по нормам оценок по крайней мере в РБ, уж я-то знаю) | Тут не реальная жизнь, а школа
Во многом проблемы образования, кстати, связаны как раз с этим:)
А что до нюансов и 9 от 10 - ИМХО, если человек задал вопрос преподавателю, то этот нюанс он уловил. | для Derryk:
проблемы образования гораздо глубже)
А на 10 учащийся должен самостоятельно, без помощи учителя найти выход из нестандартной ситуации, как правило, проявив творческий подход.
Если сравнивать с реальной жизнью, то 9 - это для одного из команды программистов, 10 - для лидера проекта) | проблемы образования гораздо глубже
Но во многом основаны именно на том, что образование с реальной жизнью не связано, или учащиеся этой связи не видят. Хорошо видно, кстати, на примере английского. Сейчас молодежь его знает куда лучше, чем мы в свое время. А почему? Потому что для нас это был некий абстрактный язык, которые нужен ровно на уроке. А сейчас он стал нужен в реальной жизни - и уровень знания заметно подрос.
9 - это для одного из команды программистов, 10 - для лидера проекта
Лидер проекта НЕ ФОРМУЛИРУЕТ требования. Т.е. не ставит задачу. Он ищет пути решения, а если задача сформулирована недостаточно четко - то запрашивает уточнений. Вне зависимости от того, что ему говорит его творческий подход. | для Derryk:
переход от школьного к реальному - это не проблема, у выпускника будет время, чтобы во всем разобраться. В школе же задача стоит - обучить творческому мышлению, вне зависимости от предмета. Если же давать только строгие условия и требовать строгих же решений, то учащийся попросту не научится думать самостоятельно, искать свои пути решений. Подобные нюансы - это норма, и это правильно.
Как пример - в 7 классе дается задача: из 2 введенных чисел отобразить наибольшее. Если учащийся заметит, что числа могут быть равны, и предусмотрит это - то получит 10.
В 10 классе: вводится число, выдать его "словесное" представление. Если учащийся проверит, а число ли вообще было введено, реализует цикл с проверкой, то получит 10.
И т.д.
То, что в реальной жизни не так, не играет никакой роли, это не главное, и понять разницу потом будет легко.
Гораздо хуже, что в школе до сих пор не трогают объектно-ориентированное программирование. Вот тут переучиваться будет крайне сложно. |
1|2К списку тем
|