Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Задачи для начинающих

5160  1 2 3 4 5 6 7 8 9 10 все
  moose коренной житель29.01.21 13:49
NEW 29.01.21 13:49 
в ответ AlexNek 28.01.21 15:54, Последний раз изменено 31.01.21 13:26 (moose)
No body
#41 
AlexNek патриот29.01.21 14:17
AlexNek
NEW 29.01.21 14:17 
в ответ uscheswoi_82 28.01.21 23:07

Что то тут какое-то недопонимание. Я не спрашивал, что делают данные штуки в вашей программе. Я спрашивал, где это в задании?


Если сказали копать от забора до обеда, то зачем срубать деревья на даче генерала?

#42 
AlexNek патриот29.01.21 14:40
AlexNek
NEW 29.01.21 14:40 
в ответ uscheswoi_82 28.01.21 23:28
Вот Flussdiagramm:

Очень похоже, забыли только сказать чем рисовали. Немного неаккуратно и не совсем соответствует DIN 66001

https://de.wikipedia.org/wiki/Programmablaufplan


  • yEd Graph Editor – kostenloser Diagrammeditor, mit dem Datenflussdiagramme gezeichnet werden können
  • Orinoco – kostenloses Tool zur Modellierung und Simulation von Datenflussdiagrammen


#43 
Murr патриот29.01.21 14:44
Murr
NEW 29.01.21 14:44 
в ответ Программист 29.01.21 12:15

Где я говорил, что это решение не годится?

-----

Ну а зачем писать что-то если удовлетворяющее решение уже есть?


Это потому что ты прочитал только половину условия

-----

Я прочитал как раз то что нужно и прочитал правильно.

Если тебе не нравятся пингвины с песцами - пусть будет какая-нибудь редкая ящерка из средней полосы, которая размножается только в ограниченных по температуре условиях. А террариум разместим поближе к экватору.


Почему ты проигнорировал то, что после запятой

-----

Во второй половине указаны идентификаторы управляющих функций, но нигде не сказано что они управляют именно нагревательным элементом. Вывод об том что подразумевается именно нагревательный элемент ты сделал исходя из названия функции - это чисто твое умозрительное заключение. По факту корректирующий температуру элемент может быть любым, но управляемым двумя указанными методами.


#44 
AlexNek патриот29.01.21 14:48
AlexNek
NEW 29.01.21 14:48 
в ответ wasja-de 29.01.21 07:40
перед тем, как что-то программировать, правильно было бы почитать про PID контроллер,

Зачем это знать начинающему?

Для решения задачи не нужно знать абсолютно ничего. Даже какой то язык программирования. И будет ли работать даже написанной программа на реальном контроллере, тоже совершенно не важно.

Для первого этапа достаточно описать всё хотя бы своими словами. Я удивляюсь почему до сих пор никто ничего не написал из тех кто хочет учится. Ведь именно для и них всё и затеял.


а я бы добавил задачки от другого профессора

Добавляйте. Только я бы в этой теме сделал ограничение: Кто добавляет задачи, тот и ментор для них.

Если же есть задачи, но нет желания или знаний для их сопровождения, то лучше добавлять в новой теме. В которой будут только задачи.

#45 
AlexNek патриот29.01.21 14:49
AlexNek
29.01.21 14:49 
в ответ Программист 29.01.21 10:01
Но все таки мне кажется, что тут нужно сделать 2 класса:

Не забывайте задача для начинающих. Никакие классы им неизвестны.

#46 
Murr патриот29.01.21 14:51
Murr
NEW 29.01.21 14:51 
в ответ koder 29.01.21 13:08

Но это не красиво.

-----

Это вполне красиво - на то он и контроллер, чтобы изолировать сущностный элемент.


Контроллер действительно может долбить термометр регулярно

-----

Как он будет делать - не важно. Важно что благодаря прокладке-контроллеру управление не будет зависеть от типа и возможностей Термометра.



если в качестве эвента выступает дворник

-----

Так ведь без разницы.

Разница появится когда будет требоваться учитывать показания термометра, действия дворника и мнение питона.

#47 
Murr патриот29.01.21 14:56
Murr
NEW 29.01.21 14:56 
в ответ AlexNek 29.01.21 14:48

удивляюсь почему до сих пор никто ничего не написал из тех кто хочет учится.

-----

Потому что в наличии, по факту, не те, кто хочет учится, а лишь те, кто хочет чтобы их научили. хммм

А сии две категории есть весьма различны по факту.

#48 
koder патриот29.01.21 15:05
koder
NEW 29.01.21 15:05 
в ответ moose 29.01.21 13:49
требуется учитывать инерционность тепловых процессов.

Это вы придумали

в качестве "управляющего воздействия" выберем две величины: как надолго включить нагреватель , и какую после выключения сделать паузу.

Это вы придумали


инициализировать "регулятор": некая сущность, которая будет имплементировать управление, вычисляя "управляющее воздействие" (напомню, это - две величины: время включенного состояния и пауза после). 0. запросить у регулятора управляющее воздействие
1. выполнить управляющее воздействие2. перейти к 0.

Это вообще с программированием ничего общего не имеет.


#49 
AlexNek патриот29.01.21 15:14
AlexNek
NEW 29.01.21 15:14 
в ответ moose 29.01.21 13:49
постановка задачи.

Ну вот, наконец то, то с чего и нужно начинать. Вначале нужно понять что же действительно хочет пользователь.

А не фантазировать: поддержание температуры в террариуме в заданных пределах (tmin, tmax), требуется учитывать инерционность тепловых процессов и т.п.


Я специально привел вначале самое простое описание - обычно с этого и начинают говорить что надо.

И задача программиста выбить все нужные знания у пользователя.


Что у нас есть на сегодня:

  • Температура желательная
  • Температура измеренная
  • Внешняя функция включить нагреватель.
  • Внешняя функция выключить нагреватель.


Что нам еще не хватает?

Хотя бы то, как представлена температура - как строка или как число. Для диаграмм и описания это не имеет смысла, а вот для конкретной программы нужно уже знать.

И тут мы подходим к типам данных.


Базовых не так уж и много

символ - 'A', 'B'

строка из символов - "asdfg"

целый тип - 0,1,2,3, -10

вещественный тип: 0.12345, -3.14

логический тип: Да, Нет.


В каждом языке существуют свои особенности определения и использования данных. В том числе и способ их представления в машинной форме. Но этих вопросов мы пока касаться не будем.

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

#50 
koder патриот29.01.21 15:34
koder
NEW 29.01.21 15:34 
в ответ AlexNek 29.01.21 15:14
Хотя бы то, как представлена температура - как строка или как число.


Это не играет никакой роли в процессе составление алгоритма. Потому что определения пороговых значений для температуры это отдельная задача. Представьте, что градусник говорит на французском. То есть информация передается акустически. Ну и нафига усложнять теоретическую задачу дле начинающих.


uscheswoi_82

написал достаточный алгоритм, который постоянно мониторит температуру и реарирует. Программист написал изящную реализацию, которая реагирует на события. Обе реализации достаточно абстрактны, что бы поднимать дополнительные модули для рассширения функтиональности. Не надо перегружать прогу подробностями, которые могут ВДРУГ понадобится.

#51 
  moose коренной житель29.01.21 15:42
NEW 29.01.21 15:42 
в ответ AlexNek 29.01.21 15:14, Сообщение удалено 29.01.21 17:23 (moose)
#52 
Murr патриот29.01.21 15:46
Murr
NEW 29.01.21 15:46 
в ответ AlexNek 29.01.21 15:14

Пока ограничимся тем, что температура представлена вещественным числом

-----

Ограничься - целым. Если нужна точность - задай единицу измерения 0.1, 0.01, 0.001 градуса.

Для вещественных тебе придется объяснять представление в виде порядок и мантиса с усечением/округлением - именно то чего ты пока касаться не хочешь.

#53 
AlexNek патриот29.01.21 16:16
AlexNek
NEW 29.01.21 16:16 
в ответ koder 29.01.21 15:34
Это не играет никакой роли в процессе составление алгоритма.

Вообще то играет, потому как 2+2 может быть и 22 и 9 не обязательно меньше 10 смущ

По крайней мере, если на входе строка, нужно показать ее преобразование в число.


Можно было и опустить, но мен хочется показать немного большее, чем просто обычная задача.

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

#54 
AlexNek патриот29.01.21 16:19
AlexNek
NEW 29.01.21 16:19 
в ответ moose 29.01.21 15:42
почти решенная задачка

Код вообще то интересует в самую последнюю очередь.

И код должен быть в "стиле начинающего".

Мы ещё и с постановкой задачи не определились смущ

#55 
AlexNek патриот29.01.21 16:23
AlexNek
NEW 29.01.21 16:23 
в ответ Murr 29.01.21 15:46
Для вещественных тебе придется объяснять представление

Зачем? Это знать совершенно не нужно. Достаточно знать что может быть 20.0, 20.33333, 22.5 и т.п.

А целое не подходит бебе , потому как я пользователя уже пытал и узнал что он действительно хочет.

#56 
  moose коренной житель29.01.21 17:22
NEW 29.01.21 17:22 
в ответ AlexNek 29.01.21 16:19, Сообщение удалено 31.01.21 13:27 (moose)
#57 
AlexNek патриот29.01.21 17:41
AlexNek
NEW 29.01.21 17:41 
в ответ moose 29.01.21 17:22
и не определитесь никогда

Для начала нужны вопросы, а их как не было так и нет. Каждый пытается сам что то додумать.

Да и желающих хоть немного чего узнать, тоже пока не нашлось.


#58 
Murr патриот29.01.21 18:53
Murr
NEW 29.01.21 18:53 
в ответ AlexNek 29.01.21 16:23

Зачем?

-----

Затем, что есть два вещественных числа - 22.3 и... 22.3... и при этом одно из них меньше другого. безум

Чтобы объяснить этот момент - придется углубляться в детали представления, а это на уровне Если...То...Иначе - лишнее.

По-этому есть смысл перейти к целым значениям 223 и 223 единицы по 0.1 градуса - это будет понятно и вполне однозначно.

Можно перейти и к 2231 и 2233 - по 0.01 градуса - тут уже будет видна причина неравенства 22.3 и 22.3.


я пользователя уже пытал и узнал что он действительно хочет

-----

У тебя есть проблема из 223 нарисовать для пользователя "22.3С"?

Вынеси в отдельную подзадачу и пусть ее реализовывают...

А внутри все должно быть так как должно быть - не надо преобразовывать в вещественное полученное дискретное. Его вообще не надо трогать - надо работать с тем что получено, однократно перегоняя заданные критерии к йeтому виду.


К тому же с точки зрения обучения есть еще один момент.

Нужно чтобы юниор учился мыслить абстрактно.

С этой позиции 223 которое более абстрактное значение много предпочтительнее 22.3 которое есть конкретная температура.

Еще раз скажу - сформулируй цель которую пытаешься достичь данным упражнением.

#59 
Murr патриот29.01.21 18:57
Murr
NEW 29.01.21 18:57 
в ответ AlexNek 29.01.21 17:41

Каждый пытается сам что то додумать.

-----

Ну так ты именно это и просил.

#60 
1 2 3 4 5 6 7 8 9 10 все