Concurs [7] - Mate pentru ţânci

Concurs [7] - Mate pentru ţânci

Postby Dexter » 22 Jun 2010, 15:00

     Să se realizeze un program care afişează ecuaţii matematice cu una din cele 4 operaţii aritmetice de bază (adunare, scădere, înmulţire, împărţire) şi apoi cere utilizatorului răspunsul.
     Calculele pot fi de forma A + B = X, A + X = B sau X + A = B, unde A şi B sunt numere alese de către program, iar X este o valoare necunoscută ce trebuie introdusă de utilizator.
     Atât numerele, operaţiile algebrice, cât şi tipul ecuaţiei trebuie să fie alese aleator. Toate calculele trebuie să se realizeaze cu numere naturale (întregi, pozitive).
     Nu există restricţii cu privire la limbajul folosit sau interfaţa programului. Puteţi, spre exemplu, să realizaţi programul în Borland Pascal sau C++, cu o interfaţă de tip consolă (MS-DOS), sau la fel de bine, puteţi face interfaţa în .NET Framework.
     Se punctează suplimentar aplicaţiile care includ câteva setări iniţiale (cu privire la ecuaţii).

Succes!
0,0p / 0 votes
User avatar
Dexter
Word
 
Joined: 04 Jan 2010
Location: Secret Lab
Status: 44.5

Re: Concurs [7] - Mate pentru ţânci

Postby Dieliric » 05 Jul 2010, 20:52

Cred ca ar fi bine sa stabilesti un interval si pentru numerele "A" si "B" deoarece programul poate genera o infinitate de solutii in cazul 2 si 3 unde "X" intervine ca factor al operatiei ;).
Ai o exprimare cam ambigua a problemei, ce raspuns cere programul utilizatorului: raspunsul operatiei care urmeaza sa fie efectuata sau raspunsul la rezolvarea data de program?
0,0p / 0 votes
"Nu spun ca nu stiu ci nu stiu inca"
User avatar
Dieliric
Bit
 
Joined: 08 Jan 2010
Location: Roman
Status: 7

Re: Concurs [7] - Mate pentru ţânci

Postby Dexter » 05 Jul 2010, 22:39

Ca răspuns la prima întrebare:

Dieliric wrote:Cred ca ar fi bine sa stabilesti un interval si pentru numerele "A" si "B" deoarece programul poate genera o infinitate de solutii in cazul 2 si 3 unde "X" intervine ca factor al operatiei ;).

Programatorul poate alege ce intervale doreşte, dar intenţionat am atras atenţia asupra posibilităţii unor setări iniţiale. Asta înseamnă că la deschiderea programului utilizatorului i se cere intervalul din care sunt alese numerele.

Iar pentru a doua întrebare:

Dieliric wrote:Ai o exprimare cam ambigua a problemei, ce raspuns cere programul utilizatorului: raspunsul operatiei care urmeaza sa fie efectuata sau raspunsul la rezolvarea data de program?

Spuneam că sunt 3 tipuri de ecuaţii: două cu aflarea necunoscutei X, şi unul cu calcul direct. La aflarea necunoscutei, cele două tipuri se deosebesc doar prin poziţia lui X. Uite câte un exemplu pentru fiecare caz:
2 / 2= ?
X + 2 = 4 , X=?
2 * X = 4 , X=?
0,0p / 0 votes
User avatar
Dexter
Word
 
Joined: 04 Jan 2010
Location: Secret Lab
Status: 44.5

Re: Concurs [7] - Mate pentru ţânci

Postby DarkByte » 16 Jul 2010, 11:24

Am un program in lucru ... sunt singurul interesat de concursul asta ?
0,0p / 0 votes
User avatar
DarkByte
11011011
 
Joined: 29 Dec 2009
Status: 136

Re: Concurs [7] - Mate pentru ţânci

Postby eni4ever » 16 Jul 2010, 22:45

^ Chiar vrei asta? :P

Executabilul in atasament.

P.S: e obligatorie și sursa? În reguli, din câte am citit printre rânduri, nu am găsit că ar trebui.
P.S.2 : nu e atach file? =((
0,0p / 0 votes
Attachments
eni_concurs7_bc.rar
(4.61 KiB) Downloaded 53 times
Image

"Rațiunea vine în umbre scurte numite suferințe." Victor Adăscăliței
"Bender: Anything less than immortality is a complete waste of time.
Zoidberg: Then suicide it is! Step into my office ..." Futurama S06E06
User avatar
eni4ever
Word
 
Joined: 03 Jan 2010
Location: Timișoara
Status: 47.83

Re: Concurs [7] - Mate pentru ţânci

Postby DarkByte » 16 Jul 2010, 23:59

Bine ai ajuns p-acilea, Vic. Ma bucur ca participi ... macar dai un exemplu, sper eu, bun :D

Sursa trebuie trimisa userului care a initiat concursul, fiindca Mihai e destul de ocupat momentan.

Exista atasamente, dar sunt restrictionate pentru moderatori si admini momentan.

P.S. comanda "iesi" e ca si codul de C / C++ / C# ... case sensitive ;))
0,0p / 0 votes
User avatar
DarkByte
11011011
 
Joined: 29 Dec 2009
Status: 136

Re: Concurs [7] - Mate pentru ţânci

Postby eni4ever » 17 Jul 2010, 00:03

^ Bine te-am regăsit vechi prieten!

Am să trimit sursa la Dexter atunci ... chicken'ng out, are we ? :D

P.S: chiar nici o șansă de "atach file" la reply, așa-i ? Oh well ... o să încarc fișierele pe siteuri cu reclame deocheate atunci >:)

L.E: am înțeles și mulțumesc de editare!
Și da, "ieși" e case sensitive. Sunt vinovat : nu intenționez să-l marketez :P .
0,0p / 0 votes
Image

"Rațiunea vine în umbre scurte numite suferințe." Victor Adăscăliței
"Bender: Anything less than immortality is a complete waste of time.
Zoidberg: Then suicide it is! Step into my office ..." Futurama S06E06
User avatar
eni4ever
Word
 
Joined: 03 Jan 2010
Location: Timișoara
Status: 47.83

Re: Concurs [7] - Mate pentru ţânci

Postby DarkByte » 17 Jul 2010, 00:12

Don't bet on my chickening out >:) ;))
0,0p / 0 votes
User avatar
DarkByte
11011011
 
Joined: 29 Dec 2009
Status: 136

Re: Concurs [7] - Mate pentru ţânci

Postby Dexter » 21 Jul 2010, 19:21

Programul e super, dar apar probleme la nivelul 14. Mai exact, uite un exemplu:

AICI rezultatul ar fi X = 2749653291 / 2132203, care e fracţie. Programul tău afişează 1281; iar dacă înlocuiesc în ecuaţie X cu 1281, în loc să obţin rezultatul 175, obţin -35610639602/2914879905.

Încă un exemplu...

şi un print screen:

Image
0,0p / 0 votes
User avatar
Dexter
Word
 
Joined: 04 Jan 2010
Location: Secret Lab
Status: 44.5

Re: Concurs [7] - Mate pentru ţânci

Postby eni4ever » 21 Jul 2010, 23:40

^ Este vina mea: După cum probabil că ți-ai dat seama, este vorba de un overflow la tipul implicit de operand > int .

Nivelul la care ai ajuns este unul formidabil de mare. Probabil s-a ajuns să se genereze un multiplu de număr ce depășește valoarea maximă ce poate fi înmagazinată într-un int și de aici a ieșit numărul acela negativ : -1327... . Ideea este în felul următor : s-ar putea îmbunătăți cu valorile implicite furnizate de ISO-C dar doar până la un anumit nivel. Până la urmă, clar, se va ajunge la overflow.
O variantă de workaround ar fi să oprim jocul la nivelul acela buclucaș, poate chiar cu 2 nivele mai jos. E clar că dacă se va ajunge acolo, copilul e as.
O altă rezolvare ar fi să scădem factorul arbitrar de dificultate/nivel, adică să scădem valoarea asta :
  1. #define FACTOR_NIVEL 15

Probabil că dacă ai face-o 7, ai ajunge pe la nivelul 20++, dar după aia ... buba la orizont!
Și o altă variantă, mai migăloasă, ar fi extinderea valorilor operanzilor într-un sistem de tip operații pe șiruri. În felul acesta ... numărul de nivele ar fi infinit, dar cine și-ar dori asta ? Cum ai putea să cauți la nivelul 50 un divizor al numărului : 35478809236893106123075120907519023709706123608509400023319750552333 ? Calc ? :)) Și pe ce te verifici dacă X-ul ales de tine este corect ? Cam impractic zic eu ... dar ar fi frumos :)

P.S: ai avut răbdare nu glumă să rezolvi și să urmărești ecuațiile :) Sunt surprins ...
0,0p / 0 votes
Image

"Rațiunea vine în umbre scurte numite suferințe." Victor Adăscăliței
"Bender: Anything less than immortality is a complete waste of time.
Zoidberg: Then suicide it is! Step into my office ..." Futurama S06E06
User avatar
eni4ever
Word
 
Joined: 03 Jan 2010
Location: Timișoara
Status: 47.83

Re: Concurs [7] - Mate pentru ţânci

Postby Dexter » 22 Jul 2010, 11:59

eni4ever wrote:P.S: ai avut răbdare nu glumă să rezolvi și să urmărești ecuațiile :) Sunt surprins ...


Aşa ar fi fost frumos, doar că eu am folosit Wolfram|Alpha ca să-mi rezolve automat ecuaţiile...:)) :-^

Ca să eviţi overflow-ul, ai putea încerca să eviţi numerele mai mari de 1000-3000. În felul ăsta cred că şi ecuaţiile ar fi mai uşor de rezolvat. :-??

Şi ca ultimă observaţie, se cerea ca numerele să fie întregi pozitive. Deşi X-ul e pozitiv, adesea apar numere negative pe parcurs, sau ca rezultat final.

În rest, programul e foarte bine realizat. :-bd
0,0p / 0 votes
User avatar
Dexter
Word
 
Joined: 04 Jan 2010
Location: Secret Lab
Status: 44.5

Re: Concurs [7] - Mate pentru ţânci

Postby cata45 » 02 Sep 2010, 11:53

Salut. Sunt nou pe-aici. Cand se va organiza urmatorul concurs?
0,0p / 0 votes
You are unique, just like everyone else...
User avatar
cata45
Byte
 
Joined: 02 Sep 2010
Location: Campulung Romania AG
Status: 9

Re: Concurs [7] - Mate pentru ţânci

Postby DarkByte » 02 Sep 2010, 11:56

In curand, probabil. Noroc ca ai postat, ca eu unul uitasem de concursuri.

Pana una-alta, participa la concursul asta :)

Succes !
0,0p / 0 votes
User avatar
DarkByte
11011011
 
Joined: 29 Dec 2009
Status: 136

Re: Concurs [7] - Mate pentru ţânci

Postby cata45 » 02 Sep 2010, 12:16

pot sa pun o alta problema pentru concurs? poate mai vrea cineva sa rezolve :-??
0,0p / 0 votes
You are unique, just like everyone else...
User avatar
cata45
Byte
 
Joined: 02 Sep 2010
Location: Campulung Romania AG
Status: 9

Re: Concurs [7] - Mate pentru ţânci

Postby DarkByte » 02 Sep 2010, 13:04

Regula zice "Castigatorul concursului are dreptul de a posta urmatoarea tema.".

Deci, participa la concursul asta, castiga-l si ai dreptul sa pui alta tema de concurs. Alternativ, poti propune o tema de concurs din care sa aleaga cel care propune concursul (daca nu are idei).
0,0p / 0 votes
User avatar
DarkByte
11011011
 
Joined: 29 Dec 2009
Status: 136

Re: Concurs [7] - Mate pentru ţânci

Postby cata45 » 02 Sep 2010, 15:44

Am facut un program destul de distractiv. Cum atasez executabilul? :">
0,0p / 0 votes
You are unique, just like everyone else...
User avatar
cata45
Byte
 
Joined: 02 Sep 2010
Location: Campulung Romania AG
Status: 9

Re: Concurs [7] - Mate pentru ţânci

Postby DarkByte » 02 Sep 2010, 16:03

Hosteaza-l undeva. O sa-l iau si-o sa-l atasez eu. Citeste mai sus legat de chestia cu atasatul :)
0,0p / 0 votes
User avatar
DarkByte
11011011
 
Joined: 29 Dec 2009
Status: 136

Re: Concurs [7] - Mate pentru ţânci

Postby cata45 » 02 Sep 2010, 20:43

http://rapidshare.com/files/416641595/c ... ncurs7.exe


programul este facut in minGW


L.E Astept comentarii in legatura cu programul .
0,0p / 0 votes
You are unique, just like everyone else...
User avatar
cata45
Byte
 
Joined: 02 Sep 2010
Location: Campulung Romania AG
Status: 9

Re: Concurs [7] - Mate pentru ţânci

Postby DarkByte » 02 Sep 2010, 21:07

Programul nu se incadreaza in cerintele concursului. In rest, e interesant si nimic mai mult.
0,0p / 0 votes
User avatar
DarkByte
11011011
 
Joined: 29 Dec 2009
Status: 136

Re: Concurs [7] - Mate pentru ţânci

Postby cata45 » 02 Sep 2010, 21:29

Da. Stiu ca nu se incadreaza in cerinte. Sunt in primul an de programare si deabia am reusit sa generez doua numere oarecare pentru partea a II-a a testului. Iar prima parte am facut-o destul de usor cu multe conditii de if :))
0,0p / 0 votes
You are unique, just like everyone else...
User avatar
cata45
Byte
 
Joined: 02 Sep 2010
Location: Campulung Romania AG
Status: 9

Next

Return to Concursuri de programare desktop

Who is online

Users browsing this forum: No registered users and 0 guests