Смешен случай от живота. III. Решаване на логически задачи с помощта на разсъждения Петима приятели във влака

Идея за метода:последователни разсъждения и изводи от твърденията, съдържащи се в условието на задачата. По този начин обикновено се решават прости логически задачи.

Задача 1.Вадим, Сергей и Михаил учат различни чужди езици: китайски, японски и арабски. На въпроса какъв език учи всеки от тях, единият отговори: „Вадим учи китайски, Сергей не учи китайски, а Михаил не учи арабски“. Впоследствие се оказа, че в този отговор само едно твърдение е вярно, а другите две са неверни. Какъв език учи всеки от младите хора?

Решение.Има три твърдения. Ако първото твърдение е вярно, то второто също е вярно, тъй като младите мъже учат различни езици. Това противоречи на условието на задачата, така че първото твърдение е невярно. Ако второто твърдение е вярно, тогава първото и третото трябва да са неверни. Оказва се, че никой не учи китайски. Това противоречи на условието, така че второто твърдение също е невярно. Остава да считаме третото твърдение за вярно, а първото и второто за неверни. Следователно Вадим не учи китайски, Сергей учи китайски.

Отговор:Сергей учи Китайски, Майкъл - японски, Вадим - арабски.

Задача 2.По време на пътуването петима приятели - Антон, Борис, Вадим, Дима и Гриша, се запознаха със спътник. Помолиха я да познае имената им и всеки от тях направи по едно вярно и едно невярно твърдение:

Дима каза: „Фамилното ми име е Мишин, а фамилията на Борис е Хохлов“. Антон каза: „Мишин е моето фамилно име, а фамилията на Вадим е Белкин“. Борис каза: „Фамилията на Вадим е Тихонов, а моята фамилия е Мишин“. Вадим каза: "Фамилията ми е Белкин, а Гриша - Чехов." Гриша каза: „Да, моята фамилия е Чехов, а фамилията на Антон е Тихонов“.

Каква е фамилията на всеки приятел?

Нека обозначим пропозиционалната форма „млад мъж на име А носи фамилията B“ като AB, където буквите A и B съответстват на начални буквииме и фамилия.

Нека запишем изявленията на всеки един от приятелите:

Приемете първо, че DM е вярно. Но ако DM е вярно, тогава Антон и Борис трябва да имат различни фамилии, така че AM и BM са фалшиви. Но ако AM и BM са неверни, тогава BT и BT трябва да са верни, но BT и BT не могат да бъдат верни едновременно.

Така че остава още един случай: истинската BH. Този случай води до верига от изводи: BH е вярно BM е невярно BT е вярно AT е невярно GF е вярно WB е грешно AM е вярно.

Отговор: Борис - Хохлов, Вадим - Тихонов, Гриша - Чехов, Антон - Мишин, Дима - Белкин.

Задача 3.част от подвързаните страници изпаднаха от повредената книга.

Номерът на първата изпусната страница е 143.

Номерът на последните е изписан със същите числа, но в различен ред.

Колко страници изпаднаха от книгата?

Първата трудност е да се осъзнае фактът за уникалността на отговора, който трябва да бъде избран от редица отговори.

Сред нашите състезатели обаче бяха малцина, които бяха спрени от тази трудност възможни вариантиПовечето от момчетата съвестно изброиха отговорите.

Това са: шестокласничка от Анкара (Турция) Севда Рафатова, осмокласничка Настя Карпук от Пущино (Московска област), седмокласничка Галя Шушпанова от Братск, осмокласничка от град Красноярск (Красноярска област) Женя Сулимова, Ле Ксюша Белова, Ле Ксюша Донякина, седмокласник Дмитрий Баранов от Slantsy (Ленинградска област) и много други.

Вторият етап е да премахнете ненужните опции.

Страница с номер, по-малък от номера на първата изпаднала страница, беше единодушно отхвърлена от почти всички състезатели.

И много хора изключиха и двата нечетни варианта на номера на последната изпусната страница (тъй като първата страница на изпуснатия блок е нечетна, последната трябва да е четна).

Някои момчета стигнаха до този етап, на практика заобикаляйки първия етап: само като гледаха числото 143, те избраха число, което завършва на 4 и надвишава номера на първата страница, която изпадна.

Задача 4.Двама пътници напуснаха точка А едновременно към точка Б.

Стъпката на втория беше с 20% по-къса от стъпката на първата,

но вторият успя да направи 20% повече стъпки за същото време от първия.

Колко време е отнело на втория пътник да достигне дестинацията, ако първият пътник е пристигнал в точка Б 5 часа след напускане на точка А?

Оказа се труден за чупене орех и около него се разгоря борба на мнения. Само на пръв поглед изглеждаше просто, но се оказа, че е много лесно да се сбърка в него. Тази задача раздели нашите състезатели на два лагера. Това бяха мненията на тези лагери: и двамата пътници ще стигнат до целта едновременно; вторият пътник ще изостане малко от втория.

Говорител на първото мнение беше Рафатова Севда, шестокласничка от Анкара. Севда предложи да се проведе числен експеримент: нека първият пътник направи 4 от дългите си стъпки. Тогава вторият пътник на същото разстояние ще направи 5 стъпки. (Защото всяка стъпка на втория пътник е с 20% по-къса). Така, според нея, никой няма да изостане от никого, и двамата пътници ще стигнат до целта едновременно. Севда е прав, че дължината на 4 стъпки на първия пътник е равна на дължината на 5 стъпки на втория. Но времената са различни. В крайна сметка, ако първият пътник направи 4 стъпки, тогава вторият през това време ще направи само 1, 2 * 4 = 4,8 стъпки, а не 5. Той все още трябва да похарчи (5 - 4,8): 5 * 100 = 4% на времето за преодоляване на това разстояние.

Задача 5.Трима приятели, фенове на състезанията от Формула 1, спореха за резултатите от предстоящия етап от състезанието.

Ще видите, Шумахер няма да дойде първи“, каза Джон. Хил ще бъде първи.

Не, победителят ще бъде, както винаги, Шумахер, - възкликна Ник. „И няма какво да се каже за Алеси, той няма да е първият.

Питър, към когото Ник се обърна, беше възмутен:

Хил никога няма да види първото място, но Алези пилотира най-мощната кола.

В края на състезателния етап се оказа, че всяко от двете предположения на двамата приятели се потвърди, а и двете предположения на третия от приятелите се оказаха грешни. Кой спечели състезателния етап?

У- Шумахер печели; хХил ще спечели НОАлеси печели.

Отговорът на Ник „Алеси пилотира най-мощната кола“ не съдържа никакво твърдение за мястото, което този шофьор ще заеме, следователно не се взема предвид при по-нататъшни разсъждения.

Като се има предвид, че предположенията на двама приятели са потвърдени, а предположенията на третия са неверни, ние записваме и опростяваме истинското твърдение

Твърдението е вярно само когато W=1, A=0, X=0.

Шумахер стана победител в състезателния етап.

Задача 6.Някакъв авантюрист отиде при пътуване около светана яхта, оборудвана с бордов компютър. Той беше предупреден, че три възела на компютъра най-често се отказват - а , б , ° С , и даде необходимите резервни части. За да разбере кой възел трябва да бъде сменен, той може да използва сигналните светлини на контролния панел. Има и точно три крушки: х , г И z .

Инструкциите за идентифициране на дефектни възли са както следва:

Ако поне един от компютърните възли е повреден, тогава поне една от лампичките свети. х , г , z ;

Ако възелът не успее а , но възелът работи от , тогава лампичката светва г ;

Ако възелът не успее от , но възелът работи б , лампата светва г но не светва светлина х ;

Ако възелът не успее б , но възелът работи ° С , тогава светлините светват. х И г или лампичката не свети. х ;

Ако лампата свети х и или възелът е дефектен но , или и трите възела а , б , ° С правилно, лампата свети. г .

По пътя компютърът се повреди. Лампичката на контролния панел свети. х . След като внимателно проучи инструкциите, пътникът поправи компютъра. Но от този момент до края на пътуването тревогата не го напуска. Той разбра, че инструкцията не е перфектна и имаше случаи, когато нямаше да му помогне.

Какви възли смени пътникът? Какви недостатъци намери в инструкциите?

Нека въведем нотация за логически изрази:

а - Дефектен възел но ; х - крушката е включена х ;

б - Дефектен възел б ; г - крушката е включена г ;

от - Дефектен възел от ; z - крушката е включена z .

Правила 1-5 се изразяват със следните формули:

следва това a=0, b=1, c=1.

Задача 7.Обосновете и отговорете на поставения въпрос:

На затворника беше предложено да избира от три стаи, в едната от които имаше принцеса, а в другите две имаше тигри. На вратите на стаите бяха окачени маси със следните надписи: I-В тази стая седи тигър

II-В тази стая има принцеса

III-Тигърът седи в стая II

Отговор: Тигърът е във втората стая.

Въпрос: По време на пътуването петима приятели - Антон, Борис, Вадим, Дима и Гриша - се запознаха със спътник. Помолиха я да познае имената им и всеки от тях направи по едно вярно и едно невярно твърдение: Дима: „Фамилията ми е Мишин, а Борисът е Хохлов“. Антон: "Мишин е моето фамилно име, а фамилията на Вадим е Белкин." Борис: „Вадим е Тихонов, а фамилията ми е Мишин“. Вадим: "Аз съм Белкин, а фамилията на Гриша е Чехов." Гриша: „Да, моята фамилия е Чехов, а Антон е Тихонов. Кой има фамилия? Решете проблема, като съставите и трансформирате логически израз:

По време на пътуването петима приятели - Антон, Борис, Вадим, Дима и Гриша - се запознаха със спътник. Помолиха я да познае имената им и всеки от тях направи по едно вярно и едно невярно твърдение: Дима: „Фамилията ми е Мишин, а Борисът е Хохлов“. Антон: "Мишин е моето фамилно име, а фамилията на Вадим е Белкин." Борис: „Вадим е Тихонов, а фамилията ми е Мишин“. Вадим: "Аз съм Белкин, а фамилията на Гриша е Чехов." Гриша: „Да, моята фамилия е Чехов, а Антон е Тихонов. Кой има фамилия? Решете проблема, като съставите и трансформирате логически израз:

Отговори:

Решение. Нека обозначим пропозиционалната форма „млад мъж на име А носи фамилията B“ като AB, където буквите A и B съответстват на началните букви на името и фамилията. Фиксираме твърденията на всеки един от приятелите: DM и BH; AM и WB; VT и BM; WB и MS; MS и AT. Приемете първо, че DM е вярно. Но ако DM е вярно, тогава Антон и Борис трябва да имат различни фамилии, така че AM и BM са фалшиви. Но ако AM и BM са неверни, тогава BT и BT трябва да са верни, но BT и BT не могат да бъдат верни едновременно. Така че остава още един случай: истинската BH. Този случай води до верига от изводи: BH е вярно BM е невярно BT е вярно AT е невярно GF е вярно WB е грешно AM е вярно. Отговор: Борис - Хохлов, Вадим - Тихонов, Гриша - Чехов, Антон - Мишин, Дима - Белкин.

Подобни въпроси

  • дайте 3 примера за имена на обекти с лицеви наставки и умалителни суфикси
  • съставете 2 изречения, така че в първия случай причастната фраза да е преди дефинираната дума, а във втория случай след дефинираната дума. Обяснете поставянето на препинателни знаци в тези изречения.
  • Моля, решете .... Тънка спирална пружина, за която е валиден законът на Хук, окачена вертикално върху неподвижна опора, се разтяга със сила от 160N на 72 mm. Към пружината е приложена допълнителна сила от 120 N. Определете удължението на спиралата.
  • за букета са избрани бели и червени рози в съотношение 2:3. намерете съотношението на броя на белите рози към общия брой рози в букета

Въпрос: По време на пътуването петима приятели - Антон, Борис, Вадим, Дима и Гриша, се запознаха със спътник


Уважаеми потребители на форума, моля за помощ при решаването на проблема в Prolog))

По време на пътуването петима приятели - Антон, Борис, Вадим, Дима и Гриша, се запознаха със спътник. Помолиха я да познае имената им и всеки от тях направи по едно вярно и едно невярно твърдение:
Дима каза: "Фамилията ми е Мишин, а фамилията на Борис е Хохлов." Антон каза: „Мишин е моето фамилно име, а фамилията на Вадим е Белкин“. Борис каза: „Фамилията на Вадим е Тихонов, а моята фамилия е Мишин“. Вадим каза: "Фамилията ми е Белкин, а Гриша - Чехов." Гриша каза: „Да, моята фамилия е Чехов, а фамилията на Антон е Тихонов“.
Каква е фамилията на всеки приятел?

БЛАГОДАРЯ ВИ МНОГО предварително за помощта!!!

Отговор:проверете онлайн

Въпрос: Програмата за решаване на олимпиадния проблем за пътуванията на Вася в метрото с билет


Момчето Вася се вози в метрото всеки ден. Сутрин отива на училище, а вечерта на същия ден се връща от училище, вкъщи. За да спести малко пари, той купува електронна смарт карта за X пътувания. Когато иска да се качи в метрото, той слага картата си на турникета. Ако на картата има ненулев брой пътувания, тогава турникетът пропуска Вася и отписва едно пътуване от картата. Ако на картата не са останали пътувания, тогава турникетът не пропуска Вася и той (Вася) е принуден да купува на същата станция нова картаза X пътувания и отново преминете през турникета.
Вася забеляза, че поради факта, че метрото е пренаселено сутрин, отнема много време да си купите нова карта сутрин и може да закъснее за училище. В тази връзка той иска да разбере: ще има ли такъв ден, че сутринта, след като отиде на училище, да се окаже, че има нула пътувания на картата си.
Вася не се качва на метрото никъде другаде и затова се качва на метрото само на гарата близо до къщата си и на гарата до училището.
Входни данни
Входният файл INPUT.TXT съдържа точно 2 реда. Първият съдържа думата "Училище" или "Дом", в зависимост от това къде Вася за първи път е купил карта за X пътувания. Вторият ред съдържа естествено число X, 1 ≤ X ≤ 1000.
Изход
Изходният файл OUTPUT.TXT трябва да съдържа "Да", ако има такъв ден, в който Вася има нула пътувания на картата си сутрин и "Не" в противен случай.
Примери
№ INPUT.TXT OUTPUT.TXT
1 Начало
1 Да
2 училище
2 бр

Отговор:Много глупава задача. Не е безсмислено, че четен брой пътувания или нечетен брой - все едно, от две карти става четно. И цялата задача се свежда до едно примитивно условие.

Въпрос: Определете кое минимален бройще са необходими разходки с асансьор, за да се повдигне цялото оборудване


Теглата на 3 домакински уреда са дадени в кг (a, b, c). Определете какъв е минималният брой пътувания на асансьор с товароносимост n kg, който ще е необходим за повдигане на цялото оборудване. Помогнете ми моля.

Отговор: inp_w може лесно да бъде съкратен с параметър:

Паскал код
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 процедура inp_w(q: низ; var x: двойно) ; започнете повторение Write (q, " = " ) ; Прочетете Ln(x) ; ако x<= 0 then WriteLn (q, „трябва да е по-голямо от нула, моля, въведете отново.“) до края на x > 0 ; const m = "Маса домакински уреди"; g = "капацитет на повдигане"; var a, b, c, n: Real ; начало inp_w(m+ " "a"" , a) ; inp_w(m+ " "b"" , b) ; inp_w(m+ " "c"" , c) ; inp_w(g, n) ; ако (a > n) или (b > n) или (c > n), тогава напишете ( „Невъзможно е да транспортирате всички домакински уреди извън този асансьор.“) иначе ако a + b + c<= n then Write („Изисква 1 пътуване.“) иначе ако (a + b<= n) or (a + c <= n) or (b + c <= n) then Write („Необходими са 2 пътувания.“) иначе напиши ( „Ще отнеме 3 пътувания.“) ; Прочетете край.

Въпрос: Изчисляване на цената на пътуване с кола до страната


