|
| Kategóriák: | Programozási nyelvek » Pascal |
| Neovaki kérdése | privát | 2008.09.27. 16:51 | válasz |
| Sziasztok, Ez a program a beírt 2 szám közötti négyzetszámokat kellene, hogy kiírja, de sajnos nem működik és nem tudom, hogy hol lehet a hiba. Segítenétek? A turbo pascal ebben a sorban: i:= (ettol to eddig); ír hibát: "Error 89: ")" expected. PROGRAM negyzetszamok;Nagyon köszönöm előre is. | |
| pelz megoldása (50 pont) | előzmény | privát | 2008.09.27. 17:57 | válasz |
| A hatos szerepe, hogy megadja hány karakteren jelenjen meg a kiírandó szám. pl: writeln(i:6:2);azt jelenti, hogy 6 karakter hosszú lesz a szám, és ebből 2 a tizedesjegyek lesznek. Tehát a :4 és :6 -nak semmi köze a lényegi megoldáshoz. Ráadásul a WriteLn (ettol:4, sqr(ettol):6); minden számot kiír. nem csak a négyzetszámokat! Ráadásul minden számnak a négyzetét. Nem mondja meg róla, hogy négyzetszám-e. A helyes megoldást az én hozzászólásomban láthatod. | |
| polyJoe hozzászólása Neovaki (16:51) részére | előzmény | privát | 2008.09.27. 16:56 | válasz |
| Ezt az "(ettol to eddig)" formulát honnan szedted??? A "While ettol<=eddig Do"... is végtelen ciklus lesz, hiszen az eddig mindig nagyobb marad az ettolnel (kiveve, ha nem így írták be)! Helyesen: "for i:=ettol to eddig do"... | |
| Mester88 hozzászólása Neovaki (16:51) részére | előzmény | privát | 2008.09.27. 16:58 | válasz |
PROGRAM negyzetszamok; | |
| polyJoe hozzászólása Mester88 (16:58) részére | előzmény | privát | 2008.09.27. 16:59 | válasz |
Ha már teljes kódot írsz:Writeln(ettol:4, sqr(ettol):6);ok, látom javítottál de FOR ciklus akkor is helyesebb lenne!!! | |
| Neovaki hozzászólása polyJoe (16:59) részére | előzmény | privát | 2008.09.27. 17:05 | válasz |
| Oh, nagyon köszönöm a szuper gyors válaszokat. De most mégis kinek adjam a pontot? :( polyJoe, azt az "ettol eddig" formulát info tanár írta egy másik program kapcsán és abból próbáltam meg megcsinálni ezt a programot. (eddig összesen volt 2 pascalos info órám) Ezt a részt itt nem teljesen értem: WriteLn (ettol:4, sqr(ettol):6);El tudnád magyarázni, hogy pontosan mi mit jelent? Például mi az az sqr(ettol):6? | |
| Mester88 hozzászólása Neovaki (17:05) részére | előzmény | privát | 2008.09.27. 17:10 | válasz |
| Először kiírja az ettol változó értékét és utána az ettol változó értékének a négyzetét. Utána hozzáad az ettolhöz egyet (, hogy a következő alkalommal, ne ugyanezt ismételje) és újraindul a ciklus. Én nem ragaszkodom amúgy a ponthoz. | |
| pelz hozzászólása Neovaki (16:51) részére | előzmény | privát | 2008.09.27. 17:11 | válasz |
A ciklust így kellene megírni: writeln('Negyzetszamok:');Az if utasítás megnézi, hogy a szám gyöke megegyezik-e a szám gyökének a lekerekített értékével, ha igen, akkor négyzetszámról van szó. | |
| Neovaki hozzászólása pelz (17:11) részére | előzmény | privát | 2008.09.27. 17:37 | válasz |
| Köszönöm, most már végképp nem tudom, hogy kinek adjam a pontot. Még ez a sor nem világos: WriteLn (ettol:4, sqr(ettol):6); ettol:4 - ez azt jelenti, hogy az ettől az mindenképpen 4 lesz, mivel az az első négyzetszám? sqr(ettol):6 - ez se világos. Ugye az sqr(ettol) az megmondja az "ettol" négyzetét. De utána miért kell az a 6-os? | |
| old sharky hozzászólása Neovaki (17:37) részére | előzmény | privát | 2008.09.27. 17:42 | válasz |
| De utána miért kell az a 6-os? Próbáld ki vele is meg nélküle is és megtudod... | |
| Neovaki hozzászólása old sharky (17:42) részére | előzmény | privát | 2008.09.27. 17:48 | válasz |
| 6 nélkül nem azt írja ki, amit kell. De még mindig nem teljesen világos, hogy mi a 6-os szerepe. | |
| old sharky hozzászólása Neovaki (17:48) részére | előzmény | privát | 2008.09.27. 17:53 | válasz |
| És ha kicseréled a 6-ost pl. 16-osra? | |
| Neovaki hozzászólása pelz (17:57) részére | előzmény | privát | 2008.09.27. 18:39 | válasz |
| Nagyon szépen köszönöm a kerek egész magyarázatot, így már értem az egészet. Köszönöm. | |
| pelz hozzászólása Neovaki (18:39) részére | előzmény | privát | 2008.09.27. 19:14 | válasz |
| Akkor, hogy néz ki a programod végleges verziója? | |
| Neovaki hozzászólása pelz (19:14) részére | előzmény | privát | 2008.09.27. 19:20 | válasz |
PROGRAM negyzetszamok; | |
| pelz hozzászólása Neovaki (19:20) részére | előzmény | privát | 2008.09.27. 19:23 | válasz |
| OK! Viszont: ettol:=ettol+1;felesleges. Mit akarsz ettől az ettol valtozótól még ott a program végén? | |
| Neovaki hozzászólása pelz (19:23) részére | előzmény | privát | 2008.09.27. 19:33 | válasz |
| Oh, tényleg! Köszönöm. Az sqrt és az sqr között mi a különbség? | |
| old sharky hozzászólása Neovaki (19:33) részére | előzmény | privát | 2008.09.27. 19:37 | válasz |
| Nézd meg a súgóban! | |
| pelz hozzászólása Neovaki (19:20) részére | előzmény | privát | 2008.09.27. 19:42 | válasz |
| Továbbá jó lenne, ha valamiféle egységes stílust kitalálnál a program írásakor. Néhány kulcsszót tisztán nagy betűvel írsz néhányat pedig nagy kezdőbetűvel. pl. PROGRAM , Var Aztán néha nagybetűvel kezded a függvényt aztán pedig kisbetűvel. pl: WriteLn , writeln Továbbá a sorok előtti space karakterek száma is össze-vissza jelentkezik. Én valahogy így írtam vona meg a programot: program negyzetszamok; | |

