11 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как произвести замену

Обмен значений переменных: разбор популярных способов решения известной задачи с IT-собеседований

    Задачки , 27 марта 2017 в 21:10

Самый простой способ взаимно менять значения переменных — использование swap(a, b) или же аналогичного стандартного метода. Тем не менее, важно понимать как работает операция по обмену значений двух переменных, что мы покажем на нескольких примерах.

Для начала продемонстрируем неправильную реализацию и выясним, что в ней не так.

Ошибочная реализация

Если вы попытаетесь выполнить обмен значений этим способом, то увидите, что теперь в обеих переменных хранится значение переменной b . Происходит это ввиду построчного выполнения кода. Первая операция присваивания сохраняет значение переменной b в переменную a . Затем вторая — новое значение a в b , иными словами значение b в b . Таким образом, мы полностью теряем содержание контейнера a .

Теперь обратимся к правильной реализации.

С использованием буфера

Буфером в данном случае называется дополнительная используемая память. Давайте разберёмся зачем она здесь нужна. Если помните, в неправильной реализации мы потеряли значение переменной a после первой операции присваивания, в связи с чем в обеих доступных переменных осталось значение b . Чтобы этого избежать нам понадобится ещё одна переменная — c . В таком случае правильный алгоритм будет выглядеть так:

Для наглядности разберём его пошагово:

  1. Присваиваем переменной c значение переменной a . Сейчас в a записана a , в b — b , а в c — a .
  2. Присваиваем переменной a значение переменной b . Теперь в a хранится b , в b — также b и в c — a .
  3. Присваиваем переменной b значение переменной c . Сейчас в a находится старое значение b , в b — a , ну и в c остаётся a .

Как вы видите, переменная c после выполнения алгоритма не нужна, поэтому далee в программе её можно не использовать и даже вовсе удалить из памяти.

Сразу стоит заметить, что это самое краткое и экономное решение задачи, но можно использовать и больше переменных, не так ли?

Нам повезло, что сейчас вопрос экономии оперативной памяти не стоит так остро, как 20-30 лет назад. Тем не менее, в те времена swap был востребован не меньше, поэтому умные люди нашли способ заменить значения двух переменных без ввода третьей.

Арифметика

Сложение / вычитание

Для лучшего восприятия снова разберём алгоритм построчно:

  1. Присваиваем переменной a сумму значений переменных a и b . Сeйчас в a записано значение a + b , а в b всё ещё b .
  2. Переменной b присваиваем разность между новым значением переменной a и переменной b . В a также хранится a + b , но в b уже a .
  3. Наконец, присваиваем переменной a результат вычитания b из обновлённого значения a . Получается, что в a теперь содержится b , а в b — a .

Для C-подобных языков сокращённая запись этого алгоритма выглядит так:

Умножение / деление

Аналогичный способ решения задачи получается при замене сложения умножением и вычитания делением:

В сокращённом варианте:

Вычитание / Сложение

Вообще, в математике действие вычитания отсутствует и является сложением положительного и отрицательного чисел. Отсюда следует, что мы можем поменять местами операции сложения и вычитания:

Обратите внимание, что в последней строке знак у переменной a изменился, а саму строчку можно записать иначе: a = b — a; .

Такой же принцип можно использовать поменяв местами деление и умножение.

Недостатки арифметического метода

Главным недостатком является большее количество операций, в чём можно убедиться посчитав операции сложения, вычитания и присваивания. Тeм болee, что умножeниe и дeлeниe болee «дорогостящиe». Заметной потеря скорости становится в ситуации, когда трeбуeтся менять значения большого количества пeрeмeнных.

Второй важный нeдостаток это область применения — числа. Согласитесь, менять значения пeрeмeнных, содержащих объeкты попросту нe получится без перегрузки операции. Впрочeм, дажe с числами могут возникнуть проблемы — арифметика для вeщeствeнных чисeл можeт выполняться некорректно, что приведёт к неожиданному результату.

Читать еще:  О бренде echo

Eстeствeнно, существует и менее очевидный способ рeшeния задачи без использования дополнительной памяти. Он основан на свойствах логических операций и работает с битовым представлением числа, а значит быстрее арифметического метода.

Битовые операции

Данный алгоритм основан на следующем свойстве операции XOR («исключающее или»): a XOR b XOR a = b .

Для любитeлeй коротких записeй приведём код одной строчкой. XOR в C-подобных языках замeняeтся знаком ^ :

Однако помните о точках следования. Из-за них этот код может вести себя непредсказуемо и давать разные результаты, поэтому никогда не используйте его в production коде.

Обязательно посмотрите более подробный разбор решения через битовые операции от Г. Лакмана Макдауэлла, автора известного сборника задач с собеседований, который есть в одной из наших книжных подборок.

