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

Постройте таблицу истинности для функции F (НЕ Х ИЛИ НЕ Y) И (Y И НЕ Z) В ЭЛЕКТРОННОЙ ТАБЛИЦЕ

Показать ответ
Ответ:
Blueberrynyam
Blueberrynyam
05.01.2021 15:08

n, counter, spisok, new_spisok = int(input()), 0, [], []

while counter != n:

spisok.append(int(input()))

counter += 1

c1, c2 = int(input()), int(input())

for i in spisok:

if c1 <= i <= c2:

new_spisok.append(i)

print(new_spisok, len(new_spisok))

Объяснение:

1) хз зачем там цикл while, но раз в условии написано, то сделал через него;

2) скорее всего работать нужно со списками, а не массивами, так как append - метод списка;

3) если нужно, могу объяснить каждую строку;

4) формат вывода массива не указан, поэтому вывод обычного массива с его длиной через запятую;

5) нижние слеши это пробелы типа)

Объяснение:

0,0(0 оценок)
Ответ:
RitaSolinoviskay234
RitaSolinoviskay234
29.04.2023 14:21
В Вашем варианте после while необходимо писать begin, а после Writeln - end. Но само по себе решение некрасивое.
Вот Вам еще два на выбор.

1. Без массива

var
  s,n:integer;
begin
  Write('Введите сумму: '); Read(s);
  n:=s div 5000;
  if n>0 then begin
    Writeln('Банкнот "5000" всего: ',n);
    s:=s mod 5000
    end;
  n:=s div 1000;
  if n>0 then begin
    Writeln('Банкнот "1000" всего: ',n);
    s:=s mod 1000
    end;
  n:=s div 500;
  if n>0 then begin
    Writeln('Банкнот "500" всего: ',n);
    s:=s mod 500
    end;
  n:=s div 100;
  if n>0 then begin
    Writeln('Банкнот "100" всего: ',n);
    s:=s mod 100
    end;
  n:=s div 50;
  if n>0 then begin
    Writeln('Банкнот "50" всего: ',n);
    s:=s mod 50
    end;
  n:=s div 10;
  if n>0 then begin
    Writeln('Банкнот "10" всего: ',n);
    s:=s mod 10
    end;
  if s>0 then Writeln('Недоплачено: ',s)
end.

Пример:
Введите сумму: 162504
Банкнот "5000" всего: 32
Банкнот "1000" всего: 2
Банкнот "500" всего: 1
Недоплачено: 4

2. С массивом

const
  k:array[1..6] of integer=(5000,1000,500,100,50,10);
var
  s,n,i:integer;
begin
  Write('Введите сумму: '); Read(s);
  for i:=1 to 6 do begin
    n:=s div k[i];
    if n>0 then begin
      Writeln('Банкнот "',k[i],'" всего: ',n);
      s:=s mod k[i]
      end
    end;
  if s>0 then Writeln('Недоплачено: ',s)
end.

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