Kezdőoldal » Számítástechnika » Programozás » Életem első kódja. Megtudnátok...

Életem első kódja. Megtudnátok mondani ennek a helyes kivitelezését?

Figyelt kérdés

Sziasztok! Szóval ma volt az első nap, hogy elkezdtem tanulni egy programozási nyelvet, nevezetesen a javascriptet és kis gyakorlás után úgy döntöttem így a nap végén megpróbálom az eddig tanult 3 anyagot (változók, ciklusok, elágazás) valahogy összekombinálni és hamar jött is egy jó ötlet, csak valahogy sehogy se sikerül összehozni.


[link]

[link]

[link]


Lehet, hogy egy elég kaotikusra sikeredett az utolsó. A lényeg az lenne, hogy az első párbeszédet próbáltam kombinálni a második ciklussal és az egész probléma az lenne, hogy miután megkérdezi, van-e kedvem játszani mindegy h igennel vagy nemmel felelek, így is úgyis elkezdi és nemleges válasz esetén nekem csak egy szimpla felugró "Okay" ablakra lenne szükségem amit leokézva be is zárul az egész. Illetve értelemszerűen ott lenne az a lehetőség is, hogyha az első kérdésre "How are you doin?" azt írom, hogy "bad" a következő szöveg után egyből bezárulna az egész, de ezt inkább kivettem egyenlőre, mivel első pár próbálkozáskor, ha ezt a választ adtam meg is jelent a hozzá rendelt szöveg, de miután leokéztam ugyanúgy elkezdte a számkitalálós játékot.

Szóval összegezve a kérdésem az lenne, hogy hogyan lehetne a második képen látható kódot úgy beletenni, hogy csak akkor lépjen működésbe amikor teljesülnek a feltételek? Ami jelen esetben ugye az, hogy az első kérdésre pozitív (How are you doin?) a második kérdésre (Wanna play a game?) igenlő választ adok.



2019. ápr. 12. 01:09
 1/9 tabaki ***** válasza:
93%

Hát, nem sikerült kombinálnod, egyszerűen egymás után írtad a két programot, tehát az első végeztével mindenképpen elindul a második. Nem, mintha érteném az első felét: Nemigen ismerem a Javascriptet, de úgy látom, a következőt műveled: Megkérdezed Jánost, hogy jó napja van-e. Ha igen, akkor megkérdezed, van-e kedve játszani, és ha ismét igennel válaszol, ellenőrzöd, hogy nemmel válaszolt-e, mert akkor kiírod, hogy "Okay". Érdekes. Esz a kíváncsiság, hogy hányszor írta ki... Ezzel megnyugtatóan le is zárul az első programrész, és folytatódik a másodikkal, ami minden megkötés nélkül csak jön utána sorrendben. Nem akarom mindenáron előtérbe tolni a saját nézetemet, de én megpróbálnám inkább a "yes" válasz után két kapcsos zárójel közé tenni, hátha akkor a megfelelő esetben hajtódik végre.

Amúgy is vannak furcsa dolgok a programjaidban. Az elsőben, ha János már közölte, hogy jó napja van, miért ellenőrzöd még egyszer, hogy nem rossz napot mondott-e? Miért nem elég egy szimpla else, ha csak ez a két lehetőség van? Hasonló a másodikban is: Ha a tipp sem kisebb, sem nagyobb a gondolt számnál, akkor mire szolgál az egyenlőség vizsgálata -- mégis, mi egyéb lehetne? De van még egy váratlan ötleted, ami nem éppen hiba, csak teljesen értelmetlen. A számítástechnika nyelve köztudottan az angol, de ehhez eléggé sajátos módon igazodol, amikor a neve alapján magyar Jánost angolul szólítod meg, viszont a sült angol utasítások között magyar változóneveket használsz. A karriered delelőjén örülnek majd a kollégáid a nemzetközi fejlesztőcsapatban, ha megőrzöd ezt a kedves szokást. Összefoglalva: Próbáld egy kissé jobban megfontolni, mit miért csinálsz.

