| | |
Pascal Help
Please support our Pascal and Delphi advertiser: Programming Forums - DaniWeb Sister Site
![]() |
•
•
Join Date: Apr 2005
Posts: 2
Reputation:
Solved Threads: 0
I am supposed to create a Pascal program that obtains 4 inputs from user and averages them. The program should enforce all inputs to be between 0 and 100, inclusive. This is for class, but more importantly I have more programs and I need to understand why I suck at this. Not looking for an easy answer. I appreciate any help.
ERROR messages
pro4.pas(15,20) Warning: Variable NUM does not seem to be initialized
pro4.pas(25) Fatal: Unexpected end of file
PROGRAM pro4(input,output);
VAR
tot, num, i: integer; ave: real;
BEGIN
ave:= tot/4;
for i:= 1 to 4 do begin
writeln (output, 'Enter integer');
readln (input, num + tot);
while(num>=0) and (num<=100) do begin
writeln(output, 'Get another integer');
readln(input, ave);
end ;
ERROR messages
pro4.pas(15,20) Warning: Variable NUM does not seem to be initialized
pro4.pas(25) Fatal: Unexpected end of file
PROGRAM pro4(input,output);
VAR
tot, num, i: integer; ave: real;
BEGIN
ave:= tot/4;
for i:= 1 to 4 do begin
writeln (output, 'Enter integer');
readln (input, num + tot);
while(num>=0) and (num<=100) do begin
writeln(output, 'Get another integer');
readln(input, ave);
end ;
•
•
Join Date: Jan 2005
Posts: 31
Reputation:
Solved Threads: 0
See comments in code:
Revised code (compiles with FreePascal / WinXP):
Pascal and Delphi Syntax (Toggle Plain Text)
program pro4(input, output); var tot, num, i: integer; ave: real; begin ave := tot / 4; { tot hasn't been initialized yet. Can't do this here. } for i := 1 to 4 do begin writeln(output, 'Enter integer'); readln(input, num + tot); { You can't perform math operation here. } { The following loop will be keep repeating until the user enters a value outside the valid range. I don't think that's what you want. } while (num >= 0) and (num <= 100) do begin writeln(output, 'Get another integer'); readln(input, ave); { why are you reading into ave? } end; end; { for loop } { This was missing. } end. { program } { This was missing. }
Revised code (compiles with FreePascal / WinXP):
Pascal and Delphi Syntax (Toggle Plain Text)
program Program4; uses SysUtils; var Total: Integer; Number: Integer; I: Integer; Average: Double; begin { Initialize Total to zero. } Total := 0; { Get four integer values from the user. } for I := 1 to 4 do begin Write('Enter an integer value between 0 and 100 (inclusive): '); ReadLn(Number); while (Number < 0) or (Number > 100) do begin WriteLn; WriteLn('Error: Number out of range. Please re-enter.'); WriteLn; Write('Enter an integer value between 0 and 100 (inclusive): '); ReadLn(Number); end; Total := Total + Number; end; { Calculate the average. } Average := Total / 4.0; { Display the average. } WriteLn; WriteLn('The average is: ' + FloatToStr(Average)); WriteLn; end.
•
•
Join Date: Oct 2008
Posts: 1
Reputation:
Solved Threads: 0
ehh
i'm in coding a go game on pascal. this is the code as far
program IGOPascal;
uses
wincrt;
type
igo=0..3;
var
papan:array[1..15,1..15]of igo;
xt,yt:array[0..225]of integer;
tanda:array[1..4]of boolean;
a,b,x,y,i,j,pin:integer;
procedure cek_d1(xd:integer;yd:integer;pin:integer);
begin
case papan[xd,yd] of
0:exit;
1:cek_c(xd,yd,pin);
2:begin
tanda[j]:=true;
exit;
end;
end;
procedure cek_d2(xd:integer;yd:integer;pin:integer);
begin
case papan[xd,yd] of
0:exit;
2:cek_c(xd,yd,pin);
1:begin
tanda[j]:=true;
exit;
end;
end;
procedure cek_c(xc:integer;yc:integer;pin:integer);
begin
pin:=pin+1;
for j:=1 to 4 do
begin
case j of
2:begin
xt[pin]:=xc+1;
yt[pin]:=yc;
end;
1:begin
xt[pin]:=xc-1;
yt[pin]:=yc;
end;
4:begin
xt[pin]:=xc;
yt[pin]:=yc+1;
end;
3:begin
xt[pin]:=xc;
yt[pin]:=yc-1;
end;
end;
case papan[x,y] of
1:cek_d1(xt[0],xy[0]);
2:cek_d2(xt[0],xy[0]);
end;
end;
if tanda=true then
papan[xc,yc]:=3;
end;
procedure cek_b1(xb:integer;yb:integer);
begin
case papan[xb,yb] of
0:exit;
1:exit;
2:cek_c(xb,yb,0);
end;
procedure cek_b2(xb:integer;yb:integer);
begin
case papan[xb,yb] of
0:exit;
2:exit;
1:cek_c(xb,yb,0);
end;
procedure cek_igo(xa:integer;ya:integer);
begin
for i:=1 to 4 do
begin
case i of
1:begin
xt[0]:=xa+1;
yt[0]:=ya;
end;
2:begin
xt[0]:=xa-1;
yt[0]:=ya;
end;
3:begin
xt[0]:=xa;
yt[0]:=ya+1;
end;
4:begin
xt[0]:=xa;
yt[0]:=ya-1;
end;
end;
case papan[x,y] of
1:cek_b1(xt[0],xy[0]);
2:cek_b2(xt[0],xy[0]);
end;
end;
for i:=1 to 225 do
for j:=1 to 225 do
if papan[j,i]=3 then
papan[j,i]=0;
end;
begin
readln(x);
readln(y);
cek_igo(x,y);
end.
it use a multiple procedure
can someone help me?
i'm in coding a go game on pascal. this is the code as far
program IGOPascal;
uses
wincrt;
type
igo=0..3;
var
papan:array[1..15,1..15]of igo;
xt,yt:array[0..225]of integer;
tanda:array[1..4]of boolean;
a,b,x,y,i,j,pin:integer;
procedure cek_d1(xd:integer;yd:integer;pin:integer);
begin
case papan[xd,yd] of
0:exit;
1:cek_c(xd,yd,pin);
2:begin
tanda[j]:=true;
exit;
end;
end;
procedure cek_d2(xd:integer;yd:integer;pin:integer);
begin
case papan[xd,yd] of
0:exit;
2:cek_c(xd,yd,pin);
1:begin
tanda[j]:=true;
exit;
end;
end;
procedure cek_c(xc:integer;yc:integer;pin:integer);
begin
pin:=pin+1;
for j:=1 to 4 do
begin
case j of
2:begin
xt[pin]:=xc+1;
yt[pin]:=yc;
end;
1:begin
xt[pin]:=xc-1;
yt[pin]:=yc;
end;
4:begin
xt[pin]:=xc;
yt[pin]:=yc+1;
end;
3:begin
xt[pin]:=xc;
yt[pin]:=yc-1;
end;
end;
case papan[x,y] of
1:cek_d1(xt[0],xy[0]);
2:cek_d2(xt[0],xy[0]);
end;
end;
if tanda=true then
papan[xc,yc]:=3;
end;
procedure cek_b1(xb:integer;yb:integer);
begin
case papan[xb,yb] of
0:exit;
1:exit;
2:cek_c(xb,yb,0);
end;
procedure cek_b2(xb:integer;yb:integer);
begin
case papan[xb,yb] of
0:exit;
2:exit;
1:cek_c(xb,yb,0);
end;
procedure cek_igo(xa:integer;ya:integer);
begin
for i:=1 to 4 do
begin
case i of
1:begin
xt[0]:=xa+1;
yt[0]:=ya;
end;
2:begin
xt[0]:=xa-1;
yt[0]:=ya;
end;
3:begin
xt[0]:=xa;
yt[0]:=ya+1;
end;
4:begin
xt[0]:=xa;
yt[0]:=ya-1;
end;
end;
case papan[x,y] of
1:cek_b1(xt[0],xy[0]);
2:cek_b2(xt[0],xy[0]);
end;
end;
for i:=1 to 225 do
for j:=1 to 225 do
if papan[j,i]=3 then
papan[j,i]=0;
end;
begin
readln(x);
readln(y);
cek_igo(x,y);
end.
it use a multiple procedure
can someone help me?
•
•
Join Date: Aug 2008
Posts: 1,735
Reputation:
Solved Threads: 186
Make a new thread as the intiial post was answered and this is not your thread. Post with code tags so your code is readable. As well as explain the problem you're having.
Last edited by LizR; Oct 27th, 2008 at 5:51 am.
Did I just hear "You gotta help us, Doc. We've tried nothin' and we're all out of ideas" ? Is this you? Dont let this be you! I will put in as much effort as you seem to.
![]() |
Similar Threads
- Help With Pascal's Triangle in C++ (C++)
- Pascal starter. (Pascal and Delphi)
- Pseudo-Pascal Question: Need Help!! (Pascal and Delphi)
Other Threads in the Pascal and Delphi Forum
- Previous Thread: Problem with quotation marks in TQuery SQL property
- Next Thread: how to count text in delphi
Views: 3845 | Replies: 5
| Thread Tools | Search this Thread |
Tag cloud for Pascal and Delphi






