• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Logika, zagadka

VPS Starter Arubacloud
+1 głos
527 wizyt
pytanie zadane 7 maja 2019 w Matematyka, fizyka, logika przez ewamil Nowicjusz (130 p.)
edycja 7 maja 2019 przez ewamil
1. Na pewnej ulicy stoją dwa domy, jeden z nich jest czerwony, a drugi niebieski. W jednym domu mieszka Francuz, a w drugim Hiszpan. Jeden z nich ma psa, a drugi kota.

-Jeśli Hiszpan mieszka w pierwszym domu, to drugi dom jest niebieski.
-Francuz ma kota.
-Albo pierwszy dom jest niebieski, albo Francuz nie mieszka w pierwszym domu.
-Jesli kot mieszka w pierwszym domu, to pierwszy dom jest czerwony.

W którym domu mieszka Francuz?

Zamień podane zdania w wyrażenia logiczne i podaj rozwiązanie.

 

Nie wiem jak się za to zabrać, nie wiem, jak to przekształcić w wyrażenia logiczne, które potem będę rozwiązywać za pomocą tabeli prawdy
komentarz 7 maja 2019 przez kenjiro244 Dyskutant (8,600 p.)
Myśle że warto zacząć od poprawienia błędów :D
komentarz 7 maja 2019 przez ewamil Nowicjusz (130 p.)
przepraszam, mam niemiecką klawiaturę i czasami zapominam się. Już poprawiłam :)

3 odpowiedzi

+1 głos
odpowiedź 9 maja 2019 przez k222 Nałogowiec (30,150 p.)
Generalnie ważne jest, aby połączyć fakty i odpowiednio zaprzeczyć każde twierdzenie:

x w I domu mieszka Hiszpan (Francuz mieszka w II domu)
~x  I domu mieszka Francuz (Hiszpan mieszka w II domu)

y I dom jest niebieski (drugi jest czerwony)
~y I dom jest czerwony (drugi jest niebieski)

z kot mieszka w I domu (a pies w II)
~z pies mieszka w I domu

I teraz zdania:
Jeśli Hiszpan mieszka w pierwszym domu, to drugi dom jest niebieski.
x => ~y

Francuz ma kota (czyli kot i Francuz mieszkają w jednym domu)
x && ~z || ~x && z (&& -  koniunkcja, || - alternatywa)
(pomyśl czy można zapisać ten warunek jako po prostu x && ~z)

...

Dwa pozostałe wymyśl sam, poza tym prawa logiki, de Morgana, trzeba poprzekształcać i ładnie powinno wyjść
0 głosów
odpowiedź 10 maja 2019 przez Mateo13 Bywalec (2,360 p.)
edycja 10 maja 2019 przez Mateo13
EDITED

ja użyłem takiego psudokodu:

FR = kot, ES= pies

bo "Francuz ma kota"

następnie mamy :

2 instrukcje warunkowe:

IF ( ES && HOME1 ) HOME2 = blue

IF ( FR && HOME1 ) HOME1 = red

1 logiczne OR

HOME1 = blue || FR && HOME2

----------------------------------------------------------------------------------------------------

i teraz jesli FR && HOME2 miało być true to :

IF ( FR && HOME1 ) HOME1 = red - będzie false bo FR && HOME2 nie spełnia warunku w if

IF ( ES && HOME1 ) HOME2 = blue - ES && HOME1 daje true więc HOME2 = blue a HOME1 = red
 

i teraz jesli HOME1 = blue miało być true to :

IF ( FR && HOME1 ) HOME1 = red - będzie false

IF ( ES && HOME1 ) HOME2 = blue - też będzie false

czyli ani francuz ani hiszpan nie mogli by mieszkać w 1 domu, imo 0 logiki
komentarz 10 maja 2019 przez k222 Nałogowiec (30,150 p.)
Jak dla mnie to jest strasznie skomplikowany zapis jak na takie zadanko. No ale jak wolisz.

Btw. mi wyszła sensowna odpowiedź - Hiszpan z kotem mieszka w pierwszym, czerwonym domu, a Francuz z psem w drugim, niebieskim
komentarz 10 maja 2019 przez Mateo13 Bywalec (2,360 p.)
edycja 10 maja 2019 przez Mateo13
Ale co konkretnie jest skomplikowane, w zadaniu pisze Zamień podane zdania w wyrażenia logiczne.

W zadaniu masz napisane 'Francuz ma kota' a twoja odpowiedź to 'Francuz z psem w drugim, niebieskim', wtf?
komentarz 10 maja 2019 przez k222 Nałogowiec (30,150 p.)

Hiszpan z psem mieszka w pierwszym, czerwonym domu, a Francuz z kotem w drugim, niebieskim

 

Fakt, mój błąd. Ale tą metodą da się to chociaż rozwiązać, a twoją wychodzi sprzeczność, więc może "niepoprawna" to lepsze stwierdzenie niż "skomplikowana"  wink

komentarz 10 maja 2019 przez Mateo13 Bywalec (2,360 p.)
już zedytowałem i też wychodzi true dla FR && HOME2 i IF ( ES && HOME1 ) HOME2 = blue - ES && HOME1 daje true więc HOME2 = blue a HOME1 = red

to było potchwitliwe bo jeśli statement ( FR && HOME1 ) daje true to HOME1 = red a ten statement daje false a dalej HOME1 = red bo ten statement się skipuje przecież

zrobiłem 1 błąd
0 głosów
odpowiedź 10 maja 2019 przez jankustosz1 Nałogowiec (35,880 p.)

Moim zdaniem najprościej jest zrobić z tego drzewo. I rozgałęzienia przy każdym przypadku. Jeżeli dany przypadek nie jest prawdziwy to wcześniej czy później jakieś stwierdzenie powinno być sprzeczne

Akurat w tym przypadku, było tylko jedno rozgałęzienie i trochę słabo to widać, bo reszta stwierdzeń była do zaprzeczenia konkretnych odnóg.

komentarz 10 maja 2019 przez Mateo13 Bywalec (2,360 p.)
"Jesli kot mieszka w pierwszym domu, to pierwszy dom jest czerwony"

Kot mieszka w 2 domu a pierwszy dom i tak jest czerwony?

Rozumiem że jeśli statement "Jesli kot mieszka w pierwszym domu" jest false to kod po jego prawej stronie się nie eval-uje ale dalej może być true?

Bo jeśli tak to rzeczywiście jest to prawidłowe rozwiązanie
komentarz 11 maja 2019 przez jankustosz1 Nałogowiec (35,880 p.)
Kot mieszka w pierwszym domu, a pierwszy dom jest niebieski zamiast czerwonego, dlatego ten statement jest false.

Podobne pytania

0 głosów
1 odpowiedź 168 wizyt
pytanie zadane 29 lipca 2022 w Matematyka, fizyka, logika przez YNK3 Nowicjusz (120 p.)
+9 głosów
1 odpowiedź 457 wizyt
pytanie zadane 6 października 2019 w Nasze projekty przez Leaf Początkujący (280 p.)
0 głosów
0 odpowiedzi 1,424 wizyt

92,454 zapytań

141,262 odpowiedzi

319,091 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...