Задачи для начинающих
Валом было других вопросов - Кто научит быть программистом?
Читать и править чужой код. Обычно помогает, когда новичков бросают на устранение багов. Сначала новичок мужественно прокручивает метод в 10000 строк для поиска нужной строки, пока не начинает плеваться . Потом правит и видит, как прога разваливается. Потом пару раз правит архитектурно правильный код и видит, как в 2 клика нужный код находится, код, который к теме напрямую не относится, не видно и не слышно, изменения закапсулированы в классе, при изменении требований просто меняется класс и все защищено юниттестами. И внезапно приходит озарение.
Поэтому для новичка имхо очень важна группа, где он может видеть чужой код и получать звиздюли за свой.
Нужно идти все же дальше. Может потом кто-то еще захочет почитать.
Из того что мы знаем, нам в итоге нужно пойти по трём путям:
- ничего не делать
- включить нагрев
- выключить нагрев
Проблема, как это закинуть в ветвление у которого только два пути?
Довольно просто, нужно сделать два ветвления. Значить у нас должно быть и два условия.
На первый взгляд начальное условие просится само собой - если температуры равны, то ничего не делать.
Затем нужно проверить, что у нас с текущей (измеренной) температурой, если она меньше заданной то нужно включить нагреватель иначе выключить.
Теперь осталось вспомнить, что мы получаем температуры в виде вещественных чисел. Вроде какая разница целое или вещественное при сравнении? А она есть и следует пока просто поверить на слово и запомнить, что не следует проверять в лоб - А равно Б, если одно из чисел вещественное. Во многих случая, данную рекомендацию или не знают или игнорируют. И всё работает. Однако до некоторого времени, пока не звонит/пишет заказчик и говорит, что у него программа вдруг стала выдавать неверные результаты.
Поэтому правильное сравнение выглядит немного странно |А-Б| < x, где | | означают абсолютное значение, < обозначает меньше, а х - это допуск или точность. Например, если нас интересует расстояние между городами и мы получили два значения, будет ли нас интересовать равны ли они с точностью до метра или нет? А вот когда хотим заказать новую дверь, скорее всего измерим дверной проем с точностью до миллиметра.
В итоге у нас получается следующее описание:
Прочитать измеренную температуру (Tist) Прочитать/ввести желательную температуру (Tsoll) ЕСЛИ |Tist - Tsoll| < Tolerance ТО 1. ничего не делать ИНАЧЕ ЕСЛИ Tist < Tsoll ТО 2. включить нагреватель ИНАЧЕ 3. выключить нагреватель
Вот оригинальная задача
Jede Minute wird auf dem Raspberry mit CRON ein Python-Programm gestartet, das wie folgt abläuft:
Zunächst wird die Soll-Temperatur von einem Internet-Webservice gelesen und in der Variablen Tsoll gespeichert.
Dann wird von einem angeschlossenen Sensor die aktuelle Temperatur im Terrarium ausgelesen und in der Variablen Tist gespeichert. Wenn nun Tist<Tsoll-0,5°C, also zu kühl, ist, wird die Heizung eingeschaltet.
Dazu wird ein Unterprogramm mit Namen HeizEIN aufgerufen. Wenn es zu warm ist mit Tist>Tsoll+0,5°C, wird die Heizung mit Aufruf des Unterprogramms HeizAUS ausgeschaltet.
Damit ist das Python Programm am Ende.
В диаграмме некоторые изменения, но основа осталась неизменной
Кто хочет может добавить код на питоне.
Читать и править чужой код.
-----
Эээ...
Не совсем понятно кто это должен делать...
Ибо в практике желающих быть наученными быть программистами подразумевается кто-то кто прочитает и поправит, после чего клиент будет наученным быть программистом.
очень важна группа
-----
Один из таких новичков... имея, кстати, 5 баллов в профильном дипломе, звонил профессору и просил проконсультировать по очень сложному вопросу - как убрать из формы поле... не убирая поле из формы... Или другими словами - как поменять висибле с труе на фалсе....
И внезапно приходит озарение.
-----
Есть люди которые будут пытаться...
И есть люди которые будут смотреть как пытаются другие...
подразумевается кто-то кто прочитает и поправит
PullRequests. Обязательны для всех, для новичков это не формальность. То есть ВСЕГДА при правильной организации социалистического труда на код перед вливанием в основной репозиторий кто то должен взглянуть.
звонил профессору и просил проконсультировать
Надеюсь ночью? Самые лучшие советы рождаются ночью после внезапного звонка.😁👍
при правильной организации социалистического труда
-----
При правильной организации нуб может сидеть, смотреть и... становится прогером.
Какие тебе ПуллРекуестс? Там же надо кнопарики тыкать и стресс получится если тыкнуть не туда...
Неее, стресс - не нужен, нужно - чтобы научили быть программистом...
Надеюсь ночью?
-----
Не помню.
Помню, что после этого мне сказали - не трать больше времени...
Ну в начале не было задачи, вы хотели чтобы мы на кофейной гуще гадали, я долго думал про Tsoll и Tist... А нужно было так Tsoll Tist в математике именно так, или хотя-бы t_soll, t_ist
Вчера я оптимизировал код, но уже было поздно.... Делал я в PowerPoint-е.
НП.
В Универе у нас было меньше программирования, больше теории, т.е. решали какие-нибудь lim, всякие производные брали, программировали на Turbo Pascal толи версии 5, толи версии 7. В колледже меньше теории, а больше практики, и в сторону СУБД.
Ну в начале не было задачи, вы хотели чтобы мы на кофейной гуще гадали
Довольно странная отговорка, я ведь вроде ясно показать какое решение может быть в первом случае, там совершенно нечего было гадать.
Ну и после всех объяснений диаграмма получилось к совсем другой задаче.
Хотите играть дальше? Мне уже следующую задачку подкинули.
я долго думал про Tsoll и Tist
Отчего? Что тут неясно?
https://foren.germany.ru/showmessage.pl?Number=37568068&Bo...
Прочитать измеренную температуру (Tist) Прочитать/ввести желательную температуру (Tsoll)
2. Есть следующая таблица
Кто попробует добавлять и удалять данные, поймет насколько неудобно. А уж делать на этой основе программу, совсем ужос.
Требуется сделать нормальную структуру базы.
По многочисленным заявкам трудящихся:
"Имеется предприятие по продаже кофе. Оно продает несколько разных сортов кофе. Каждый сорт стоит нетто + накладные расходы(брутто). Имеются клиенты, которые покупают это кофе. Нужно наладить учет продаж и хранение информации в базе данных"
koder (C)
Требуется сделать нормальную структуру базы.
-----
Какой базы?
Таблица - уже задана - надо писать корректный бин и смотреть чем его класть/изымать из заданной таблицы...
Или у тебя "детская задачка" на нормализацию?
Ну тогда надо объяснить что такое нормальная форма базы, почему используется... и почему нарушается.
Какой базы?
а разве это имеет значение? Вот диаграмма выше для какого языка программирование нарисована?
Таблица - уже задана
И ты бы сразу по этой таблице сбацал что-то на оракле, например?
Или у тебя "детская задачка"
А что тут только с 18+ тема?
Если идти академическим путём, то всё уже описано до нас, искать нужное тоже надо учится.
https://info-comp.ru/database-normalization
https://otus.ru/nest/post/1812/
Но если хочешь можешь описать, как сделать что то приличное.
И ты бы сразу по этой таблице сбацал что-то на оракле, например?
-----
Разумеется.
Правда только для версии 11+ - ниже там Ентити не пашет...
Пойми - если не Я проектирую базу - мне пофиг какая она будет.
А в данном случае - Я - не проектирую т.к. таблица уже задана.
то всё уже описано до нас, искать нужное тоже надо учится
-----
Разумеется.
Вот только если цель обучение - надо и ставить задачу для обучения - ознакомится с описанным и применить к данному.
А вот так с напрыгу - как раз то что Я написал и будет...
если не Я проектирую базу - мне пофиг какая она будет
А мне не пофиг, какой смысл, делать то, что нужно выбросить сразу в помойку.
надо и ставить задачу для обучения
Ну так напиши как надо. Я исходил как бы из реальной жизни. Вот к тебе пришел чел. показал экзель и сказал - хочу базу к этому.