Напишите программу которая производит обмен значений числовых переменных x и y если x больше y
Перейти к содержимому

Напишите программу которая производит обмен значений числовых переменных x и y если x больше y

  • автор:

Задание 11 Параграф 3.4 ГДЗ Босова 8 класс (Информатика)

*Цитирирование задания со ссылкой на учебник производится исключительно в учебных целях для лучшего понимания разбора решения задания.

*размещая тексты в комментариях ниже, вы автоматически соглашаетесь с пользовательским соглашением

Похожие решебники
Популярные решебники 8 класс Все решебники

Котова, Лискова
Кузнецова, Титова
Еремин, Лунин
Габриелян, Остроумов, Сладков
Пасечник, Каменский, Швецов
Бархударов
Бархударов, Крючков, Максимов

Изображение учебника

§3.3. Программировани.
§3.4. Программировани.
§3.5. Программировани.

©Reshak.ru — сборник решебников для учеников старших и средних классов. Здесь можно найти решебники, ГДЗ, переводы текстов по школьной программе. Практически весь материал, собранный на сайте — авторский с подробными пояснениями профильными специалистами. Вы сможете скачать гдз, решебники, улучшить школьные оценки, повысить знания, получить намного больше свободного времени.

Главная задача сайта: помогать школьникам и родителям в решении домашнего задания. Кроме того, весь материал совершенствуется, добавляются новые сборники решений.

Напишите программу которая производит обмен значений переменных х и у если х больше у

Напишем программу которая производит обмен значений переменных х и у если х больше у.

Для этого нам понадобится ввести дополнительную переменную z, для хранения значения одной из переменных.

program 1;
var x, y, z: integer;
begin
writeln (‘Введите значения переменных x и y’);
readln (x, y);
if x > y then
begin
z: = x;
x: = y;
y: = z;
writeln (‘x = ‘, x);
writeln (‘y = ‘, y);
end;
end.

Проверим работу данной программы двумя способами:

1) Пусть x = 5; y = 4.

Тогда программа сравнив значения x и y (5 > 4), приступит к следующему шагу:

И выведет на экран: x = 4, y = 5.

2) Пусть x = 3; y = 4.

Тогда программа сравнив значения x и y (3 < 4), остановит свое дальнейшее вычисление.

Обмен значений переменных

Обмен значений переменных

Если попытаться сделать такой обмен, сначала присвоив первой переменной значение второй, а второй — значение первой, ничего не получится. Допустим, есть две переменные a и b . При этом a = 5 и b = 6 . Если выполнить выражение a = b , то переменная a будет хранить число 6, также как и b . Число 5 будет утеряно. После этого выражение b = a теряет смысл, так как b будет присвоено его же текущее значение. В данном случае 6.

Поэтому в программировании при обмене значений переменных обычно вводят третью, играющую роль буфера (буферная переменная). В ней сохраняют значение первой переменной, потом первой присваивают значение второй, a новое значение для второй берут из буфера.

Таким образом классический алгоритм обмена значений двух переменных выглядит так:

a = 5 b = 6 buf = a a = b b = buf

Полная версия программы, которая запрашивает ввод двух значений с клавиатуры:

a = input('a: ') b = input('b: ') buf = a a = b b = buf print('a =', a) print('b =', b) 

Пример выполнения программы:

a: 91 b: 162 a = 162 b = 91

Есть другой способ, позволяющий не использовать третью переменную, — арифметический. Он подходит только для чисел.

a = 5 b = 7 a = a + b # 12 b = a - b # 12-7=5 a = a - b # 12-5=7
a = int(input('a: ')) b = int(input('b: ')) a = a + b b = a - b a = a - b print('a =', a) print('b =', b)

Третий вариант — использовать имеющееся в Python множественное присваивание. При этом обмен значений переменных выполняется одной строкой кода:

>>> a = 10 >>> b = 20 >>> a, b = b, a >>> a 20 >>> b 10

Почему такое возможно? В Питоне есть такая структура данных как кортеж.

При выполнении a, b = b, a интерпретатор Python сначала получает значения связанные с переменными b и a (правая часть) и помещает их в кортеж, в данном случае получится (10, 20) . После этого он связывает каждый элемент кортежа в определенной позиции с переменными в той же позиции, но расположенными слева.

Таким образом можно поменять значения не только двух переменных, также трех и более. Кроме того в Python можно обменивать значения переменных разных типов. Это связано с тем, что тип данных в Питоне привязан не к переменной, а к значению:

>>> a = 14 >>> b = 18 >>> c = 16 >>> a,b,c = c,a,b >>> a,b,c (16, 14, 18) >>> d = 4.56 >>> e = "hi" >>> d,e = e,d >>> d 'hi' >>> e 4.56

X Скрыть Наверх

Решение задач на Python

Обмен значений переменных x и y если x больше y

Напишите программу, которая производит обмен значений переменных x и y если x больше y. Задачу можно решить несколькими способами. Предлагаю два.

Простая задача, с помощью которой можно продемонстрировать использование условного оператора if.

Решение

Напомним, как нужно использовать этот оператор.

Мы вводим с клавиатуры числа в переменные x и y типа integer, затем в операторе if проверяем условие x>y: если оно истинно, то выполняется then-блок оператора. Если x больше y, то происходит обмен значений переменных и на экран выводятся новые значения x и y.

или с использованием дополнительной переменной z

Без использования дополнительной переменной.
Код:

program Obmen;
var x,y: integer;
begin
writeln(‘Введите значения x и y’);
readln(x,y);
if x>y then
begin
x:=x+y;
y:=x-y;
x:=x-y;
writeln(‘x=’,x);
writeln(‘y=’,y);
end;
end.

С использованием дополнительной переменной.
Код:

program Obmen2;
var x,y,z: integer;
begin
writeln(‘Введите значения x и y’);
readln(x,y);
if x>y then
begin
z:=x;
x:=y;
y:=z;
writeln(‘x=’,x);
writeln(‘y=’,y);
end;
end.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *