[Pascal] Losowanie liczb z przedziału


(Vion91) #1

Witam

Mam napisać program które będzie losował liczbę z przedziału (m,n). Napisałem program, ale raz losuje liczbę z przedziału a raz z poza przedziału. Co jest nie tak?

program zadanie_domowe2;

uses crt;

var

   m,x,n:integer;

begin

   clrscr;

   randomize;

   writeln('Podaj poczatek przedzialu');

   readln(m);

   writeln('Podaj koniec przedzialu');

   readln(n);

   x:=random(n)+m;

   writeln(x);

   readln();

end.

(Quigonmaster) #2
program zadanie_domowe2;

uses crt;

var

   m,x,n:integer;

begin

   clrscr;

   randomize;

   writeln('Podaj poczatek przedzialu');

   readln(m);

   writeln('Podaj koniec przedzialu');

   readln(n);

   x:=random(n-m)+m;

   writeln(x);

   readln;

end.

(Rycho 92) #3

trochę inny, z zastosowaniem pętli repeat until

program zadanie_domowe2;

uses crt;

var

	m,x,n:integer;

begin

	clrscr;

	randomize;

	writeln('Podaj poczatek przedzialu');

	readln(m);

	writeln('Podaj koniec przedzialu');

	readln(n);

	repeat

		x:=random(n)+m;

	until (x>=m) and (x<=n);

	writeln(x);

	readln;

end.

(klemensior15) #4

Zależy jeszcze co chce osiągnąć autor czy ma tylko raz losować czy wiele razy, można to też zrobić w pętli for z początkiem i końcem pętli w n i m.


(Simplex111) #5

Jak wiadomo w matematyce mamy przedziały otwarte (m, n) lub domknięte

x:= Random(n-m-1)+m+1; dla (m, n) 

x:= Random(n-m)+m; dla 
x:= Random(n-m)+m+1; dla (m, n> 

x:= Random(n-m+1)+m; dla

A Ciebie jaki przedział interesuje? :slight_smile:


(Vion91) #6

Zamknięty


(Simplex111) #7

Odzywam się jeszcze, bo odpowiedziałeś dwuznacznie na moje niefortunne pytanie :wink:

Zapomniałem dodać, abyś wybrał sobie (i zastosował w programie) jeden przedział z czterech podanych przeze mnie, który pasuje do treści zadania

Zamknięty: wnioskuję, że chodzi Ci o ten ostatni, czyli obustronnie do**** mknięty

Zamknięty może również sugerować "zamknięty wątek", ale o tym to chyba już nie nam decydować :slight_smile:


(Vion91) #8

chodziło mi o zamknięty przedział :slight_smile: