Loading...
Rakshiev avatar Rakshiev 3 Точки

[Homework] Math for developers - Какво се очаква да предадем?

Здравейте,


Записан съм за онлайн форма на обучение. В момента мисля по първото домашно. Въпроса ми е, какво се очаква като deliverable-а за него? Не разбрах от видеото дали трябва да предадем код, да разпишем логиката, която смятаме, че трябва да се ползва или да напишем само отговорите на въпросите? Например Въпрос 1 - Find the 24th, 101st and 251st prime number. 

Благодаря за помощта. 

Александър

Тагове:
3
Programming Basics 18/11/2014 17:37:30
Filkolev avatar Filkolev 4482 Точки

В условието е казано да намериш числата, не те ограничават как ще ги намериш. Достатъчно е само да ги изброиш, ако искаш може да сложиш линк към източник. Не се очаква да можеш на този етап да пишеш програми за такива цели.

9
Rakshiev avatar Rakshiev 3 Точки

Благодаря. Жив и здрав.

0
rkulov avatar rkulov 6 Точки

Аз мисля, че трябва да опишеш мисловния процес за намирането им защото ти можеш да ги видиш  и в интернет кои са. По-важното е да измислиш логиката за намирането им . 

 

 И аз съм в същия курс и мисля, че един вариант е следния : 

тестваш всички числа до някое голямо число дали са прости( примерно от 1 до 10000 ). Междувременно докато откриваш прости числа си имаш някакъв брояч , който брои колко прости числа си намерил. Като брояча стигне 24 , му казваш да изпише простото число , после 101 и 251. 

 

Но знае ли се дали е така :Д

4
20/11/2014 15:34:49
dimityrv87 avatar dimityrv87 0 Точки

Логически и аз мисля като теб, но на този етап смятам за достатъчно да изпишем верните отговори

0
taewu avatar taewu 23 Точки

от къде да сваля слаида и домашното?

-2
beshko avatar beshko 19 Точки

Примерно от тук -> https://softuni.bg/trainings/1079/CSharp-Basics-Omega-Jan-2015

0
Snejana avatar Snejana 7 Точки

24th prime number = 89
101st prime number = 547
251st prime number = 1597

:D

7
jean_gavrilov avatar jean_gavrilov 0 Точки

 И за мисля,че отговорът изглежда така,но по какъв начин да го представим за лично съм отговорил в самото домашно под въпросите със (Solution:)

 Дали трябва да е на друг документ или и в самото задание става? smile

0
GogoK avatar GogoK 80 Точки

Аз моето го правих в същият, за мен беше по удобно и мисля че и за проверяващият ще е така. Както ти е удобно на теб, стига да спазиш условието в началото:

"Please submit as homework a single txt/doc/docx file holding the answers of all below described problems."

0
jean_gavrilov avatar jean_gavrilov 0 Точки

OK Мерси това ме интересуваше smile

0
Nikolaj avatar Nikolaj 10 Точки

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

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

0
Filkolev avatar Filkolev 4482 Точки

Ако си направил програма - предай и кода, на проверяващите колеги може да им е интересно да видят как би изглеждало едно решение :) 

2
DHristoskov avatar DHristoskov 211 Точки

Filkolev ,aко има кой да провери кода на домашната по математика от групата Programming Basic аз ще кача това ,което съм написал.Не са всички задачи ,не ми остана време днес.Е да и не бъдете много критични сега прохождам :)

https://onedrive.live.com/redir?resid=2C9703ACF8E4FC51!115&authkey=!AHgdiWk_yPQ2vKE&ithint=folder%2cdocx

0
Filkolev avatar Filkolev 4482 Точки

DHristoskov

На първо време няколко коментара. Прави впечатление, че решенията ти са на Java. Това несъмнено ще обърка някой начинаещ. Препиши ги всички на C#, все пак това е езикът, който ще се ползва в подготвителното ниво, а от твоя гледна точка едва ли има разлика, езиците са много близки. Изпита може да го караш на няколко различни езика, но домашните трябва да са на C#.

Кодът е добре да го сложиш в отделни файлове, а не в текстовия документ, най-добре направо един солюшън. Нека не е умешано самото домашно (това, което се изисква са само отговорите) с код. На този етап предполагам всички имат Visual Studio и знаят как да отворят един солюшън. Дали ще разберат какво се случва вътре е друг въпрос. Ако държиш да остане на Java сложи отделни клас файлове за всяка задача.

