Nem vagyok elég okos, vagy csak máshogy gondolkodok (C++)?
1.) Kérjen be a billentyűzetről egy pozitív egész számot és 1-től a bekért számig adja össze a számok négyzetét! Használjon elöltesztelő ciklust!
2.) Kérjen be egy számot, szorozza meg kettővel és adjon hozzá egyet és az így kapott páratlan számig adja össze a pozitív páratlan számokat! Használjon hátultesztelő ciklust!
1. Ezt ott rontottam el, hogy nem a ciklusszám négyzetével növelgettem az adott összeget, hanem a bekért száméval.
:P
osszeg = osszeg + szam*szam
helyett én:
b_szam (ez a bekért szám változója)
osszeg += b_szam*b_szam
2. Itt megy egyszerűen ott akadtam el, hogy hogy döntsem el, hogy a bekért szám "bekért szám * 2 + 1" akakjának az értékéig levő számok összeadásánál, hogy döntsem el, hogy a szám, ami 0 és a az adott szám között van, páratlan vagy nem...akartam rá írni egy if-es vizsgálatot, próbáltam, de gondoltam, hogy ez valószínűleg nem jó megoldás, így megnéztem a feladatmegoldást...és:
szam = 1 -- ez a ciklusszám
szam = szam + 2 // végül is egyértelmű...+2-vel páratlan marad, így nem kell if-el szórakozni
Aki nem teljesen érti, amit írtam...innen vannak a feladatok:
Eléggé ledöbbentem magamon...később játékfejlesztéssel szeretnék foglalkozni, de ha már az ilyen egyszerű feladatokat félre értem, rossz logikával dolgozok, vagy túl akarom bonyolítani, akkor nem tudom mi lesz.
Ha valaki tud valamit tanácsolni arra, hogy hogyan fejlesszem a gondolkodás módomat, logikámat, akkor kérem az ne tartsa magában.
A válaszokat, esetleges jó tanácsokat előre is köszönöm.
17/f (évvesztes)
A legjobbakkal is előfordul, hogy olykor elhagynak egy zárójelet/pontosvesszőt figyelmetlenségből. Ne parázz. Mindig olvasd végig a feladatot 2x, figyelve minden részletre, és ezután tervezd meg a programot. Amikor kész vagy a megoldásoddal, olvasd el újra és vesd össze a programoddal. Amúgy, ha ez dolgozatszerűség volt, akkor vizsgadrukk miatt is lehetett, hogy kevésbé fogott az agyad, velem is előfordult már ilyen. :)
24/f
"később játékfejlesztéssel szeretnék foglalkozni"
na kb 99%, hogy ezt elfelejtheted, de nem a feladatok miatt
Az elsőnél szimplán figyelmetlen voltál.
A másodikhoz meg annyit, hogy minden feladatot többféleképpen is megoldhatsz, csak valahogy menjen. Nyilván a ciklusváltozó kettesével léptetése a legegyszerűbb megoldás, de az is jó, ha minden számra megnézed, hogy páratlan-e. Ez utóbbi talán azért jobb, mert ha nem csak szimplán páratlan számokat keresünk, hanem egy xy feltételnek megfelelőket, akkor mondjuk itt jönne képbe egy függvényhívás, és nem lehetne elintézni a dupla léptetéssel. Na mindegy, a te megoldásod feltételében moduloval kellett volna vizsgálni a paritást, eléggé alap dolog.
#1
Itthon csinálgatom, mivel érdekel, és most itt van a téli szünet is :)
Többször átolvastam...csak szokásom sokszor a dolgokat félreérteni sajna, vagy túlbonyolítani, mint most.
#2
Nem is szándékozom feladni. Ez előtt jó régen már volt próbálgatásom dark basic, python téren, de a Dark Basic-et alig használják, és sokan mondták, hogy tényleg bonyolult programokhoz nem nagyon jó, python-ról is hasonlókat, bár azt leginkább más miatt hagytam abba...a lényeg hogy alapvetően a C++ húzott mindig.
Ha pedig ténylegesen sokat lehet fejleszteni a logikán, akkor meg már azért sem adom fel semmikép (és igen, szeretem csinálni) :)
#3
Értem amit írsz, de nem fogom elfelejteni.
De ha nem a feladatok miatt kéne szerinted, akkor mire értetted konkrétan?
3#
Amúgy a %-operátorral való vizsgálatra gondoltam én is...
Szerintem ez egyéntől is függ. Nekem hamar ráállt az agyam. De sok gyakorlással a kezdeti problémák meg fognak szűnni. Amúgy amikor nem találod a hibát minden ciklusban írasd ki, hogyan változik a szám. Ez sokat segít.
+2 a második feladat még ennél is egyszerűbben megoldható, ha tudod hogyan kell összeadni az első n páratlan számot (kb. 7.-es tananyag). És így a program is sokkal gyorsabb lesz.
Az elsőnél talán segített volna teszteled a programot, sőt addig hozzá se kezdesz, amíg a teszt eseteket kézzel ki nem számolod.
1->1
2->5
3->14
4->30, elég is ennyi.
Rögtön kiderült volna, hogy rosszul írtad meg a kódot.
Persze, ha már magát a feladatot se értetted meg jól, akkor ez nem segít, de lehet már a számolgatás közben rájöttél volna.
A második példát meg fogd fel úgy, hogy megint tanultál valamit. Sok ilyen lesz még.
Értem...
Tudom, hogy egy normális játékfejlesztésnél egy egész csapat van, és akkor nincs igazán egyedi siker.
Am akkor lehet én is rosszul fejeztem ki magam.
Igen, hobbiból is akarok majd írogatni valamit.
De munkaként, magán a programozáson belül is a játékprogramozás érdekel, csapatban, mivel egyedül nem nagyon lehetséges. De ha tegyük fel, egy játékfejlesztő csapatba se mennék el dolgozni, akkor is programozással, vagy legalább informatikával fogok foglalkozni.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!