Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задачи1-44.doc
Скачиваний:
33
Добавлен:
03.12.2018
Размер:
906.24 Кб
Скачать

Задача №10. (Вопияшин Илья, Мозговая Елена)

Предстоят спортивные соревнования между четырьмя восьмыми классами одной школы. В учительской живо обсуждаются возможные результаты и высказываются прогнозы. -Первое место займет 8-А, а второе - 8-Б,- сказал учитель математики. -Да что вы! - сказал учитель географии. - Я недавно ходил с ними в поход и знаю их возможности. 8-А займет второе место, а 8-Г-только третье. -А я думаю, что на втором месте будет 8-В,- сказала завуч школы,- а 8-Г будет на последнем месте. Оказалось, что прогнозы их сбылись только наполовину. Какое место занял каждый класс?

Решение. Введем следующие обозначения: A - 8-A класс, B - 8-Б класс, V- 8-В класс, G - 8-Г класс. Цифры 1,2,3,4 - означают места. На основании высказанных прогнозов составим формулы: Так как на одном месте не могут быть несколько человек и один и тот же человек не может занять одновременно два места, то эти условиями зададим следующими формулами: Для решения системы логических уравнений умножим уравнение (1) на уравнение (2): Из полученного выражения (10) следует, что 8-A занял первое место, 8-В - второе место, 8-Г - третье место, 8-Б - четвертое место. Графическое дерево.

Проанализировав все ветви дерева можно сказать, что ответом является ветвь 7.

Алгоритм.

алг задача14 (цел F1,F2,F3,F4,F5,F6,F7,F8,F,A1,A2,B2, V3, G3, G4 ) арг F1, F2, F3, F4, F5, F6, F7, F8, A1, A2, B2, V3, G3, G4 рез F нач 10 A1:=0 20 A2:=0 30 B2:=0 40 V3:=0 50 G3:=0 60 G4:=0 70 F1:=( A1 и не F2) или ( не A1 и B2) F2:=(A2 и не G3) или (не A2 и G3) F3:=(V2 и не G4) или (не V2 и G4) F4:=не(A1 и A2) F5:=не(G3 и G4) F6:=не(V2 и B2) F7:=не(A2 и V2) F8:=не(A2 и B2) F:=F1 и F2 и F3 и F4 и F5 и F6 и F7 и F8 если f=1 то вывод F,A1,A2,B2,V2,G3,G4 все если G4<1 то G4:=1: переход на 70 все если G3<1 то G3:=1: переход на 60 все если V2<1 то V2:=1: переход на 50 все если B2<1 то B2:=1:переход на 40 все если A2<1 то A2:=1:переход на 30 все если A1<1 то A1:=1: переход на 20 все кон

Бейсик-программа.

1cls 10 A1=0 20 A2=0 30 B2=0 40 V3=0 50 G3=0 60 G4=0 70 f1=(a1 and not b2)or(not a1 and b2) 80 f2=(a2 and not g3)or(not a2 and g3) 90 f3=(v2 and not g4)or(not v2 and g4) 100 f4=not(a1 and a2) 110 f5=not(g3 and g4) 120 f6=not(v2 and b2) 130 f7=not(a2 and v2) 140 f8=not(a2 and b2) 150 f=f1 and f2 and f3 and f4 and f5 and f6 and f7 and f8 160 if f=1 then?" f ";"a1 ";"a2 ";"b2 ";"v2 ";"g3 ";"g4 ":?f ;a1 ;a2 ;b2 ;v2 ;g3 ;g4 170 if g4<1 then g4=1:goto 70 180 if g3<1 then g3=1:goto 60 190 if v2<1 then v2=1:goto 50 200 if b2<1 then b2=1:goto 40 210 if a2<1 then a2=1:goto 30 220 if a1<1 then a1=1:goto 20 230 end

Паскаль-программа.