Egyébként meg kódot ne képen linkelj, mert nehogy már mindenkinek külön le kelljen gépelnie, aki bele akar javítani. Nekem nem volt hozzá kedvem. Erre valók a kódmegosztó oldalak, mint a hastebin.com, a ghostbin.com, vagy az ideone.com.

2019. ápr. 12. 02:58
Hasznos számodra ez a válasz?
 2/9 anonim ***** válasza:
100%

Nem ártana átnézned, hogy is működnek a vezérlési szerkezetek: kapcsos zárójelek, elágazások.

Előbb értsd meg, milyen sorrendben és mely ágak hajtódnak végre egy-egy elágazásnál, majd utána próbálj csak egmásba ágyazott elágazásokat írni.


A legfontosabb: egy If után vagy az első sor vagy a kapcsos zárójelben lévő blokk fog végrehajtódni ha a feltétel igaz. Ha nem igaz, akkor a vezérlés a blokk utáni első utasítással folytatódik. Tehát ha nem adsz meg else ágat, akkor igaz és hamis feltétel esetén is megy tovább a program.

2019. ápr. 12. 09:58
Hasznos számodra ez a válasz?
 3/9 tabaki ***** válasza:
93%
Éjjel háromkor már nem voltam a helyzet magaslatán, újra belenézve illik még megemlítenem, hogy a látszat szerint fölösleges bőségben és meglehetősen ötletszerűen használod a kapcsos zárójeleket, viszont kínosan kerülöd az utasítások elkülönítésének még a látszatát is -- gondolom, leesett a pontosvessző a klaviatúráról, mert egyébként akár véletlenül is megnyomhattad volna ennyi össze-vissza csapkodás közben. Tényleg leteszed a nagyesküt, hogy nálad így is működött az első két program? Mert egyébként nem értem, hogy miért akartad őket összegyúrni. De az is érdekelne, hogy hol futtattad. Amennyire tudom, a Javascriptet egy HTML-oldalba szokás beépíteni, ezt nem látom a kódjaidban. Bizonyára van valami oldal vagy IDE, ahol csonkán is lefuttatható (nem, mintha szerencsésnek tartanám, ha így szokod meg), de melyik az?
2019. ápr. 12. 11:10
Hasznos számodra ez a válasz?
 4/9 A kérdező kommentje:

Jézusom... ha "Nem IgEn ISmeReD" azt a programot amivel kapcsolatban kérdezek minek válaszolsz? Ennyi erővel menj be egy zeneakadémiába és kezdj el ott is ripacskodni, hogy "hát nem igen láttam még életemben kottát de szerintem ez a 4/4 nem kéne oda mert bántja az úri szememet".

Azért írtam magyar változókat, mert egy külföldi csoportban is feltettem ezt a kérdést és gondoltam ide kiírom magyarul az érthetőség kedvéért, de persze, ezért is le kell ba$zni az embert.

Amennyi erővel itt okoskodsz akár be is írhattad volna a számjátékos programot és akkor megkaptad volna a választ. Ja, bocs, arra van energia, hogy kötözködj de hát NeHogY mÁR KüLöN nEkeD KeLljEn BegÉpElnI.

Még jó, (<-- tessék, itt a vessződ) hogy feltettem egy külföldi csoportban is ezt a kérdést, ahol érdekes, minden sallang flegmázás, okoskodás, lenézés, lekezelés nélkül, értelmesen egyből több variációt is mellékelve le tudták nekem vezetni a helyes megfejtést úgy, hogy tanuljak is belőle valamit. Bocs öcsém, hogy kajakra az első nap után nem tudtam mindenre gondolni. Sejthető volt, ilyen a tipikus magyar. Ilyen fajta szinte minden kérdés alatt felbukkan aki ha valamit nem ért vagy az nem úgy van egyből bunkózik, jön az olcsó cinizmusával, hogy mindenáron rossz legyen a másiknak. Szóval végül is meglett a válasz, csak nem itt. Töröltem is a kérdést a menümből mert nem igen van kedvem vitatkozni.

A második válaszolónak pedig köszönöm, sokat segített, hogy úgy unblock az egész témát jobban megértsem.

2019. ápr. 12. 12:55
 5/9 tabaki ***** válasza:
Ekkora lényeglátással szerintem ne erőltesd a programozást.
2019. ápr. 12. 13:03
Hasznos számodra ez a válasz?
 6/9 anonim válasza:
53%
Szerintem ügyes próbálkozás elsőre.Én értem mi akart lenni.Az első kettővel nincs semmi gond.A harmadikba viszont tényleg csak utánaírtad.Kicsit túlvállaltad magad de ezzel nincs gond sőt szerintem jó dolog ha próbálkozik az ember hisz csak így juthat előre.Azért megnéztem volna a nagy tabaki mester élete első kódját aki se a javascriptet se a python interpretert nem ismeri ennek ellenére előszeretettel ad tanácsot a felhasználóiknak :D
2019. ápr. 12. 13:14
Hasznos számodra ez a válasz?
 7/9 tabaki ***** válasza:

LIFO-megoldással először Támadomenyét kolléga hozzászólására válaszolok:

Én is értem, mi akar ez lenni -- ha csak ennyi volt a cél, akkor csakugyan ügyes próbálkozás, hiszen bárki megérti a szándékot, aki nem egészen tökkelütött. Én azonban feltételeztem, hogy itt programírásról volna szó, így már az első két programmal sem voltam tökéletesen elégedett. Pedig -- ebben igazad van -- nincs velük semmi baj, azon kívül, hogy mindkettő működésképtelen. De ezen csak az akad fenn, aki holmi segítő szándéktól vezérelve mindenáron a hibákat akarja előtérbe tolni, pedig egy kis kegyes hazugság mennyivel kellemesebb lehet Kérdező számára. Újabb közös pont a nézetünkben, hogy Kérdező kissé túlvállalta magát, amikor két használhatatlan programból akart egy harmadik jót összefércelni, de abban már eltér a véleményünk, hogy az ember csakis a megoldatlan problémáinak egyre nagyobb kupacát maga előtt görgetve juthat-e előre, mert szerintem nem.

Ami az első kódomat illeti, ha még emlékeznék rá, bizonyára nem lennék rá büszke, annyit azonban határozottan állíthatok róla, hogy működött. Addig ugyanis nem is mertem volna programkódnak titulálni, és még kevésbé jutott volna eszembe, hogy egy másik szabadverssel random egybeszerkesztve majd életképes programot eredményez.

Az, hogy a Python-, illetve Javascript-ismereteim elenyészőek, aligha zárja ki, hogy a nyelvtől független általános kérdésekben nagyobb tapasztalatom legyen Kérdezőénél. Miért is ne szolgálhatnék hasznos tanácsokkal egy még az enyémnél is kisebb tudású embernek, ráadásul a kollégák kontrollja alatt, ami gondoskodik arról, hogy igazán vállalhatatlan ostobasággal ne mérgezhessem a hamvas lelkeket? Ha emlékeim nem csalnak, a Python terén mutatkozó felkészületlenségem éppen tegnap került szóba, itt:

https://www.gyakorikerdesek.hu/szamitastechnika__programozas..

Ha ebből neked az jött le, hogy a tudatlanságom rejtegetésével, megtévesztő módon arcoskodom az ottani kérdező előtt, az érthetővé teszi a hozzászólásod végén gunyorkodó szmájlit, viszont javaslom a szöveg ismételt átolvasását.

2019. ápr. 13. 00:05
Hasznos számodra ez a válasz?
 8/9 anonim ***** válasza:
Tabaki eléggé sok nyelvvel kapcsolatban sok jó választ szokott írni, nem kéne leoltani. Osztom a nézetét, hogy fura hogy lefutott, mert a szabványtól messze áll. Például ahogy említette, minden utasítást pontosvesszővel zárunk, mert a pontosvessző az kiértékelési pontot jelez az interpreternek. A kapcsos zárójelek és pontosvesszők használtatát gyakorold, utána jó lehet.
2019. ápr. 13. 00:17
Hasznos számodra ez a válasz?
 9/9 tabaki ***** válasza:
76%

@#8:

Köszönöm a megjegyzésed, igazán jól esett, meg aztán biztató is, hogy szélesebb perspektívából nézve mégiscsak kirajzolódnak a szándékaim.

Mivel Kérdező magára hagyta a kérdését, már nem sok értelme van ugyan, hogy válaszoljak a megjegyzéseire, de ha már megígértem:


§ 1.

Jézusom... ha "Nem IgEn ISmeReD" azt a programot amivel kapcsolatban kérdezek minek válaszolsz?

      Erre könnyű megfelelni. A hibáid jó részének semmi köze a Javascripthez, a többinek is csak annyi, hogy történetesen pont ennek a nyelvnek szabályait hagyod figyelmen kívül. Mindennek a megítéléséhez nem kell a nyelv avatott virtuózának lenni. Ide tartozik még, hogy bár a Javascripttel 𝑘𝑎𝑝𝑐𝑠𝑜𝑙𝑎𝑡𝑏𝑎𝑛, de a saját programodról kérdeztél, azt meg ismerem, mint a rossz pénzt.


§ 2.

Ennyi erővel menj be egy zeneakadémiába és kezdj el ott is ripacskodni, hogy "hát nem igen láttam még életemben kottát de szerintem ez a 4/4 nem kéne oda mert bántja az úri szememet".

      Minden hasonlat sántít, a tiéd különösen. De ha szereted a képes beszédet, ám legyen, megpróbálkozom vele én is: Ha az első hegedűs helyére egy mangalica-hízót szerződtet a Zeneakadémia, akkor zenedei mesterképző nélkül is megkockáztathatom, hogy a muzsika szerelmesei nem ugyanazt az élményt kapják majd a Négy évszak meghallgatásakor. És botfülű létemre is felfigyelhetek bizonyos ok-okozati összefüggésekre, ha a koncert végül elmarad.


§ 3.

Azért írtam magyar változókat, mert egy külföldi csoportban is feltettem ezt a kérdést és gondoltam ide kiírom magyarul az érthetőség kedvéért, de persze, ezért is le kell ba$zni az embert.

      Gondolom, ez valami magyarázat lenne arra a furcsaságra, amit nem hibás, de értelmetlen dolognak tituláltam. Ha ezt a tényszerű megállapítást ledorongolásnak érzed, a saját lelkiismereteddel számolj el. Hogyha az érthetőséget annyira a szíveden viseled, miért nem a felhasználó előtt megjelenő szöveget magyarítottad inkább? Mellesleg nem világos, hogy a valt2, valt3 változónevek mennyivel informatívabbak, mint például az answer vagy efféle.


§ 4.

Amennyi erővel itt okoskodsz akár be is írhattad volna a számjátékos programot és akkor megkaptad volna a választ. Ja, bocs, arra van energia, hogy kötözködj de hát NeHogY mÁR KüLöN nEkeD KeLljEn BegÉpElnI.

      Oppardon, hogy itt én voltam, aki választ akart kapni, ez eddig elkerülte a figyelmemet. Más kérdés, hogy reggelre kelve mégiscsak megírtam a programodat, ilyenformán: [link]

