Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

question about a type in pascal

Posted on 2003-10-24
5
Medium Priority
?
167 Views
Last Modified: 2010-05-18
Hi,
it's a simple question i know but it's the base of all my program
i have to take a random number out of 2, 3, 5 and 7
how do i proceed ???

temp:=Random(2, 3, 5, 7);
doesn't seem to work

a type ??
TYPE
 Primes=(2, 3, 5, 7);
a get a message error asking for a type or something like that
"Identifier Expected"

tell me please
thanks a lot
 
0
Comment
Question by:Elvis1
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
5 Comments
 
LVL 101

Accepted Solution

by:
mlmcc earned 200 total points
ID: 9619469
I would generate a random number between 1-4 and use that as an index into an array with those values

type
     P_array =  array[1..4] of integer;

var
     Rand_Index  : integer;
     Primes : P_array;


begin
     Primes [1] := 2;
     Primes [2] := 3;
     Primes [3] := 5;
     Primes [4] := 7;

     randomize;
     Rand_index := 4*random +1;

     writeln (Primes[Rand_Index]);

end.

mlmcc
   
0
 
LVL 17

Expert Comment

by:Wim ten Brink
ID: 9620211
Good answer, mlmcc. However, I would suggest some minor alterations:

1) use an "P_array = array[0..3] of Integer;".
2) use "Rand_index := Random(4);"

And perhaps the Pascal version used can define arrays of constants like this:

const
  Primes : P_array = (2, 3, 5, 7);

Good answer, though. You deserve all credit in my opinion. ;-)
0
 
LVL 101

Expert Comment

by:mlmcc
ID: 9621731
Glad I could help


Alex:
I grew up with arrays being 1-based so I tend to keep them like that.

Does Random(4) give a number from 0 to 3.999999?

I don't think Pascal allows constant arrays but it might.  Been too long since I used them.

mlmcc
0
 
LVL 17

Expert Comment

by:Wim ten Brink
ID: 9627699
mlmcc:
I know, in Basic arrays used to be 1-based. However, when I learned Pascal a couple of decades ago I was told that arrays have user-definable upper and lower bounds. I do prefer to use 0-based arrays, though. Don't know why but it's just a preference...

Random(4) returns either 0, 1, 2 or 3. Nothing more, nothing less. At least in Turbo Pascal and Delphi.

I know Delphi allows constant arrays. I even use them quite often. I'm not sure but I think Turbo Pascal allows constant arrays too. But it's too long ago that I wrote my last TP application.
0
 
LVL 101

Expert Comment

by:mlmcc
ID: 9630911
Alex: In VB arrays are 0-based.  I learned in FORTRAN IV.  I used to teach Pascal and we generally used arrays as 1 based.  I know you can set the index to be anything (one of the features of Pascal I really like).

mlmcc

0

Featured Post

Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

It’s time for spooky stories and consuming way too much sugar, including the many treats we’ve whipped for you in the world of tech. Check it out!
Are you looking for the options available for exporting EDB files to PST? You may be confused as they are different in different Exchange versions. Here, I will discuss some options available.
Video by: ITPro.TV
In this episode Don builds upon the troubleshooting techniques by demonstrating how to properly monitor a vSphere deployment to detect problems before they occur. He begins the show using tools found within the vSphere suite as ends the show demonst…
In this video, Percona Director of Solution Engineering Jon Tobin discusses the function and features of Percona Server for MongoDB. How Percona can help Percona can help you determine if Percona Server for MongoDB is the right solution for …
Suggested Courses

604 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question