ГДЗ Информатика 10 класс Семакин §17 Оператор присваивания, ввод и вывод данных

Вопросы и задания

1. Назовите последовательность действий при выполнении оператора присваивания.

Из переменного получателя стирается предыдущее значение, заносится значение переменной адресанта. Значения обоих переменных становятся равны.

2. Сформулируйте правило соответствия типов для оператора присваивания. Какое существует исключение из этого правила?

Типы переменной и выражения должны совпадать. Исключение: переменной вещественного типа можно присваивать значение целочисленного выражения.

3. Если у — вещественная переменная, а л — целая, то какие из следующих операторов присваивания правильные, а какие — нет?

а)у:=п+1                             д)у:=п div 2 б)п:=у-1                             е)у:=у div 2 в)п:=4.0                             ж)п:=п/2 r)y:=trunc(y)                     3)n:=sqr(sqrt(n))

А) правильное Б) неправильное В) неправильное Г) правильное Д) правильное Е) неправильное Ж) неправильное 3) неправильное

4. Напишите линейную программу, в результате выполнения которой целочисленные переменные х и у обменяются значениями. При этом нельзя использовать дополнительные переменные. Найдя такой алгоритм, определите, в чем его недостаток по сравнению с методом обмена через третью переменную. Можно ли его применять для вещественных чисел?

program zz1; var x, y :integer; // задаем переменные целого типа begin write(' введите первое число x '); // вводим с клавиатуры первое число read(x); write(' введите второе число y '); // вводим с клавиатуры второе число read(y); x := x + y; y := x - y; x := x - y; write(x, ' ', y); //выводим ответ end. Недостаток этого метода заключается в большем количестве действий, по сравнению с методом обмена через третью переменную. Для вещественных чисел этот метод применять нельзя.

5. Напишите оператор присваивания, в результате выполнения которого целочисленной переменной h присвоится значение цифры, стоящей в разряде сотен в записи положительного целого числа k (например, если k = 28 796, то h = 7).

var k,h:integer;

begin

write('Введите k:');

readln(k);

if k>100 then begin

  h:=(k mod 1000)div 100;

  writeln(h);

  end

else

 writeln('В этом числе нет сотен');

end.

6. Напишите линейную программу, в результате выполнения которой в целочисленной переменной S получится перевернутое целое четырехзначное число k. Например: если k = 1357, то S = 7531.

var a, b, c, d, s, k: integer; begin     write('Введите k: '); readln(k);      a := k div 1000; {тысячи}     b := (k mod 1000) div 100; {сотни}     c := (k mod 100) div 10; {десятки}     d := k mod 10; {единицы}      s := d * 1000 + c * 100 + b * 10 + a;     writeln('k = ', k, #10, 's = ', s);  end.

7. Напишите линейную программу перевода любого целого четырехзначного двоичного числа в десятичную систему счисления. Например, дано число в двоичной системе счисления: 11012. Перевод в десятичную систему выполняется так: 1•23 +1•22 + 0•21 + 1 = 13.

var n,k,m: integer;

begin

  write(двоичное число:  );  readln(n);

  k:=1;  m:=0;

  repeat

    m:=m+k*(n mod 10);

    n:=n div 10;

    k:=k*2;

  until n=0;

  writeln(десятичное число:  ,m);

end.

Сообщить о неточной информации
Проверочный код, год рождения Д.И.Менделеева:
В каком задании/вопросе ошибка:
Как должно быть: