-
Fototrend
Új hozzászólás Aktív témák
-
bucsupeti
senior tag
válasz kingabo #6800 üzenetére
Erre csak azt tudom mondani hogy ha három évig jól ment a pascal és utána a c gondot okozott, akkor nem a c-vel van a gond hanem azzal hogy nem tanították meg programozni a tanulókat. Megtanították arra hogy hogyan kell a pascal-t használni. Ha valaki tud strukturáltan programozni, akkor mindegy hogy pascalban vagy c-ben kell kódolnia. A nyelvi eszköztárat feltérképezi és írja a kódot. A pointerek körül gyártott problémasort sem igazán értem. Szeretik ezt túlmisztifikálni tök fölöslegesen. Látjátok sokaknak itt is az a közhely jut az eszébe hogy "a C sz*r mert pointerezni kell és megbonyolítja a dolgot". Azt gondolom hogy semmivel sem bonyolultabb mint pascalban, csupán szabadabb, több lehetőséget enged, ezáltal nagyobb odafigyelést igényel. De a mutatózás (mutatóra mutató mutatózásra gondolok) nélkül is meg lehet szépen lenni és lehet programozni.
Ha ez valakinek tényleg problémát jelent, akkor az tényleg ne programozzon, mert alapvető készségei hiányoznak. Sok függ persze a tanártól is, mert hiszem hogy a programozás egyfajta gondolkodásmód, egyfajta világszemlélet, nézőpont, egyfajta absztrakciós készség amivel vagy rendelkezik valaki vagy nem. Ha nem, akkor programozgatni fog tudni, de programozni nem.első for ciklusomat 1984-ben írtam egy HT1080Z School Computer típusú magyar számítógépen."Nem gond ha nem vágod a párologtatók bináris nyelvét..."
-
bucsupeti
senior tag
Bár off topicnak jelöljük ezeket a hozzászólásokat én mégis azt gondolom hogy nagyon fontos dolgok, gondolatok ezek amiket itt néhányan leírtunk!
"Nem gond ha nem vágod a párologtatók bináris nyelvét..."
-
Sk8erPeter
nagyúr
Az utóbbi kettő szempont nem egészen világos, hogy jön a képbe. A rekurzión való elvérzés alatt mit értesz? Hogy nem érti meg valaki az alapjait, hogy hogyan néz ki a gyakorlatban? Vagy hogy a rekurziónál mire kell figyelni? A párhuzamosság valahogy szintén nem egészen tiszta: szerintem az már egy következő nagy lépcsőfok, hogy az ember ilyenekkel foglalkozzon, miután egyáltalán alapvető programozási tákolásokat nem követ már el. Mindenesetre nem sok köze van ahhoz a témához, amiből az egész kiindult, hogy a programozás alapjait melyik nyelvvel lenne jobb elsajátítani. Igazából nem értem, a konkrét téma (mivel alapozzunk) kapcsán egyáltalán mihez van köze.
Sk8erPeter
-
cucka
addikt
válasz Sk8erPeter #6804 üzenetére
Úgy értem, hogy ezek "nehezek", vagy máshogy fogalmazva jelentősen eltérnek a mindennapi gondolkozási sémáktól. Egyszerűen arról van szó, hogy érted-e vagy sem. Hogy ha érted ezeket, akkor sanszos, hogy jó programozó lehet belőled. És úgy jön ide, hogy szó volt arról, hogy kényelmetlen sokaknak pointerezni.
[ Szerkesztve ]
-
Sk8erPeter
nagyúr
Ez a pointer dolog olyan, hogy jó programozó is könnyen elcseszheti, mert nem triviális, jó programozó is csaphat a homlokára, hogy "ja, basszus, ott kihagytam egy csillagot", vagy rájöhet, hogy rosszul agyalta ki a mutatóra mutató mutatót, de cserébe elcseszett mondjuk 20-30 percet az életéből, vagy többet. Ettől még nem biztos, hogy szar programozó, tehát szerintem nem ennyire erősen kontúros a dolog...
De OK, amúgy alapvetően értem, mire akarsz kilyukadni.Sk8erPeter
-
bucsupeti
senior tag
válasz Sk8erPeter #6806 üzenetére
háááát. Azért csillagot elfelejteni ott ahol mutatót kell használni nem szabad. Szerintem egy programozónak ilyen hibát nem szabad elkövetnie. Vagy a mutatóra mutató mutatót nem gondolja át. Ezt tényleg nem gondolja át egy programozó, mert a zsigereiben kell hogy legyenek ezek a dolgok.
Igen drága mulatság olyan programozót alkalmazni egy vállalatnak aki 20-30 percet mókol valamin, mert nem látja át a mutatókat. Szóval ez nagy gáz. Ilyen programozót én sem alkalmaznék."Nem gond ha nem vágod a párologtatók bináris nyelvét..."
-
dabadab
titán
válasz bucsupeti #6807 üzenetére
En ezt igy nem mernem kijelenteni. Ismerek olyat, aki remek programozo, alapos, atlatja a dolgokat, megbizhato, miegyeb, viszont rettenetesen nincs otthon, ha mutatokkal vagy bitekkel kell kavarni, egyszeruen ez a nagyon alacsonyszintu reteg kimaradt neki es nem is volt ra szuksege a 10+ eves palyafutasa alatt. Nekem, aki ugy nottem fel, hogy C64-et hekkeltem gepi kodban (nem am Assemblerben ), ez nagyon furcsanak hat, de van ilyen.
DRM is theft
-
raggg
senior tag
válasz Sk8erPeter #6806 üzenetére
Egy szó: gyakorlat.
Akik ma C/C++-ban kódolnak komolyabban, valószínűleg azoknak is ködös volt elsőre ez a téma.
Aztán ültek felette és megértették.
Aztán írtak sok sok kódot és már nem felejtik ki a csillagot - "Gyakorlat teszi a mestert".Csak ezt tudom tanácsolni mindazoknak, akik kicsit el vannak veszve a pointerek, a rekurzió, a párhuzamosítás (és még sorolhatnám) világában. Sosem késő megtanulni, csak időt kell rá szánni. Van amit könnyebb, van amit nehezebb megérteni; de kell idő ráfordításával és gyakorlással már csípőből mennek ezek a dolgok.
ragklaatPS
-
zserrbo
aktív tag
Hali!
Egy jsPlumb nevű JS könyvtárat próbálgatok. Nem túl nagy a közössége úgy gondolom, de megfelelő lenne, csak egyelőre problémákba ütközöm. A mostanira kíváncsi lennék tudtok-e valami megoldást, lehet csak nekem nem egyszerű. Tudom kérdezzem a fejlesztőjét, de már volt, hogy kérdeztem és semmi válasz nem jött, így már meg sem próbáltam most.
Azt szeretném, hogy valahogy módosítani tudja a felhasználó az ábrán belüli szöveget. Sajnos, ha draggable teszem, akkor hiába van a contenteditable="true" a szöveget magában foglaló div-nél megadva, mert ha rákattintok azt hiszi mozgatni akarom. A 108. sorban a draggable metódust, ha kikommentezem akkor át tudom írni a szöveget gond nélkül.
Van vmi tippetek?
[ Szerkesztve ]
-
bucsupeti
senior tag
Egyetértek a gondolattal! Gyakorlás, gyakorlás!
Az ha valakinek nincs szükséges rá és nem találkozott vele az nem azt jelenti hogy nem érti.
Valószínű az a remek programozó aki még nem dolgozott mutatókkal, nem fog kétségbe esni, ha véletlen szembe találja magát egy sötét sikátorba egy pointerrel. Ha remek programozó akkor biztosan nem.[ Szerkesztve ]
"Nem gond ha nem vágod a párologtatók bináris nyelvét..."
-
addikt
Sziasztok,
Olyan kérdésem lenne, hogy mivel lehet/szokás viszonylag egyszerűen s gyorsan egy algoritmus lehetséges állapotait megtervezni, úgy, hogy a végén lehetőleg minél átláthatóbb legyen az egész?
Kezdő vagyok, eddig nagyobbrészt olyasmi feladatokat kaptam amiket azért fejben át lehetett gondolni, de most egy olyasmi layout kezelő algoritmust kellene írni mint amilyen az androidban is van, a kétlépcsős measure/layout rendszer s pl. egy LinearLayout szerű megoldásnál is már elég sok lehetséges állapot van ahhoz, hogy ne lehessen mindet fejben tartani s úgy tervezgetni.Gondolom legtöbben azt mondanák, hogy valami diagram szerkesztő progival dobjak össze egy ilyesmi ábrát, de egyrészt az ilyenek általában egy osztály vagy teljes folyamat leírására vannak, nem pedig egy függvényen belüli lehetséges állapotok kielemzésére, másrészt mikor sulihoz kellett ilyeneket csinálni a hajam kihullott tőle olyan nehézkes volt a használata(persze lehet csak rossz progit használtam), harmadrészt meg sajna egy tipikusan olyan cégnél vagyok, ahol kiadnak egy feladatot s tegnap a határidő, szóval nem tudok napokat eltölteni egy ilyen diagram összerakásával.
Tudom, ez így sok mindent kizár, de hátha valakinek van valami jól bevált módszere ami segíthet vagy esetleg tudna példát linkelni/mutatni amin el tudok indulni.
Már nekiálltam megírni, de annyira belezavarodok egy idő után így hogy nem látom az összes lehetőséget s nem tudom, hogy mikor mire kellene odafigyelni, meg nem látom, hogy egy lehetséges állapot hogyan befolyásol egy másikat s miként kellene ezeket kezelnem, úgy hogy ne is legyen kód duplikáció, meg ne is legyen lassú, mivel ezek a függvények nagyon sokszor lesznek meghívva, de minden esetben jó eredményt is adjon, hogy azt se tudom a végén fiú vagyok-e vagy lány. -
raggg
senior tag
Amit belinkeltél egy osztálydiagram, amit elsősorban a programban létező objektummodell leírására használnak. Amit te keresel, az az UML állapotátmenet diagram (state diagram, lásd például: [link]).
Ez jóval egyszerűbb, nem kell órákat eltölteni vele, és ez szolgál az egyes objektumok állapotainak leírására. Szerintem ha csak a saját munkád minőségét befolyásolja (értsd nem kerül bele valamilyen dokumentációba), akkor felesleges gépen rajzolgatni, elég ha egy papírra felkarcolod. Szerény véleményem szerint az se fontos, hogy 100%-ig UML szabályok szerint működjön, úgy csináld, ahogy neked érthető. Ha mindenképp gépen szeretnéd, akkor pl. a Dia-t ajánlom, ingyenes, működik, átlátható - nincs benne semmi extra.
Egyébként ha javasolhatok valamit, akkor ne a programkód (~függvények) felől közelítsd meg a problémát, hanem ilyesmi kérdésekre keresd meg a választ:
- Milyen objektumok vannak az alkalmazásban, amik állapotokat változtatnak?
- Milyen művelet hatására vált állapotot egy adott objektum?
- Hogyan viszonyulnak egymáshoz az állapotok? Melyik állapotból melyik másikba kerülhet át egy objektum?Ha ezt sikerül feltérképezni, sokkal egyszerűbb lesz a konkrét kódot elkészíteni és általában jobb is a végeredmény a kód felépítését illetően.
Remélem valamennyit tudtam segíteni.
ragklaatPS
-
plaschil
aktív tag
Sziasztok!
Egy általános kérdést szeretnék feltenni. Szerintetek lehet-e olyan programot írni, ami egy nyomtatandó oldal lefedettségét számolná ki valamilyen módon, természetesen nyomtatás előtt, egy dokumentumból lenne rá képes. Azt egyelőre hagyjuk, hogy külön kezelje a színeket, és az egyéb feature-öket. Kíváncsi vagyok az ötleteitekre.
Creative G500 vezérlő panelt keresek// Hol vagy helyileg? - A kisszobába. // Szilvásbuktát, mert azt szeretem!
-
Jim Tonic
nagyúr
válasz plaschil #6819 üzenetére
Keresel egy színelemző programot, és mindent beadsz neki képként. Ennél komolyabb megoldáshoz már minden egyes formátumot kezelni kellene, és kicsit semmi lenne egyszerű. Bár azt sem adtad, meg, milyen dokumentumokról van szó.
Alcohol & calculus don't mix. Never drink & derive.
-
senior tag
Adott a következő kód:
Dim i, j As Integer
For i = 1 To 3
For j = 1 To 2
Console.WriteLine("i=" & i & " j=" & j)
Next
Next
Console.ReadLine()Valaki el tudná nekem magyarázni, hogy az eredmény miért lesz:
i=1 j=1
i=1 j=2
i=2 j=1
i=2 j=2
i=3 j=1
i=3 j=2Tudom, hogy alap, de szerbül tanulom és nem értem.
⭐ Revolut meghívó ajándék 7500 Ft bónusszal | Raiffeisen Bank meghívó változó ajánlói bónusszal ⭐ Kérd privát üzenetben tőlem!
-
Jim-Y
veterán
van a külső ciklus ami 1-től 3-ig fut...
van a belső ciklus, ami 1-től 2-ig futjátsz le:
külső ciklus i=1 esetén belső ciklus kétszer fut le j=1, és j=2 értékekkel
i=1 j=1
i=1 j=2
majd inkrementálódik külső ciklus i ciklusváltozójának értéke.külső ciklus i=2 esetén belső ciklus kétszer fut le j=1, és j=2 értékekkel
i=2 j=1
i=2 j=2
majd inkrementálódik külső ciklus i ciklusváltozójának értéke.külső ciklus i=3 esetén belső ciklus kétszer fut le j=1, és j=2 értékekkel
i=3 j=1
i=3 j=2
majd nem inkrementálódik külső ciklus i ciklusváltozójának értéke, mert a ciklusfeltételt elértük. Magyarán i már 3, így nem kell még egyszer futni.Valaki el tudná nekem magyarázni, hogy az eredmény miért lesz:
i=1 j=1
i=1 j=2
i=2 j=1
i=2 j=2
i=3 j=1
i=3 j=2[ Szerkesztve ]
-
Orton96
aktív tag
Sziasztok. Most kezdtem el Ubuntut használni és a Linux rendszerekről szóló Full Circle nevű ingyenes netes újság magyar fordításában felkeltette az érdeklődésemet a python programozás. Az első feladat nagyon egyszerű, a könyvből idéve:
"Néhány sornyi kódot fogunk írni egy gedit-féle szövegszerkesztővel, majd pedig megtárgyaljuk, hogy melyik sor mit végez. Gépeljük be a következő négy sort:
#!/usr/bin/env python
print 'Hello. I am a python program.'
name = raw_input("What is your name? ")
print "Hello there, " + name + "!"Ennyi az egész. Mentsük el hello.py néven valahova. Én talán egy home mappabeli python_peldak nevű mappába tenném. Ez az egyszerű példa már mutatja, hogy mennyire könnyű a kódolás Pythonban. Mielőtt használnánk a programot, előbb futtathatóvá kelltennünk. Ezt a
chmod +x hello.py
parancs begépelésével érhetjük el abban a mappában, ahol a python fájlunk van. Most már elindíthatjuk
a programot.Hello. I am a python program.
What is your name?
Ferd Burphel
Hello there, Ferd Burphel!
greg@earth:~/python_examples$ "Akárhogyan is próbáltam, nem sikerül megcsinálni. Soha nem nyitja meg, mindig arra hivatkozik, hogy nem létező fájlt vagy mappát akarok megnyitni... (a gép 2.7.3-mas python fájlokat ismer fel a terminál szerint)
Valakinek van ötlete?
-
Jester01
veterán
válasz Orton96 #6829 üzenetére
Valószínűleg nincs python a gépen, vagy máshogy hívják. Nézd meg mi a which python parancs eredménye. Esetleg az env parancs hiányzik. Az első sor szerkesztésével lehet ezeket orvosolni.
Ja és futtatni ./hello.py módon kell, ha csak simán hello.py-t írsz akkor nem fogja megtalálni.
[ Szerkesztve ]
Jester
-
Gyomman
aktív tag
Sziasztok!
Windows API függvények felhasználásával kell programot írnom, és egy kicsit elakadtam. Azt kéne elérnem, hogy az egyes futó process-ek szálainak a context switch számát kéne kisajtolnom. Nos a futó folyamatok és azok szálai megvannak, viszont nem tudom milyen úton-módon nyerhetném ki a context switch-ek számát. Valaki valami ötlet?
Ui.: (Ha ennyi reklám megengedett)
http://alax.info/blog/1182, ezen az oldalon található egy megoldási mód, viszont nekem a SYSTEM_PROCESS_INFORMATION adatszerkezet nem ennyire részletes! Ez op.rendszertől függene vagy éppen attól, hogy 32 vagy 64 bites rendszert használok?Cogito ergo sum
-
Orton96
aktív tag
Így sem jó.
Home/python_examples tartalmazó mappába beírom: chmod +x hello.py
Aztán a terminálba: greg@earth:~/python_examples$./hello.py (ezt a számítógép neve után írom be: számítógép neve:~$ -> ez után tudom írni a parancsot a terminalba.)Akkor jól csinálom, vagy valamit nagyon rosszul? Már semmit nem értek ebből... (Ubuntu 12.10 ha ez segít valamit)
-
Karma
félisten
válasz Gyomman #6831 üzenetére
Keresgéltem pár percet a témában, a Performance Counters API-ján keresztül lehet ilyen infót kihámozni.
Jó kérdés, vajon a Process Explorer is ezt használja-e, vagy van valami kiskapu.
“All nothings are not equal.”
-
Gyomman
aktív tag
válasz Gyomman #6839 üzenetére
Egy olyan kérdésem még lenne, hogyha valaki ismeri az NtQuerySystemInformation függvény működését (http://msdn.microsoft.com/en-us/library/windows/desktop/ms724509(v=vs.85).aspx) , az elmagyarázhatná, mivel több dolog is érthetetlen: például az, hogy az utolsó két paraméter helyére mit kéne betenni illetve ezek mit jelölnek? SYSTEM_PROCESS_INFORMATION-re lenne szükségem, ami elvileg az összes process információit tartalmazza, de milyen formában? Ekkor milyen dolgokat kéne megadnom az előbb említett utolsó két paraméternek?
Cogito ergo sum
-
fkenny
senior tag
Sziasztok!
Nekem holnapra C++-ba kellene írnom egy olyan programot, ami képes ellenőrizni, hogy az adott szó Palindrom e. ha igen akkor kiírja, hogy az, ha nem akkor azt hogy nem az.
Sajnos nem tudom, hogy hogy lehetne ezt megoldani.
Amit eddig tanultunk:
String
getline
.length()
.substr()
for ciklusAki tudna segíteni annak előre is köszönöm!
Üdv. Ádám
"Minden sikeres férfi mögött van egy nő aki jól járt. "
-
Karma
félisten
A felsoroltakból szükséged van a stringre, a lengthre és egy for ciklusra.
Célszerű indirekt vizsgálnod. Feltételezed, hogy palindrom, és megpróbálod cáfolni azzal, hogy páronként összehasonlítod a betűit - az elsőt az utolsóval, a másodikat az utolsó előttivel stb., és ha nem egyeznek meg, akkor nem lehet palindrom.
Ha minden betűpárt megnéztél és nem találtál eltérést, akkor meg palindrom.
“All nothings are not equal.”
-
Jim-Y
veterán
A konkrét kódot senki sem fogja megosztani veled, ugyanis abból nem tanulsz :/
Próbáld meg megcsinálni, és ha valami nem megy, akkor linkeld be a kódód (pl pastebin), és segítünk. Amúgy amit Karma írt az egy tökéletes megoldás, gyorsan én is letöltöttem a codeblockot és kipróbáltam, szinte 1-1 az egyben ha begépeled amit írt, akkor megvan a megoldás. Nekem sallangokkal együtt 10 sor lett. sallangok nélkül kb 4-5-ből megvan.Annyival kiegészíteném viszont Karmát, hogy jól jöhet még neked a floor függvény is, ugyanis (még ha ennél a példánál nincs is nagy jelentősége) nem kell string végéig menned a for ciklussal, elég string.length / 2 alsó egészrészig. üdv
megj: legújabb codeblocks gcc-vel, 'AltGr + B' -re, ami a nyitó kapcsos be van állítva egy hotkey, így nem tudtam benne nyitó kapcsost csinálni, mondom full friss a telepítés, ez azért gáz...
[ Szerkesztve ]
-
Jester01
veterán
Amihez persze nem kell floor, tekintve, hogy az egész osztás az automatikusan trunkál. A floor meg lebegőpontosra van egyébként is.
Illetve ha a ciklust két változóval írod akkor az i < j feltétel ezt rögtön adja is.
Aki magyar kiosztással akar programozni az meg is érdemli
[ Szerkesztve ]
Jester
-
fkenny
senior tag
válasz bucsupeti #6844 üzenetére
Idáid eljutottam:
#include <iostream>
using namespace std;
int main ()
{
string szoveg;
int i;
cout<<"Kerem a szoveget: ";
getline(cin,szoveg);ez után jönne a lényegi rész majd a végén a :
cin.get();
return 0;
}Jim-Y: Én Dev c++-t használok, de szerintem ez a legjobban programozás demotiváló program ami létezik...
[ Szerkesztve ]
"Minden sikeres férfi mögött van egy nő aki jól járt. "
-
Jim-Y
veterán
Karma írta:
Célszerű indirekt vizsgálnod. >> feltételezed hogy palindroma, tehát kezdetben egy bool változó igaz.
Feltételezed, hogy palindrom, és megpróbálod cáfolni azzal, hogy páronként összehasonlítod a betűit >> úgy hasonlítod össze, hogy egy ciklussal elkezdesz a stringben az elejétől a vége felé haladni, és mindig az aktuális indexű betűt hasonlítod össze a hátulról vett párjával
- az elsőt az utolsóval, a másodikat az utolsó előttivel stb., >> lásd feljebb
és ha nem egyeznek meg, akkor nem lehet palindrom. >> ha a feltételvizsgálatban egyszer is igaz ágba megy a program, vagyis egyszer lesz eltérés a betű párok között, akkor a bool változót hamisra állítod, vagyis bebizonyítottad, hogy nem palindróma.Illetve getline függvény helyett használhatod simán a cin >> szoveg; -et is.
[ Szerkesztve ]
-
bucsupeti
senior tag
a lényegi részben a teendő
- for ciklust indítasz 0-tól a sztring hosszának feléig (str.length()/2)
- a cilusmagban a string aktuális pozíciójában (ciklusváltozó) lévő karaktert hasonlítod a sztring hossz mínusz a ciklusváltozó mínusz 1 pozíción lévővel. Pl az "alma" sztring esetében ha 0 a ciklusváltozó akkor a 0. és a 4-0-1=3 pozíción lévővel hasonlítod (az első a és az utolsó a lesz hasonlítva). Ha igaz akkor továbblépsz, ha eltér akkor exit és megjegyzed valahogy (pl bool változó) hogy eltérés van.
- a végén az aktuális állapot szerint kiírod a megfelelő szöveget.[ Szerkesztve ]
"Nem gond ha nem vágod a párologtatók bináris nyelvét..."
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Ozeki Kft.
Város: Debrecen