с задачей Петя скачивал файл со скоростью 215 бит/с, а затем передавал его Ване со скоростью 212 бит/с. На передачу файла Петя потратил 10 секунд. Сколько секунд заняло скачивание файла?
Смотря какая быстрозавариваемой лапша))) Допустим это ролтон, тогда алгоритм такой. 1) Раскрываем пакетик 2) Вываливаем лапшу в тарелку 3) Добавляем специи 4) Завариваем лапшу
Если не следовать алгоритму, то нет смысла его использовать. Например, вначале выполним пункт 2 и 3, а затем 1 и 4. Что у нас получится? Нарушая пункт 1 мы переходим к пункту 2, но тут проблема, мы не можем вывалить лапшу, ведь мы не открыли пакетик. Здесь идет явное нарушение алгоритма и дальнейшее его использование не валидно.
1) Раскрываем пакетик
2) Вываливаем лапшу в тарелку
3) Добавляем специи
4) Завариваем лапшу
Если не следовать алгоритму, то нет смысла его использовать. Например, вначале выполним пункт 2 и 3, а затем 1 и 4. Что у нас получится?
Нарушая пункт 1 мы переходим к пункту 2, но тут проблема, мы не можем вывалить лапшу, ведь мы не открыли пакетик. Здесь идет явное нарушение алгоритма и дальнейшее его использование не валидно.
1. Самый простой - с использованием промежуточной ячейки
var
a,b,t:integer;
begin
a:=10; b:=20; Writeln(a,' ',b);
t:=a; a:=b; b:=t; Writeln(a,' ',b)
end.
2. Обмен без использования дополнительной памяти при сложения и вычитания
var
a,b:integer;
begin
a:=10; b:=20; Writeln(a,' ',b);
b:=a+b; a:=b-a; b:=b-a; Writeln(a,' ',b)
end.
3. Обмен без использования дополнительной памяти при логической операции "исключающее ИЛИ"
var
a,b:integer;
begin
a:=10; b:=20; Writeln(a,' ',b);
a:=a xor b; b:=a xor b; a:=a xor b; Writeln(a,' ',b)
end.
Язык PascalABC.NET дополнительно предлагает простые обмена.
4. Обмен при процедуры Swap
var
a,b:integer;
begin
a:=10; b:=20; Writeln(a,' ',b);
Swap(a,b); Writeln(a,' ',b)
end.
5. Обмен на основе кортежного присваивания
var
a,b:integer;
begin
a:=10; b:=20; Writeln(a,' ',b);
(a,b):=(b,a); Writeln(a,' ',b)
end.