{"id":1869,"date":"2024-05-27T13:41:55","date_gmt":"2024-05-27T12:41:55","guid":{"rendered":"https:\/\/blog.univ-angers.fr\/mathsinfo\/?p=1869"},"modified":"2024-05-27T13:42:19","modified_gmt":"2024-05-27T12:42:19","slug":"prolog","status":"publish","type":"post","link":"https:\/\/blog.univ-angers.fr\/mathsinfo\/2024\/05\/27\/prolog\/","title":{"rendered":"PROLOG"},"content":{"rendered":"\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"D\u00e9couvrons et programmons : PROLOG\" width=\"584\" height=\"329\" src=\"https:\/\/www.youtube.com\/embed\/uJ7j8VwRsZI?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Tous les codes de la vid\u00e9o<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Les collectionneurs<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>possede(cret,calc(hp71b,1984)).\npossede(eric,ordi(zx81,1981)).\npossede(ledudu,ordi(c64,1982)).\npossede(eric,calc(hp41C,1979)).\npossede(nicole,calc(pb100,1983)).\npossede(audrey,ordi(apple2,1977)).\npossede(cret,ordi(c64,1982)).\npossede(ledudu,calc(ti57,1977)).\ncollection(P):-\n possede(P,ordi(_,_)),\n possede(P,calc(_,_)).\n\nannee(B,H,X):-\n    B &gt; H,\n    annee(H,B,X).\n\nannee(B,H,X):-\n    possede(_,calc(X,A)),\n    A =&lt; H,\n    A &gt;= B.\n\nannee(B,H,X):-\n    possede(_,ordi(X,A)),\n    A =&lt; H,\n    A &gt;= B. \n\n?- possede(P,ordi(_,1977)).\n?- possede(P,T).\n?- possede(_,calc(N,_)).\n?- possede(X,calc(_,T)),T&lt;1980.<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Nombre d&rsquo;or<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>Version 1 :\n\nnombreOr(N, R) :- fc(N, 1, R).\nfc(1, A, R) :- R = A.\nfc(N, A, R) :-\n    S is 1 + 1 \/ A,\n    N1 is N - 1,\n    fc(N1, S, R). \n\nVersion 2 :\n\nnombreOr(N, Num, Den) :- fc(N, 1, 1, Num, Den).\n\u00a0\nfc(1, Num, Den, Num, Den).\n\u00a0\nfc(N, NumP, DenP, Num, Den) :-\n    N1 is N - 1,\n    Num2 is NumP + DenP,\n    fc(N1, Num2, NumP, Num, Den).<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Taille d&rsquo;une liste<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>length(&#091;],0).\n\nlength(&#091;H|T],N):-\n    length(T,N1), N is N1+1. <\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Triplets pythagoriciens<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>Version 1 :\n\nvalide(A, B, C) :-\n    C2 is A*A + B*B,\n    C*C =:= C2.\n\ncherche(A, B, C, Max) :-\n    between(1, Max, A),\n    between(A, Max, B),\n    between(B, Max, C),\n    valide(A, B, C).\n\npythagore(Max, R) :-\n    findall((A,B,C), cherche(A, B, C, Max), R). \n\nVersion 2 :\n\nentre(B, H, B).\nentre(B, H, X) :-\n    B &lt; H,\n    B1 is B + 1,\n    entre(B1, H, X).\n\nvalide(A, B, C) :-\n    C2 is A*A + B*B,\n    C*C =:= C2.\n\ncherche(A, B, C, Max) :-\n    entre(1, Max, A),\n    entre(A, Max, B),\n    entre(B, Max, C),\n    valide(A, B, C).\n\npythagore(Max) :-\n    cherche(A, B, C, Max),\n    L = &#091;A,B,C],\n    write(L), nl,\n    fail.<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Syracuse<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>Version 1 :\n\nsyr(N):- syr(N,0,N).\nsyr(1,T,M):- write(T),nl,write(M).\nsyr(N,T,M):-\n T2 is T + 1,\n suiv(N,T2,M).\n\nsuiv(N,T,M):-\n 0 is N mod 2,\n N2 is N\/2,\n syr(N2,T,M).\n\nsuiv(N,T,M):-\n N2 is 3*N+1,\n maxisuiv(N2,T,M).\n\nmaxisuiv(N,T,M):- N &gt; M, syr(N,T,N).\nmaxisuiv(N,T,M):- syr(N,T,M). \n\nVersion 2 :\n\nsyr(N):- syr(N,0,N).\nsyr(1,T,M):- write(T),nl,write(M).\nsyr(N,T,M):-\n T2 is T + 1,\n suiv(N,N2),\n M2 is max(N,M),\n syr(N2,T2,M2).\n\nsuiv(N, N2):-\n 0 is N mod 2,\n N2 is N\/2,!.\n\nsuiv(N, 3 * N + 1).<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Tous les codes de la vid\u00e9o Les collectionneurs Nombre d&rsquo;or Taille d&rsquo;une liste Triplets pythagoriciens Syracuse<\/p>\n","protected":false},"author":4913,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1869","post","type-post","status-publish","format-standard","hentry","category-non-classe"],"_links":{"self":[{"href":"https:\/\/blog.univ-angers.fr\/mathsinfo\/wp-json\/wp\/v2\/posts\/1869","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.univ-angers.fr\/mathsinfo\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.univ-angers.fr\/mathsinfo\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.univ-angers.fr\/mathsinfo\/wp-json\/wp\/v2\/users\/4913"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.univ-angers.fr\/mathsinfo\/wp-json\/wp\/v2\/comments?post=1869"}],"version-history":[{"count":1,"href":"https:\/\/blog.univ-angers.fr\/mathsinfo\/wp-json\/wp\/v2\/posts\/1869\/revisions"}],"predecessor-version":[{"id":1870,"href":"https:\/\/blog.univ-angers.fr\/mathsinfo\/wp-json\/wp\/v2\/posts\/1869\/revisions\/1870"}],"wp:attachment":[{"href":"https:\/\/blog.univ-angers.fr\/mathsinfo\/wp-json\/wp\/v2\/media?parent=1869"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.univ-angers.fr\/mathsinfo\/wp-json\/wp\/v2\/categories?post=1869"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.univ-angers.fr\/mathsinfo\/wp-json\/wp\/v2\/tags?post=1869"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}