Kezdőoldal » Számítástechnika » Programozás » Pascal IDE miért nem működik ?

Pascal IDE miért nem működik ?

Figyelt kérdés

Erről az oldaltól: [link] írnám be a példákat Free Pascalba vagy androidos Pascal N-IDE-be, de a 17. példától kezdve nem futnak le. Tehát elsőtől 17-ig igen, utána már nem: vagy hibát ír ki vagy nem hajtja végre a feladatot.

Ezen az online felületen viszont működik minden: [link]

A gond az, hogy ez utóbbit mobilon nagyon nehézkes kezelni.



jan. 20. 23:33
1 2
 1/18 anonim ***** válasza:
40%
Hol van a 17-es példa? Amúgy minek tanulsz Pascalt?
jan. 20. 23:54
Hasznos számodra ez a válasz?
 2/18 anonim ***** válasza:
64%
Mondjuk elárulhatnád, hogy mi a hibaüzenet...
jan. 21. 00:06
Hasznos számodra ez a válasz?
 3/18 A kérdező kommentje:

A karakterláncok menüpontnál van.

Konkrétan így néz ki:

program Pelda17;

var s:string;

i:integer;

begin

write('Irj be egy mondatot: ');

readln(s);

for i:=1 to length(s) do

s[i]:=upcase(s[i]);

writeln(s);

end.

jan. 21. 00:07
 4/18 anonim ***** válasza:

#1: Lényegtelen miért tanul Pascal-t.

A 17. példa egyébként itt:

[link]

van (a kérdezőnek az azt követő példától kezdve van problémája).


Kérdező: milyen hibát ír ki, illetve mit értesz azon, hogy "nem hajtja végre a feladatot"?

jan. 21. 00:27
Hasznos számodra ez a válasz?
 5/18 anonim ***** válasza:
Kössz a semmit, fogd meg jól! Ha segítséget kérünk, akkor tegyük fel jól a kérdést!
jan. 21. 00:39
Hasznos számodra ez a válasz?
 6/18 anonim ***** válasza:
53%
Nekem hiba nélkül lefordult (parancssorból), működött is.
jan. 21. 00:47
Hasznos számodra ez a válasz?
 7/18 anonim ***** válasza:
8%

function SUpCase(s: string): string;

var

   i : integer;

begin

   SUpCase := str;

   for i := 1 to length(s) do

     if (s[i] >= 'a') and (s[i] <= 'z') then SUpCase[i] := Chr(Ord(s[i]) - 32);

end;

jan. 21. 00:54
Hasznos számodra ez a válasz?
 8/18 anonim ***** válasza:
8%

function SUpCase(s: string): string;

var

   i : integer;

begin

   SUpCase := s;

   for i := 1 to length(s) do

    if (s[i] >= 'a') and (s[i] <= 'z') then SUpCase[i] := Chr(Ord(s[i]) - 32);

end;

jan. 21. 00:57
Hasznos számodra ez a válasz?
 9/18 anonim ***** válasza:
30%

Tényleg elárulhatnád, hogy mi a hibaüzenet, ennek hiányában legfeljebb csak tippelni tudunk.

Így látatlanból - a beírt példából kiindulva - úgy sejtem, a sztringkezeléssel lesznek a problémák. Pascalban alapvetően két fajta szöveg létezik: a Pascal-stílusú, és a C-stílusú. Előbbire jellemző, hogy karaktertömbként is kezelhető, ezáltal - ahogy a leírt példában is látszik - egyszerű indexeléssel el lehet érni az elemeit. A hossza pedig a "tömb" "nulladik" elemében tárolódik. Nagy hátránya, hogy maximálisan 255 karakter hosszú lehet.

A C-stílusú sztringek viszont másmilyenek. Közvetlenül nem ismert a hosszuk, és nem is engedi a fordító tömbként elérni az elemeiket. Előnyük, hogy nincs a 255 karakteres hossz-korlát, szinte "korlátlan" hosszúságúak lehetnek (a valódi maximális hossz implementáció- és architektúrafüggő, és függ még a szabad memória nagyságától is), a sztring végét pedig "null" karakter jelzi. (Hátrány, hogy az ilyen szövegekben nem lehet nullás kódú karakter, bár ez nem is gyakran szokott előfordulni.)

Az, hogy az adott fordító melyiket használja alapértelmezésben, az magától a fordítótól, és a beállításaitól is függ. Ha biztosra akarsz menni, Pascal-stílusú sztingekhez FreePascal alatt ShortString típust használj! (Vagy add meg a {$H-} fordítási direktívát a program elején!) Ez garantáltan mindig a klasszikus, Pascal-stílusú sztingként viselkedik. A C.stílusú, nulla-végű sztringekhez pedig AnsiString típust! (Vagy add meg a {$H+} fordítási direktívát a program elején!)

jan. 21. 22:11
Hasznos számodra ez a válasz?
 10/18 anonim ***** válasza:
0%

Az egészben az a hihetetlen, hogy a közzétett programkód működik, akár online compilerben tesztelhető is.


[link]


Lefordul, azt csinálja, amit kell.

jan. 21. 22:14
Hasznos számodra ez a válasz?
1 2

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!