В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
Danya135evlanov
Danya135evlanov
09.09.2020 17:37 •  Информатика

СОСТАВИТЬ ТАБЛИЦУ ИСТИННОСТИ . Пятеро друзей - Андрей, Борис, Виктор, Григорий и Дмитрий решили записаться в кружок любителей логических задач. Руководитель кружка дал им задание. Они должны были приходить на занятия по возможности чаще, но в разных сочетаниях, соблюдая следующие условия: 1 Если Андрей приходит вместе c Дмитрием, то Борис должен присутствовать.
2 Если Дмитрий отсутствует, то Борис должен быть, а Виктор должен отсутствовать.
3 Если приходит Дмитрий, то Григорий пусть не приходит.
4 Андрей и Виктор не могут одновременно ни присутствовать, ни отсутствовать.
5 Если Борис отсутствует, то Дмитрий должен присутствовать, но в том случае, если не присутствует Виктор.
6 Если Виктор присутствует, но отсутствует Борис, то Григорий должен быть, а Дмитрий должен отсутствовать.
В каких сочетаниях друзья могли посещать занятия?

Показать ответ
Ответ:
VaYfL
VaYfL
09.03.2021 09:16

// PascalABC.NET 3.6

type

 TR = record

   Имя, Отчество, Фамилия: string;

   Возраст, НомерКласса: integer;

   БукваКласса: char;

 end;

 

function ПринятьСведения: TR;

 begin

   Result.Имя := ReadlnString('Имя:');

   Result.Отчество := ReadlnString('Отчество:');

   Result.Фамилия := ReadlnString('Фамилия:');

   Result.Возраст := ReadlnInteger('Возраст:');

   Result.НомерКласса := ReadlnInteger('Номер клвсса:');

   Result.БукваКласса := ReadlnChar('Буква класса:');

 end;

 

procedure ВывестиСведения(L: List<TR>);

begin

 foreach var r in L do

   Writeln(r.Имя+' '+r.Отчество+' '+r.Фамилия:40,

      r.Возраст:4, r.НомерКласса+r.БукваКласса:4)

end;

 

begin

 var p := new List<TR>;

 var n := ReadlnInteger('Сколько учеников добавить?');

 loop n do

   p.Add(ПринятьСведения);

 p := p.OrderByDescending(t -> t.Имя).ToList;

 ВывестиСведения(p);

end.

0,0(0 оценок)
Ответ:
228MrDimkaYT
228MrDimkaYT
22.02.2023 19:16

Pascal ABC

Код:

var

  a: array [1..3] of string;

  i, j, k: integer;

begin

    readln(a[1],a[2],a[3]);

    for i := 1 to 3 do

        for j := 1 to 3 do

            for k := 1 to 3 do

                if (i <> j) and (i <> k) and (j <> k) then

                   writeln(a[i], ' ', a[j], ' ', a[k]);

end.

Пример работы:

Ввод:

КРАСНЫЕ

ЛАНДЫШИ

ЦВЕТУТ

Вывод:

КРАСНЫЕ ЛАНДЫШИ ЦВЕТУТ

КРАСНЫЕ ЦВЕТУТ ЛАНДЫШИ

ЛАНДЫШИ КРАСНЫЕ ЦВЕТУТ

ЛАНДЫШИ ЦВЕТУТ КРАСНЫЕ

ЦВЕТУТ КРАСНЫЕ ЛАНДЫШИ

ЦВЕТУТ ЛАНДЫШИ КРАСНЫЕ

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота