Vad är fel i min Dev-Pascal kod

Trädvy Permalänk
Medlem
Plats
Skövde
Registrerad
Aug 2009

Vad är fel i min Dev-Pascal kod

Hej! Började nyligen årskurs ett på ett it-gymnasium. Blev sjuk nu dom första veckorna så har missat lite av programmeringen, och grunderna dom har gått igenom.

Har här försökt göra en miniräknare, men koden verkar inte funka. Kan någon tala om vad som är fel?

program miniraknare;
Var
varde1,varde2:real;
Rsatt:char;

begin
Writeln('Ange ett varde: ');
readln('varde1');
writeln('Ange ett varde till: ');
readln('varde2');
Writeln('Ange racknesatt: ');
Writeln('+,-,/,* :');
If rsatt='+' then begin
Write ('summan blir ',varde1+varde2);
end.

Felkoden jag får är

d
Skola\Programmering\22 september\22sept.pas:10: reading of read-only location

d
Skola\Programmering\22 september\22sept.pas:15: parse error before `.'

Läraren pratade även om att skriva in formatering i koden, så det inte blir decimaler. Någon som kan förklara?

Tackar för all hjälp!

/ GM

AMD Athlon64 X2 6000+ 3.1Ghz (Zalman CNPS9700 LED) | Gigabyte GA-M57SLI-S4 | Sapphire HD 4850 | Nexus NX-8060 600W | 320GB Seagate | Corsair TWIN2X PC6400 DDR2 2GB

Trädvy Permalänk
Medlem
Plats
Malmö
Registrerad
Okt 2005

Re: Vad är fel i min Dev-Pascal kod

Citat:

Ursprungligen inskrivet av GrönaMajoren
[B]Hej! Började nyligen årskurs ett på ett it-gymnasium. Blev sjuk nu dom första veckorna så har missat lite av programmeringen, och grunderna dom har gått igenom.

Har här försökt göra en miniräknare, men koden verkar inte funka. Kan någon tala om vad som är fel?

program miniraknare;
Var
varde1,varde2:real;
Rsatt:char;

begin
Writeln('Ange ett varde: ');
readln('varde1');
writeln('Ange ett varde till: ');
readln('varde2');
Writeln('Ange racknesatt: ');
Writeln('+,-,/,* :');
If rsatt='+' then begin
Write ('summan blir ',varde1+varde2);
end.

Har aldrig programmerat pascal men rent logiskt bör detta fungera:

Var
varde1,varde2:real;
Rsatt:char;

begin
Writeln('Ange ett varde: ');
readln('varde1');
writeln('Ange ett varde till: ');
readln('varde2');
Writeln('Ange racknesatt (+ - / *: ');
readln('rsatt');
If rsatt='+' then begin
Write ('summan blir ',varde1+varde2);
end.

/christian

| ASUS Maximumus V Formula, Intel i7-3770K @ 4.6GHz, Corsair vengance 16Gb @ 1600, ASUS nVidia GTX 970, Samsung EVO 840 256GB SSD, Fractal Design R3 Vitt, Logitech G502 Proteus Core, Ducky YYY | - 10251 Firestrike 3DMark

Trädvy Permalänk
Medlem
Plats
Skövde
Registrerad
Aug 2009

Re: Re: Vad är fel i min Dev-Pascal kod

Citat:

Ursprungligen inskrivet av terrax
Har aldrig programmerat pascal men rent logiskt bör detta fungera:

Var
varde1,varde2:real;
Rsatt:char;

begin
Writeln('Ange ett varde: ');
readln('varde1');
writeln('Ange ett varde till: ');
readln('varde2');
Writeln('Ange racknesatt (+ - / *: ');
readln('rsatt');
If rsatt='+' then begin
Write ('summan blir ',varde1+varde2);
end.

/christian

Hej! Fortfarande samma felkoder!

Någon annan som vet?

/ GM

AMD Athlon64 X2 6000+ 3.1Ghz (Zalman CNPS9700 LED) | Gigabyte GA-M57SLI-S4 | Sapphire HD 4850 | Nexus NX-8060 600W | 320GB Seagate | Corsair TWIN2X PC6400 DDR2 2GB

Trädvy Permalänk
Medlem
Plats
Malmö
Registrerad
Okt 2005

Re: Re: Re: Vad är fel i min Dev-Pascal kod

Citat:

Ursprungligen inskrivet av GrönaMajoren
Hej! Fortfarande samma felkoder!

Någon annan som vet?

/ GM

Ahh men du... sökvägen till där du sparar projektet och kompiplerar är read-only dvs. du får inte lov att spara nått där med det inlogget du har nu. Prova spara det i en mapp som är mer lokal t.ex. C:\Projekt

| ASUS Maximumus V Formula, Intel i7-3770K @ 4.6GHz, Corsair vengance 16Gb @ 1600, ASUS nVidia GTX 970, Samsung EVO 840 256GB SSD, Fractal Design R3 Vitt, Logitech G502 Proteus Core, Ducky YYY | - 10251 Firestrike 3DMark

Trädvy Permalänk
Medlem
Plats
Skövde
Registrerad
Aug 2009

d
Skola\Programmering\22 september\22sept.pas:15: parse error before `.'

Parse errorn försvinner inte, någon som vet?

AMD Athlon64 X2 6000+ 3.1Ghz (Zalman CNPS9700 LED) | Gigabyte GA-M57SLI-S4 | Sapphire HD 4850 | Nexus NX-8060 600W | 320GB Seagate | Corsair TWIN2X PC6400 DDR2 2GB

Trädvy Permalänk
Medlem
Plats
Malmö
Registrerad
Okt 2005
Citat:

Ursprungligen inskrivet av GrönaMajoren
d
Skola\Programmering\22 september\22sept.pas:15: parse error before `.'

Parse errorn försvinner inte, någon som vet?

Parse error betyder att du missat ett semicolon i slutet av en funktion.

Prova se till att i varje funktion (utom end.) lägga till ; t.ex.:

If rsatt='+' then begin;

| ASUS Maximumus V Formula, Intel i7-3770K @ 4.6GHz, Corsair vengance 16Gb @ 1600, ASUS nVidia GTX 970, Samsung EVO 840 256GB SSD, Fractal Design R3 Vitt, Logitech G502 Proteus Core, Ducky YYY | - 10251 Firestrike 3DMark

Trädvy Permalänk
Medlem
Plats
sthlm
Registrerad
Jul 2004

Jag ger det ett försök:

program miniraknare; Var varde1,varde2:real; Rsatt:char; begin Writeln('Ange ett varde: '); readln(varde1); writeln('Ange ett varde till: '); readln(varde2); Writeln('Ange racknesatt: '); Writeln('+,-,/,* :'); If rsatt='+' then begin Write ('summan blir ', varde1+varde2); end; end.

Trädvy Permalänk
Medlem
Plats
Hedesunda
Registrerad
Dec 2005

program miniraknare; Var varde1,varde2:real; Rsatt:char; begin Write('Ange ett värde: '); readln(varde1); write('Ange ett värde till: '); readln(varde2); Write('Ange räknesatt +-/*:'); readln(Rsatt); case rsatt of '+' : WriteLn ('Summan blir ', varde1+varde2:0:2); '-' : WriteLn ('Summan blir ', varde1-varde2:0:2); '/' : WriteLn ('Summan blir ', varde1/varde2:0:2); '*' : WriteLn ('Summan blir ', varde1*varde2:0:2); else Writeln('Felaktigt räknesätt'); end; (* case *) writeln('Klar!'); readln; end.

Trädvy Permalänk
Medlem
Plats
Bromma
Registrerad
Aug 2008
Citat:

Ursprungligen inskrivet av hasenfrasen

program miniraknare; Var varde1,varde2:real; Rsatt:char; begin Write('Ange ett värde: '); readln(varde1); write('Ange ett värde till: '); readln(varde2); Write('Ange räknesatt +-/*:'); readln(Rsatt); case rsatt of '+' : WriteLn ('Summan blir ', varde1+varde2:0:2); '-' : WriteLn ('Summan blir ', varde1-varde2:0:2); '/' : WriteLn ('Summan blir ', varde1/varde2:0:2); '*' : WriteLn ('Summan blir ', varde1*varde2:0:2); else Writeln('Felaktigt räknesätt'); end; (* case *) writeln('Klar!'); readln; end.

Allt blir ju inte summa

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase