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

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

5160  1 2 3 4 5 6 7 8 9 10 все
AlexNek патриот30.01.21 23:07
AlexNek
NEW 30.01.21 23:07 
в ответ uscheswoi_82 30.01.21 16:59
Ну так еще лучше, кидай всё на страницу а ссылку сюда. - - Зачем?

Можно ссылку и не ставить спок

Сейчас специально подсчитал, 5 раз нужно было колесико подкручивать.

#81 
koder патриот31.01.21 07:51
koder
31.01.21 07:51 
в ответ Murr 30.01.21 14:59
Валом было других вопросов - Кто научит быть программистом?

Читать и править чужой код. Обычно помогает, когда новичков бросают на устранение багов. Сначала новичок мужественно прокручивает метод в 10000 строк для поиска нужной строки, пока не начинает плеваться . Потом правит и видит, как прога разваливается. Потом пару раз правит архитектурно правильный код и видит, как в 2 клика нужный код находится, код, который к теме напрямую не относится, не видно и не слышно, изменения закапсулированы в классе, при изменении требований просто меняется класс и все защищено юниттестами. И внезапно приходит озарение. хаха


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

#82 
AlexNek патриот31.01.21 12:50
AlexNek
NEW 31.01.21 12:50 
в ответ AlexNek 30.01.21 23:04

Нужно идти все же дальше. Может потом кто-то еще захочет почитать.

Из того что мы знаем, нам в итоге нужно пойти по трём путям:

  1. ничего не делать
  2. включить нагрев
  3. выключить нагрев

Проблема, как это закинуть в ветвление у которого только два пути?

Довольно просто, нужно сделать два ветвления. Значить у нас должно быть и два условия.


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

Затем нужно проверить, что у нас с текущей (измеренной) температурой, если она меньше заданной то нужно включить нагреватель иначе выключить.


Теперь осталось вспомнить, что мы получаем температуры в виде вещественных чисел. Вроде какая разница целое или вещественное при сравнении? А она есть и следует пока просто поверить на слово и запомнить, что не следует проверять в лоб - А равно Б, если одно из чисел вещественное. Во многих случая, данную рекомендацию или не знают или игнорируют. И всё работает. Однако до некоторого времени, пока не звонит/пишет заказчик и говорит, что у него программа вдруг стала выдавать неверные результаты.

Поэтому правильное сравнение выглядит немного странно |А-Б| < x, где | | означают абсолютное значение, < обозначает меньше, а х - это допуск или точность. Например, если нас интересует расстояние между городами и мы получили два значения, будет ли нас интересовать равны ли они с точностью до метра или нет? А вот когда хотим заказать новую дверь, скорее всего измерим дверной проем с точностью до миллиметра.

В итоге у нас получается следующее описание:

Прочитать измеренную температуру (Tist)
Прочитать/ввести желательную температуру (Tsoll)

ЕСЛИ |Tist - Tsoll|  < Tolerance 
ТО 1. ничего не делать
ИНАЧЕ
  ЕСЛИ Tist < Tsoll
  ТО 2. включить нагреватель
  ИНАЧЕ 3. выключить нагреватель


#83 
AlexNek патриот31.01.21 12:57
AlexNek
NEW 31.01.21 12:57 
в ответ AlexNek 31.01.21 12:50

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



#84 
AlexNek патриот31.01.21 19:05
AlexNek
NEW 31.01.21 19:05 
в ответ AlexNek 31.01.21 12:57

Вот оригинальная задача

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.


В диаграмме некоторые изменения, но основа осталась неизменной

Кто хочет может добавить код на питоне.


#85 
Murr патриот31.01.21 19:56
Murr
NEW 31.01.21 19:56 
в ответ AlexNek 30.01.21 15:22

курсы и только курсы.

-----

Ну энто - да... есть, правда, ньюансик - не каждые... смущ

#86 
Murr патриот31.01.21 20:08
Murr
NEW 31.01.21 20:08 
в ответ koder 31.01.21 07:51

Читать и править чужой код.

-----

Эээ...

Не совсем понятно кто это должен делать...

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


очень важна группа

-----

Один из таких новичков... имея, кстати, 5 баллов в профильном дипломе, звонил профессору и просил проконсультировать по очень сложному вопросу - как убрать из формы поле... не убирая поле из формы... Или другими словами - как поменять висибле с труе на фалсе....


И внезапно приходит озарение.

-----

Есть люди которые будут пытаться...

И есть люди которые будут смотреть как пытаются другие...

#87 
koder патриот31.01.21 21:22
koder
NEW 31.01.21 21:22 
в ответ Murr 31.01.21 20:08
подразумевается кто-то кто прочитает и поправит


PullRequests. Обязательны для всех, для новичков это не формальность. То есть ВСЕГДА при правильной организации социалистического труда на код перед вливанием в основной репозиторий кто то должен взглянуть.


звонил профессору и просил проконсультировать


Надеюсь ночью? Самые лучшие советы рождаются ночью после внезапного звонка.😁👍


#88 
Murr патриот31.01.21 22:10
Murr
NEW 31.01.21 22:10 
в ответ koder 31.01.21 21:22

при правильной организации социалистического труда

-----

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

Какие тебе ПуллРекуестс? Там же надо кнопарики тыкать и стресс получится если тыкнуть не туда...

Неее, стресс - не нужен, нужно - чтобы научили быть программистом...


Надеюсь ночью?

-----

Не помню.

Помню, что после этого мне сказали - не трать больше времени... безум

#89 
uscheswoi_82 свой человек01.02.21 16:28
NEW 01.02.21 16:28 
в ответ AlexNek 31.01.21 19:05

Ну в начале не было задачи, вы хотели чтобы мы на кофейной гуще гадали, я долго думал про Tsoll и Tist... А нужно было так Tsoll Tist в математике именно так, или хотя-бы t_soll, t_ist

Вчера я оптимизировал код, но уже было поздно.... Делал я в PowerPoint-е.



Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
#90 
uscheswoi_82 свой человек01.02.21 16:32
NEW 01.02.21 16:32 
в ответ uscheswoi_82 01.02.21 16:28

НП.

В Универе у нас было меньше программирования, больше теории, т.е. решали какие-нибудь lim, всякие производные брали, программировали на Turbo Pascal толи версии 5, толи версии 7. В колледже меньше теории, а больше практики, и в сторону СУБД.

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
#91 
AlexNek патриот01.02.21 19:04
AlexNek
NEW 01.02.21 19:04 
в ответ uscheswoi_82 01.02.21 16:28
Ну в начале не было задачи, вы хотели чтобы мы на кофейной гуще гадали

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

Ну и после всех объяснений диаграмма получилось к совсем другой задаче.

Хотите играть дальше? Мне уже следующую задачку подкинули. спок

#92 
AlexNek патриот01.02.21 19:13
AlexNek
NEW 01.02.21 19:13 
в ответ uscheswoi_82 01.02.21 16:28
я долго думал про Tsoll и Tist

Отчего? Что тут неясно?

https://foren.germany.ru/showmessage.pl?Number=37568068&Bo...


Прочитать измеренную температуру (Tist)
Прочитать/ввести желательную температуру (Tsoll)


#93 
AlexNek патриот01.02.21 19:15
AlexNek
NEW 01.02.21 19:15 
в ответ uscheswoi_82 01.02.21 16:28
Вчера я оптимизировал код, но уже было поздно

ничего не поздно никто еще код к диаграмме не выставил

#94 
AlexNek патриот02.02.21 12:23
AlexNek
NEW 02.02.21 12:23 
в ответ AlexNek 01.02.21 19:04

для uscheswoi_82

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

#95 
AlexNek патриот03.02.21 18:13
AlexNek
NEW 03.02.21 18:13 
в ответ AlexNek 28.01.21 15:54, Последний раз изменено 04.02.21 16:40 (AlexNek)

2. Есть следующая таблица


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

Требуется сделать нормальную структуру базы.


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

"Имеется предприятие по продаже кофе. Оно продает несколько разных сортов кофе. Каждый сорт стоит нетто + накладные расходы(брутто). Имеются клиенты, которые покупают это кофе. Нужно наладить учет продаж и хранение информации в базе данных"

koder (C)

#96 
Murr патриот03.02.21 19:04
Murr
NEW 03.02.21 19:04 
в ответ AlexNek 03.02.21 18:13

Требуется сделать нормальную структуру базы.

-----

Какой базы?

Таблица - уже задана - надо писать корректный бин и смотреть чем его класть/изымать из заданной таблицы...

Или у тебя "детская задачка" на нормализацию?

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

#97 
AlexNek патриот03.02.21 21:37
AlexNek
NEW 03.02.21 21:37 
в ответ Murr 03.02.21 19:04
Какой базы?

а разве это имеет значение? Вот диаграмма выше для какого языка программирование нарисована?

Таблица - уже задана

И ты бы сразу по этой таблице сбацал что-то на оракле, например? шок


Или у тебя "детская задачка"

А что тут только с 18+ тема? смущ


Если идти академическим путём, то всё уже описано до нас, искать нужное тоже надо учится. миг

https://info-comp.ru/database-normalization

https://otus.ru/nest/post/1812/


Но если хочешь можешь описать, как сделать что то приличное.

#98 
Murr патриот03.02.21 23:10
Murr
NEW 03.02.21 23:10 
в ответ AlexNek 03.02.21 21:37

И ты бы сразу по этой таблице сбацал что-то на оракле, например?

-----

Разумеется.

Правда только для версии 11+ - ниже там Ентити не пашет...

Пойми - если не Я проектирую базу - мне пофиг какая она будет.

А в данном случае - Я - не проектирую т.к. таблица уже задана. спок


то всё уже описано до нас, искать нужное тоже надо учится

-----

Разумеется.

Вот только если цель обучение - надо и ставить задачу для обучения - ознакомится с описанным и применить к данному.

А вот так с напрыгу - как раз то что Я написал и будет...


#99 
AlexNek патриот03.02.21 23:21
AlexNek
NEW 03.02.21 23:21 
в ответ Murr 03.02.21 23:10
если не Я проектирую базу - мне пофиг какая она будет

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


надо и ставить задачу для обучения

Ну так напиши как надо. Я исходил как бы из реальной жизни. Вот к тебе пришел чел. показал экзель и сказал - хочу базу к этому.

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