wklejamy.pl website for sale. You are interested in. Please contact. wklejamy@gmail.com

Click to buy coffe
avatar
Untitled

Guest 194 14th Mar, 2023

MARKUP 7.94 KB
                                           
                         (defun costam4 (w1 w2 w3) (definiujemy funkcje o nazwie costam4 z 3 zmiennymi w1 w2 w3)
(let (( i 0 ))   (ustawiamy dla zmiennej i wartość 0)
(do (( a w2 (incf a)) (rozpoczynamy pętlę, zwiększamy wartość a za każdym razem wykonania pętli o 1) a to jest wartość w2
)
	((> a w3) i) (sprawdzamy czy wartośca (a u nas W2) jest większa od w3 
	(if (= (rem a w1) 0) (incf i))) (sprawdzamy czy reszta z dzielenia jest równa 0 jeśli tak zwiększamy i
	)
	)
	)
PROGRAM za każdym wykonaniem pętli zwiększa wartość o 1 dla zmiennej W2, następnie dzieli ją przez 5 jeśli reszta z dzielenia jest 0 zwiększa i o 1. Program wykonuje się dopóki nasza Wartość W2 nie będzie większa niż W3 
Dla wartości (costam4 5 25 90) jest wynik 14
PONIEWAŻ reszta z dzielenia 5/25 = 0  (w naszym programie i+1)
PONIEWAŻ reszta z dzielenia 5/26 = 1 (w naszym programie i+0)
PONIEWAŻ reszta z dzielenia 5/27 = 2 (w naszym programie i+0)
PONIEWAŻ reszta z dzielenia 5/28 = 3 (w naszym programie i+0)
PONIEWAŻ reszta z dzielenia 5/29 = 4 (w naszym programie i+0)
PONIEWAŻ reszta z dzielenia 5/30 = 0 (w naszym programie i+1)
PONIEWAŻ reszta z dzielenia 5/31 = 1  (w naszym programie i+0)
PONIEWAŻ reszta z dzielenia 5/32 = 2 (w naszym programie i+0)
PONIEWAŻ reszta z dzielenia 5/33 = 3 (w naszym programie i+0)
PONIEWAŻ reszta z dzielenia 5/34 = 4 (w naszym programie i+0)
PONIEWAŻ reszta z dzielenia 5/35 = 0 (w naszym programie i+1)
PONIEWAŻ reszta z dzielenia 5/36 = 1 (w naszym programie i+0)
PONIEWAŻ reszta z dzielenia 5/37 = 2 (w naszym programie i+0)
PONIEWAŻ reszta z dzielenia 5/38 = 3 (w naszym programie i+0)
PONIEWAŻ reszta z dzielenia 5/39 = 4 (w naszym programie i+0)
PONIEWAŻ reszta z dzielenia 5/40 = 0 (w naszym programie i+1)
PONIEWAŻ reszta z dzielenia 5/41 = 1 (w naszym programie i+0)

i tak aż do osatniego 
PONIEWAŻ reszta z dzielenia 5/90 = 0 (w naszym programie i+1)  (WARTOŚĆ JEST RÓWNA ALE NIE WIĘKSZA OD W3)

(costam4 1 2 3)


(defun costam2 (w1 w2 w3) (definicja funkcji costam z 3 wartościami)
(let ((i 0)) (przypisujemy dla i wartość 0)
(do ((a w1 (incf a))  (rozpoczynamy pętle a to jest wartosć w1, za każdym razem gdy wywołamy pętle zwiększamy a o 1
)
((>a w2) i)   (jeśli a jest większe od w2 zwracamy i)
(if (= (mod a w3) 0) (incf i))) (jeśli a jest podzielne przez w3 z resztą zerą zwraca 0 jeśli nie zwiększa i o 1 
)
)

Dla (costam2 2 20 5) wynikiem będzie 4 
PONIEWAŻ SPRAWDZAMY czy a (u nas 2) jest większe od 20 jeśli tak to dzielimy  2/5 = dzielenie z resztą 0 jeśli nie zwiększa nasze A o 1 
PONIEWAŻ SPRAWDZAMY czy a (u nas 3) jest większe od 20 jeśli tak to dzielimy  3/5 = dzielenie z resztą 0 jeśli nie zwiększa nasze A o 1 
PONIEWAŻ SPRAWDZAMY czy a (u nas 4) jest większe od 20 jeśli tak to dzielimy  4/5 = dzielenie z resztą 0 jeśli nie zwiększa nasze A o 1 
PONIEWAŻ SPRAWDZAMY czy a (u nas 5) jest większe od 20 jeśli tak to dzielimy  5/5 = dzielenie z resztą 0 jeśli nie zwiększa nasze A o 1 jeśli tak zwiększa i o 1 
PONIEWAŻ SPRAWDZAMY czy a (u nas 6) jest większe od 20 jeśli tak to dzielimy  6/5 = dzielenie z resztą 0 jeśli nie zwiększa nasze A o 1 
PONIEWAŻ SPRAWDZAMY czy a (u nas 7) jest większe od 20 jeśli tak to dzielimy  7/5 = dzielenie z resztą 0 jeśli nie zwiększa nasze A o 1 
PONIEWAŻ SPRAWDZAMY czy a (u nas 8) jest większe od 20 jeśli tak to dzielimy  8/5 = dzielenie z resztą 0 jeśli nie zwiększa nasze A o 1 
PONIEWAŻ SPRAWDZAMY czy a (u nas 9) jest większe od 20 jeśli tak to dzielimy  9/5 = dzielenie z resztą 0 jeśli nie zwiększa nasze A o 1 
PONIEWAŻ SPRAWDZAMY czy a (u nas 10) jest większe od 20 jeśli tak to dzielimy  10/5 = dzielenie z resztą 0 jeśli nie zwiększa nasze A o 1 jeśli tak zwiększa i o 1 
PONIEWAŻ SPRAWDZAMY czy a (u nas 11) jest większe od 20 jeśli tak to dzielimy  11/5 = dzielenie z resztą 0 jeśli nie zwiększa nasze A o 1 
PONIEWAŻ SPRAWDZAMY czy a (u nas 12) jest większe od 20 jeśli tak to dzielimy  12/5 = dzielenie z resztą 0 jeśli nie zwiększa nasze A o 1 
PONIEWAŻ SPRAWDZAMY czy a (u nas 13) jest większe od 20 jeśli tak to dzielimy  13/5 = dzielenie z resztą 0 jeśli nie zwiększa nasze A o 1 
PONIEWAŻ SPRAWDZAMY czy a (u nas 14) jest większe od 20 jeśli tak to dzielimy  14/5 = dzielenie z resztą 0 jeśli nie zwiększa nasze A o 1 
PONIEWAŻ SPRAWDZAMY czy a (u nas 15) jest większe od 20 jeśli tak to dzielimy  15/5 = dzielenie z resztą 0 jeśli nie zwiększa nasze A o 1 jeśli tak zwiększa i o 1 
PONIEWAŻ SPRAWDZAMY czy a (u nas 16) jest większe od 20 jeśli tak to dzielimy  16/5 = dzielenie z resztą 0 jeśli nie zwiększa nasze A o 1 
PONIEWAŻ SPRAWDZAMY czy a (u nas 17) jest większe od 20 jeśli tak to dzielimy  17/5 = dzielenie z resztą 0 jeśli nie zwiększa nasze A o 1 
PONIEWAŻ SPRAWDZAMY czy a (u nas 18) jest większe od 20 jeśli tak to dzielimy  18/5 = dzielenie z resztą 0 jeśli nie zwiększa nasze A o 1 
PONIEWAŻ SPRAWDZAMY czy a (u nas 19) jest większe od 20 jeśli tak to dzielimy  19/5 = dzielenie z resztą 0 jeśli nie zwiększa nasze A o 1 
PONIEWAŻ SPRAWDZAMY czy a (u nas 20) jest większe od 20 jeśli tak to dzielimy  20/5 = dzielenie z resztą 0 jeśli nie zwiększa nasze A o 1 jeśli tak zwiększa i o 1 


(defun cosotam (a)  (definiujemy funkcję costam z wartością a)
(cond ((= a 0) 1) jeśli argument a jest równy 0 zwraca 1
(t (* a (costam (- a 1)))))) (funkcja mnoży wartość aktualną a o wartość a pomniejszoną o jeden) 

(costam 5) 
5 czyli nasze a nie jest zerem więc wykonuje dalszy etap funkcji
W dalszym etapie wartość aktualną A czyli nasze 5 mnoży przez wywołaną funkcję (costam a) ze zmniejszoną wartością a o 1
program wykonuje się dopóki wartość a nie będzie równa 0
Więc wynikiem tego programu będzie 5 * 4 * 3 * 2 * 1 = 120

cosrobi(Sum, Sum, 0 ). (definiujemy funkcję z 3 wartościami, ostatnia wartość ma przypisane już 0)
cosrobi(Sum, D1, D2) :- Sum > 0, Sum1 is Sum -1, cosrobi(Sum1, D1, D3), D2 is D3 +1.  (sprawdzamy czy Sum jest większe od 0, Wartość Sum1 jest to wartość SUM - 1, D2 jest to wartość D3 + 1
cosrobi(5, 2, X)
Sprawdzamy czy 5 jest większe od 0 TRUE
Sum1 to jest 5 - 1 czyli 4, następnie D1 przepisujemy czyli u nas ma wartość 2 , D2 to jest D3 + 1 (D3 ma przypisaną wartość początkową 0 w definicji funkcji) po przypisaniu ma 1
Sprawdzamy czy 4 jest większe od 0 TRUE
Sum1 to jest 4 - 1 czyli 3, następnie D1 przepisujemy czyli u nas ma wartość 2 , D2 to jest D3 + 1 (D3 ma przypisaną wartość wcześniej przypisaną 1 w definicji funkcji) po przypisaniu ma 2
Sprawdzamy czy 3 jest większe od 0 TRUE
Sum1 to jest 3 - 1 czyli 2, następnie D1 przepisujemy czyli u nas ma wartość 2 , D2 to jest D3 + 1 (D3 ma przypisaną wartość wcześniej przypisaną 2 w definicji funkcji) po przypisaniu ma 3
Sprawdzamy czy 2 jest większe od 0 TRUE
Sum1 to jest 2 - 1 czyli 1, następnie D1 przepisujemy czyli u nas ma wartość 2 , D2 to jest D3 + 1 (D3 ma przypisaną wartość wcześniej przypisaną 3 w definicji funkcji) po przypisaniu ma 4
Sprawdzamy czy 1 jest większe od 0 TRUE
Sum1 to jest 1 - 1 czyli 0, następnie D1 przepisujemy czyli u nas ma wartość 2 , D2 to jest D3 + 1 (D3 ma przypisaną wartość wcześniej przypisaną 3 w definicji funkcji) po przypisaniu ma 5
Sprawdzamy czy 0 jest większe od 0 FALSE Kończy działanie



auto(seat, 10, 45).
auto(skoda, 8, 30).
auto(opel, 5, 20).
auto(vw, 12, 50).
auto(toyota, 15, 150).

Wywołanie samochodów które mają w baku powyżej 5l i spalanie mniejsze niż 40 na 100km
auto(X,Y,Z), Y > 5, Z <40, write(X).
Zdefiniuj regułę która obliczy możliwoścprzejechania na jednym baku
regula:- auto(X,Y,Z), G is Z/Y, write(X), write(G).
                      
                                       
To share this paste please copy this url and send to your friends
RAW Paste Data
Recent Pastes
Ta strona używa plików cookie w celu usprawnienia i ułatwienia dostępu do serwisu oraz prowadzenia danych statystycznych. Dalsze korzystanie z tej witryny oznacza akceptację tego stanu rzeczy.
Wykorzystywanie plików Cookie
Jak wyłączyć cookies?
ROZUMIEM