DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/index.php)
-   Pascal and Delphi (http://www.daniweb.com/forums/forum124.html)
-   -   May I ask you a question on Delphi? (http://www.daniweb.com/forums/thread201654.html)

turbomen Jul 4th, 2009 10:09 am
May I ask you a question on Delphi?
 
1 Attachment(s)
Code a decision using an IF, THEN, ELSE statement (2 branch decision)
Code a one branch decision using a null else statement



The following is my answer:


program Negatives;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  ourcrt;

var
        balance, posNeg:integer;

begin
  randomize;
  writeln ('Generating your bank balance');
  writeln ('Please wait .....');
  sleep (2000);
  //create a random number between 0 and 1000
  balance:=random(1000);
  //randomly decide if the balance is negative
  //1 for positive, 0 for negative
  posNeg:=random(2);
  if posNeg=0 then
    begin
      balance:=balance*-1;
      writeln('Can you hear that sound? Its your cheque bouncing');
      sound(200,1000);
      end
      else
        begin
          writeln ('Positive balance');
        end;
      writeln('Your balance is ', balance);
      sleep(5000);

end.

Could you tell me why at the Line 22 & 25, we do not want to put full-stop / semi-colon after the 'end'? It makes me very confused about the punctuation marks.

FlamingClaw Jul 4th, 2009 3:07 pm
Re: May I ask you a question on Delphi?
 
your code is working well,where is the problem?????
you can write here too:
if posNeg=0 then
begin
balance:=balance*-1;
writeln('Can you hear that sound? Its your cheque bouncing');
sound(200,1000);
end;
If NegPos = 1 Then writeln ('Positive balance');

In your example if you put a semicolon; after your If statement's end,then the compiler thinks that it is a short version of the if statement,and send you an error about the else part,try it.....';' Not allowed before 'ELSE'....now you got it?..... :D

turbomen Jul 5th, 2009 12:10 am
Re: May I ask you a question on Delphi?
 
I have got a problem on the punctuation mark and what is the meaning of the following code?

posNeg:=random(2);
  if posNeg=0 then

FlamingClaw Jul 5th, 2009 2:09 am
Re: May I ask you a question on Delphi?
 
Hi turbomen :)
PosNeg is a variable,the Random() function generate a random number it will one or zero,and PosNeg's value willl be one of them,the If statement will evaluate the condition.The evaluating result can be only two values,such as [True] or the another is [False].
If true that posneg's value is zero Then,the program does the added commands,if the condition is FALSE then the [Else] branch follows if there is any....
Good practice,try it...
Load your code into delphi,press the [Run] menu and press [Trace Into F7],so you can go inside the program,by pressing the [F7] button,you will see the steps one by one,look at your If statement's changes with your own eyes... :D


All times are GMT -4. The time now is 4:10 am.

Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC