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

БЫСТРЕЙ Не запуская код, выберите, какие из программ во время запуска получат ошибку
выполнения.
def f():
print(a)
def f():
a = a
print(a)
a = 5
a
= a
a = 5
f()
f()
a)
b)
def f(a):
def f():
а
а
print(a)
global a
print(a)
a = 5
f(a)
а
5
с)
f()
d)
1 попытка​


БЫСТРЕЙ Не запуская код, выберите, какие из программ во время запуска получат ошибкувыполнения.def f

👇
Ответ:
alisalis290
alisalis290
09.08.2021

A B D

Объяснение:


БЫСТРЕЙ Не запуская код, выберите, какие из программ во время запуска получат ошибкувыполнения.def f
4,8(85 оценок)
Открыть все ответы
Ответ:
araitokbasova
araitokbasova
09.08.2021

Var

N,A:integer;

Begin

Write('N = ');Read(N);

A:=0;

While N>0 do

   Begin

   if (N mod 10) > A then A:= N mod 10;

   N:=N div 10;

   End;

Write(A)

End.

Var

N,A,B:integer;

C:boolean;

Begin

Write('N = ');Read(N);

A:=-1;

B:=-2;

C:=false;

While N>0 do

   Begin

   if A=B then C:=true;

   if N>0 then

      Begin

      A:=N mod 10;

      N:=N div 10;

      End;

   if A=B then C:=true;

   if N>0 then

      Begin

      B:=N mod 10;

      N:=N div 10;

      End;

   End;

if A=B then C:=true;

if C then Write('Есть')

else Write('Нет')

End.

4,6(65 оценок)
Ответ:
     Как известно, нецелые числа в компьютере далеко не всегда представляются точно, поскольку большую часть их даже теоретически невозможно точно перевести в двоичную систему. Это порождает проблемы при проверках на точное равенство. Например, если мы попробуем перевести в двоичную систему число 0.1, то не сможем этого сделать и в компьютере вместо 0.1 будет храниться число, которое чуть-чуть, но все же меньше. Многократно увеличивая шагами какую-то величину на 0.1 мы все больше и больше будет удаляться от правильного (ожидаемого) значения и при проверка на точное равенство нас неприятно удивит. Поэтому в предыдущем ответе, несмотря на то, что диапазон задавался [1.2;2], проверка делается на 2.1 (можно и на 2.0000001 было делать).

     Есть другой писать программы для табуляции функций.
1) Находим, сколько значений нужно получить
Для этого от конечного значения вычитаем начальное, делим на шаг, берем целую часть результата и увеличиваем на единицу.
(2-1.2)/0.1=8, 8+1=9 - именно столько раз выполнится цикл.
Да-да, мы делаем традиционный цикл со счетчиком (for), в котором i будет меняться от 0 до 8.
2) получим формулу для вычисления значения аргумента.
При i=0 значение х(0)=1.2. При i=1 должно получиться x(1)=1.3.
Легко найти зависимость: x(i)=1.2+i/10. Можно компьютер и переписать это выражение в виде x(i)=(12+i)/10, потому что в первом случае будут операции а) перевод i в real б) сложение двух real в) деление двух real, а во втором - а) сложение двух integer б) перевод в real в) деление двух real и это быстрее.

var
  i:integer;
  x,y:real;
begin
  for i:=0 to 8 do begin
    x:=(12+i)/10;
    y:=sqrt(x-1)/sin(1/x);
    Writeln(x:3:1,y:10:6)
    end
end.

Результат
1.2  0.604198
1.3  0.787430
1.4  0.965466
1.5  1.143501
1.6  1.323877
1.7  1.507784
1.8  1.695869
1.9  1.888486
2.0  2.085830
4,6(62 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