М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
vapapsroyflmq
vapapsroyflmq
13.07.2022 10:35 •  Информатика

Имеются сведения о книгах, содержащихся в библиотеке. Сведения о каждой из книг — это фамилия автора, название и год издания. а) Получить название книг данного автора, изданных с 1960 г.
б) Определить, имеется ли книга, содержащая в своем название слово «информатика». Вывести сведения обо всех таких книгах
в) Вывести сведения о книгах, которые имеют несколько изданий (автор и названия повторяются, а годы издания разные)

👇
Ответ:
arti52
arti52
13.07.2022

Python:

class book:

   def __init__(self, author, name, date):

       self.author = author

       self.name = name

       self.date = date

   

   def print(self):

       print(self.name, self.author, self.date)

book1 = book("абоба", "математика 8 класс", 1951)

book2 = book("абоба", "информатика 8 класс", 1992)

book3 = book("абоба", "математика 10 класс", 1991)

book4 = book("абоба1", "математика 10 класс", 1994)

book5 = book("абоба1", "информатика 10 класс", 1955)

book6 = book("абоба1", "информатика 11 класс", 1993)

book7 = book("абоба", "физика 8 класс", 1952)

book8 = book("абоба", "информатика 8 класс", 1871)

book9 = book("абоба1", "физика 8 класс", 1951)

book10 = book("абоба1", "физика 8 класс", 1971)

library = [book1, book2, book3, book4, book5, book6, book7, book8, book9, book10]

# a

author = "абоба" # автор, книги которого ищем

print("а)")

for i in range(len(library)):

   if library[i].author == author and library[i].date >= 1960:

       print(library[i].name)

# б

print("б)")

for i in range(len(library)):

   for k in library[i].name.split():

       if k == 'информатика':

           library[i].print()

# в

print("в)")

for i in range(len(library) - 1):

   for j in range(i + 1, len(library)):

       if library[i].author == library[j].author and library[i].name == library[j].name:

           library[i].print()

           library[j].print()

4,5(53 оценок)
Открыть все ответы
Ответ:
валерияС1
валерияС1
13.07.2022

Обозначим за П значение утверждения "Петя ел", за В - значение утверждения "Вася ел", а за М значение утверждения "Маша ела".

Первое Петино высказывание: "Я не ел". Значение этого высказывания противоположно П. Действительно, если П равно 1, то Петя ел варенье, тогда первое Петино утверждение неверно; если же П равно 0, то Петя не ел варенье, значит, Петя сказал правду.

Таким образом, значение первого Петиного высказывания равно  

Аналогичными рассуждениями можно показать, что значения второго Петиного высказывания и первого Васиного высказывания равны , второго Васиного высказывания равно П, второго Машиного высказывания равно В.

Осталось оценить первое утверждение Маши: "Вася врет". Оно означает, что Васино высказывание неверно, то есть что выражение (П) ложно. Получается, что значение первого Машиного утверждения равно значению выражения  

Составим таблицу истинности для высказываний всех детей:

Объяснение:

Петя ел ел Вася ел Маша ела Петины утверж  

Вас утверины  

Машины утвержд.  

П В М  

П  

В

0 0 0 1 1 1 0 1 0

0 0 1 1 0 0 0 1 0

0 1 0 1 1 1 0 1 1

0 1 1 1 0 0 0 1 1

1 0 0 0 1 1 1 0 0

1 0 1 0 0 0 1 1 0

1 1 0 0 1 1 1 0 1

1 1 1 0 0 0 1 1 1

Нас интересуют те варианты значений П, В и М, при которых два ребенка сказали правду, а третий - один раз соврал, а один раз сказал правду. Такие варианты соответствуют тем строкам таблицы, которые имеют пять единиц и один ноль в шести последних колонках.

 

Таких строк в таблице только одна (третья), соответствующая значениям П = 0, В = 1, М == 0.

За П мы обозначили значение утверждения "Петя ел". П = 0 означает, что это утверждение ложно, то есть Петя не ел варенье.

В = 1 означает, что утверждение "Вася ел" истинно, то есть Вася ел варенье.

М = О означает, что утверждение "Mania ела" ложно, то есть Маша не ела варенье.

Получается, что условие задачи (2 ребенка сказали правду, а третий один раз соврал) выполняется только для ситуации, в которой Петя и Маша не ели варенье, а Вася ел.

ответ. Варенье ел Вася, так как только при одном (третьем) варианте возможных значений ответ двоих - 1 и 1, а ответ одного - 0 и 1.

4,6(19 оценок)
Ответ:
izeddin2002
izeddin2002
13.07.2022
Сначала немного теории.
Тут у нас импликация(если..то...), комбинированная с конъюнкцией(и).
Таблица истинности импликации(стрелочки):
0 0 1
0 1 1
1 0 0
1 1 1
Общее правило: если a<=b, тогда правда
Таблица истинности конъюнкции(/\):
0 0 0
0 1 0
1 0 0
1 1 1
Общее правило: если есть одна ложь-всё ложь
Теперь о примере:
Просто подставляем вместо x варианты. Так как между двумя скобочками с Если... То... стоит И, нам нужен вариант, где оба Если... То... являются правдой.
Рассмотрим подробно 1 вариант:
21<25 - это правда
21<23 - это правда
Таким образом, в первых скобочках правда, это доказывает таблица истинности, приведённая выше.
21<22 - это правда
21>21 - это ложь
В этих скобочках-ложь.
А так как ложь и правда в И являются ложью, нам не подходит данный вариант
2 вариант-верный ответ, т.к.:
22<25 - это правда
22<23 - это правда
В первых скобочках правда
22<22 - это ложь
22>21 - это правда
И в этих скобках правда.
Как можно убедится, снова взглянув в таблицу истинности для конъюнкции, всё выражение является правдой.
3 и 4 посмотрите сами и убедитесь что это ложь.
4,4(73 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