Please help me!!!!

Posted on

Modififikasi program “Tebak Angka” di bawah ini agar menghasilkan output sesuai dengan deskripsi sebagai berikut:
a. Komputer menentukan suatu bilangan integer secara random antara 1 sampai 100, kemudian komputer meminta anda menebaknya.
b. Jika tebakan anda benar dalam satu kali tebak, komputer memberikan informasi “Anda benar, hanya dalam satu kali tebak”.
c. Jika tebakan anda lebih kecil dari bilangan yang ditetapkan komputer, komputer memberikan informasi “Tebakan anda kerendahan, tinggikan tebakan selanjutnya”, jika sebaliknya komputer akan memberikan informasi “Tebakan anda ketinggian, rendahkankan tebakan selanjutnya”, demikian seterusnya sampai anda menemukan tebakan yang tepat; akhirnya komputer memberikan informasi “Anda benar, dalam N kali tebak (N adalah jumlah tebakan yang anda lakukan hingga menemukan bilangan yang tepat).
Program Tebak_Angka;
uses wincrt;
var Bil,Tebak : integer;
begin
Bil := 5;
writeln('Tebak angka antara 1 dan 10'); readln(Tebak);
if Bil = Tebak then
writeln('Tebakan anda benar')
else writeln('Tebakan anda salah')
end.

Untuk memunculkan bilangan random antara 1 sampai dengan 100 dapat digunakan statemen:
randomized;
Bil := random(100);

Please help me!!!!

Jawaban Terkonfirmasi

Bismillah, udah lama nih ga mainan Pascal.. btw compilernya udah ga ada, jadi maaf tak koreksi di komentar kalau error.

Program Tebak_Angka;
uses wincrt;
var Bil,Tebak,jum : integer;
label tutup, retry;
begin
jum:=0;
Bil := random(100);
writeln('Tebak angka antara 1 dan 10'); readln(Tebak);
:retry
if tebak>bil then
writeln('
Tebakan anda ketinggian, rendahkankan tebakan selanjutnya');
inc(jum);
goto retry;
 end if
if tebak<bil then
 writeln('Tebakan anda kerendahan, tinggikan tebakan selanjutnya');
inc(jum);
goto retry;
end if 
if tebak=bil then
   writeln('tebakan anda benar')
inc(jum); 
goto tutup;
  end if

:tutup
write ('');
write('Selamat, anda berhasil dengan menebak sebanyak : '); write(jum)

end.

/ itu perintah inc() gunanya untuk menambah satu suatu integer (increase)
ya logikanya seperti itu, tetapi silahkan untuk mengembangkanya 🙂
semoga membantu

Semoga ga error,, kalo error koment saja yahh, soal nya belum tak compile

Program Tebak_Angka;
uses wincrt;
var Bil,Tebak, jml : integer;

begin
    Bil := random(100);
    jml := 0;
    do{
        writeln('Tebak angka antara 1 dan 100'); readln(Tebak);
        if (Bil = Tebak) AND (jml = 1) then 
            writeln('Anda benar, hanya dalam satu kali tebak') 
        else if Tebak < Bil then 
            writeln('
Tebakan anda kerendahan, tinggikan tebakan selanjutnya') 
        else 
            writeln('Tebakan anda ketinggian, rendahkankan tebakan selanjutnya'); 
        jml = jml + 1;
    } while (Bil = Tebak);
    
    writeln('Anda benar, dalam ', jml ,' kali tebak ');
end.