Program w pascalu

eee1986

Nowicjusz
Dołączył
27 Styczeń 2006
Posty
23
Punkty reakcji
0
Wiek
37
Mam do napisania program ale nie wiem jak zapisać niektóre jego części. Więc bardzo proszę o napisanie jak ten program powinien wygladać:

Program losuje liczbę z zakresu od 10 do 80. Zadaniem użytkownika jest odgadnięcie wylosowanej liczby. program powinien naprowadzać użytkownika (pokazując po kazdej nieudanej próbie) przedział, w jakim znajduje się wylosowana liczba. po odgadnięciu liczby program wyświetla ilość prób, oraz pyta czy losować kolejną liczbę.


Program powinien wygladac mniej więcej tak:
(program wylosował liczbę 30)
Podaj liczbę z zakresu 10-80
70
Nie zgadłeś. szukana liczba znajduje się w przedziale 1-69. podaj inną liczbę.
20
Nie zgadłeś. szukana liczba znajduje się w przedziale 21-69. podaj inną liczbę.
30
Brawo, odgadłeś po 3 próbach. czy chcesz zgadywać kolejną liczbę(t/n)?
 

Satay

Nowicjusz
Dołączył
2 Lipiec 2006
Posty
104
Punkty reakcji
0
Wiek
39
Miasto
Sosnowiec
Program Toto_Lotek;

var a, b, min, max : integer;

begin

a:=random(70)+10;
b:=a+1;

while a<>b do
begin
min:=random(a);
max:=a+random(a);
write('Podaj liczbe z zakresu ', min, ' - ', max, ' : ');
readln(b);

if a==b then
writeln('Udało Ci się')
else
writeln('Nie udało Ci się...');
end;

end.


Pisałem to bez debugowania, więc mogą być jakieś problemy... ale mniej więcej tak to powinno chyba wyglądać ;)
 

hipekk

Nowicjusz
Dołączył
30 Grudzień 2005
Posty
447
Punkty reakcji
2
Wiek
36
Miasto
Lublin
A jak mają być wyznaczane te przedziały do podowiedzi, bo tego nie rozumiem? Np. "Nie zgadłeś. szukana liczba znajduje się w przedziale 21-69. podaj inną liczbę." czymu a kurat 21- 69 ?
 

Satay

Nowicjusz
Dołączył
2 Lipiec 2006
Posty
104
Punkty reakcji
0
Wiek
39
Miasto
Sosnowiec
Przedziały pewnie mają być losowe, lecz takie, które zawierają w sobie szukaną liczbę ;)
 

eee1986

Nowicjusz
Dołączył
27 Styczeń 2006
Posty
23
Punkty reakcji
0
Wiek
37
Tak dokładnie mają być losowe. Dzięki za pomoc, co prawda nie do końca tak to ma wyglądać, ale to co chciałam wiedzieć to się dowiedziałam :p Jeszcze raz thx :D
 

eee1986

Nowicjusz
Dołączył
27 Styczeń 2006
Posty
23
Punkty reakcji
0
Wiek
37
jeszcze jedno pytanko jak to zrobić z tym że jak się na końcu wpisze "t" to żeby powtórzyło wszystko, bo nie bardzo wiem jak to zapisać. Bardzo proszę o szybką odpowiedz
 

hipekk

Nowicjusz
Dołączył
30 Grudzień 2005
Posty
447
Punkty reakcji
2
Wiek
36
Miasto
Lublin
Ja proponuje tak (przepraszam jeśli źle napisze ale już trochę późno i moge nie myślec ;) )

Deklarujesz w zmiennych jakąś dodatkową zmienną np:
var
D:char;


BEGIN
REPEAT
begin
[tutaj cały program wklejamy]
read(D);
end;
UNTIL D<>"t"
END.

Program zakończy dziłanie jeżeli nasiśniessz coś innego niż "t".
 
Do góry