Raven Posted November 12, 2008 Posted November 12, 2008 pascal-os kérdés (abszolút kezdõ vagyok) a feladatomban 5 évre kell kamatot számolnom, ezt elõször úgy csináltam meg h 5x 1más alá írtam a kódrészletet ami számol. osszeg_kamattal := (betett_penz*(1+eves_kamat)); osszeg_kamattal := (osszeg_kamattal*(1+eves_kamat)); osszeg_kamattal := (osszeg_kamattal*(1+eves_kamat)); osszeg_kamattal := (osszeg_kamattal*(1+eves_kamat)); osszeg_kamattal := (osszeg_kamattal*(1+eves_kamat)); aztán eszembe jutott egy elengásabb megoldás, számolós ciklussal osszeg_kamattal := (betett_penz*(1+eves_kamat)); for szam := 1 to 4 do begin osszeg_kamattal := (osszeg_kamattal*(1+eves_kamat)) end; ez így elegáns megoldásnak számít? mert végülis az 5 lépésbõl csak az utolsó 4 került ciklusba. a fontosabb kérdésem h h lehetne megcsinálni h bekérjem billrõl h hányszor fusson le a ciklus (tehát h hány évre számoljon kamatot?) van ugye egy szam nevû ciklusváltozóm, de a ciklushoz x-tõl y-ig érték kell, billrõl bekérdezni meg EGY számot tudok csak.
Bice Posted November 12, 2008 Posted November 12, 2008 pascal-os kérdés (abszolút kezdõ vagyok) a feladatomban 5 évre kell kamatot számolnom, ezt elõször úgy csináltam meg h 5x 1más alá írtam a kódrészletet ami számol. osszeg_kamattal := (betett_penz*(1+eves_kamat)); osszeg_kamattal := (osszeg_kamattal*(1+eves_kamat)); osszeg_kamattal := (osszeg_kamattal*(1+eves_kamat)); osszeg_kamattal := (osszeg_kamattal*(1+eves_kamat)); osszeg_kamattal := (osszeg_kamattal*(1+eves_kamat)); aztán eszembe jutott egy elengásabb megoldás, számolós ciklussal osszeg_kamattal := (betett_penz*(1+eves_kamat)); for szam := 1 to 4 do begin osszeg_kamattal := (osszeg_kamattal*(1+eves_kamat)) end; ez így elegáns megoldásnak számít? mert végülis az 5 lépésbõl csak az utolsó 4 került ciklusba. a fontosabb kérdésem h h lehetne megcsinálni h bekérjem billrõl h hányszor fusson le a ciklus (tehát h hány évre számoljon kamatot?) van ugye egy szam nevû ciklusváltozóm, de a ciklushoz x-tõl y-ig érték kell, billrõl bekérdezni meg EGY számot tudok csak. Pascal-hoz nem értek, de a matekhoz már egy picivel jobban. Kamatos kamatot kell számolnod, és így szerintem nem elegáns... Ennyi a dolgod: betett pénz * százalék (15% pl 1,15) az évedik hatványon (te esetedben öt). Azaz mondjuk: 5.000 * 1,15^5 Ennyivel lazán ki lehet számolni, és elegánsabb és rövidebb az egész. :) Ezzel a kis képlettel megkapod azt, hogy kamatostul mennyi pénz lesz 5 év alatt.
Raven Posted November 12, 2008 Posted November 12, 2008 Pascal-hoz nem értek, de a matekhoz már egy picivel jobban. Kamatos kamatot kell számolnod, és így szerintem nem elegáns... Ennyi a dolgod: betett pénz * százalék (15% pl 1,15) az évedik hatványon (te esetedben öt). Azaz mondjuk: 5.000 * 1,15^5 Ennyivel lazán ki lehet számolni, és elegánsabb és rövidebb az egész. :) Ezzel a kis képlettel megkapod azt, hogy kamatostul mennyi pénz lesz 5 év alatt. ez így király mert az 5-ös helyére beiktathatok egy változót amit be tudok kérni billentyûzetrõl. így a user dönti el h hány évre számoljon a progi kamatot. köszi
david007 Posted November 15, 2008 Posted November 15, 2008 Hello. Ezt a példát még a múlt héten kaptam az infó tanáromtól. És segitséget kérnék a megoldásához. Egy 10 ezer méteres síkfutó versenyen 8 versenyzõ indul. Rajtszámaik 1-tõl 8-ig kerülnek kiosztásra. A távot a 400 méter hosszú pályán 25 kör megtételével teljesítik. Egy számítógépes idõmérõ rendszer regisztrálja minden egyes versenyzõnek minden egyes kör megtételéhez szükséges idejét. Az idõ rögzítése másodpercben történik, tehát ha egy futó egy adott kört 1:08,42 (egy perc nyolc egész negyvenkét századmásodperc) alatt teljesít akkor idõeredményeként a rendszer 68,42 másodpercet rögzíti. Készítsen programot az alábbi feladatok megoldására! Szimulálja az idõmérõ rendszer mûködését úgy, hogy a minden egyes versenyzõ összes köridõit tároló változót véletlenszerû értékekkel tölti fel! A köridõknek 60 és 100 másodperc közé kell esniük. (Feltesszük, hogy a versenytávot minden versenyzõ sikeresen teljesíti.) Készítsen eredmény listát a képernyõre a verseny eredményérõl! A lista tartalmazza a versenyzõ rajtszámát majd egy kötõjelet és a teljes táv megtételéhez szükséges idõeredményét perc:másodperc.századmásodperc formátumban! (A másodperc és századmásodperc értékek közé vesszõ is helyezhezõ tizedesjelként.) Az egyes versenyzõkre vonatkozó adatsort szögletes zárójelek közé zárja! Az adatsorokat külön sorokba írja! A lista legyen az idõeredmények szerint növekvõen rendezett! Például: [3-30:12,23] [1-31:42,17] [2-32:23,76] [7-32:42,37] [4-32:42,65] [8-32:47,81] [5-32:51,90] [6-33:27,26] A megoldás szerintem: :) generálunk kód generátorral mind a 8 versenyzönek 25 kör idõt 60-100 másodperc között. Összegezzük a 8 versenyzõ által elért eredmények idejét. Majd perc-másodperc-századmásodperc formátumban sorrendben kiiratjuk õket! Ebbõl csak az egy versenyzõre való 25 köridõ generálása megy :) ja és CPP ben irom a progit. PLS HELP!:D
skybot Posted November 15, 2008 Posted November 15, 2008 Hello. Ezt a példát még a múlt héten kaptam az infó tanáromtól. És segitséget kérnék a megoldásához. Egy 10 ezer méteres síkfutó versenyen 8 versenyzõ indul. Rajtszámaik 1-tõl 8-ig kerülnek kiosztásra. A távot a 400 méter hosszú pályán 25 kör megtételével teljesítik. Egy számítógépes idõmérõ rendszer regisztrálja minden egyes versenyzõnek minden egyes kör megtételéhez szükséges idejét. Az idõ rögzítése másodpercben történik, tehát ha egy futó egy adott kört 1:08,42 (egy perc nyolc egész negyvenkét századmásodperc) alatt teljesít akkor idõeredményeként a rendszer 68,42 másodpercet rögzíti. Készítsen programot az alábbi feladatok megoldására! Szimulálja az idõmérõ rendszer mûködését úgy, hogy a minden egyes versenyzõ összes köridõit tároló változót véletlenszerû értékekkel tölti fel! A köridõknek 60 és 100 másodperc közé kell esniük. (Feltesszük, hogy a versenytávot minden versenyzõ sikeresen teljesíti.) Készítsen eredmény listát a képernyõre a verseny eredményérõl! A lista tartalmazza a versenyzõ rajtszámát majd egy kötõjelet és a teljes táv megtételéhez szükséges idõeredményét perc:másodperc.századmásodperc formátumban! (A másodperc és századmásodperc értékek közé vesszõ is helyezhezõ tizedesjelként.) Az egyes versenyzõkre vonatkozó adatsort szögletes zárójelek közé zárja! Az adatsorokat külön sorokba írja! A lista legyen az idõeredmények szerint növekvõen rendezett! Például: [3-30:12,23] [1-31:42,17] [2-32:23,76] [7-32:42,37] [4-32:42,65] [8-32:47,81] [5-32:51,90] [6-33:27,26] A megoldás szerintem: :) generálunk kód generátorral mind a 8 versenyzönek 25 kör idõt 60-100 másodperc között. Összegezzük a 8 versenyzõ által elért eredmények idejét. Majd perc-másodperc-századmásodperc formátumban sorrendben kiiratjuk õket! Ebbõl csak az egy versenyzõre való 25 köridõ generálása megy :) ja és CPP ben irom a progit. PLS HELP!:D Egy hát alatt már igazán rájöhettél volna. Tervezd meg a progit aztán valósítsd meg. Olvastam vhol, hogy minél több a tervezés annál kevesebb a gond a kódolással.
_DooM_ Posted November 23, 2008 Posted November 23, 2008 A megoldás szerintem: :) generálunk kód generátorral mind a 8 versenyzönek 25 kör idõt 60-100 másodperc között. Összegezzük a 8 versenyzõ által elért eredmények idejét. Majd perc-másodperc-századmásodperc formátumban sorrendben kiiratjuk õket! Ebbõl csak az egy versenyzõre való 25 köridõ generálása megy :) ja és CPP ben irom a progit. PLS HELP!:D Lényegében meg is oldottad a feladatot. Mivel nem kell tárolni az egyes köridõket, csak a végsõ összeget, így elég csinálnod egy 8 elemû tömböt. Majd végigmész a tömb minden egyes elemén, generálsz 25 db, a megadott intervallumba esõ számot, amit menet közben összegzel. Ez két egymásba ágyazott for ciklussal könnyen megtehetõ. A végén a tömb i-edik eleme lesz az i+1-dik futó idõeredménye. Persze még rendezni kell a tömböt.
skybot Posted November 24, 2008 Posted November 24, 2008 Üdv, ez egy példafeladat lenne. Az érdekelne hogy ha, a j változót kiteszem a while ciklusból miért nem érzékeli a program? #include <iostream> using namespace std; int main() { int rows, columns; char theChar; int i=0; cout << "Sorok szama? "; cin >> rows; cout << "\nOszlopok szama? "; cin >> columns; cout <<"\nMilyen karakter legyen? "; cin >> theChar; while ( i < rows) { int j=0; while (j < columns) { cout << theChar; j++; } cout <<"\n"; i++; } system ("pause"); return 0; }
Bice Posted November 24, 2008 Posted November 24, 2008 Üdv, ez egy példafeladat lenne. Az érdekelne hogy ha, a j változót kiteszem a while ciklusból miért nem érzékeli a program? #include <iostream> using namespace std; int main() { int rows, columns; char theChar; int i=0; cout << "Sorok szama? "; cin >> rows; cout << "\nOszlopok szama? "; cin >> columns; cout <<"\nMilyen karakter legyen? "; cin >> theChar; while ( i < rows) { int j=0; while (j < columns) { cout << theChar; j++; } cout <<"\n"; i++; } system ("pause"); return 0; } Lehet én vagyok a béna, de nem kéne definiálni a J-t? Ahogy nézem, sehol sincs meghatározva, hogy mi. :ph34r:
skybot Posted November 24, 2008 Posted November 24, 2008 Lehet én vagyok a béna, de nem kéne definiálni a J-t? Ahogy nézem, sehol sincs meghatározva, hogy mi. :ph34r: int j=0; ottvan.
CrW Posted November 24, 2008 Posted November 24, 2008 int j=0; ottvan. Hova teszed ha hibát ír ki? Elvileg deklaráció csak a main elején szerepelhet (vagy csak a c hülyesége ez...). Ha az int i után teszed nem jó?
Calypsol Posted November 25, 2008 Posted November 25, 2008 Üdv, ez egy példafeladat lenne. Az érdekelne hogy ha, a j változót kiteszem a while ciklusból miért nem érzékeli a program? #include <iostream> using namespace std; int main() { int rows, columns; char theChar; int i=0; cout << "Sorok szama? "; cin >> rows; cout << "\nOszlopok szama? "; cin >> columns; cout <<"\nMilyen karakter legyen? "; cin >> theChar; while ( i < rows) { int j=0; while (j < columns) { cout << theChar; j++; } cout <<"\n"; i++; } system ("pause"); return 0; } Nem teljesen érthetõ, mit is akarsz kirakni. Ha a j deklarációját, akkor egy main-ben létezõ lokális változó lesz belõle --> mûködni fog. Ha a j-t a while-on kívül akarod használni (gondolom ez történt), akkor jelez a fordító, hogy nincs j változód. Miért is? Mert a j-t lokálisan a while-on belül hoztad létre, tehát csak abban a blokkban él.
skybot Posted November 25, 2008 Posted November 25, 2008 Nem teljesen érthetõ, mit is akarsz kirakni. Ha a j deklarációját, akkor egy main-ben létezõ lokális változó lesz belõle --> mûködni fog. Ha a j-t a while-on kívül akarod használni (gondolom ez történt), akkor jelez a fordító, hogy nincs j változód. Miért is? Mert a j-t lokálisan a while-on belül hoztad létre, tehát csak abban a blokkban él. Ez egy plédaprogi aminél megadod, hogy hány sorban és oszlopban írjon ki X-eket (vagy akármit) a képernyõre. Eredetileg for- ciklussal volt megadva, csak az volt feladat, hogy old meg while-lal is. Ha sziplán a main-ben hozom létre a j-t nem mûxik. Így viszont hogy a while-on belül lokálisan, igen. Ez miért van? Ez a kérdés Szerk: Talán azért mert ahogy ismétlődik a while, mindig visszatér eredeti értékre, tehát 0-ra?
moody Posted November 25, 2008 Posted November 25, 2008 megszeretném amatõr szinten tanulni az adobe flasht használni, de magamtól nem megy. nem tudtok adni valami oldalt, ahol elõrõl kezdhetnék mindent? googléba kerestem, de csak olyan tutorialokat találtam, amik már elég durvák voltak nekem :D elõször csak az animációk készítésével próbálkoznék, azt ha ez megy akkor késõbb majd belenézek az action scriptekbe is :D
skybot Posted November 25, 2008 Posted November 25, 2008 Szerintem Könyvek vagy e-book. Nem tudom melyik könyv a jó. Nekem ilyen "Tanuljunk meg!"-sorozatból van C++-ról az elég jó.
Calypsol Posted November 25, 2008 Posted November 25, 2008 Ez egy plédaprogi aminél megadod, hogy hány sorban és oszlopban írjon ki X-eket (vagy akármit) a képernyõre. Eredetileg for- ciklussal volt megadva, csak az volt feladat, hogy old meg while-lal is. Ha sziplán a main-ben hozom létre a j-t nem mûxik. Így viszont hogy a while-on belül lokálisan, igen. Ez miért van? Ez a kérdés Szerk: Talán azért mert ahogy ismétlõdik a while, mindig visszatér eredeti értékre, tehát 0-ra? Próbáld meg szétválasztani a deklaráció és az inicializáció / értékadás fogalmát. Deklarálhatod, sõt, inicializálhatod is a mainben (while-on kívül), a lényeg, hogy minden egyes cikluskezdéskor állítsd 0-ra. Gondold át, miért!
skybot Posted November 26, 2008 Posted November 26, 2008 Próbáld meg szétválasztani a deklaráció és az inicializáció / értékadás fogalmát. Deklarálhatod, sõt, inicializálhatod is a mainben (while-on kívül), a lényeg, hogy minden egyes cikluskezdéskor állítsd 0-ra. Gondold át, miért! Értettem mester [yoda] Kösz mindent. :D
2sd Posted November 30, 2008 Posted November 30, 2008 megszeretném amatõr szinten tanulni az adobe flasht használni, de magamtól nem megy. nem tudtok adni valami oldalt, ahol elõrõl kezdhetnék mindent? googléba kerestem, de csak olyan tutorialokat találtam, amik már elég durvák voltak nekem :D elõször csak az animációk készítésével próbálkoznék, azt ha ez megy akkor késõbb majd belenézek az action scriptekbe is :D swf.hu én is most fogok nekiállni, hétfõn jutok hozzá a Flash hez, de szerintem nagyon jó az az oldal ilyen szempontból, rengeteg tutorial van, amibõl az alapokat tökéletesen meg lehet tanulni - és feltételezem, hogy utána már azok a tutorok se okoznak gondot, amikhez most még kevés vagy :)
kovalaci89 Posted December 7, 2008 Posted December 7, 2008 Sziasztok egy kis segítséget szeretnék kérni programozás házifeladathoz. El vagyok nagyon késve a feladattal ezért ha valakinek egyszerûbb játkokról van ansi c-ben kódja és elküldené azt nagyon megköszönném:) mail címem: laszlo.kovacs89@gmail.com
Calypsol Posted December 8, 2008 Posted December 8, 2008 Sziasztok egy kis segítséget szeretnék kérni programozás házifeladathoz. El vagyok nagyon késve a feladattal ezért ha valakinek egyszerûbb játkokról van ansi c-ben kódja és elküldené azt nagyon megköszönném:) mail címem: laszlo.kovacs89@gmail.com Úgy látom mégsem olyan fontos és sürgõs neked ez a feladat. Küldtem mailt, de nem válaszoltál.
UC Posted December 9, 2008 Posted December 9, 2008 Sziasztok! Egy kis iskolai segítséget szeretnék kérni, és bár a téma nem ide tartozik, nem találtam neki megfelelõ helyet, ezért nézzétek el, hogy ide írom. Adatbáziskezelésrõl lenne szó, méghozzá elég idióta módon. Teljesen elméleti alapon tanultam az adatbáziskezelést, de olyan alapokon, ami elvileg használható mondjuk egy Acces-beli adatbázis létrehozásához, kezeléséhez. Egy jó leírást keresek, de a neten nem találtam megfelelõt, mindenhol gyakorlati értelmezésben szerepel az egész. Arról van szó, hogy van egy megadott kis, egyszerû adatbázis. Meg vannak határozva a táblák, azok tartalma, a kolcsok és az azonosítók. Amire pedig szükség lenne, egy értelmezés/leírás arról, hogy hogyan, mi alapján kell meghatározni a táblák közti kapcsolatot, a külsõ kulcsokat. Ezen kívül, ha a meglévõ táblákat ki kell egészíteni egy újabbal, akkor abban hogyan határozzuk meg ugyanezeket a dolgokat. Tudom, hogy ez így nem túl konkrét, ezért sem konkrét segítséget kérek, hanem valami helyet, leírást, amitismertek és ahol ezek szépen, példákkal fûszerezve, de egyszerûen le vannak írva. Elõre is köszönök minden segítséget!
Raven Posted December 10, 2008 Posted December 10, 2008 segítsetek pls, rendkívül sürgõs! (pascal) generálok egy tömbbe random számokat és ki akarom iratni a képernyõre. for i:=1 to tombmax do Begin a[i] := random(251)-100; write(a[i],' '); End; a write résszel van a baj. kiírja a sor végéig a számokat elõször, de nem kezd új sort, hanem az utolsó számjegyet cserélgeti le, ill. az utolsó számot ( ha jól látom) új sorba írja. annyi lenne a kérdés h h a fenébe kell kiiratni 1más mellé a 200 (tombmax = 200) számot, külön sorokba (thát h sor végén új sort kezdjen)? tudom h alap kérdés de nem vágom.
Calypsol Posted December 10, 2008 Posted December 10, 2008 segítsetek pls, rendkívül sürgõs! (pascal) generálok egy tömbbe random számokat és ki akarom iratni a képernyõre. for i:=1 to tombmax do Begin a[i] := random(251)-100; write(a[i],' '); End; a write résszel van a baj. kiírja a sor végéig a számokat elõször, de nem kezd új sort, hanem az utolsó számjegyet cserélgeti le, ill. az utolsó számot ( ha jól látom) új sorba írja. annyi lenne a kérdés h h a fenébe kell kiiratni 1más mellé a 200 (tombmax = 200) számot, külön sorokba (thát h sor végén új sort kezdjen)? tudom h alap kérdés de nem vágom. Rakj bele egy if-et, hogy mondjuk minden 10. szám után emeljen sort. Tehát akkor writeline-t hívj.
Raven Posted December 10, 2008 Posted December 10, 2008 Rakj bele egy if-et, hogy mondjuk minden 10. szám után emeljen sort. Tehát akkor writeline-t hívj. nem értem teljesen h h gondolod... leírnád kóddal?
Raven Posted December 10, 2008 Posted December 10, 2008 én ezt jelenlegi tudásommal csak így tudom megcsinálni for i:=1 to tombmax do a[i] := random(251)-100; for i:=1 to 20 do write(a[i]:4,' '); writeln; for i:=21 to 40 do write(a[i]:4,' '); writeln; for i:=41 to 60 do write(a[i]:4,' '); writeln; for i:=61 to 80 do write(a[i]:4,' '); writeln; for i:=81 to 100 do write(a[i]:4,' '); for i:=101 to 120 do write(a[i]:4,' '); writeln; for i:=121 to 140 do write(a[i]:4,' '); writeln; for i:=141 to 160 do write(a[i]:4,' '); writeln; for i:=161 to 180 do write(a[i]:4,' '); writeln; for i:=181 to 200 do write(a[i]:4,' '); szerk: így csináltam meg. ha van egy jobb, esetleg szabvány megoldás, "lemme know" :D b := 0; for i:=1 to tombmax do Begin a[i] := random(251)-100; Write(a[i]:4,' '); inc(b); IF b=20 THEN Begin WriteLn; b := b-20; End; End;
Flame_of_Aiur Posted December 10, 2008 Posted December 10, 2008 (edited) Van jobb megoldás. Az eredeti kódodba egyetlen sort kell csak betenni csupán, de mivel utoljára kb. 4-5 éve írtam pascal programot, így kb. tuti nem jó :) for i:=1 to tombmax do Begin if ( mod(i,10) = 0 ) then writeln(''); write(a[i],' '); inc(i); End; Ez annyit akar csinálni, hogy ha az i 10-el való osztásának maradéka 0, akkor egy üres karaktert kirak sortöréssel - ergó simán sort tör, na. Igény szerint 10 helyett lehet valami más számot, illetve a modulo parancs nem emlékszem már, h így van-e, pascal könyvben meg kéne nézni :unsure: Illetve ebben van egy "Inc(i)", ami növeli az i értékét 1-el. Ha jól emlékszem a Pascal önmagától ezt nem teszi, és ha elfelejted, akkor végtelen ciklusod lett, ctrl-break ftw! Gusztusosabb megoldás, ha az ember tudja, h mondjuk max 4 jegyûek azok a számok, akkor két egymásba ágyazott for ciklussal és "goto( 1 + i* 5 , 1 + j * 2 )" parancsal a kiírás elõtt egyfajta táblázatba rendezi. (Szintén lehet, h nem jól emlékszem a goto paraméterezésére, lehet meg kell cserélni.) j a külsõ for cikulus változója, 0-tól megy addig, ahány 4 + 1 (innen az 5-ös) karakteres cella elfér 1 sorban (õ jelzi az oszlopot), i meg simán azt mondja meg hanyadik sor, nullától fut... hátõ, inkább a külsõ legyen egy while ciklus egy boolean változóval kilépési feltételként. Kezdõértéke true ha elöl tesztelsz, false ha hátul, minden kiírás elõtt meg kell nézni, h amit ki akarsz írni, az tombmax-1 -nél kisebb-e. Ha igen, akkor mehet, ha nem akkor legyen egyenlõ önmaga tagadása és akkor ez volt az ucsó szám amit kiírtál. Ilyenkor i-t minden kiírás után növelni kell 1-el, j-t viszont csak ha sorvége volt, tehát a belsõ cikluson kívül, de a külsõn belül. Mondjuk rögtön a belsõ ciklus end-je után. Kiíratni meg ezt kell: "a", ahol X az egy sorba kiférõ számok száma ugye. Ezzel mondjuk csak az a baj, hogy ha okosítani akarod, akkor már picit szenvedni kell. Pl. mi van, ha egy oldalra nem fér ki? Esetleg ezek között lapozni is akarok két gombbal oda-vissza, esetleg más gombot el se fogadjon, csak azt a kettõt meg egy másikat, amivel kilépni lehet? Illetve azt, hogy hány karakter hosszú legyen 1-1 cella, azt is okos dolog lehet a tömb legnagyobb számához igazítani (és eltárolni egy oszlopszam nevû változóban mondjuk), amit meg kell keresni, meg kell tudni hány karakteres (stringgé konvertálás, aztán length, vagy sok if-el kisakkozni a helyiértékét) és akkor oszlopszam-ig fut a belsõ ciklus, stb. Edited December 10, 2008 by Flame_of_Aiur
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now