Коментари и принтиране на текст на кирилица на конзолата не би трябвало да има, всичко трябва да е на английски, дори и да не си особено уверен с езика. Предполагам на лекции ще ви го кажат ако още не са, ако не в курса по Качествен програмен код ще го потретят. А променливи като "vhod" - никога.

Имената на методите трябва да са глаголи в повечето случаи, например: вместо factorial() -> calculateFactorial(). За тази задача не е нужно да инстанциираш обекти, работиш с BigInteger, подаваш на метода число и резултата запазваш в друго число и го принтираш. В твоя вариант, работиш с инстанционен метод и когато се обръщаш към variabal  трябва да е с this пред него (и така работи, но не е правилно да се изпуска). При смятането на факториела може да изпуснеш единицата и да почнеш цикъла от 2.

По следващата задача - отново не е нужно да правиш клас, един метод е достатъчен. За началното ниво никъде няма да ви се наложи да правите класове, защото задачите обикновено са прости и алгоритмични. Първият сблъсък с класове ще е на първия екипен проект, но засега ги избягвай, за да не объркваш колегите си. Относно името на метода трябва да е глагол - calculateHypotenuse() примерно. Иначе звучи повече като поле. Като цяло е добре да си кръщаваш променливите по-описателно. Стреми се също имената на класове, методи, променливи да подсказват ясно тяхната цел. Calculation нищо не ми говори извадено от контекст.

if(i%a==0&&i%b==0) - слагай спейсове между условията, като са сгъчкани не изглежда добре. Виж каква е клавишната комбинация за форматиране на код в ИДЕ-то, което ползваш, би трябвало автоматично то да ти форматира всичко.

За намиране на най-малко общо кратно има налични алгоритми в нета, по-ефикасни от този, който ползваш. Например тук (ползва се алгоритъм на Евклид за намиране на най-голям общ делител и формула за извеждане на резултата от него): http://www.devx.com/vb2themax/Tip/19015

Също, при твоя вариант е редно първо да провериш кое е по-голямото от двете числа и да започнеш цикъла от него; в конкретния пример почваш от по-малкото, което значи около 2000 излишни цикъла.

На този етап това е, което мога да ти дам като обратна връзка.

3
Yavor2012 avatar Yavor2012 15 Точки

Колеги,

Аз имам въпрос във връзка със задача 3. Трябва да изкараме факториел на 100, 171 и 250. Казва се да дадем всички цифри. Това означава , че трябва да напишем всяко едно от изчисленията от напр. 100 към 1 или ? 

0
ivopesheff avatar ivopesheff 50 Точки

Здрасти,

Аз открих калкулатор, който изписва всички цифри и просто го копирах.  Забавно е, третото число е цял параграф!

1
Yavor2012 avatar Yavor2012 15 Точки

Ясно,

Благодаря ти!

0
mi6it0 avatar mi6it0 4 Точки

Ето този ползвам аз ;)

http://www.calculatorsoup.com/calculators/discretemathematics/factorials.php

4
rockmaniak avatar rockmaniak 5 Точки

Колега,

И аз на свой ред се зачудих дали трябва да напишем код или просто да напишем отговорите в word файл и накрая избрах второто, просто защото следващата ни лекция ще разглежда средата за С# (Visual Studio). Текстовия файл го архивирах и го пратих. На свой ред искам да попитам нужно ли е да опишем стъпките по които сме получили отговорите, защото не го сметнах за нужно ислед това се замислих. Вече съм ги пратил но бих искал да знам занапред. Поздрави и благодаря предварително! Боян.

0
SimeonStoykov avatar SimeonStoykov 114 Точки

По принцип не е нужно описване на стъпките, но и да го включиш като част от домашното не би било проблем, а напротив.

1
Petya avatar Petya 2461 Точки

Дори и да се качил домашно, ако все още не е изтекъл срока за предаване, можеш да качваш нови версии на решението ти. Пази се последната качена.

3
PetyaAntonova avatar PetyaAntonova 9 Точки

Аз също съм в онлайн форма на обучение и също се чудих по тоя въпрос. В последните няколко минути от лекцията на Ангел Георгиев е обяснено какво точно се очаква от нас по отношение на домашното. Прегледай видеото, ако не си го направил все още.