2. Направете програма за изчисляване на цената на пътуване с кола до страната (двупосочно). Първоначалните данни са: разстояние до вилата (в километри); количеството бензин, което автомобилът консумира на 100 километра; цената на един литър бензин. По-долу е препоръчан изглед на диалоговия прозорец, докато програмата работи. Въвеждането на потребителя е показано с удебелен шрифт.
Изчисляване на цената на пътуване до страната.
Разстояние до вилата (км) - 67
Разход на бензин (л на 100 км) - 8.5
Цената на литър бензин (руб.) - 23,7
Пътуването до селската къща ще струва 269 рубли. 94 коп.


Как да го направим?

Отговор:Първо, с вашите входни данни ще струва 134 рубли. 97 к., и второ

C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 int main() ( двоен km, r, p; int itog; cout<< "Разстояние до вилата (км) - "; cin >> км; cout<< "Разход на бензин (л на 100 км) - "; cin >> r; cout<< "Цена на литър бензин (руб.) -"; cin>p; itog = етаж ((km / 100 * r* p) * 100 ) ; cout<< „Едно пътуване до дачата ще струва“ << itog / 100 << " руб. " << itog % 100 << " коп." ; return 0 ; }

Изчислете цената на бензина, необходим за пътуване до страната, ако знаете маршрута, разхода на гориво на 100 км и цената на един литър гориво.
Създайте формуляр от типа, показан на фигура 1.

Снимка 1
За да изчислите цената на бензина в раздела за изпълнение, напишете функцията Цена.
Напишете манипулатор на щракване за бутона Изчисление. Етикетът lblMessage трябва да съдържа съобщение за цената на бензина. Не забравяйте да решите с функция!

Отговор: Кодът:

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 unitMainU; интерфейсът използва Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Buttons, StdCtrls; тип TForm1 = клас (TForm) Label1: TLabel; edWay: TEdit; Етикет2: T етикет; edFuel: TEdit; Етикет3: T етикет; edCost: TEdit; btnRun: TButton; BitBtn1: TBitBtn; lblMessage: TLabel; процедура btnRunClick(Sender: TObject) ; процедура BitBtn1Click(Sender: TObject) ; частни ( Частни декларации ) публични ( Публични декларации ) край ; var Form1: TForm1; реализация ($R *.dfm) функция Цена(начин, гориво, цена: удължен) : удължен ; начало Резултат: = (Начин/ 100 ) * Гориво* Разход; край ; процедура TForm1. btnRunClick(Sender: TObject) ; var eWay, eFuel, eCost: удължен ; започнете да опитате eWay:= strtofloat(edWay. Text) ; освен съобщение за показване ( ""Маршрут в км" трябва да е число!") ; изход; край ; ако eWay<= 0 then begin showmessage(""Маршрутът в км" трябва да е по-голям от 0!") ; изход; край ; опитайте eFuel:=strtofloat(edFuel.Text) ; освен съобщение за показване ( ""Разходът на гориво на 100 км в литри" трябва да е число!") ; изход; край ; ако е eFuel<= 0 then begin showmessage(""Разходът на гориво на 100 км в литри" трябва да бъде по-голям от 0!") ; изход; край ; опитайте eCost:= strtofloat(edCost. Text) ; освен съобщение за показване ( „„Цената на един литър гориво“ трябва да е число!“) ; изход; край ; ако eCost<= 0 then begin showmessage(""Цената на един литър гориво" трябва да бъде по-голяма от 0!") ; изход; край ; lblMessage. Надпис := "Цената на бензина, необходима за пътуване до страната:"+ floattostr (Цена(eWay, eFuel, eCost) ) ; край ; процедура TForm1. BitBtn1Click (Подавател: TObject ) ; започнете затваряне; край ; край.

Прилагам проектна Delphi.

По този начин обикновено се решават прости логически задачи.

Пример 6Вадим, Сергей и Михаил изучават различни чужди езици: китайски, японски и арабски. На въпроса какъв език учи всеки от тях, единият отговори: „Вадим учи китайски, Сергей не учи китайски, а Михаил не учи арабски“. Впоследствие се оказа, че в този отговор само едно твърдение е вярно, а другите две са неверни. Какъв език учи всеки от младите хора?

Решение. Има три твърдения:

  1. Вадим учи китайски;
  2. Сергей не учи китайски;
  3. Михаил не учи арабски.

Ако първото твърдение е вярно, то второто също е вярно, тъй като младите мъже учат различни езици. Това противоречи на условието на задачата, така че първото твърдение е невярно.

Ако второто твърдение е вярно, тогава първото и третото трябва да са неверни. Оказва се, че никой не учи китайски. Това противоречи на условието, така че второто твърдение също е невярно.

Отговор:Сергей учи китайски, Михаил учи японски, а Вадим учи арабски.

Пример 7По време на пътуването петима приятели - Антон, Борис, Вадим, Дима и Гриша, се запознаха със спътник. Помолиха я да познае имената им и всеки от тях направи по едно вярно и едно невярно твърдение:

Дима каза: "Фамилията ми е Мишин, а фамилията на Борис е Хохлов." Антон каза: „Мишин е моето фамилно име, а фамилията на Вадим е Белкин“. Борис каза: „Фамилията на Вадим е Тихонов, а моята фамилия е Мишин“. Вадим каза: "Фамилията ми е Белкин, а Гриша - Чехов." Гриша каза: „Да, моята фамилия е Чехов, а фамилията на Антон е Тихонов“.

Каква е фамилията на всеки приятел?

Решение.Нека обозначим пропозиционалната форма „млад мъж на име А носи фамилията B“ като A B, където буквите A и B съответстват на началните букви на името и фамилията.

Нека запишем изявленията на всеки един от приятелите:

  1. D M и B X;
  2. A M и C B;
  3. V T и B M;
  4. C B и G C;
  5. G C и A T.

Нека първо приемем, че D M е вярно. Но ако D M е вярно, тогава Антон и Борис трябва да имат различни фамилни имена, което означава, че A M и B M са неверни. Но ако A M и B M са неверни, тогава C B и C T трябва да са верни, но C B и C T не могат да бъдат верни едновременно.

Това означава, че остава друг случай: B X е вярно. Този случай води до верига от изводи:

B X вярно B M невярно C T вярно A T грешно G W вярно C B грешно A M вярно.

Отговор:Борис - Хохлов, Вадим - Тихонов, Гриша - Чехов, Антон - Мишин, Дима - Белкин.

Пример 8Външните министри на Русия, САЩ и Китай обсъдиха при закрити врата проектите на споразумения за пълно разоръжаване, внесени от всяка една от страните. Тогава, отговаряйки на въпроса на журналистите: „Чий проект е приет?“, министрите дадоха следните отговори:

Русия – „Проектът не е наш, проектът не е САЩ“;
САЩ – „Проектът не е Русия, проектът е Китай“;
Китай – „Проектът не е наш, проектът на Русия“.

Един от тях (най-откровеният) каза истината и двата пъти; вторият (най-потайният) и двата пъти каза лъжа, третият (предпазлив) веднъж каза истината, а другия път - лъжа.

Определете кои държави са представени от откровените, потайни и предпазливи министри.

Решение.За удобство на нотацията, нека номерираме изявленията на дипломатите:

Русия – „Проектът не е наш“ (1), „Проектът не е САЩ“ (2);
САЩ – „Проект не Русия“ (3), „Проект Китай“ (4);
Китай – „Проектът не е наш“ (5), „Проект на Русия“ (6).

Нека разберем кой от министрите е най-откровен.

Ако това е руски министър, то от валидността на (1) и (2) следва, че китайският проект е спечелил. Но тогава и двете твърдения на американския министър също са верни, което не може да бъде под условие.

Ако най-откровеният е министърът на САЩ, то отново получаваме, че китайският проект е победил, което означава, че и двете твърдения на руския министър също са верни, което не може да бъде под условие.

Оказва се, че най-откровеният е бил китайският министър. Всъщност от факта, че (5) и (6) са верни, следва, че руският проект спечели. И тогава се оказва, че от двете твърдения на руския министър първото е невярно, а второто е вярно. И двете твърдения на американския министър са погрешни.

Отговор:Китайският министър беше по-откровен, руският беше по-предпазлив, а американският беше по-потаен.