program nb; {Вопияшин Илья} uses crt; var a1,a2,b2,v2,g3,g4:boolean; function func:boolean; var f:array[1..8] of boolean; begin f[1]:=(a1 and not b2) or (not a1 and b2); f[2]:=(a2 and not g3) or (not a2 and g3); f[3]:=(v2 and not g4) or (not v2 and g4); f[4]:=not(a1 and a2); f[5]:=not(g3 and g4); f[6]:=not(v2 and b2); f[7]:=not(a2 and v2); f[8]:=not(a2 and b2); func:=f[1] and f[2] and f[3] and f[4] and f[5] and f[6] and f[7] and f[8]; end; procedure ff(i:integer); begin case i of 1:begin a1:=false;ff(i+1); a1:=true;ff(i+1); end; 2:begin a2:=false;ff(i+1); a2:=true;ff(i+1); end; 3:begin b2:=false;ff(i+1); b2:=true;ff(i+1); end; 4:begin v2:=false;ff(i+1); v2:=true;ff(i+1); end; 5:begin g3:=false;ff(i+1); g3:=true;ff(i+1); end; 6:begin g4:=false;ff(i+1); g4:=true;ff(i+1); end; 7:begin if func=true then begin writeln('a1 a2 b2 v2 g3 g4'); writeln(a1,' ',a2,' ',b2,' ',v2,' ',g3,' ',g4); end; end; end; end; begin ff(1); end.

Задача №11(Можейко Андрей, Сморгунова Наталья)

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

  1. Второе место занял "Вымпел", a "Старт" оказался на третьем.

  2. Хорошо выступала команда "Нептун", она стала победителем, а "Чайка" вышла на второе место.

  3. Да нет же, " Чайка" заняла только третье место, а "Нептун"- был последним.

  4. Первое место по праву завоевал "Старт", а "Метеор" был четвертым.

  5. Да, "Метеор" действительно был четвертым, а "Вымпел" был вторым.

Известно, что команды не делили места между собой и что в каждом высказывании одно утверждение правильное, а другое нет. Как распределились места между командами?

Решение. Введем обозначения B- Вымпел, N - Нептун, C - Старт, H - Чайка, M - Метеор. Цифры означают места. Согласно высказываниям составим уравнения:

Ответ. Из полученного выражения следует, что команды заняли следующие места: "Вымпел" - 1, "Метеор" - 4, "Нептун" - 5, "Старт" - 3, "Чайка" - 2.

Алгоритм.

алг Задача 15 (цел F1,F2,F3,F4,F5,F6,F7,F8,Fa,Fb,F) арг F1,F2,F3,F4,F5,F6,F7,F8,Fa,Fb рез F нач B2:=0 8:C3:=0 7:N1:=0 6:H2:=0 5:H3:=0 4:N5:=0 3:C1:=0 2:M4:=0 1:F1:=(не B2 и С3) или (В2 и не С3) F2:=(не N1 и Н2) или (N1 и не Н2) F3:=(Н3 и не N5) или (не Н3 и N5) F4:=(C1 и не М4) или (не С1 и Н4) F5:=(Н4 и не В2) или (не Н4 и В2) F6:=не (Н2 и Н3) F7:=не(N1 и N5) F8:=не(С3 и Н3) Fa:=не(Н1 и С1) Fb:=не(В2 и N2) если F=1 то вывод В2,C3,N1,H2,H3,N5,C1,M4 все если М4<0 то М4:=1: перейти к 1 все если С1<0 то С1:=0: перейти к 2 все если N5<0 то N5:=1: перейти к 3 все если Н3<0 то Н3:=0:перейти к 4 все если Н2<0 то Н2:=0: перейти к 5 все если N1<0 то N1:=0: перейти к 6 все если С3<0 то С3:=0: перейти к 7 все если В2<0 то В2:=0: перейти к 8 все кон

Бейсик - программа.

1cls 10 B2=0 20 C3=0 30 N1=0 40 H2=0 50 H3=0 60 N5=0 65 C1=0 66 M4=0 70 f1=(not b2 and c3)or(b2 and not c3) 80 f2=(not n1 and h2)or(n1 and not h2) 90 f3=(h3 and not n5)or(not h3 and n5) 100 f4=(c1 and not m4)or(not c1 and m4) 110 f5=(m4 and not b2)or(not m4 and b2) 111 f6=not(h2 and h3) 112 f7=not(n1 and n5) 113 f8=not(c3 and h3) 115 fa=not(b2 and h2) 116 fb=not(c1 and n1) 150 f=f1 and f2 and f3 and f4 and f5 and f6 and f7 and f8 and fa and fb 160 if f=1 then?" f ";"b2 ";"c3 ";"n1 ";"h2 ";"h3 ";"n5 ";"c1 ";"m4 ":?f ;b2 ;c3 ;n1 ;h2 ;h3 ;n5 ;c1 ;m4 170 if m4<1 then m4=1:goto 70 180 if c1<1 then c1=1:goto 66 190 if n5<1 then n5=1:goto 65 200 if h3<1 then h3=1:goto 60 210 if h2<1 then h2=1:goto 50 220 if n1<1 then n1=1:goto 40 230 if c3<1 then c3=1:goto 30 240 if b2<1 then b2=1:goto 20 250 end

Паскаль - программа.

program zad15; {Можейко Андрей} uses crt; var B2,C3,N1,H2,H3,N5,C1,M4:boolean; function func{(a1,a2,a3,b1,b2,c1)}:boolean; var f:array[1..13] of boolean; begin f[1]:=(C3 and not B2) or (not C3 and B2); f[2]:=(not N1 and h2) or (n1 and not h2); f[3]:=(h3 and not n5) or (not h3 and n5); f[4]:=(not m4 and c1) or (not c1 and m4); f[5]:=(m4 and not b2) or (not m4 and b2); f[6]:=not(h2 and h3); f[7]:=not(n1 and n5); f[8]:=not(c3 and h3); f[9]:=not(b2 and h2); f[10]:=not(c1 and n1); func:=f[1] and f[2] and f[3] and f[4] and f[5] and f[6] and f[7] and f[8] and f[9] and f[10]; end; procedure ff(i:integer); begin case i of 1:begin b2:=false;ff(i+1); b2:=true;ff(i+1); end; 2:begin c3:=false;ff(i+1); c3:=true;ff(i+1); end; 3:begin n1:=false;ff(i+1); n1:=true;ff(i+1); end; 4:begin h2:=false;ff(i+1); h2:=true;ff(i+1); end; 5:begin h3:=false;ff(i+1); h3:=true;ff(i+1); end; 6:begin n5:=false;ff(i+1); n5:=true;ff(i+1); end; 7:begin c1:=false;ff(i+1); c1:=true;ff(i+1); end; 8:begin m4:=false;ff(i+1); m4:=true;ff(i+1); end; 9:begin if func{(a1,a2,a3,b1,b2,c1)}=true then begin writeln('b2 c3 n1 h2 h3 n5 c1 m4'); writeln(b2,' ',c3,' ',n1,' ',h2,' ',h3,' ',n5,' ',c1,' ',m4); end; end; end; end; begin clrscr; ff(1); end.

Задача №12. (Куринский Андрей, Анохина Анна)

Перед началом забегов зрители обсуждали скаковые возможности трех лучших лошадей с кличками "Абрек", "Ветер", "Стрелок". - Победит или "Абрек", или "Стрелок", - сказал один болельщик. - Если "Абрек" будет вторым, то победу принесет "Ветер", - сказал другой болельщик. - Много вы понимаете в лошадях, - возмутился третий болельщик. - Вторым придет или 'Ветер", или "Абрек". - А я вам скажу, - вмешался четвертый болельщик, - что если "Абрек" придет третьим, то "Стрелок" не победит.

После забега выяснилось, что три лошади - "Абрек", "Ветер" и "Стрелок" - заняли три первых места, не деля между собой ни одного из мест, и что все четыре предсказания болельщиков были правильны. Как кончился забег?

Решение. Обозначим клички лошадей буквами: A - "Абрек", B - "Ветер", C- "Стрелок". Высказывания каждого болельщика о спортсменах можно задать формулами : По условию задачи лошади заняли три первых места, не деля между собой ни одного места. Зададим эти условия уравнениями (5) - (8):

Ответ. Из полученного выражения следует, что "Абрек" занял 1 место, "Ветер" - 2 место, "Стрелок" - 3 место (первым не может быть по условию задачи).

Графический способ решения системы логических уравнений.

Проанализировав 12 ветвей дерева можно сделать вывод, что ответом является 1 или 2 ветвь графического дерева.

Алгоритм.

алг Задача № 16 (цел A1, A2, A3, B1, B2, C1, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F ) арг A1, A2, A3, B1, B2, C1, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13 рез F нач A1:=0 20:A2:=0 30:A3:=0 40:B1:=0 50:B2:=0 60:C1:=0 70:F1:=(A1 И НЕ C1) ИЛИ (НЕ A1 И С1) F2:=(НЕ A2) ИЛИ B1 F3:=(B2 И НЕ A2) ИЛИ (НЕ B2 И A2) F4:=(HЕ A3) ИЛИ(НЕ C1) F5:=НЕ(A1 И A2) F6:=НЕ(A1 И A3) F7:=НЕ(A2 И A3) F8:=НЕ(A2 И B2) F9:=НЕ(B1 И B2) F10:=НЕ(A1 И B1) F11:=НЕ(A1 И B1) F12:=НЕ(С1 И B1) F13:=A1 ИЛИ A2 ИЛИ A3 F:=F1 И F2 И F3 И F4 И F5 И F6 И F7 И F8 И F9 И F10 И F11 И F12 И F13 если F=1 то вывод F, A1, A2, A3, B1, B2, C1 все если C1<1 то C1:=1: переход к 70 все если B2<1 то B2:=1: переход к 60 все если B1<1 то B1:=1: переход к 50 все если A3<1 то A3:=1: переход к 40 все если A2<1 то A2:=1: переход к 30 все если A1<1 то A1:=1: переход к 20 все кон

Бейсик - программа.

1 cls 10 A1=0 20 A2=0 30 A3=0 40 B1=0 50 B2=0 60 C1=0 70 f1=(a1 and not c1) or (not a1 and c1) 80 f2=(not a2) or b1 90 f3=(b2 and not a2) or (not b2 and a2) 100 f4=(not a3) or (not c1) 110 f5=not(a1 and a2) 120 f6=not(a1 and a3) 130 f7=not(a2 and a3) 140 f8=not(a2 and b2) 141 f9=not(b1 and b2) 142 f10=not(a1 and b1) 143 f11=not(a1 and c1) 144 f12=not(c1 and b1) 145 f13=a1 or a2 or a3 150 f=f1 and f2 and f3 and f4 and f5 and f6 and f7 and f8 and f9 and f10 and f11 and f12 and f13 160 if f=1 then?" f ";"a1 ";"a2 ";"a3 ";"b1 ";"b2 ";"c1 ":?f ;a1 ;a2 ;a3 ;b1 ;b2 ;c1 170 if c1<1 then c1=1:goto 70 180 if b2<1 then b2=1:goto 60 190 if b1<1 then b1=1:goto 50 200 if a3<1 then a3=1:goto 40 210 if a2<1 then a2=1:goto 30 220 if a1<1 then a1=1:goto 20 230 end

Паскаль - программа.

program zad16; {Куринский Андрей} uses crt; var a1,a2,a3,b1,b2,c1:boolean; function func{(a1,a2,a3,b1,b2,c1)}:boolean; var f:array[1..13] of boolean; begin f[1]:=(a1 and not c1) or (not a1 and c1); f[2]:=(not a2) or b1; f[3]:=(b2 and not a2) or (not b2 and a2); f[4]:=(not a3) or (not c1); f[5]:=not(a1 and a2); f[6]:=not(a1 and a3); f[7]:=not(a2 and a3); f[8]:=not(a2 and b2); f[9]:=not(b1 and b2); f[10]:=not(a1 and b1); f[11]:=not(a1 and c1); f[12]:=not(c1 and b1); f[13]:=a1 or a2 or a3; func:=f[1] and f[2] and f[3] and f[4] and f[5] and f[6] and f[7] and f[8] and f[9] and f[10] and f[11] and f[12] and f[13]; end; procedure ff(i:integer); begin case i of 1:begin a1:=false;ff(i+1); a1:=true;ff(i+1); end; 2:begin a2:=false;ff(i+1); a2:=true;ff(i+1); end; 3:begin a3:=false;ff(i+1); a3:=true;ff(i+1); end; 4:begin b1:=false;ff(i+1); b1:=true;ff(i+1); end; 5:begin b2:=false;ff(i+1); b2:=true;ff(i+1); end; 6:begin c1:=false;ff(i+1); c1:=true;ff(i+1); end; 7:begin if func{(a1,a2,a3,b1,b2,c1)}=true then begin writeln('a1 a2 a3 b1 b2 c1'); writeln(a1,' ',a2,' ',a3,' ',b1,' ',b2,' ',c1); end; end; end; end; begin ff(1); end

Вариант 1

1. Установите истинность высказываний: ; 2. Докажите эквивалентность: 3. Упростите: 4. Упростите:

Вариант 2

1. Установите истинность высказываний: ; ; 2. Докажите эквивалентность: 3. Упростите: 4. Упростите:

Вариант 3

1. Установите истинность высказываний: ; 2. Докажите эквивалентность: 3. Преобразовать высказывания так, чтобы не было отрицаний сложных высказываний 4. Упростите:

Вариант 4

1. Установите истинность высказываний: ; 2. Докажите эквивалентность: 3. Преобразовать высказывания так, чтобы не было отрицаний сложных высказываний 4. Упростите: