[pascali nie tylko] pętla while i repeat

0

mam takie zadanie do którego trzeba ułożyć listę kroków:

Algorytm realizujący zabawę w zgadywanie liczby. Wybierzmy zakres: od 0 do 100, komputer losuje liczbę z tego zakresu (trzeba użyć funkcji losowa(n) zwracającej pseudolosową liczbę z przedziału 0 - n-1), a my ją mamy odgadnąć, otrzymując tylko informacje, czy podana liczba jest za mała, czy też za duża. Po wczytaniu liczby algorytm ma więc do wyboru trzy możliwości: trafiona, za mała, za duża.
Na koniec ma byc informacja o ilości prob

Problem jest w tym czy pętla ze sprawdzaniem warunku na początku czy na końcu?
Czyli która wersja jest poprawna z poniższych, proszę o jakieś krótkie uzasadnienie:

  1. zaczxnij algorytm

  2. losuj n z przedziału (0,101)

3.licznik l:=1

3.podaj typowaną liczbe s

4.Dopóki s<>n wykonuj

jeśli s>n pisz za duza w przeciwnym razie pisz za mala

podaj nowa liczbe s

l:=l+1;

5.wypisz s

6.wypisz l

7.zakoncz algorytm

lub

  1. Start

  2. zainicjuj generator liczb losowych (randomize)

  3. licznik := 0

  4. zgadnij := 0

  5. liczbalosowa:=losowa(101);

  6. wczytaj liczbę od użytkownika i przypisz ja do zgadnij

  7. POWTARZAJ

7.1. jesli zgadnij > liczbalosowa wtedy pisznaekran - zaduza

7.2 jesli zgadnij < liczbalosowa wtedy pisznaekran - zamała

7.3 zwiększ licznik

7.4 DOPÓKI zgadnij=liczbalosowa

8.pisznaekran zgadłes

  1. pisznaekran "zgadłes w nastepujacej ilosci prob : " licznik

Jauważam że można do tego zadania zastosować obie, przy czym pierwsza wydaje mi się poprawna a czy w drugiej wczytywanie liczby nie powinno w pętli a nie przed nią?

0

2 algorytm jest poprawny.
Wczytywana liczba powinna być w pętli, ponieważ jeśli nie trafimy daje nam to możliwość wytypowania kolejnej i spr. jej trafności.

0

Dziękuje za pomoc, ale troszkę nie rozumiem, Piszesz że drugi jest poprawny a to zdanie niżej dotyczy nie drugiego właśnie? Czyli jest poprawny poza tym że wczytywanie liczby powinno być w pętli tak?
A co z piwerszym, też jest ok?
Mogę zastosować oba do takiego zadania?

0

Nie ma sensu stosowania obu. Do zadania wystarczy schemat 2 - uwzględniając pętle, która będzię wykonywalna do chwili odgadnięcia liczby i zamiast zwiększać licznik, wprowadź zadaną przez siebie liczbę.

1 użytkowników online, w tym zalogowanych: 0, gości: 1