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

Оператор цикла while паскаль в некоторой стране используются денежные купюры достоинством в 1,2,4,8,16,32 и 64.дано натуральное число n.как наименьшим количеством таких денежных купюр можно выплатить сумму n(указать количесво каждой из используемых для выплаты купюр)? предлагается, что имеется достаточно больше количесво купюр всех достоинство.

👇
Ответ:
сонька177
сонька177
03.03.2020
Var m : array[0..6] of Integer;
  i,k,N : Integer;
Begin
  For i:=0 to 6 do m[i]:=0;
  Readln(N);
  k:=6;
  While N>0 do
  Begin
    If N>=Power(2,k) then
    Begin
      N:=N-Trunc(Power(2,k));
      Inc(m[k]);
    end else Dec(k);
  end;
  For i:=0 to 6 do Writeln(Power(2,i),'  ',m[i],' шт.');
end.

Еще вариант:
Const
  NN = 7;
  money : array[1..7] of Integer = (1,2,4,8,16,32,64);
Var m : array[1..NN] of Integer;
  i,k,N : Integer;
Begin
  For i:=1 to NN do m[i]:=0;
  Readln(N);
  k:=NN;
  While N>0 do
  Begin
    If N>=money[k] then
    Begin
      N:=N-money[k];
      Inc(m[k]);
    end else Dec(k);
  end;
  For i:=1 to NN do Writeln(money[i],'  ',m[i],' шт.');
end.
4,7(42 оценок)
Открыть все ответы
Ответ:
ABILAIKhan
ABILAIKhan
03.03.2020
Компилятор или интерпретатор; интегрированная среда разработки; средства создания и редактирования текстов программ; обширные библиотеки стандартных программ и функций; отладочные программы, т.е. программы, находить и устранять ошибки в программе; "дружественная" к пользователю диалоговая среда; многооконный режим работы; мощные графические библиотеки; утилиты для работы с библиотеками встроенный ассемблер; встроенная справочная служба; другие специфические особенности. популярные системы программирования — turbo basic, quick basic, turbo pascal, turbo c.
4,7(17 оценок)
Ответ:
gorod1723
gorod1723
03.03.2020
Собственно, решение однострочное...

// PascalABC.NET 3.0, сборка 1150 от 22.01.2016
begin
  Writeln('Ср.арифм=',ArrRandom(30,0,1000).Println(', ').
      Where(x->Odd(x)).Average)
end.

Тестовое решение:
611, 443, 634, 637, 44, 297, 286, 431, 130, 767, 388, 513, 827, 681, 619, 810, 586, 697, 206, 823, 294, 238, 354, 138, 411, 141, 873, 864, 715, 564
Ср.арифм=592.875

И пояснение, как это работает, т.е. по сути алгоритм на русском языке.
ArrRandom(30,0,1000) создает массив из 30 элементов и заполняет его случайными значениями из диапазона [0,1000]. Далее этот массив обрабатывается методом Println, который направляет значения элементов на вывод, разделяя их запятой с последующим пробелом и в конце вывода добавляет смену строки. Затем элементы массива проходят фильтр Where(x->Odd(x)), который пропускает через себя только те значения, которые удовлетворяют условию Odd(значение элемента)=True, а мы знаем, что Odd() возвращает True для нечетного аргумента. Далее фильтр элементы обрабатываются методом Average, который умеет принимать набор значений и возвращать их среднее. И наконец, процедура Writeln выводит полученное значение, предваряя его текстовым пояснением.
4,4(47 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