Loginių užduočių sprendimas pagal metodą.

Loginių užduočių sprendimas pagal metodą.

Klausimas: kelionėje, penki draugai - Antonas, Boris, Vadimas, Dima ir Grisha - susipažino su kolegomis keliautoju. Jie pasiūlė jai atspėti savo vardus, ir kiekvienas iš jų išreiškė vieną teisingą ir vieną klaidingą pareiškimą: Dima: "Mano pavardė" Mishin "ir vardas Boris - Khokhlovas." Antonas: "Mishin yra mano pavardė ir pavardė Vadima - Belkin." Boris: "Vadimas - Tikhonovas, ir mano pavardė yra" Mishin ". Vadimas: "Aš esu Belkin ir vardas Grisha - Chekhov." Grisha: "Taip, mano pavardė Čekovo ir Anton - Tikhonov." Kas turi kokią pavardė? Išspręskite užduotį, sukūrimą ir konvertuoti loginę išraišką:

Kelionės penkis draugus - Anton, Borisas, Vadimas, Dima ir Grish - susipažino su kolegomis keliautoju. Jie pasiūlė jai atspėti savo vardus, ir kiekvienas iš jų išreiškė vieną teisingą ir vieną klaidingą pareiškimą: Dima: "Mano pavardė" Mishin "ir vardas Boris - Khokhlovas." Antonas: "Mishin yra mano pavardė ir pavardė Vadima - Belkin." Boris: "Vadimas - Tikhonovas, ir mano pavardė yra" Mishin ". Vadimas: "Aš esu Belkin ir vardas Grisha - Chekhov." Grisha: "Taip, mano pavardė Čekovo ir Anton - Tikhonov." Kas turi kokią pavardė? Išspręskite užduotį, sukūrimą ir konvertuoti loginę išraišką:

Atsakymai:

Sprendimas. Mes žymi išsakymo formą "Jaunas vyras, pavadintas" A "vadinamas B" kaip AB, kur A ir B raidės atitinka pradinius vardo ir pavardės raides. Nustatykite kiekvieno draugų pareiškimus: DM ir BC; AM ir WB; W ir bm; WB ir GC; Gc ir ne. Tarkime, pirma, kad tikrai dm. Tačiau, jei tikrai dm, tada anton ir borisas turi kitų vardų, tai reiškia, kad esu ir Bm False. Bet jei esu ir BM yra klaidingi, tada turėtų būti tikra WB ir W, bet WB ir WT tuo pačiu metu yra tiesa. Todėl dar vienas atvejis lieka: TRUE BH. Šis atvejis veda į išvadų grandinę: BH tikrai Bm False Tue True False GC True WB yra klaidingas esu tiesa. Atsakymas: Borisas - Khokhlovas, Vadimas - Tikhonovas, Grisha - Čekovas, Anton - Mishin, Dima - Belkin.

Panašūs klausimai

  • suteikite 3 mėginių pavadinimus nuo sėjos pusių su mažėjančiu šimtu
  • kompiuterių 2 pasiūlymai, kad pirmuoju atveju dalyvavimo apyvarta stovėjo prieš žodžio apibrėžtą žodį ir antrą kartą po galutinio žodžio. Paaiškinkite skyrybos ženklų suderinimą šiais pasiūlymais.
  • Nuspręskite prašome .... plonas spiralės pavasaris, už kurį įstatymas yra teisingas., Sustabdytas vertikaliai fiksuotoje paramos, tęsiasi pagal jėgas 160n 72 mm. Pavasarį jie jaučiasi papildomai jėga 120n. Tiesioginis spiralinės pratęsimas.
  • dėl puokštės, baltos ir raudonos rožės yra pasirinktos 2: 3 santykis. Raskite baltų rožių skaičiaus santykį su viso rožių skaičiaus puokštėje

Klausimas: kelionėje, penki draugai - Antonas, Borisas, Vadimas, Dima ir Grishas susipažino su savo kolegomis keliautoju


Gerbiami forumo nariai, prašau pagalbos sprendžiant užduotį prologui)))

Kelionės metu penki draugai - Anton, Borisas, Vadimas, Dima ir Grishas susipažino su kolegomis keliautoju. Jie pasiūlė jai atspėti savo vardus, ir kiekvienas iš jų išreiškė vieną teisingą ir vieną klaidingą pareiškimą:
Dima sakė: "Mano pavardė yra Mishin ir Boriso pavardė - Khokhlovas." Antonas sakė: "Mishin yra mano pavardė ir pavardė Vadima - Belkin." Borisas sakė: "Pavardė Vadima - Tikhonovas ir mano pavardė - Mishin." Vadimas sakė: "Mano pavardė - Belkin ir vardas Grish - Chekhov." Grisha sakė: "Taip, mano pavardė Chekhov ir Anton - Tikhonovo vardas."
Kokia pavardė yra kiekvienas draugas?

Labai ačiū už suteiktą pagalbą !!!

Atsakymas: Patikrinkite internetu

Klausimas: programa sprendžiant Olympiad užduotį VASI už metro kelionės bilietą


Berniukas Vasya eina kiekvieną dieną metro. Ryte jis važiuoja mokykloje, o tą pačią dieną vakare grįžo iš mokyklos. Norint sutaupyti šiek tiek, ji perka elektroninę "Smart" kortelę x kelionėms. Kai jis nori eiti į metro, jis kreipiasi į turniketą. Jei žemėlapyje išliko ne nulinis kelionių skaičius, tada turniketas praleidžia Vasya ir rašo iš kortelės vienos kelionės. Jei žemėlapyje nėra kelionių, turniketas nepraleidžia Vasya, ir jis (Vasya) yra priverstas pirkti naują žemėlapį toje pačioje kortelėje toje pačioje stotyje ir eiti per turniketą.
Vasya pastebėjo, kad dėl to, kad metro buvo užpildytas ryte, pirkti naują kortelę ryte laiku, ir jis gali būti vėlyvas mokyklai. Šiuo atžvilgiu jis nori suprasti, ar ten bus tokia diena, kad ryte, vaikščioti į mokyklą, paaiškėja, kad jis turi nulines keliones.
Vasya nesikreipia niekur kitur metro ir todėl patenka į metro tik stotyje šalia namo ir stoties šalia mokyklos.
Įvesties duomenys
Įvesties failo įvedimas.txt yra tiksliai 2 eilutės. Pirmajame yra žodis "mokykla" arba "Namai", priklausomai nuo to, kur pirmą kartą Vasya nusipirko kortelę apie x keliones. Antroje eilutėje yra natūralus x, 1 ≤ x ≤ 1000.
Produkcija
Išvesties failo išėjimas.txt, turėtumėte atsiimti "Taip", jei yra diena, kad ryte, VASI ant kortelės bus nulinės kelionės ir "ne" kitaip.
Pavyzdžiai. \\ T
Input.txt išėjimas.txt.
1 Namai.
1 Taip
2 mokykla
2 Ne.

Atsakymas: Labai kvaila užduotis. Ežys yra aišku, kad savarankiškai kelionių ar keista, ji vis dar yra su dviem kortelėmis. Ir visa užduotis sumažinama iki vienos primityvios sąlygos.

Klausimas: nustatykite, kuris minimalus kelionės į liftą bus reikalaujama pakelti visą įrangą


KG (A, B, C) yra 3 buitinių prietaisų svoriai. Nustatykite, kuris minimalus kelionių skaičius lifte su N KG nešiojančia talpa bus reikalinga norint padidinti visą techniką. Padėk man, prašau.

Atsakymas: INP_W gali būti lengvai sumažinamas iki parametro:

Pascal kodas
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 Procedūra INP_W (Q: String; Var X: Dvigubas); Pradėkite pakartoti rašyti (Q, \u003d "); Readln (x); Jei X.<= 0 then WriteLn (q, "Turi būti daugiau nulio, pakartokite įvestį.") Iki x\u003e 0 pabaigos; Cont M \u003d. "Buitinio prietaiso masė"; G \u003d. "Pakelkite liftą"; Var a, b, c, n: realus; pradėti INP_W (M + "A", A); INP_W (M + "B", B); INP_W (M + "C", C); INP_W (G, N); Jei (a\u003e n) arba (b\u003e n) arba (c\u003e n), tada rašykite ( "Visi buitiniai prietaisai negali būti transportuojami pagal šį liftą."Kitaip, jei a + b + c<= n then Write ("Jums reikės 1 kelionės."Kitaip, jei (a + b<= n) or (a + c <= n) or (b + c <= n) then Write ("Reikalinga 2 keliones."Kitaip rašyti ( "Sukurkite 3 keliones".); Readln pabaiga.

Klausimas: kelionės išlaidų skaičiavimas automobiliu į šalį


2. Padarykite programą, skirtą skaičiuoti kelionės išlaidas automobiliu į kotedžą (ten ir atgal). Šaltinių duomenys: Atstumas iki kotedžo (kilometrais); Benzino kiekis, kuris sunaudoja automobilį už 100 km važiavimo; Vienos litro benzino kaina. Žemiau yra rekomenduojamas dialogo tipas programos metu. Vartotojo įvesti duomenys yra paryškinti paryškintu.
Skaičiuojant kelionės į šalį.
Atstumas iki Dacha (km) - 67
Benzino suvartojimas (L už 100 km) - 8.5
Litrų benzino kaina (patrinti) - 23,7
Kelionė į kotedžą kainuos 269 rubliai. 94 kapeikai.


Kaip tai padaryti?

Atsakymas: Pirma, su įvesties duomenimis kainuos 134 p. 97 k., Antra

C ++.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Int Pagrindinis () (dvigubas km, r, p; int itog; cout;<< "Atstumas iki kotedžo (km) -"; Cin \u003e\u003e km; Cout.<< "Benzino suvartojimas (L už 100 km) -"; Cin\u003e R; Cout.<< "Litų benzino kaina (patrinti.) -"; Cin \u003e\u003e P; ITog \u003d grindys ((km / 100 * r * p) * 100); Cout.<< "Kelionė į kotedžą kainuos" << itog / 100 << " руб. " << itog % 100 << " коп." ; return 0 ; }

Apskaičiuokite benzino kainą, reikalingą keliauti į šalį, jei kelias yra žinomas, kuro sąnaudos yra 100 km ir litrų kuro kaina.
Sukurkite 1 paveiksle nurodytos formos formą.

1 pav
Apskaičiuoti benzino sąnaudas Įgyvendinimo skyriuje, parašykite funkcijų kainą.
Aprašymo mygtuką parašykite paspaudimo tvarkyklę. Lblmessage etiketėje turi būti suformuotas pranešimas apie benzino vertę. Būtinai išspręskite naudodami funkciją!

Atsakymas: Kodas:

DELPHI.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 Vieneto pagrindas; Sąsaja naudoja langus, pranešimus, sysutilus, variantus, klases, grafiką, valdiklius, formas, dialogus, mygtukus, stdctrls; Tipas TFFORM1 \u003d klasė (TFF) etiketė1: Tlabel; Edway: Tedit; Label2: Tlabel; Edfuel: Tedit; Label3: Tlabel; Edcost: Tedit; BTNRUN: TBUTTON; Bitbtn1: Tabbttn; Lblmessage: tlabel; PROCEDŪRA BTNRUNCLICK (Siuntėjas: Togject); Procedūra Bitbtn1Click (Siuntėjas: Togject); Privatūs (viešosios deklaracijos); Var forma1: tform1; Įgyvendinimas ($ R * .DFM) Funkcijos kaina (būdas, kuras, kaina: pratęsta): išplėsta; Pradėti rezultatas: \u003d (būdas / 100) * kuro * kaina; galas; Tvarka TFORM1. BtnRunclick (Siuntėjas: Togject); Var eway, Efuelis, Ekost: pratęstas; Pradėkite pabandyti eway: \u003d strtofloat (redway. Tekstas); Išskyrus showmessage ( "" Km km "turi būti numeris!"); išeiti; galas; Jei eway.<= 0 then begin showmessage("Km km" turėtų būti daugiau nei 0! "); išeiti; galas; Pabandykite Efuel: \u003d strtofloat (Edfuel. Tekstas); Išskyrus showmessage ( "Kuro sąnaudos už 100 km litrų" turi būti numeris! "); išeiti; galas; Jei efuel<= 0 then begin showmessage("" Kuro sąnaudos už 100 km litrų "turėtų būti daugiau nei 0!"); išeiti; galas; Pabandykite ECost: \u003d strtofloat (Edcost. Tekstas); Išskyrus showmessage ( "" Litų kaina "turėtų būti numeris!"); išeiti; galas; Jei ekostinė.<= 0 then begin showmessage("" Litrų kaina "turėtų būti didesnis nei 0!"); išeiti; galas; lblmessage. Antraštė: \u003d. "Benzino kaina, reikalinga kelionei į šalį:"+ Floattotr (kaina (Eway, Efuel, ECost)); galas; Tvarka TFORM1. Bitbtn1Click (Siuntėjas: pakyla); Pradėti uždaryti; galas; galas.

Pridėti projektas. \\ T ant Delphi.

Šis metodas paprastai išsprendžia paprastas logines užduotis.

6 pavyzdys. Vadimas, Sergejus ir Michailas mokosi įvairių užsienio kalbų: kinų, japonų ir arabų. Kalbant apie tai, kokia kalba mokosi kiekvienas iš jų, vienas atsakė: "Vadimo studijos kinų, Sergejus ne mokosi kinų, ir Michailas netirto arabų." Vėliau paaiškėjo, kad už tai atsakingas tik vienas pareiškimas, o kiti du yra klaidingi. Kokia kalba mokosi kiekvienam jaunimui?

Sprendimas Šis sprendimas. Yra trys teiginiai:

  1. Vadimo tyrimai kinų kalba;
  2. Sergejus mokosi kinų;
  3. Michailas mokosi arabų.

Jei pirmasis teiginys yra teisingas, antrasis ir antrasis, nes jauni vyrai mokosi skirtingų kalbų. Tai prieštarauja užduoties sąlygoms, todėl pirmasis teiginys yra klaidingas.

Jei antrasis pareiškimas yra teisingas, tada pirmasis ir trečias turi būti klaidingas. Pasirodo, kad niekas tyrinėja kinų. Tai prieštarauja sąlygai, todėl antrasis pareiškimas taip pat yra klaidingas.

Atsakymas: Sergejus studijos kinų, Michailas - japonų, Vadimas - arabų.

7 pavyzdys. Kelionės metu penki draugai - Anton, Borisas, Vadimas, Dima ir Grishas susipažino su kolegomis keliautoju. Jie pasiūlė jai atspėti savo vardus, ir kiekvienas iš jų išreiškė vieną teisingą ir vieną klaidingą pareiškimą:

Dima sakė: "Mano pavardė yra Mishin ir Boriso pavardė - Khokhlovas." Antonas sakė: "Mishin yra mano pavardė ir pavardė Vadima - Belkin." Borisas sakė: "Pavardė Vadima - Tikhonovas ir mano pavardė - Mishin." Vadimas sakė: "Mano pavardė - Belkin ir vardas Grish - Chekhov." Grisha sakė: "Taip, mano pavardė Chekhov ir Anton - Tikhonovo vardas."

Kokia pavardė yra kiekvienas draugas?

Sprendimas. Mes žymi tikrą formą "Jaunas vyras, pavadintas" A "pavadintas B" kaip B, kur A ir B raidės atitinka pradinius vardo ir pavardės raides.

Nustatykite kiekvieno draugo pareiškimus:

  1. D m ir b x;
  2. Ir m ir b;
  3. T ir b m;
  4. B ir G H;
  5. G h ir a

Tarkime, pirmiausia, kad iš tiesų D M. Bet jei tikrai D M, tada Anton ir Borisas turi kitų vardų, tai reiškia, kad M ir B klaidingai. Bet jei m ir m yra klaidinga, tada turi būti tiesa B ir t, bet b ir t tuo pačiu metu tiesa negali būti tiesa.

Tai reiškia, kad kitas atvejis lieka: TRUE B. Šis atvejis lemia išvadų grandinę:

B x tikrai b m klaidinamai t true t falstly g h tiesa b klaidingai ir m tiesa.

Atsakymas: Borisas - Khokhlovas, Vadimas - Tikhonovas, Grisha - Čekovas, Anton - Mishin, Dima - Belkin.

8 pavyzdys.Rusijos užsienio reikalų ministrai, Jungtinės Valstijos ir Kinija aptarė visų nusiginklavimo susitarimų projektus dėl uždarų durų, kurias atstovauja kiekviena šalis. Tada atsakydamas į žurnalistų klausimą: "Kieno projektas buvo priimtas?" Ministrai pateikė tokius atsakymus:

Rusija - "Projektas nėra mūsų, projektas nėra JAV";
JAV - "Projektas ne Rusija, Kinijos projektas";
Kinija - "Projektas nėra mūsų, Rusijos projektas".

Vienas iš jų (Frank) abu kartus pasakė tiesą; Antrasis (dauguma slapto) abu laikai kalbėjo su melu, trečiasis (atidžiai) sakė tiesa, o kitas laikas nėra tiesa.

Nustatykite, kokios šalys yra atviros, sekusios ir atsargios ministrai.

Sprendimas. Siekiant įrašymo patogumo, yra diplomato pareiškimai:

Rusija - "Projektas nėra mūsų" (1) "projektas nėra JAV" (2);
JAV - "Projektas ne Rusija" (3), "Kinijos projektas" (4);
Kinija - "Projektas nėra mūsų" (5) "," Rusijos projektas "(6).

Mes sužinosime, kas iš ministrų yra labiausiai atvirus.

Jei tai yra Rusijos ministras, nuo teisingumo (1) ir (2) Iš to išplaukia, kad Kinijos projektas nugalėjo. Bet tada abu JAV ministro pareiškimai taip pat yra teisingi, kurie negali būti sąlyga.

Jei labiausiai išskirtinis yra JAV ministras, tada mes vėl gauname, kad Kinijos projektas laimėjo, tai reiškia, kad abu pareiškimai Rusijos ministras taip pat yra teisinga, kuri negali būti laikoma sąlyga.

Pasirodo, kad atviras buvo Kinijos ministras. Iš tiesų, nuo to, kad (5) ir (6) galioja, ji išlieka, kad Rusijos projektas laimėjo. Ir tada paaiškėja, kad iš dviejų Rusijos ministro pareiškimų pirmoji yra klaidinga, o antroji yra teisinga. Abu įtarimai JAV ministras yra neteisingi.

Atsakymas: Kinijos ministras buvo atvirai, atidžiau - Rusijos, paslėptų - ministras Jungtinių Amerikos Valstijų.