pipu123
07-10-2016 23:28:46
Witam
Załączyłem zdjęcie przykładu.
https://megawrzuta.pl/download/ef3bb1ddc322c753821e0c35e3065ea8.html
Schemat blokowy algorytm sprawdzający, czy podana liczba jest liczbą pierwszą
(liczba pierwsza to taka liczba, która bez reszty dzieli się tylko przez samą siebie i przez 1)
Zacząłem analizować i nie zgadza mi się tok postępowania.
Funkcja trunc , http://4programmers.net/Delphi/Trunc
Zakładam że moja liczba A = 7.
P – zmienna pamiętająca, czy liczba była podzielona bez reszty.
Przykład : 4:2 , nie ma reszty więc P:=1 ,zgadza się ?
5:2 , jest reszta więc P:=0 ,zgadza się ?
Analiza schematu
1-- liczba A= 7 (na czerwono 1)
2-- (na czerwono 2 - NIE ) idziemy do punktu 3 , wybieramy NIE , przechodzimy do punktu 4.
Zakładamy P:=1 ( czyli dzielenie bez reszty np. 10:5 )
Punkt 5 , sprawdzamy trunc(7/2). Tu nie jestem pewien kiedy wybieramy TAK a kiedy NIE.
Przypuszczam że wybiorę TAK, ponieważ funkcja wg definicji obcina część ułamkową.
Przechodzę do punktu 6 , zakładam P:=0 ( jest reszta z dzielenia )
Punkt 7 I=2+1 ; I=3
Punkt 8; 3 <= sqrt(7) ; 3 <= 2,64 wynik: NIE , przechodzimy do
Punkt 9 [ P=1] , to jest fałsz , wynik NIE , przechodzimy do
Punkt 10 , wypisz „NIE”
Powinien być wynik „TAK”
Co jest błędnego w moim toku rozumowania ?
Proszę o podanie książek w której znajdują się przykłady schematów blokowych. Chciałbym poćwiczyć.
Z Góry Dziękuję