Успех.

1
Nikolaj avatar Nikolaj 10 Точки

Каогато студент, който е онлайн форма на обучение и предава домашно, ще му бъде ли дадена обратна връзка или коментар към неговото  домашното , за да разбере къде е згрящил или къде може да си подобри кода?

0
Filkolev avatar Filkolev 4482 Точки

Схемата за онлайн студентите е същата като за присъствените, просто домашните не се отразяват на крайната оценка. Така че да - вероятно ще получите коментари към домашните.

0
alexandra.svilarova avatar alexandra.svilarova SoftUni Team Moderator Forum Admin 1077 Точки

Здравей,

домашното ти ще бъде в системата и ще получиш оценка/коментар за него, но предаването и оценяването на домашни не играят роля при сформирането на крайната ти оценка. Тя се сформира 100 % от оценката от приемния изпит.

Когато станеш студент в СофтУни (Ниво #1), тогава предаването и оценяването влизат в крайната ти оценка.

2
ZlatinDimitrov avatar ZlatinDimitrov 11 Точки

Аз също съм онлайн форма на обучение.Не трябва да предаваш код.Можеш под всяко едно условие на задача да напишеш отговорите си.В txt,doc, или docx файл.Архивираш и изпращаш.Успех!

1
g.stoyanov avatar g.stoyanov 776 Точки

Ако приемем девиза на утвърдили се вече хора в  областа, а именно хората предоставящи проблеми отнасящи се за "Математиката в програмирането" то отговорите могат да спазват следните условия, които имат доста отговори на нашите въпроси - най-вече как да подхождаме към даен проблем, ето ги и тях като пример:

I've written my program but should it take days to get to the answer?

Absolutely not! Each problem has been designed according to a "one-minute rule", which means that although it may take several hours to design a successful algorithm with more difficult problems, an efficient implementation will allow a solution to be obtained on a modestly powered computer in less than one minute.

 

Does it matter if it takes more than one minute to solve?

Of course not, but that should provide the impetus to return to the problem and see how you can improve your approach. But remember that once you've solved a particular problem you will be able to access a thread relating to that problem and it is here that you may be able to pick some tips from others that have solved it.

 

I solved it by using a search engine, does that matter?

Making use of the internet to research a problem is to be encouraged as there could be hidden treasures of mathematics to be discovered beneath the surface of many of these problems. However, there is a fine line between researching ideas and using the answer you found on another website. If you photocopy a crossword solution then what have you achieved?

 

I've checked my program ten times now and I keep getting told my answer is wrong! Have you made a mistake?

With newly released problems it is quite possible that a small error may have slipped through the net, or maybe the wording is slightly ambiguous and the problem has not been explained as well as it could. However, when so many people have hit the target and one marksman misses ten times on the run, he/she can hardly shoot his/her own foot and conclude that because the gun is working properly the fault must lie in the target.

 

Do you have any hints on solving problems?

Read the details of the problem very carefully and make note of any example cases given. Experiment with pencil and paper to get a feel for the ideas behind the problem. If the ideas are new to you, use the internet or books to get some background; the problem should contain clues as to what to look-up. Try writing a program to generate for simple cases and check that your output agrees with the example cases; this will confirm you've understood the problem and are heading in the right direction. Based on this try to extrapolate to estimate the time it will take to get the final answer and if it's going to take significantly more than a minute rethink your strategy.

 

Просто ги споделям за информация, мисля си че такова мислене е пътя към успеха!

 

Keep calm and learn to <code>.

3
S.Iliev avatar S.Iliev 47 Точки

По-заълбочено като се помисли, искат се отговорите.

Как стигаш до тях си е твоя работа. Препише ли ги някой от гоогъла и не му се смята по-добре да не продължава с обучението. Аз лично си ги сметнах първо на лист после проверка в Ексел и Google-то за всеки случай и така. Идеята на домашното е да си настроиш мисленето по-технически и да мислиш най-важното и после дали са ти верни отговорите. Ако ще правим грешки е по-добре сега на домашните да ги направим и да се коригираме, отколкото на изпита. :)

 

2
borispanayotov avatar borispanayotov 0 Точки

Dobre kazano, vse pak sme tuk za da se nauchim a ne vsichko da minava prosto ei taka... ;)

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.