Az illendő módszer ajánlása tehát nem erre a nyúlfülyöknyi kódra és az én kényes ujjbegyeim kímélésére vonatkozott, hanem a jövőre, amikor egy kevésbé érdektelen problémádra akár húszan is rámozdulnának, vagyis a képen közölt kódodat majd húsz embernek kell lemásolnia, gondosan ügyelve arra, hogy a hibáidon se változtasson a kipróbálásáig... Ja nem: Már az első is modortalanságnak fogja érezni, hogy szerkeszthetetlen formában linkelje be, így a többiek dolgozhatnak majd az ő kódjából.


§ 5.

Még jó, (<-- tessék, itt a vessződ) hogy feltettem egy külföldi csoportban is ezt a kérdést, ahol érdekes, minden sallang flegmázás, okoskodás, lenézés, lekezelés nélkül, értelmesen egyből több variációt is mellékelve le tudták nekem vezetni a helyes megfejtést úgy, hogy tanuljak is belőle valamit.

      Én ugyan a pontosvesszőket hiányoltam, de nini, pont is van a mondat végén, majd összerakom a kettőt. Ez a kis mozzanat cseppben a tenger: Megmutatja, milyen figyelemmel fordulsz a kapott válaszok felé. A kérdésedben egyébként azóta is hiába keresem azokat a stilisztikai elvárásokat, amelyek mentén utólag számon kérted rajtam, hogy a polkorrekt unalomnál valamivel nyomatékosabban hívtam volna fel a figyelmedet a melléfogásaidra, ha a mondókám érdemi részére is kíváncsi vagy.


§ 6.

Bocs öcsém, hogy kajakra az első nap után nem tudtam mindenre gondolni.

      Ja, ja. Példának okáért a programnyelv szabályainak minimális alkalmazására. Persze, van olyan, hogy valaki még nem ismer egy utasítást, vagy csak rosszul paraméterezi, vagy belebonyolódik egy feltételrendszerbe, vagy elgépel valamit, kihagy a programból vagy éppen benne felejt olyasmit, amit nem kéne, stb. -- ez, kivált egy kezdőnél, teljesen természetes, bár továbbra is kérdéses, hogy miért ne lehetne hangsúlyozni a következményeit egy válaszban. Azzal azonban némiképp sokkoló volt szembesülni, hogy az utasítások végére kötelezően odabiggyesztendő lezárójelet az ódivatú díszítőelemeknek kijáró megvetéssel következetesen elmellőzöd, illetve, hogy a nyilván csinosabbnak ítélt kapcsokkal egyébként alaposan megborsozott programodban egyedül ott nem használod őket, ahol szükség volna rájuk. Az utasítások végének és a blokkhatároknak a jelzése nem valami ki tudja mikor megszerzendő skill, hanem olyan alap, ami nélkül meg se próbálhatsz programot írni.


§ 7.

Sejthető volt, ilyen a tipikus magyar.

      Így van. Csupaszív, segítőkész, és egy ismeretlen felebarátja érdekében akár a saját népszerűségét is feláldozza (nézd csak meg, milyen csúnyán lepontozott egy komisz briganti!). Büszke vagyok rá, hogy ilyen bámulatos nemzet fia lehetek, pláne tipikus.


§ 8.

Ilyen fajta szinte minden kérdés alatt felbukkan aki ha valamit nem ért vagy az nem úgy van egyből bunkózik, jön az olcsó cinizmusával, hogy mindenáron rossz legyen a másiknak.

      Hát igen, kaptam tőled hideget-meleget, de spongyát rá! Neurotikusok ne adják a fejüket válaszolásra, ez az én filozófiám, nincs igazam?


§ 9.

Szóval végül is meglett a válasz, csak nem itt.

      Eső után köpönyeg, de segítek itt is megkeresni. Ctrl+F, majd írd be a következőt: „megpróbálnám inkább a "yes" válasz után két kapcsos zárójel közé tenni”.


§ 10.

Töröltem is a kérdést a menümből mert nem igen van kedvem vitatkozni.

      Butaság volt, de mit tegyünk... Lehet, hogy valaki másnak még hasznára lesz a diskurzus.

2019. ápr. 14. 23:33
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!