Метод замены переменной

Метод замены переменной – это такой способ решения, при котором в уравнение (или неравенство) вводится новая переменная, в результате чего оно становится более простым.

Этот метод один из самых популярных при решении сложных заданий, в частности, в ЕГЭ и ОГЭ.

У нас довольно сложное уравнение. А если раскрыть скобки, оно станет еще сложнее. Что делать? Давайте попробуем заменить переменную.

Заменим выражение (x+frac<1>) буквой (t).

Получилось обычное квадратное уравнение! Решив его, найдем чему равно (t), после чего, сделав обратную замену, вычислим (x).

Когда не стоит вводить новую переменную? Когда это не сделает уравнение проще. Например, если старая переменная остается, несмотря на замену:

Попробуем сделать замену здесь.

Заменим выражение (sin x) буквой (t).

Видим, что в этой замене нет никакого смысла – она не упростила уравнение, даже наоборот, усложнила его, потому что теперь у нас в уравнении две переменные.

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

Заметим, что (x^4=(x^2 )^2) (см. свойства степеней ). Тогда наше уравнение приобретает следующий вид.

Теперь используем метод замены.

Вводим новую переменную, заменяя (x^2) на (t).

Мы нашли чему равно (t), но найти-то надо иксы! Поэтому делаем обратную замену.

Ответ: (±1); (±) (frac<1><2>) .

Весьма частая ошибка при использовании этого метода: забыть «вернуться к иксам», то есть не сделать обратную замену. Помните – нам нужно найти (x), а не (t)! Поэтому возврат к (x) — строго обязателен!

Пример. Решить неравенство: (log^2_3⁡x-log_3⁡x-2>0)

Приступим к решению.

Раскладываем левую часть неравенства на множители .

Теперь нужно вернуться к исходной переменной – иксу. Для этого перейдем к совокупности , имеющей такое же решение, и сделаем обратную замену.

Замена жёсткого диска компьютера своими руками

Жесткий диск, как и все компьютерные составляющие, может однажды выйти из строя и тогда потребуется его замена. И причин тому может быть множество. Конечно, я не дока в этих делах, но там и не требуется особых знаний.

И приходилось то мне за всё время два раза делать замену блока питания и один раз жёсткого. Но, тем не менее, я решил с Вами поделиться этим небогатым опытом. И призываю всех пенсионеров и чайников, не боятся этого компьютерного железа как чёрт ладана и у Вас всё получится.

Практически любой ремонт там сводиться к простой замене вышедшего из строя блока. Итак, чтобы не бегать по мастерским и не обрывать телефон в поисках выездного мастера, разберемся, как сделать это самостоятельно.

Читать еще:  Некоторые участники рынка мототехники

Починка или замена? Где купить?

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

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

Что учесть при выборе?

Емкость и фирма изготовитель жесткого диска не имеют значения для работы материнской платы и процессора. Емкость важна для пользователя. Чем больше емкость, тем больше информации поместится.

Для обычного домашнего компьютера оптимальная емкость – 320-500 гигабайт. Фирму-производителя лучше выбирать известную и проверенную. В противном случае очень велика вероятность, что спустя некоторое время вновь потребуется замена.

Как произвести замену жесткого диска?

Итак, для замены вам понадобится новый жесткий диск и отвертка:

Демонтаж

Шаг 1: Отключаем компьютер от сети. Отсоединяем от системного блока все шнуры (мониторный, клавиатурный и пр.).

Шаг 2: Берем отвертку. На задней панели системного блока находим болты, которыми крепятся боковые стенки. Аккуратно их отвинчиваем. Все 4, сверху и снизу:

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

Шаг 3: Снимаем боковые стенки. Видим там множество проводов и «всяких железяк», то есть системную плату, видеокарту и т.д. Жесткий диск узнаваем:

Он находится ближе к передней панели и прикручен болтами:

Аккуратно отсоединяем шнуры, которые к нему крепятся. Их всего 2. Запоминать расположение не обязательно. Шнуры разного размера и разъемы под них разные, так что не запутаетесь и это не станет непреодолимым препятствием при замене:

Аккуратно с двух сторон отвинчиваем болты, на которые крепится диск. Болтов обычно 4 или 6, как повезет. Постарайтесь их не потерять, потому что потом найти такие же будет сложно.

Шаг 4: Вытаскиваем старый диск. Его можно выбросить, а можно оставить в качестве сувенира на память. К замене всё готово.

Монтаж

Шаг 5: Снимаем упаковку с нового. Аккуратно вставляем его на место прежнего. Гнезда разъемов должны быть направлены в сторону материнской платы. Прикручиваем диск с обеих сторон:

Шаг 6: Присоединяем шнуры в соответствии с разъемами:

Шаг 7: Аккуратно протрите пыль внутри системного блока. Чистота ещё никому и никогда не вредила, а уж компьютеру тем более будет полезна. Предупреждение! Для протирания используйте мягкие салфетки. Пыль с материнской платы и видеокарты можете смахнуть кисточкой с мягким ворсом. Пылесосом пользоваться нельзя!

Шаг 8: Присоединяем обратно боковые панели. Прикручиваем болты.

Шаг 9: Присоединяем к системному блоку все устройства. Включаем компьютер.

Шаг 10: Так как жесткий диск новый и соответственно абсолютно чистый, вам придется переустановить систему. Обычно при подключении компьютер сам попросит установку. Вставьте диск с системой Windows и далее следуйте инструкциям.

К сожалению, при поломке жесткого диска данные, которые на нем хранились, восстановить практически невозможно. Потому, если боитесь потерять какую-нибудь важную информацию, приобретите внешний жесткий диск.

Эта замечательная вещь обладает теми же свойствами, что и обычный (внутренний) диск. С компьютером сообщается при помощи USB-шнура. Преимущество внешнего жесткого диска в том, что, стараясь сохранить любимые фильмы или музыку, вы не застрянете в кучах CD и DVD дисков, а приобретать такое количество flash-карт нерентабельно.

Читать еще:  Компания хопер в чем секрет успеха

Как предохранить жесткий диск от поломки?

  • Покупайте только качественные комплектующие от известных и проверенных производителей. Только в специализированных компьютерных магазинах;
  • Не подвергайте жесткий диск ударам, воздействию высоких температур и влажности;
  • Если покупаете диск зимой, не вставляйте его сразу, повремените с заменой. Пусть он немного полежит при комнатной температуре;
  • Не удаляйте программные файлы с жесткого диска, если не уверены в их принадлежности;
  • Установите на компьютер хорошую антивирусную программу;
  • Не устанавливайте на компьютер сомнительных игр и программ;
  • Нежелательно слишком уж часто делать дефрагментацию жесткого диска;
  • Для контроля работы диска и устранения возможных ошибок или неполадок пользуйтесь программой CCleaner. Её очень просто скачать в интернете.

Если Вы будете соблюдать эти основные условия то замена жёсткого диска, возможно никогда и не потребуется или хотя бы отодвинется на довольно приличное время.

Удачи Вам! До скорых встреч на страницах блога ПенсерМен.

cunami88 › Блог › Замена масла своими руками

Как произвести замену масла в двигателе своими силами?

Это не так сложно, как кажется поначалу. Во-первых это весело, во-вторых это сэкономит вам от 300 рублей на СТО.

Прежде всего вам необходимо определиться с группой масла. Маркировку вы найдете на упаковке. Обратите внимания на следующую информацию:
Одним из основных свойств моторного масла является его Вязкость и ее зависимость от температуры в широком диапазон, т.е. от температуры воздуха в момент холодного пуска зимой до максимальной температуры в летний период.
SAE — так обозначается класс вязкости. После индекса SAE указан параметр, который говорит о сезонности масла. Так, если вы видите надпись SAE 5W- это зимнее сезонное масло. Маркировка SAE 10W-40 указывает на то что перед вам всесезонное масло.

Моторные масла можно разделить на зимний и летний класс. Зимний обозначается буквой W- winter(зима). Существует 6 зимних (0W, 5W, 10W, 15W, 20W, 25W) и пять летних классов вязкости ( 20, 30, 40, 50, 60).
Производителей масел очень много, но в нашем случае им оказался Valvoline Synpower 5w40
1. Прогрейте двигатель несколько минут, для того чтобы масло в картере разогрелось.
2. Установите автомобиль на эстакаду или яму, чтобы «добраться» к пробке в картере двигателя для слива масла.
3. Затем найдите сливную пробку и поставьте поддон для слива масла под пробку.
4. Открутите сливную пробку. Масло начнет вытекать из двигателя в поддон.
5. Откройте и найдите масляный фильтр.
6. Открутите фильтр и вылейте из него остатки масла.
7. Теперь откройте емкость с новым маслом и залейте его в новый масляный фильтр, смажьте его обод и установите в двигателе.
8. Если старое масло уже вылилось из двигателя, то вы можете установить обратно на место сливную пробку. Предварительно поменяйте старую прокладку сливной пробки на новую.
9. Снимите крышку с маслозаливной горловины и залейте новое масло в двигатель, не долив примерно 1 л.
10. После установите крышку маслозаливной горловины и включите двигатель на несколько минут. «Газовать» при этом не надо.
11. Теперь, проверьте, есть ли утечка из отверстия для масляного фильтра, а также из отверстия для слива масла.
12. Если нет, то вы все сделали правильно!

Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector