Все статьи

Подкатегории

Новости

488 статей

О Физтехе

1 подкатегорий

2 статей

Московский политех

2 подкатегорий

1 статей

Разное

16 статей

Статьи , страница 370

  • 7. Примеры решения задач
    Задача 1

    В электрический чайник налили холодную воду при температуре  `t_1 = 10^@ "C"`. Через время `tau =10` мин после включения чайника вода закипела. Через какое время она полностью испарится? Потерями теплоты пренебречь. Удельная теплоёмкость воды `c_(sf"в") = 4200  sf"Дж"//(sf"кг" * sf"К")`, удельная теплота парообразования воды `L_(sf"в") =2,26 *10^6  sf"Дж"//sf"кг"`.

    Решение

    Для испарения воды массой `m` при температуре кипения необходимо количество теплоты `Q_1 =mL_(sf"в")`, где `L_(sf"в")` - удельная теплота парообразования воды.

    Пусть воде от нагревателя чайника в единицу времени поступает количество теплоты `q`, а `tau_1` - время, необходимое для испарения всей воды, нагретой до температуры кипения. Тогда справедливо соотношение

    `Q_1 = mL_(sf"в") =q tau_1`.

    Количество теплоты `Q_2`, поступившее от нагревателя за время `tau` и нагревшее воду от начальной температуры  `t_1 = 10^@ "C"` до температуры кипения `t_2 =100^@ "C"`, равно

    `Q_2 = q tau = c_(sf"в")m (t_2 - t_1)`,

    где `c_(sf"в")` - удельная теплоёмкость воды. Отсюда для массы воды получаем

    `m= (q tau)/(c_(sf"в") (t_2 - t_1))`.

    Подставляя это выражение в соотношение для `Q_1`, имеем

    `q*tau_1 = (L_(sf"в")q tau)/(c_(sf"в") (t_2 - t_1))`.

    Отсюда для времени испарения воды получаем

    $$ {\tau }_{1}={\displaystyle \frac{{L}_{\mathrm{в}}·\tau }{{c}_{\mathrm{в}}·\left({t}_{2}-{t}_{1}\right)}}={\displaystyle \frac{\mathrm{2,26}·{10}^{6} \mathrm{Дж}/\mathrm{кг}·600 \mathrm{с} }{\mathrm{4,2}·{10}^{3} \mathrm{Дж}/(\mathrm{кг}·\mathrm{К})·90 \mathrm{К}}}\approx 1 \mathrm{час}.$$

    Задача 2

    Найдите расход бензина автомобиля (в литрах) на `L = 100` км пути при скорости `v=90` км/ч. Мощность двигателя автомобиля `P=30` кВт, коэффициент полезного действия `eta =25%`.

    Решение

    Количество теплоты `Q`, которое выделяется при сгорании бензина объёмом `V`, зависит от удельной теплоты сгорания `q` данного вида топлива (для бензина `q=46 sf"МДж"//sf"кг"`)  и массы `m` сгоревшего топлива. С учётом того, что `m=rho V` (для бензина `rho = 700  sf"кг"//sf"м"^3`), получаем

    `Q=qm=q rho V`.

    Часть энергии, выделяемой при сгорании бензина, используется для создания полезной мощности `P`. Если двигатель, развивая постоянную мощность `P`, проработал в течение времени `tau`, то совершённая им работа `A` равна `P tau`. Эффективность преобразования теплоты `Q` сгорания топлива в механическую работу `A` двигателя характеризуется коэффициентом полезного действия (КПД) двигателя `eta`

    `eta=A/Q * 100% = (P tau)/Q *100% = (P tau)/(q rho V) * 100%`.

    Время работы двигателя `tau = L//v`. Из полученных соотношений для величины расхода бензина находим

    `V = (100%)/(eta) * (P*L)/(q*rho *v) ~~(100%)/(25%) * (30*10^3  sf"Дж"//sf"c" * 10^5 sf"м")/(46 * 10^6 sf"Дж"//sf"кг" * 700 sf"кг"//sf"м"^3 * 25 sf"м"//sf"с") ~~14,9 sf"л"`.

    Следовательно, расход бензина для автомобиля с указанными характеристиками составляет примерно `15` литров на `100` км пути.

    Задача 3

    При выстреле из ружья стальная дробь массой `m=45` г вылетает со скоростью `v=600` м/с. Считая, что `80%` энергии, высвободившейся при сгорании порохового заряда массой `M=9` г, переходит в кинетическую энергию пули и её внутреннюю энергию, определите, на сколько градусов повысилась температура пули. Удельная теплота сгорания пороха `q=3 sf"МДж"//sf"кг"`, удельная теплоёмкость стали `c_(sf"ст") = 500 sf"Дж" //(sf"кг" * sf"К")`.

    Решение

    При сгорании пороха массой `M` выделяется энергия (теплота) `Q=qM`, где `q` -удельная теплота сгорания пороха. По условию задачи `80%` этой энергии переходит в кинетическую энергию `K` дроби и её внутреннюю энергию. Следовательно, внутренняя энергия дроби изменяется, и пусть `Delta U` - величина этого изменения. Тогда справедливо следующее соотношение

    `0,8 Q=K+Delta U`.

    Перепишем его, учитывая выражения для кинетической энергии дроби `K=mv^2 //2` и изменения внутренней энергии `Delta U = c_(sf"ст") mDelta t`, где `Delta t` - изменение температуры дроби (искомая величина). Получаем

    `0,8 qM=(mv^2)/(2) +c_sf"ст" mDelta t`.

    Отсюда для изменения температуры находим

    `Delta t= (1,6 qM - mv^2)/(2 c_(sf"ст") m) = 600 sf"К"`.

    Задача 4

    Как велика масса стальной детали, нагретой предварительно до `500^@ "C"`, если при опускании её в калориметр, содержащий `18,6` л воды при температуре `13^@ "C"`, последняя нагрелась до `35^@ "C"`. Теплоёмкостью калориметра и потерями теплоты на испарение воды пренебречь. Удельная теплоёмкость стали `c_(sf"ст") = 500 sf"Дж"//(sf"кг" * sf"К")`.

    Решение

    Во время рассматриваемого теплового процесса стальная деталь массой `M_(sf"ст")` охлаждается от температуры `t_1 =500^@ "C"` до температуры `t=35^@ "C"`, отдавая при этом количество теплоты `Q_(sf"ст")`:

    `Q_(sf"ст") = c_(sf"ст") M_(sf"ст") (t_1 -t)`.

    За это же время вода массой `M_sf"в" =18,6` кг нагревается от температуры `t_2 =13^@ "C"` до температуры `t=35^@ "C"`, получив при этом количество теплоты `Q_(sf"в")`:

    `Q_sf"в" = c_sf"в" M_sf"в" (t-t_2)`.

    Уравнение теплового баланса для данного теплового процесса можно записать следующим образом:

    $$ {Q}_{\mathrm{отд}}={Q}_{\mathrm{ст}}={c}_{\mathrm{ст}}{M}_{\mathrm{ст}}\left({t}_{1}-t\right)={Q}_{\mathrm{пол}}={Q}_{\mathrm{в}}={c}_{\mathrm{в}}{M}_{\mathrm{в}}\left(t-{t}_{2}\right)$$.

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

    Из последнего соотношения для массы стальной детали получаем

    $$ {M}_{\mathrm{ст}}={\displaystyle \frac{{с}_{\mathrm{в}}{M}_{\mathrm{в}}\left(t-{t}_{2}\right)}{{c}_{\mathrm{ст}}\left({t}_{1}-t\right)}}={\displaystyle \frac{4200 \mathrm{Дж}/(\mathrm{кг}·\mathrm{К})·\mathrm{18,6} \mathrm{кг}·\left(35°\mathrm{C}-13°\mathrm{C}\right)}{500 \mathrm{Дж}/(\mathrm{кг}·\mathrm{К})·\left(500°\mathrm{C}-35°\mathrm{C}\right)}}\approx \mathrm{7,4} \mathrm{кг}$$.

    Задача 5

    В калориметр, где в состоянии теплового равновесия находился мокрый снег (смесь льда и воды) массой `m=250` г, долили `M=1` кг воды при температуре `t_1 =20^@ "C"`. После того, как снег растаял, и установилось тепловое равновесие, в калориметре оказалась вода при температуре `t_2 =5^@ "C"`. Сколько воды содержалось в снегу? Потерями теплоты и теплоёмкостью калориметра пренебречь.

    Решение

    Конечное агрегатное состояние системы по условию задачи - вода. Мокрый снег (смесь льда и воды при температуре `t_0 =0^@ "C"`) получает теплоту от находящейся в калориметре воды.

    Часть теплоты, подведённой мокрому снегу, идёт на плавление находящегося в снегу льда (пусть масса льда `m_(sf"л")`). Для плавления льда при температуре плавления необходимо количество теплоты `Q_sf"пол,1"`:

    `Q_(sf"пол,1") = m_sf"л" lambda_sf"л"`.

    На нагревание получившейся из мокрого снега воды массой `m=250` г от температуры `t_0 = 0^@ "C"` до температуры `t_2 = 5^@ "C"` требуется количество теплоты `Q_sf"пол,2"`

    `Q_sf"пол,2" = c_sf"в" m (t_2 - t_0)`.

    Таким образом, суммарное количество теплоты `Q_sf"пол"`, получаемое мокрым снегом, а затем водой, равно

    `Q_sf"пол"=Q_sf"пол,1" + Q_sf"пол,2"=m_(sf"л") lambda_(sf"л") + c_(sf"в") m (t_2 - t_0)`.

    Вода, первоначально находившаяся в калориметре, охлаждается от температуры `t_1 = 20^@ "C"` до температуры `t_2 =5^@ "C"`, отдавая при этом количество теплоты `Q_sf"отд"`

    `Q_sf"отд" = с_sf"в" M (t_1 - t_2)`.

    Уравнение теплового баланса для данного теплового процесса можно записать следующим образом:

    `Q_sf"отд" = с_sf"в" M (t_1 - t_2)=Q_sf"пол" = m_sf"л" lambda_sf"л" + c_sf"в" m (t_2 - t_0)`.

    Отсюда для массы  льда, находившегося в мокром снегу, получаем

    `m_sf"л" = (Mc_sf"в" (t_1 - t_2) - mc_sf"в" (t_2 - t_0))/(lambda_sf"л") ~~170 sf"г"`.

    Масса же воды, содержавшейся в мокром снегу, равна `78` г.

    Пример 6

    В холодную воду, взятую в количестве `12` кг, впускают `1` кг водяного пара при температуре `t_sf"п" = 100^@ "C"`. Температура воды после конденсации в ней пара поднялась до `t=70^@ "C"`. Какова была первоначальная температура воды? Потерями теплоты пренебречь.

    Решение

    Попав в холодную воду, пар массой `m_sf"п" = 1` кг конденсируется, выделяя количество теплоты `Q_1 = m_sf"п"L_sf"в"`. Здесь `L_sf"в"` - удельная теплота конденсации водяного пара. Получившаяся при конденсации пара вода охлаждается от температуры  `t_sf"п" =100^@ "C"` до `t=70^@ "C"`, отдавая холодной воде количество теплоты `Q_2 = c_sf"в" * m_sf"п" * (t_sf"п" - t)`.

    Для нагревания холодной воды массы `m_sf"в" =12` кг от начальной температуры `t_sf"в"` до температуры `t=70^@ "C"` требуется количество теплоты `Q_3 = c_sf"в" * m_sf"в" * (t-t_sf"в")`.

    Составим уравнение теплового баланса для рассматриваемого теплового процесса:

    `Q_sf"отд" = Q_1 + Q_2 = L_sf"в" m_sf"п" + c_sf"в" m_sf"п" (t_sf"п" - t) = Q_sf"пол" = Q_3 = c_sf"в" m_sf"в" (t-t_sf"в")`.

    Решая полученное уравнение, для начальной температуры воды находим:

    `t_sf"в" = t- (L_sf"в" m_sf"п") / (c_sf"в" m_sf"в")  -   (m_sf"п")/(m_sf"в") * (t_sf"п" - t) = 23^@ "C"`.

    Задача 7*

    В калориметр, содержащий `200` г воды при температуре `8^@"C"`, опускают `100` г льда, температура которого равна `-20^@"C"`. Какая температура установится в калориметре? Каково будет содержимое калориметра после установления теплового равновесия? Теплоёмкостью калориметра пренебречь.

    Решение

    Конечное состояние не очевидно. Требуется анализ.

    Чтобы нагреть массу `m_"л"=0,1` кг льда от `t_"л"=-20^@"C"` до `t_0=0^@"C"`, надо было бы затратить количество теплоты

    `Q_1=c_"л"m_"л"(t_0-t_"л")=4200` Дж.

    Чтобы расплавить весь лёд при `0^@"C"` потребовалось бы количество теплоты

    `Q_2=lambda_"л"m_"л"=33600` Дж.

    Если вся вода охладится от `t_"в"=8^@"C"` до `t_0=0^@"C"`, то выделится количество теплоты

    `Q_3=c_"в"m_"в"(t_"в"-t_0)=6720` Дж.

    Сравнивая полученные значения для `Q_1`, `Q_2`, `Q_3`, приходим к выводу, что `Q_3` хватит на нагрев всего льда от `t_"л"` до `t_0` и плавления только части льда массой `m_1`. Уравнение теплового баланса

    `Q_3=Q_1+m_1lambda_"л"`.

    Отсюда

    `m_1=(Q_3-Q_1)/(lambda_"л")=7,5` г.

    Итак, в калориметре будет смесь из `207,5` г воды и `92,5` г льда при `0^@"C"`.




  • 6. Удельная теплота сгорания топлива

    Увеличить внутреннюю энергию тела можно двумя способами: 1) за счёт совершения над ним работы внешними силами, 2) за счёт теплообмена с телом, имеющим более высокую температуру, чем само тело. В некоторых случаях, например, для плавления металлов, необходимо очень большое количество теплоты и высокая температура. Таких условий можно достичь, используя какое-либо топливо (уголь, нефть, природный газ, дерево и т. д.). При его сгорании, т. е. при химической реакции соединения с кислородом, будет выделяться теплота. Это связано с тем, что в процессе химической реакции горения кинетическая энергия получаемых частиц вещества (продуктов сгорания) становится больше, чем кинетическая энергия исходных частиц вещества.

    Энергия, выделяющаяся при сгорании топлива, называется теплотой сгорания. Удельная теплота сгорания топлива – это количество теплоты, которое выделяется при полном сгорании `1` кг топлива. Она обозначается буквой `q`. Количество теплоты, выделившееся при сгорании массы m топлива, равно

    `Q=q*m`.                                                                                   (7)

                                                

  • 8. О точности при получении численного ответа

    Математика имеет дело с абстрактными (идеализированными) объектами. Например, идеально ровные прямые, не имеющие размеров точки, и числа, которые абсолютно точны. В отличие от математики, физика имеет дело с реальными природными объектами, которые измеряются реальными приборами. Все приборы измеряют физические величины с некоторой точностью, которая определяется классом точности прибора или ценой деления его шкалы. Например, у линейки цена деления `1` мм и, соответственно, погрешность, равная половине цены деления прибора, составляет `0,5` мм. Более того, точность измерений зависит от способа измерения, от выбора методики и условий проведения эксперимента, и многих других причин, которые определяют объективную погрешность эксперимента.

    Поэтому, если Вы, измеряя с помощью обычной линейки (цена деления `1` мм), вдруг получили ответ с точностью до тысячных (или даже точнее) долей миллиметра, то Вы наврали. Так как, сами понимаете, что таким прибором заведомо нельзя так точно измерить. Или другой пример. Если Вы пишите ответ `«sqrt2»`, то Вы, как минимум, претендуете на Нобелевскую премию. Потому что, так Вы делаете заявку на измерение с бесконечной точностью, что в принципе невозможно. (Противоречит соотношению неопределённостей Гейзенберга.) Таким образом, при написании ответа или результата эксперимента Вы отвечаете за каждую свою цифру.

    Возникает вопрос, так всё же с какой точностью нужно писать ответ к задаче? В эксперименте, по умолчанию (если не оговаривается особо), обычно подразумевают точность `10%`. Так называемая «золотая десятина». При решении задач, основным соображением является то, что количество значащих цифр в ответе не должно превышать количество значащих цифр в условии.

    Здесь изложены лишь некоторые соображения, которые определяют точность решения. В целом же, точность эксперимента или расчёта экспериментатор (автор идеи) определяет сам, исходя из здравого смысла и своего опыта. Со временем, Уважаемые Читатели, этот опыт придёт и к Вам.

    Пример

    В эксперименте измерение трёх рёбер прямоугольного параллелепипеда дало значения `a=0,12` м, `b=1,2*10^(-2)` м, `c=121` мм. Требуется вычислить его объём, ответ дать в кубических миллиметрах.

    Решение

    Поскольку нам необходимо вычислить объём в миллиметрах, приведём все результаты измерений в миллиметрах:

    `a=0,12  "м"=0,12*10^3  "мм"=12*10  "мм"`

    `b=1,2*10^(-2)  "м"=1,2*10^(-2)*10^3  "мм"=12  "мм"`

    `c=121  "мм"`.

    Объём равен произведению сторон

    `V=a*b*c=12*10  "мм"*12  "мм"*121  "мм"=174240  "мм"^3~~1,7*10^5  "мм"^3`.

    Исходные данные содержали минимум `2` значащие цифры, поэтому необходимо и ответ округлить до двух значащих цифр.

    ответ

    Объём параллелепипеда `V=1,7*10^5  "мм"^3`.


  • § 1. Введение в алгебру логики

    Алгебра логики является частью активно развивающейся сегодня науки – дискретной математики. Дискретная математика  –  это тот раз-дел математики, где не используется понятие непрерывности.

    Термин «дискретный» в русском языке имеет следующие значения:

    1) Состоящий из отдельных частей.

    2) Изменяющийся между несколькими стабильными состояниями.

    3) Существующий лишь в отдельных точках.

    Для того, чтобы лучше понять этот термин, рассмотрим следующий пример. Мы знаем, что график некоторой функции (например, `y=x^2`)  является непрерывной линией (параболой), если аргумент функции принимает все значения из множества действительных чисел. А теперь представим, что `x` может принимать только значения из множества целых чисел. В этом случае график будет представлять собой бесконечное количество отдельных точек, располагающихся на координатной плоскости в определённом порядке. В расположении точек будет угадываться парабола, но непрерывной линии мы не увидим. Вместо неё мы увидим дискретную структуру.

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

    Определение 1

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

    Например, предложение: «Я – твой друг» является высказыванием, а предложение: «Положи это сюда!» высказыванием не является, поскольку не является повествовательным предложением.

    Истинность или ложность каждого высказывания зависит от трактовки его содержания. Например, высказывание: «Город Москва – столица России» является истинным, а высказывание: «Город Санкт-Петербург стоит на реке Лене» является ложным.

    Определение 2

    Высказывание называется простым, если никакая его часть сама по себе не является высказыванием.

    Высказывание: «Эта шляпа – красная» является простым, в то время как высказывание: «Если прямая пересекает одну из двух параллельных прямых, то она пересекает и вторую» является примером сложного высказывания, которое, по сути, состоит из трёх простых: «две прямые параллельны», «прямая пересекает одну из двух прямых», «прямая пересекает другую прямую». В сложном высказывании простые высказывания соединяются при помощи логических связок. В рассмотренном выше примере логической связкой является союз «если то».

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

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

    Определение 3

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

    В отличие от языков программирования в алгебре логики нет ограничений при именовании переменных. Переменные могут иметь абсолютно любые имена, но чаще всего их обозначают заглавными или строчными латинскими буквами (`A, B, C, x, y, z, s`), либо последовательностью, состоящей из заглавной или строчной латинской буквы и целого числа (`A1, A2, A4, A10000000`). Ещё одно отличие от языков программирования заключается в том, что после присвоения переменной высказывания можно говорить об её истинности либо ложности. То есть существует два понятия «значение логической переменной». С одной стороны – это конкретное высказывание, а с другой стороны – это истина, либо ложь.

    Определение 4

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

    В процессе формализации нужно сделать следующие действия: выделить из сложного высказывания простые и превратить их в логические переменные. Затем каждая логическая связка превращается в логическую операцию. В описанных действиях остаётся два непонятных момента. Первый – что такое логическая операция, и второй – каким образом логические связки превращаются в логические операции. Будем последовательно отвечать на эти вопросы.

    Для того чтобы определить операцию, необходимо указать количество операндов (объектов, над которыми выполняется операция) их тип и результат выполнения операции. Логические операции чаще всего имеют два операнда, как и математические. Однако мы также будем изучать операции, которые имеют всего один операнд. Независимо от количества операнды должны быть логического типа, то есть иметь значение истина, либо ложь. Результатом логической операции также является логическое значение – истина или ложь. Для того чтобы немного сократить запись, условимся в дальнейшем логическое значение «истина» обозначать единичкой `(1)`, а логическое значение – «ложь» – нулём `(0)`.

    Очевидно, что если у операции два операнда, и значением каждого является `0` или `1`, то существует всего четыре набора значений операндов `(00, 01, 10, 11)`. Для каждого из наборов необходимо определить значение логической операции. Удобно это представлять в виде таблицы. Таблицы соответствия значений логических операций набору значений операндов называются таблицами истинности.

  • § 2. Логические операции. Формализация высказываний

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

    Названия операции

    Возможные обозначения

    Отрицание, инверсия.

    `-, ~|, not`

    Конъюнкция, логическое умножение, операция И, операция AND.

    `&, ^^, *,` по аналогии с алгебраическим умножением может никак не обозначаться

     

    Дизъюнкция, нестрогая дизъюнкция, логическое сложение, операция ИЛИ, операция OR.

    `|``, vv, +`

    Строгая дизъюнкция, разделительная дизъюнкция, исключающее ИЛИ, сложение по модулю `2`.

    `o+, Delta`

    Эквивалентность, эквиваленция, равенство, равнозначность.

    `iff, -=`

    Импликация, следование, следствие

    `=>, ->`


    Теперь для того чтобы строго определить эти логические операции, нам нужно для каждой из них выписать таблицу истинности. Все перечисленные операции кроме отрицания имеют два операнда. Знак операции в выражениях пишется между операндами (как в алгебре чисел). Операция отрицания имеет один операнд и в выражениях записывается либо в виде черты над операндом, либо в виде символа «приставка» слева от операнда.

    Для того, чтобы не путаться и гарантированно перебрать все возможные комбинации значений операндов, принято записывать их в лексикографическом порядке (условно считается, что «ложь» `<` «истина»).

    Таблица истинности для конъюнкции

    Первый операнд

    Второй операнд

    Значение операции

    `0`

    `0`

    `bb0`

    `0`

    `1`

    `bb0`

    `1`

    `0`

    `bb0`

    `1`

    `1`

    `bb1`

     

    Таблица истинности для дизъюнкции

    Первый операнд

    Второй операнд

    Значение операции

    `0`

    `0`

    `bb0`

    `0`

    `1`

    `bb1`

    `1`

    `0`

    `bb1`

    `1`

    `1`

    `bb1`

     

    Таблица истинности для строгой дизъюнкции

    Первый операнд

    Второй операнд

    Значение операции

    `0`

    `0`

    `bb0`

    `0`

    `1`

    `bb1`

    `1`

    `0`

    `bb1`

    `1`

    `1`

    `bb0`


    Таблица истинности для эквивалентности

    Первый операнд

    Второй операнд

    Значение операции

    `0`

    `0`

    `bb1`

    `0`

    `1`

    `bb0`

    `1`

    `0`

    `bb0`

    `1`

    `1`

    `bb1`

     

    Таблица истинности для импликации

    Первый операнд

    Второй операнд

    Значение операции

    `0`

    `0`

    `bb1`

    `0`

    `1`

    `bb1`

    `1`

    `0`

    `bb0`

    `1`

    `1`

    `bb1`

                     

    Таблица истинности для отрицания

    Значение операнда

    Значение операции

    `0`

    `bb1`

    `1`

    `bb0`

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

    Логическая операция

    Логические связки в русском языке

    Отрицание

    Неверно что…

    Конъюнкция

    и, а, но,  а также, при этом,

    одновременно с этим, хотя

    Дизъюнкция

    Или

    Строгая дизъюнкция

    или, либо

    Эквивалентность

    Тогда и только тогда когда,

    необходимо и достаточно чтобы

    Импликация

    если то, необходимо чтобы, достаточно чтобы

    Обратите внимание, что союз ИЛИ может означать, как строгую, так и нестрогую дизъюнкцию. Его интерпретация зависит от содержания (!!!) высказывания.

    Пример 1

     Рассмотрим высказывание: «Мы идём в кино в субботу или в воскресение». Здесь два простых высказывания: «Мы идём в кино в субботу» и «Мы идём в кино в воскресение». Между ними стоит союз ИЛИ, который можно интерпретировать двояко. В данном случае очевидно, что мы можем пойти в кино и в субботу, и в воскресение, поэтому дизъюнкция будет нестрогая. Возьмём две логические переменные – `p` и `q` и присвоим им простые высказывания. Тогда исходное высказывание в формализованном виде будет выглядеть, как `bb(pvvq)`.

    Пример 2

    Рассмотрим высказывание: «Я сейчас на севере Москвы или на юго-западе Москвы». Здесь тоже два простых высказывания, которые связаны союзом ИЛИ. Но в этом случае союз ИЛИ интерпретируется, как строгая дизъюнкция, поскольку нельзя одновременно находиться в двух местах. Таким образом, если снова взять логические переменные `p` и `q`, то получится следующая логическая формула: `bb(p"o+q)`.


    Пример 3

    Рассмотрим высказывание: «Для того чтобы четырёхугольник был квадратом, необходимо, чтобы все его стороны были равны». Здесь два простых высказывания: «Четырёхугольник является квадратом» и «Все стороны четырёхугольника равны». Присвоим их соответственно логическим переменным `p` и `q`. Логическая связка «необходимо, чтобы» - это импликация. Весь вопрос в том, что из чего следует. (Какая запись правильная: `bbp -> bbq` или `bbq ->bbp`?)  Импликация ложна только в единственном случае: когда левый операнд имеет значение «истина», а правый – «ложь». Рассмотрим все возможные значения операндов и проанализируем, какая из ситуаций невозможна.

    1) `p` и `q` ложны. Это значит, что четырёхугольник не является квадратом и его стороны не равны. Это возможная ситуация.

    2) `p` – ложно, `q` – истинно. Это значит, что четырёхугольник не является квадратом, но стороны у него равны. Это возможно (ромб).

    3) `p` – истинно, `q` – истинно. Это значит, что четырёхугольник является квадратом и стороны у него равны. Это возможная ситуация.

    4) `p` – истинно, `q` – ложно. Это значит, что четырёхугольник является квадратом, но стороны у него не равны. Это невозможная ситуация.

    Анализ ситуаций показывает, что левым операндом импликации должна быть переменная `p`. Таким образом, в формализованном виде исходное высказывание выглядит как `bb(p -> q)`.

    Очень часто вместо «присвоим логическим переменным эти высказывания» говорят «обозначим высказывания следующим образом». В дальнейшем мы тоже будем использовать этот речевой оборот.

  • §1. Алгоритмическая конструкция «Цикл». Операторы цикла While и Repeat

    1.1 Алгоритмическая конструкция «Цикл»

    Зачастую в задаче нужно повторять одни и те же действия много раз. Рассмотрим следующий пример: вывести на экран квадраты чисел от `1` до  `100`.

    Очевидно, что для решения этой задачи нам придётся `100` раз выполнять команду вывода соответствующего числа на экран. Писать `100` операторов вывода как-то не хочется (слишком трудоёмко),  поэтому будем знакомиться с алгоритмической конструкцией, которая называется «цикл».

    Циклом

    называется повторение фрагмента алгоритма несколько раз с возвратом в более раннюю точку исполнения алгоритма. Повторяемый при этом фрагмент алгоритма называется телом цикла.

    Очевидно, что если возврат в более раннюю точку алгоритма происходит абсолютно всегда, то алгоритм никогда не доходит до своего завершения (выполняется бесконечно долго). Для предотвращения бесконечного повторения нужно поставить точку ветвления: в одной из веток будет возврат, а в другой - выход из цикла и дальнейшее продвижение по алгоритму.

    В зависимости от положения точки ветвления выделяются циклы с предусловием (точка ветвления располагается перед телом цикла) и с постусловием (точка ветвления располагается после тела цикла).

    1.2. Оператор while

    В языке программирования есть несколько операторов цикла, реализующих как конструкцию с предусловием, так и конструкцию с постусловием. Познакомимся с ними.

    Первый оператор цикла называется While и реализует алгоритмическую конструкцию с предусловием. В общем виде он записывается следующим образом:

    while условие do оператор

    Слова while и do являются служебными зарезервированными словами языка. Под условием (аналогично оператору if) понимается выражение, результат вычисления которого имеет тип boolean. Работает этот оператор следующим образом. Сначала вычисляется условие. Если в результате получилось true, то мы заходим в цикл, то есть выполняем тело цикла и возвращаемся вновь к вычислению условия. Если же получилось false, то происходит переход к следующему оператору в программы, и входа в цикл не будет. Фактически оператор while является многократным применением оператора if с пустой веткой else. Аналогично оператору if, тело цикла должно состоять из `1` оператора. Если нужно исполнить несколько, то следует использовать операторные скобки (begin end).

    Возможна ситуация, когда цикл будет выполняться бесконечное количество раз (зациклится). Например, while 2*2=4 do… Что написать после do, совершенно не важно, важно, что оно будет выполняться, пока 2*2=4, а это всегда так, и никогда не изменится. Значит, чтобы избегать зацикливания, параметры условия должны быть переменными, например while x*x=4 do … Хотя это тоже не гарантирует отсутствие зацикливания. Поэтому при написании программ нужно всегда внимательно следить за тем, какие условия мы пишем в операторе цикла, чтобы не случилось ситуации зацикливания.

    Также обратите внимание, что поскольку условие проверяется до входа в цикл, возможна ситуация, что при первой же проверке получится значение false и, соответственно, в цикл мы вообще не зайдём.

    1.3. Примеры задач

    Рассмотрим несколько примеров задач на оператор цикла.

    Задача 1

    Дано целое число, не меньшее `2`. Выведите его наименьший натуральный делитель, отличный от `1`.

    Решение

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

    var i,n:integer;

    begin

      readln(n);

      i:=2; 

      while n mod i <> 0 do

        i:=i+1;

      end;

      writeln (i);

    end.

    Задача 2

    В первый день спортсмен пробежал `x` километров, а затем он каждый день увеличивал пробег на `10%` от предыдущего значения. По данному числу `y` определите номер дня, на который пробег спортсмена составит не менее `y` километров. Программа получает на вход действительные числа `x` и `y`. Программа должна вывести одно натуральное число.

    Решение

    В этой задаче нам нужно реализовать постепенное увеличение пробега. То есть, на каждом шаге цикла мы будем сохранять значение пробега в соответствующий день в одной переменной, а номер этого дня – в другой. Завершение, когда значение первой переменной станет не меньшим чем `y`. Приведём код программы. Все переменные, отвечающие за километры, имеют  тип real (из условия).

    var x,y:real; i:integer;

    begin

      readln(x,y);

      i:=1;

      while x<y do begin

        x:=x/100*10+x;

        i:=i+1;

      end;

      writeln(i);

    end.

    Задача 3

    Дано натуральное число `N`. Вычислите его сумму цифр.

    Решение

    Для решения этой задачи на каждом шаге цикла нужно изменять наше число: при помощи операции mod можно выделить последнюю цифру из числа и прибавить её к сумме, а затем её надо выбросить из числа при помощи операции div. Делить нужно, естественно, на `10`. Критерий завершения – когда число станет равным нулю, ибо это будет означать, что мы уже рассмотрели все цифры и поделили на `10` однозначное число (по свойствам операции целочисленного деления известно, что при делении меньшего числа на большее получается ноль). Приведём код программы.

    var a,n,s:integer;

    begin

      readln(n);

      s:=0;

      while n>0 do begin

        a:=n mod 10;

        s:=s+a;

        n:=n div 10;

      end;

      writeln(s);

    end.

    Задача 4

    Ввести целое число `n`. Вывести `"YES"`, если оно простое, и `"NO"`, если оно составное.

    Решение

    Эта задача демонстрирует сразу две важные вещи. Во-первых, как проверять делимость целых чисел, а во-вторых, технику флажков. Флажком называется переменная, которая имеет некоторое начальное значение и меняет его, если происходит определённое событие. Как правило, флажок имеет тип boolean.

    В нашей задаче мы будем перебирать числа от `2` до квадратного корня из `n` и проверять, делится ли `n` на каждое из них. Изначально предположим, что `n` - простое, и присвоим флажку значение true, но если `n` поделится на какое-нибудь число, это будет значить, что оно составное, и, соответственно, флажок «упадёт» на значение false. Проверять на делимость нужно, сравнивая остаток от деления с нулём.

    var n,i:integer;

            f:boolean;

     begin

      readln(n);

      f:=true;

      for i:=2 to round(sqrt(n)) do

        if n mod i = 0 then f:=false else;

        if f=true

            then writeln('YES')

            else writeln('NO');

    end.

    1.4  Оператор repeat

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

    repeat

      Оператор 1;

      Оператор 2;

    ….

      Оператор N

    until условие

    Все операторы, написанные между repeat и until, являются телом цикла. Это выгодно отличает оператор repeat от других циклов - составной оператор здесь не требуется, а операторными скобками можно считать слова repeat и until. Работает этот оператор по следующему алгоритму:

    1) выполняется тело цикла;

    2) вычисляется значение условия. Если получилось true, то выход из цикла и переход к следующему оператору программы, в противном случае переход к пункту 1.

    Отличительная особенность оператора цикла repeat заключается в том, что тело  всегда выполняется, по крайней мере, один раз. Это нужно учитывать в задачах при выборе оператора цикла. Аналогично оператору while, цикл repeat может зациклиться, правда в случае, когда условие никогда не принимает значение true, например,  repeat…until 2*2=5.

  • §2. Оператор цикла for

    Этот оператор цикла реализует следующую идею: «Повторять некоторую последовательность команд `N` раз, где `N` известно до начала повторения». Познакомимся с синтаксисом этого оператора.

    for имя переменной := начальное значение to конечное значение do оператор

    В этой конструкции переменная, стоящая после слова for, называется параметром или счётчиком цикла, а оператор, стоящий после слова do, называется телом цикла. Начальное и конечное значения, по сути, являются константами или выражениями одного типа со счётчиком. Алгоритм выполнения цикла for следующий:

    Алгоритм выполнения  

    1) вычисляются начальное и конечное значения;

    2) счётчику цикла присваивается начальное значение;

    3) значение счётчика сравнивается с конечным. Если оно больше ко-нечного, то выполнение цикла завершается и начинает выполняться следующий оператор программы, в противном случае переход к пункту 4;

    4) выполняется тело цикла;

    5) значение счётчика увеличивается на `1`;

    6) переход к пункту 3.

    В качестве примера рассмотрим решение задачи, поставленной в самом начале. В качестве счётчика будем использовать переменную i.

    var i:integer;

    begin

       for i:=1 to 100 do write(i*i,' ');

    end.

    Согласитесь, что решение фактически в одну строчку выглядит гораздо приятнее, чем в `100` строк (если не пользоваться оператором цикла).

    Необходимо сделать несколько замечаний по поводу цикла for.

    замечания

    1) Типы счётчика начального и конечного значений должны совпадать, при этом в настоящий момент из известных нам типов можно использовать только integer и boolean. Вещественный тип использовать нельзя.

    2) Начальное и конечное значения вычисляются один раз до начала цикла (и после не перевычисляются). Рассмотрим пример.

    i:=1; for i:=i to i do writeln('HI');

    Этот оператор цикла выполнится всего один раз, а не бесконечно много.

    3)  В теле цикла значение счётчика изменять нельзя. Так прописано в стандарте языка Pascal, и это требование поддерживается в системах семейства Delphi и PascalABC. Однако в системах семейства Borland Pascal значение счётчика изменять можно, что может приводить к непредсказуемым последствиям (поэтому будем считать, что независимо от системы значение счётчика изменять нельзя).

    4)  После завершения цикла значение счётчика не определено, то есть нельзя считать, что оно равно конечному значению или больше на единицу и пользоваться этим в дальнейшем алгоритме.

    5) Тело цикла по грамматике должно состоять только из `1` оператора. Если же там по алгоритму должно быть несколько, нужно использовать составной оператор. В этом смысле оператор for солидарен с операторами if и while.

    6) Можно слово to заменить на слово downto. В этом случае значение счётчика после каждого выполнения тела цикла будет уменьшаться на `1`, а выход из цикла произойдёт, когда значение счётчика окажется меньше, чем конечное.

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

    Проиллюстрируем её работу следующим примером:

    вводится натуральное число `x` `(2 <= x <= 30000)`. Выведите наименьший делитель числа `x`, отличный от `1`.

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

    var a,i: integer;

    begin

      readln(a);

      for i := 2 to a do

        if a mod i = 0 then

        begin

          writeln(i);

          break;

        end;

    end.



  • §3. Класс задач «Обработка последовательностей»

    В данном классе формулировка всех задач начинается со слов: «Вводится последовательность чего-нибудь…». Для простоты будем считать, что чисел - с ними мы умеем работать, но в общем случае это необязательно так. Далее нам нужно оценить какое-то свойство данной последовательности. Например, сколько в ней нулей, является ли она возрастающей (каждое следующее число больше предыдущего) и т. д. Причём, для оценки данного свойства, сохранение всей последовательности в памяти не требуется.

    Общий алгоритм решения задач этого класса таков: мы считываем очередной элемент последовательности, обрабатываем его так, как поставлено в задаче, и после про него забываем. Для реализации данного алгоритма нам придётся поместить оператор ввода внутрь цикла.

    Рассмотрим стандартные шаблоны решения задач данного класса:

    шаблон Тип 1:

     Количество элементов в последовательности известно заранее (`N`).

            readln(N);

         for j:=1 to N do begin

           read(a);

          {Содержательна обработка}

         end;

    Обращаем внимание, что внутрь оператора цикла обязательно помещается оператор read, а не readln. Дело в том, что, как правило, числа будут вводиться в строчку и оператор ввода будет на каждом шаге забирать из буфера по `1` числу. Оператор  readln при этом ещё удаляет из буфера всё лишнее до конца строки, поэтому числа прочитаны не будут. Количество элементов последовательности, как правило, задаётся отдельным числом в первой строке, поэтому его логичнее читать оператором readln.

    Рассмотрим примеры задач данного класса.

    Задача 1

    Вводится натуральное число `N`, а затем `N` натуральных чисел, сумму которых необходимо вычислить.

    Решение

    var i,N,a,s:integer;

    begin

      readln(N);

           s:=0;

      for i:=1 to N do begin

             read(a);

        s:=s+a;

           end;

      writeln(s)

    end.

    Задача 2

    Вводится натуральное число `N`, а затем `N` целых чисел. Выведите `"YES"`, если среди введенных чисел есть хотя бы один ноль, или `"NO"` в противном случае.

    Решение

    var n,i,k,a,s:integer;

    begin

      s:=0;

      readln(n);

      for i:=1 to n do begin

        read(a);

        if a=0 then k:=k+1;

      end;

    if k<>0

      then writeln('YES')

      else writeln('NO')

    end.

    Теперь рассмотрим второй тип задач из класса «Обработка последовательностей», когда количество элементов неизвестно заранее, но известен признак конца.

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

    1) Считывание

    2) Проверка на признак конца

    3) Содержательная обработка

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

    Шаблон для типа 2:

      read(a);

         while a<>0 do begin

           {содержательная обработка};

           read(a)

         end;         

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

    Задача 3

    Программа получает на вход последовательность целых неотрицательных чисел. Ноль - признак конца. Вывести количество членов последовательности (не считая завершающего числа `0`).

    Решение

    var a,k:integer;

    begin

      read(a);

      k:=0;

      while a<>0 do begin

        k:=k+1;

        read(a);

      end;

      writeln(k);

    end.

    Задача 4

    Вводится последовательность целых чисел. Ноль - признак конца. Вывести, сколько элементов данной последовательности больше (строго) предыдущего элемента.

    Решение

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

    var a,pr,k:integer;

    begin

      read(a);

      pr:=a;

      k:=0;

      while a<>0 do begin

        if (a > pr) then k:=k+1;

        pr:=a;

        read(a);

      end;

      writeln(k);

    end.

    Задача 5

    Вводится последовательность натуральных чисел. Ноль - признак конца. Вывести значение максимального элемента.

    Решение

    Это очень важная эталонная задача, которую обязательно надо уметь решать. Для поиска максимума применяется следующая стратегия. Нужно каждый элемент сравнить с текущим значением максимума и, если элемент оказался больше, то обновить текущее значение максимума. Рассмотрим код программы.  

    var a,m:integer;

    begin

      read(a);

      m:=a;

      while a<>0 do begin

        if (a > m) then m:=a;

        read(a);

      end;

      writeln(m);

    end.

    При решении этой задачи ещё остался вопрос корректной инициализации. В общем случае есть два способа.

    Первый вариант - в качестве начального значения максимума брать «минус бесконечность» (для минимума - плюс бесконечность). Под «минус бесконечностью» в данном случае понимается некое число, которое гарантированно меньше чем любой элемент, который может нам встретиться. Инициализация бесконечностью допустима, если мы заранее знаем диапазон элементов последовательности. Это её недостаток, зато она пишется в один оператор присваивания.

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

    Задача 6

    Найти максимальный чётный элемент последовательности в предположении, что он существует.

    Решение

    var a,m:integer;

    begin

      read(a);

      while (a<>0)and(a mod 2 <> 0) do read(a);

      m:=a;

      while a<>0 do begin

        if (a mod 2 = 0)and(a>m) then m:=a;

        read(a);

      end;

      writeln(m);

    end.



  • §1. Логический тип переменных. Логические выражения

    В прошлом задании мы работали с числовыми типами переменных и учили арифметику, теперь познакомимся с логическим типом переменных, который называется Boolean. Переменные этого типа имеют всего два значения - true и false (соответственно, «истина» и «ложь»). Подобно числовым переменным им можно присваивать значения при помощи оператора присваивания. При этом необходимо строго соблюдать правило совместимости типов. То есть, логическим переменным нельзя присваивать числовые значения, а числовым - логические. Так же можно выводить значения логических переменных на экран, а вот вводить их с клавиатуры нельзя! 

    В языке Pascal определены `6` операций сравнения, результатом которых является логическое значение:

    1) «больше» (>)

    2) «больше или равно» (>=)

    3) «меньше» (<)

    4) «меньше или равно» (<=)

    5) «равно» (=)

    6) «не равно» (<>).

    Например, операция `5>2` всегда выдаст значение true, а операция `x<>3` выдаст значение true, если переменная `x` имеет любое значение, кроме `3`.

    Сравнивать можно не только числа (причём как целые, так и вещественные), но и логические значения. При этом считается, что значение true больше, чем значение false.

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

    Помимо операций сравнения ещё существуют и логические операции:

    1) and (конъюнкция, логическое умножение, операция «И»)

    2) or (дизъюнкция, логическое сложение, операция «ИЛИ»)

    3) not (отрицание, инверсия)

    4) xor (строгая дизъюнкция, исключающее «ИЛИ», сложение по модулю `2`).

    В скобках указаны возможные названия данных операций в алгебре логики.

    Операнды этих операций должны быть логического типа. Результат вычислений также будет логический. При этом операции and, or, xor имеют по два операнда, а операция not - всего один, который записывается справа от названия операции. Названия логических операций являются служебными зарезервированными словами языка.

    Приведём таблицы результатов логических операций для всех возможных значений операндов (в алгебре логики такие таблицы называются таблицами истинности):


    X

    not x

    false

    true

    True

    false


     


    X

    y

    x and y

    x or y

    x xor y

    false

    false

    false

    False

    false

    false

    true

    false

    True

    True

    true

    false

    false

    True

    True

    true

    true

    true

    True

    False


    Логический результат даёт также стандартная функция odd(x), которая применяется к целочисленному аргументу х:

    odd(x) = true, если `x` нечётно;

    odd(x) = false, если `x` чётно.

    Приоритет операций в сложном выражении (содержащем в себе все виды операций, изученных нами) следующий:

    1) Операция not.

    2) Операции группы умножения and, *, /, div, mod

    3) Операции группы сложения or, xor, +, -

    4) Операции сравнения >, <, >=, <=, =, <>

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

    Рассмотрим несколько примеров на построение логических выражений. Пусть нам требуется записать логическое выражение по синтаксису языка программирования, имеющее значение true, в случае выполнения указанного условия.

    Пример 1

    Целое число `n` делится на `13`.

    Решение

    n mod 13 = 0

    Надо проверять, что остаток от деления на `13` является нулём. 

    Пример 2

    Целое число `n` делится на `13` и `7`.

    Решение

    (n mod 13 = 0) and (n mod 7 = 0)

    Здесь надо проверить одновременное выполнение двух условий.

    Пример 3

    Переменная `x` имеет значение из отрезков `[2,5]` или `[-1,1]`.

    Решение

    (x>=2) and (x<=5) or (abs(x)<=1)

    Пример 4

    Из чисел `x`, `y`, `z` хотя бы два равны между собой.

    Решение

    (x = y) or (x = z) or (y = z)

    Пример 5

    Числа `x`, `y`, `z` равны между собой.

    Решение

    (x = y) and (x = z)

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

  • §2. Условный оператор

    В рассматриваемых ранее задачах на программирование процесс вычисления был линейным, то есть программа не должна была выполнять разные действия в зависимости от того, какие данные ей ввели. Теперь рассмотрим задачи с ветвящимся алгоритмом.

    Пример задачи

    Ввести номер года. Вывести слово YES, если год високосный, и NO, если он - не високосный.

    Решение

    По условию очевидно, что в зависимости от входных данных программа должна будет выполнить один из двух операторов вывода: Writeln('YES') или Writeln('NO'). При этом написать в программе нам придётся оба, а вот выполняться должен будет только один из них. Для того чтобы реализовывать подобные ветвления алгоритма, в языке Pascal существует условный оператор. В общем виде он выглядит следующим образом:

    if логическое выражение

       then оператор

       else оператор

    Слова if, then и else являются служебными зарезервированными словами языка. Работает эта конструкция так: сначала вычисляется логическое выражение, стоящее после if. Если получилось значение true, то выполняется оператор, стоящий после слова then, а если получилось значение false, то выполняется оператор, стоящий после слова else.

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

    В качестве примера условного оператора рассмотрим решение задачи, поставленной выше. Год считается високосным, если он делится нацело на `400`, или если он  делится нацело на `4`, но не делится нацело на `100`. Проверять делимость мы уже умеем, поэтому осталось только записать это условие в виде программы:

    var y:integer;

    begin

      write('Введите номер года ');

      readln(y);

      if(y mod 400=0)or(y mod 4=0)and(y mod 100<>0)

       then writeln('YES')

       else writeln('NO');

    end

    По грамматике языка после слов then и else должен стоять только один оператор языка. То есть запись if x>0 then x:=4; y:=0 else z:=9; является синтаксически неверной. А как быть, если всё-таки нужно выполнить более одного оператора? Для таких случаев в языке Pascal предусмотрен составной оператор, который позволяет превратить группу операторов в один. Выглядит он следующим образом: сначала записывается служебное зарезервированное слово begin, далее - интересующая нас последовательность операторов через точку с запятой, а в конце пишется служебное зарезервированное слово end. В отличие от конца программы, точка после этого слова не ставится. Слова begin и end называют операторными скобками. Запишем правильную версию условного оператора, приведённого выше: if x>0 then begin x:=4; y:=0 end else z:=9;

    Обратите внимание на следующий тонкий момент: если требуется выполнить более одного оператора в ветке then, и при этом мы забудем написать операторные скобки, то это является синтаксической ошибкой, и программа просто не будет работать. Если же забыть написать операторные скобки в ветке else, то программа работать будет, но не так, как предполагалось.

    Рассмотрим пример: 

    Пример задачи

    if x>0 then y:=9 else z:=8; c:=5;

    В этом примере условный оператор заканчивается после z:=8;  в то время как оператор c:=5; является следующим оператором программы и выполняется независимо от результата сравнения `x` с нулём. Если же написать операторные скобки, то присваивание в `c` числа `5` произойдёт только в случае x<=0.

    Ещё один тонкий момент заключается в том, что в ветке else в качестве оператора может стоять и пустой оператор. Рассмотрим следующий пример.

    пример Задачи

    Вводятся `3` целых числа – `a`, `b`, `c`. Требуется в переменную `a` записать минимальное из этих чисел, в `b` – среднее и в `c` – максимальное.

    Решение

    Алгоритм решения этой задачи такой: сначала сравним значения переменных `a` и `b`, если значение `a` - больше, поменяем их местами. После этого сравним значения переменных `a` и `с`, и если значение `a` - больше, поменяем их местами. После этих двух сравнений в переменной `a` гарантированно окажется наименьшее из трёх чисел. Осталось сравнить переменные `b` и `c`, и в случае, когда в переменной `b` находится большее значение, поменять их местами.

    Очевидно, что в этом алгоритме у нас три сравнения, следовательно, три последовательных условных оператора. При этом в каждом из них какие-то действия (поменять местами значения двух переменных) нужно выполнять только в ветке then, в ветке else (например, если в первом сравнении в переменной a находится уже более маленькое число, чем в переменной `b`) никаких действий выполнять не нужно. Рассмортим код программы: В этом случае, грамматика языка программирования позволяет вообще не записывать даже слово else. Такая конструкция называется сокращённой формой условного оператора.

    var a,b,c,x:integer;

    begin

      writeln('введите три целых числа ');

      readln(a,b,c);

      if a>b then begin x:=a; a:=b; b:=x end;

      if a>c then begin x:=a; a:=c; c:=x end;

      if b>c then begin x:=b; b:=c; c:=x end;

      writeln(a,b,c);

      readln

    end.

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

    Использование сокращённой формы условного оператора порождает проблему неоднозначности интерпретации логики действий программы в случае вложенных условных операторов. Рассмотрим следующий пример:

    if x>0

     then if y>0

       then z:=0

     else c:=7;

    Вопрос состоит в том, какой из двух условных операторов является полным, а какой - сокращённым. К сожалению, ответ на этот вопрос существует только в виде дополнительного семантического правила языка программирования. Принято, что ветка else всегда относится к ближайшему if без else (по принципу правильной скобочной системы). То есть, в нашем случае внутренний условный оператор является полным, а внешний - сокращённым. Если же мы хотим добиться обратной логики действий (чтобы внешний условный оператор был полным), нам необходимо заключить внутренний условный оператор в операторные скобки. Выглядеть это будет следующим образом:

    if x>0

     then begin

      if y>0

       then z:=0

      end

     else c:=7;

        

        

         

        

  • §3. Разбор случаев

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

    Начнём с ответа на последний вопрос. Для того, чтобы обеспечить выполнение ровно одной ветви алгоритма, необходимо записывать весь разбор случаев в виде одного условного оператора. Конечно же, он будет сложный, с вложенными многоуровневыми проверками. Однако, если в итоге условный оператор, реализующий разбор случаев, один (а не несколько, записанных через точку с запятой), то это гарантирует нам, что в итоге выполнится ровно одна ветвь алгоритма.

    Для того, чтобы не упустить из рассмотрения никаких случаев и не рассматривать несущественные случаи, нужно перебирать их не в случайном порядке, а по какой-либо стратегии. Сейчас мы рассмотрим одну из стратегий разбора случаев, которую условно можно назвать «Естественное возникновение». Её суть заключается в следующем: Изначально, мы решаем задачу так, будто бы никакого деления на случаи нет, а появляется оно лишь тогда, когда выполнить основной сценарий невозможно.

    Рассмотрим  следующий  пример  задачи:

    Пример задачи

    Решить  в  целых  числах линейное уравнение `ax=b`.

    Решение

    На вход программе здесь будут подаваться коэффициенты уравнения, а программа должна будет либо вычислить корень, либо вывести сообщение об особой ситуации (нет корней, бесконечно много корней и т. д.). Будем разбирать случаи согласно нашей стратегии. Сначала посмотрим, как мы в принципе решаем подобное уравнение. Для нахождения значения `x` нужно коэффициент `b` разделить на коэффициент `a`. Очевидно, что это невозможно сделать, если `a=0`. Поэтому первая проверка, которая делит всё множество случаев на две принципиально разные ветки: верно ли, что `a=0`? Если это так, то у нас получается уравнение `0x=b`, существование решений которого зависит от значения `b`. Если `b=0`, то решений бесконечно много, если же это не так, то решений нет вообще. Вернёмся к проверке коэффициента `a`. Если он не равен нулю, то это означает, что уравнение имеет единственное решение. Вопрос теперь в том, целое оно или нет. Поэтому здесь нужно будет проверить, что `b` нацело делится на `a` (остаток от деления должен быть равен нулю). Если это так, то находится единственное решение, если же нет, то целых решений у уравнения нет. Запишем теперь все наши рассуждения в виде программы:

    var a,b:integer;

    begin

     readln(a,b);

     if a=0

      then if b=0

       then writeln('many solutions')

       else writeln('no solution')  

      else if b mod a = 0

       then writeln( b div a)

       else writeln('no solution')

    end.

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

    Теперь вам будут предложены контрольные вопросы и задачи. За каждый правильный ответ будут ставиться баллы. Максимальное количество баллов за задание указано в скобках после его номера. Если задание стоит более одного балла, то возможно получить частичный балл за частично верное решение. Имейте в виду, что более объёмные и сложные задания стоят дороже. Итоговая оценка будет определяться по сумме набранных баллов. Желаем успеха!      

  • 1.1. Химический элемент. Простые и сложные вещества

    Основой изучения курса химии является атомно-молекулярная теория. Вещества состоят из молекул, а молекулы - из атомов. Атомы чрезвычайно малы и на кончике иглы помещаются миллиарды атомов.  Тем не менее, наука достигла такого уровня, что  различает атомы по размерам, массе  и свойствам. В настоящее время различают 109 видов атомов, из которых состоят все вещества.

    Химический элементэто определенный вид атомов.

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

    Например, водород, на Солнце существует поодиночке, т. е. в виде изолированных атомов из-за высокой температуры. А на Земле - в молекулярном виде, два атома водорода соединяются друг с другом, и  образуется простое вещество - водород, который является самым легким газом. Но элемент водород способен соединяться не только друг с другом, но и с другими атомами. Если два атома водорода соединяются с одним атомом кислорода, то получается молекула воды. Например, кварц состоит из атомов кислорода и кремния, негашеная известь - из атомов кальция и кислорода.

    Свободные (изолированные атомы) - водород (на Солнце), инертные газы (на Земле), при очень высоких температурах - атомы всех химических элементов.

    Простые вещества - водород, кислород, медь, железо, сера, золото, серебро.

    Сложные вещества - вода, сахар, углекислый газ, соль.


  • 1.2. Относительная атомная масса

    Атомы имеют ничтожно малые размеры, следовательно, возникает необходимость выбора эталона атомной массы. Как известно, исторический путь выбора установления атомных масс был непростым и непрямым. Ученые на протяжении многих веков занимались этим вопросом. Массы атомов так малы, что даже на самых точных аналитических весах такую массу взвесить было невозможно. Можно было только установить относительные массы. В связи с этим возникла необходимость выбрать особую единицу измерения массы, особый эталон. В качестве первого эталона была выбрана масса атома водорода.

    Пример

    С помощью химического анализа Ж. Гей-Люссак установил, что в воде на `12,06`  г водорода приходится `87,4` г кислорода. Какой вывод об относительной массе атомов кислорода вы сделали бы из полученных данных?

    Из данных задачи можно рассчитать, во сколько раз масса атома кислорода больше массы атомов водорода:

    `(m("O"))/(m("H"))=(8,74)/(12,06)=7,25`.

    В современной науке (с 1961 года) за единицу атомной массы принята а. е .м., составляющая `1//12` часть массы атома изотопа углерода $$ {}^{12}\mathrm{C}$$.

    Относительной атомной массой элемента называется отношение его массы к атомной единице массы и обозначается `A_r`.  

    Отсюда можно рассчитать относительную атомную массу, например, водорода:

    `(A_r("H")=1,674*10^(-27)  "кг")/(1//12*1,993*10^(-26)  "кг")=1,0079`.

    Атомную массу чрезвычайно редко измеряют в граммах, поэтому часто слово «относительная» опускают.


  • 1.3. Основные классы неорганических соединений

    Под классификацией понимают объединение разнообразных и многочисленных соединений в определенные группы или классы, обладающие сходными свойствами. С проблемой классификации тесно связана проблема номенклатуры, т. е. системы названий этих соединений. Индивидуальные химические  вещества принято делить на две группы: немногочисленную группу простых веществ (с учётом аллотропных модификаций насчитывают около `400`) и очень многочисленную группу сложных веществ.

    Сложные вещества обычно подразделяют на четыре важнейших класса: оксиды, основания (гидроксиды), кислоты, соли.

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

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

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

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

    Рассмотрим подробнее отдельные классы неорганических соединений.

  • 1.4. Оксиды
    Оксидами

    называются соединения, состоящие из двух элементов, одним из которых является кислород со степенью окисления `(– 2)`.

    Многие элементы проявляют переменную валентность и дают оксиды различного состава, что учитывается по международной номенклатуре  с указанием степени окисления элемента римскими цифрами, например, `"SO"_3` - оксид серы (VI),  `"SO"_2` - оксид серы (IV).

    Можно представить следующую схему:

    Название оксида  `=` «Оксид» `+` название элемента в род. падеже `+` (валентность римскими цифрами).

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

    Основные оксиды образованы металлами со степенью окисления `+1` и `+2` (`"Na"_2"O"`, `"CaO"`, `"CuO"`, `"FeO"`  и т. д.). Исключение из II группы составляют `bb("BeO",  "ZnO",  "PbO")`, которые относятся к группе амфотерных оксидов.

    Амфотерные оксиды образуют металлы со степенью окисления `+3`, `+4`. К ним относятся `"Al"_2"O"_3`, `"Cr"_2"O"_3`, `"TiO"_2`, `"Fe"_2"O"_3`, `"MnO"_2` `"PbO"_2`, а также оксиды металлов со степень окисления `+2:` `"BeO"`, `"ZnO"`, `"PbO"`.

    Группа кислотных оксидов может быть образована как металлами со степенью окисления `+5` и выше, например, `"CrO"_3`, `"Mn"_2"O"_7`, `"V"_2"O"_5`, так и неметаллами (`"CO"_2`, `"SO"_3`, `"SO"_2`, `"N"_2"O"_3`, `"NO"_2`, `"N"_2"O"_5`, `"Cl"_2"O"_7` и т. д.).

    Несолебразующими (индифферентными, безразличными) оксидами являются `bb("CO",  "SiO",  "N"_2"O", "NO")`.

    Получение основных оксидов

    1.  Окисление металлов:

     `2"Mg"+"O"_2  → 2"MgO"`;

         `"S"+"O"_2 → "SO"_2`.

    Этот метод практически не применим для щелочных металлов, которые при окислении обычно дают  пероксиды, поэтому оксиды  натрия и калия крайне труднодоступны.

    2.  Обжиг сульфидов:

    `2"CuS"+3"O"_2 -> 2"CuO"+2"SO"_2`;

             `4"FeS"_2+11"O"_2 -> 2"Fe"_2"O"_3+8"SO"_2`.

    Метод не применим для сульфидов активных металлов, окисляющихся до сульфатов.

    3. Окисление (горение) сложных веществ:

     `2"CO"+"O"_2 ->2"CO"_2`

     `2"H"_2"S"+3"O"_2 -> 2"SO"_2+2"H"_2"O"`.

    4. Превращения сложных веществ:

    а) разложение нерастворимых гидроксидов:  

    нерастворимые основания при нагревании разлагаются на соответствующий оксид и воду:

    $$ \mathrm{Cu}{\left(\mathrm{OH}\right)}_{2}\stackrel{\mathrm{t}°\mathrm{C}}{\to }\mathrm{CuO}+{\mathrm{H}}_{2}\mathrm{O}$$.

    Этим методом нельзя получить гидроксиды щелочных металлов.

    б) разложение солей кислородсодержащих  кислот:

    • разложение карбонатов:

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

    $$ {\mathrm{BaCO}}_{3}\stackrel{\mathrm{t}°\mathrm{C}}{\to }\mathrm{BaO}+{\mathrm{CO}}_{2}\uparrow $$.

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

    $$ {\left({\mathrm{NH}}_{4}\right)}_{2}{\mathrm{CO}}_{3}\stackrel{t°\mathrm{C}}{\to }2{\mathrm{NH}}_{3}\uparrow +{\mathrm{CO}}_{2}+{\mathrm{H}}_{2}\mathrm{O}$$;

    $$ 2{\mathrm{Ag}}_{2}{\mathrm{CO}}_{3}\stackrel{t°\mathrm{C}}{\to }4\mathrm{Ag}\downarrow +2{\mathrm{CO}}_{2}\uparrow +{\mathrm{O}}_{2}\uparrow $$.

    Карбонаты щелочных металлов плавятся без разложения, исключение составляет карбонат лития :

    $$ {\mathrm{Li}}_{2}{\mathrm{CO}}_{3}\stackrel{\mathrm{t}°\mathrm{C}}{\to }{\mathrm{Li}}_{2}\mathrm{O}+{\mathrm{CO}}_{2}\uparrow $$.

    • разложение гидрокарбонатов металлов:

    гидрокарбонаты разлагаются на карбонат, воду и углекислый газ.

    $$ 2{\mathrm{NaHCO}}_{3}\stackrel{\mathrm{t}°\mathrm{C}}{\to }{\mathrm{Na}}_{2}{\mathrm{CO}}_{3} + {\mathrm{CO}}_{2}\uparrow  + {\mathrm{H}}_{2}\mathrm{O}$$.

    • разложение нитратов

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

    $$ 2{\mathrm{KNO}}_{3} \stackrel{\mathrm{t}°\mathrm{C}}{\to }2{\mathrm{KNO}}_{2} + {\mathrm{O}}_{2}\uparrow $$

    (если металл в ряду напряжения стоит до магния),

    $$ 2\mathrm{Pb}({\mathrm{NO}}_{3}{)}_{2} \stackrel{\mathrm{t}°\mathrm{C}}{\to }  2\mathrm{PbO} + 4{\mathrm{NO}}_{2}\uparrow + {\mathrm{O}}_{2}\uparrow $$

    (если металл в ряду напряжения стоит от магния до меди включительно),

    $$ 2{\mathrm{AgNO}}_{3}\stackrel{\mathrm{t}°\mathrm{C}}{\to } 2\mathrm{Ag} + 2{\mathrm{NO}}_{2}\uparrow  + {\mathrm{O}}_{2}\uparrow $$

    (если металл в ряду напряжения стоит после меди).

    ВНИМАНИЕ!!!

    $$ {\mathrm{NH}}_{4}{\mathrm{NO}}_{3} \stackrel{\mathrm{t}°\mathrm{C}}{\to } {\mathrm{N}}_{2}\mathrm{O}\uparrow  + 2{\mathrm{H}}_{2}\mathrm{O}$$;

    $$ 4{\mathrm{LiNO}}_{3}\stackrel{t°\mathrm{C}}{\to }2\mathrm{LiO}+4{\mathrm{NO}}_{2}\uparrow +{\mathrm{O}}_{2}\uparrow $$;

    $$ 4\mathrm{Fe}{\left({\mathrm{NO}}_{3}\right)}_{2}\stackrel{t°\mathrm{C}}{\to }2{\mathrm{Fe}}_{2}{\mathrm{O}}_{3}+8{\mathrm{NO}}_{2}\uparrow +{\mathrm{O}}_{2}\uparrow $$;

    $$ \mathrm{Mn}{\left({\mathrm{NO}}_{3}\right)}_{2}\stackrel{\mathrm{t}°\mathrm{C}}{\to }{\mathrm{MnO}}_{2}\downarrow +2{\mathrm{NO}}_{2}\uparrow $$.

    • разложение основных солей:

    $$ (\mathrm{ZnOH}{)}_{2}{\mathrm{CO}}_{3} \stackrel{\mathrm{t}°\mathrm{C}}{\to } 2\mathrm{ZnO} + {\mathrm{CO}}_{2}\uparrow  + {\mathrm{H}}_{2}\mathrm{O}$$.

    в) разложение кислородсодержащих кислот:

                       `"H"_2"SO"_3  → "SO"_2 + "H"_2"O"`.

    г) обработка солей растворами кислот:

     `"K"_2"Cr"_2"O"_7 + "H"_2"SO"_4  →2"CrO"_3+"K"_2"SO"_4+"H"_2"O"`,

    `"Na"_2"SiO"_3+2"HCl" -> 2"NaCl"+"SiO"_2+"H"_2"O"`.

    5.  Окислительно-восстановительные реакции:

     `2"Al"+"Fe"_2"O"_3 ->2"Fe"+"Al"_2"O"_3`;

     $$ \mathrm{Cu}+4{\mathrm{HNO}}_{3\left(\mathrm{конц}.\right)}\to \mathrm{Cu}{\left({\mathrm{NO}}_{3}\right)}_{2}+2{\mathrm{NO}}_{2}\uparrow +2{\mathrm{H}}_{2}\mathrm{O};$$

    `"C"+4"HNO"_(3("конц")) -> "CO"_2+4"NO"_2uarr+2"H"_2"O"`.

    Химические свойства основных оксидов

    Основные оксиды при нагревании могут вступать в реакции с кислотными и амфотерными оксидами, амфотерными гидроксидами, с кислотами.

    1. С водой способны реагировать только основные оксиды (`"Li"_2"O"`, `"Na"_2"O"`, `"K"_2"O"`, `"Rb"_2"O"`, `"Cs"_2"O"`, `"BaO"`, `"CaO"`, `"SrO"`), которым соответствуют щелочи. Оксиды остальных металлов с водой практически не реагируют.

    `"CaO" + "H"_2"O"  → "Ca(OH")_2`;

    $$ \mathrm{MgO}+{\mathrm{H}}_{2}\mathrm{O}\stackrel{\mathrm{t}°\mathrm{C}}{\to }\mathrm{Mg}{\left(\mathrm{OH}\right)}_{2}$$.

    2. Взаимодействие с кислотами:

    `"ZnO" + "H"_2"SO"_4 -> "Zn""SO"_4 + "H"_2"O"`.

    3. Взаимодействие с кислотными и амфотерными оксидами, амфотерными гидроксидами:

    `"BaO"+"SiO"_2 ->"BaSiO"_3`;

    `"CuO"+"N"_2"O"_5 -> "Cu(NO"_3)_2`;

    `"MgO"+"Al"_2"O"_3 -> "Mg(AlO"_2)_2`:

    `"K"_2"O"+"ZnO" -> "K"_2"ZnO"_2`;

    `"Na"_2"O"+2"Al(OH")_3 -> 2"NaAlO"_2+3"H"_2"O"`.

    4. Как и другие типы оксидов, основные оксиды могут вступать в окислительно-восстановительные реакции:

    $$ {\mathrm{Fe}}_{2}{\mathrm{O}}_{3}  + 2\mathrm{Al}\stackrel{\mathrm{t}°\mathrm{C}}{\to } {\mathrm{Al}}_{2}{\mathrm{O}}_{3} + 2\mathrm{Fe}$$;

    $$ 3\mathrm{CuO} + 2{\mathrm{NH}}_{3} \stackrel{\mathrm{t}°\mathrm{C}}{\to } 3\mathrm{Cu} +{\mathrm{N}}_{2}\uparrow  +3{\mathrm{H}}_{2}\mathrm{O}$$.

    5. Под действием окислителей некоторые основные оксиды (в которых металлы способны повышать степень окисления) могут выступать в качестве восстановителей:

    `4"FeO"+"O"_2->2"Fe"_2"O"_3`.

    Кислотные  оксиды  − оксиды неметаллов и оксиды переходных металлов, обычно в степенях окисления `+5, +6, +7` `("P"_2"O"_5, "CrO"_3, "Mn"_2"O"_7)`.

    Большинство кислотных оксидов непосредственно взаимодействуют с водой с образованием кислот (исключение `"SiO"_2`):

    `"P"_2"O"_5+3"H"_2"O" -> 2"H"_3"PO"_4`;

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

    $$ {\mathrm{CO}}_{2} + {\mathrm{H}}_{2}\mathrm{O}\rightleftarrows {\mathrm{H}}_{2}{\mathrm{CO}}_{3}$$;

    $$ {\mathrm{SO}}_{2} + {\mathrm{H}}_{2}\mathrm{O}\rightleftarrows {\mathrm{H}}_{2}{\mathrm{SO}}_{3}$$.

    Азот в оксидах способен проявлять  в соединениях степени окисления `+1`, `+2`, `+3`, `+4`, `+5`. Оксиды `"N"_2"O"` и `"NO"` является несолеобразующими оксидами, оксиды `"N"_2"O"_3` и `"N"_2"O"_5` являются кислотными оксидами, которым соответствуют азотистая и азотная кислота соответственно:

    $$ {\mathrm{N}}_{2}{\mathrm{O}}_{3} + {\mathrm{H}}_{2}\mathrm{O} \to  2{\mathrm{HNO}}_{2}$$;

    $$ {\mathrm{N}}_{2}{\mathrm{O}}_{5} + {\mathrm{H}}_{2}\mathrm{O} \to  2{\mathrm{HNO}}_{3}$$.

    Оксид `"NO"_2` является кислотным оксидом, которому соответствуют сразу две кислоты:

    $$ 2{\mathrm{NO}}_{2} + {\mathrm{H}}_{2}\mathrm{O} \to  {\mathrm{HNO}}_{2} + {\mathrm{HNO}}_{3} $$.

    Наряду с современной номенклатурой для кислотных оксидов до сих пор широко используется старинная система названий как ангидридов кислот – продуктов отщепления воды от соответствующих кислот. Например, `"SO"_3` – ангидрид серной кислоты, `"SO"_2` – ангидрид сернистой кислоты. Наиболее типичными для кислотных оксидов являются их реакции с основными и амфотерными оксидами, амфотерными гидроксидами, щелочами:

    $$ {\mathrm{SO}}_{3} + \mathrm{CuO} \to  {\mathrm{CuSO}}_{4}$$;

    $$ {\mathrm{SO}}_{3} + {\mathrm{Na}}_{2}\mathrm{O} \to  {\mathrm{Na}}_{2}{\mathrm{SO}}_{4}$$.

    $$ {\mathrm{P}}_{2}{\mathrm{O}}_{5}+ {\mathrm{Al}}_{2}{\mathrm{O}}_{3} \stackrel{\mathrm{t}°\mathrm{C}}{\to } 2{\mathrm{AlPO}}_{4}$$;

    $$ 3{\mathrm{SO}}_{3} + 2\mathrm{Al}(\mathrm{OH}{)}_{3} \to  {\mathrm{Al}}_{2}({\mathrm{SO}}_{4}{)}_{3} +3{\mathrm{H}}_{2}\mathrm{O}$$.

    $$ \mathrm{Ca}(\mathrm{OH}{)}_{2} + {\mathrm{CO}}_{2} \to  {\mathrm{CaCO}}_{3} \downarrow  + {\mathrm{H}}_{2}\mathrm{O}$$;

    $$ {\mathrm{SO}}_{3} + 2\mathrm{NaOH} \to  {\mathrm{Na}}_{2}{\mathrm{SO}}_{4} + {\mathrm{H}}_{2}\mathrm{O}$$;

    $$ {\mathrm{SO}}_{3} + \mathrm{NaOH} \to  {\mathrm{NaHSO}}_{4}$$.

    Кислотные оксиды слабых кислот взаимодействуют только с сильными основаниями (щелочами) и их оксидами:

    $$ {\mathrm{Na}}_{2}\mathrm{O}+{\mathrm{CO}}_{2}\to {\mathrm{Na}}_{2}{\mathrm{CO}}_{3}$$;

    CuO+CO2\mathrm{CuO}+{\mathrm{CO}}_{2}\overline{)\to }  

    Выше упоминалось, что кислотные оксиды могут вступать в многочисленные окислительно-восстановительные реакции, например:

    $$ {\mathrm{CO}}_{2} + \mathrm{C} \to  2\mathrm{CO}\uparrow $$;

    $$ {\mathrm{SO}}_{2} + 2{\mathrm{H}}_{2}\mathrm{S}  \to  3\mathrm{S}\downarrow + 2{\mathrm{H}}_{2}\mathrm{O}$$.

    В состав амфотерного окcида входит элемент, который обладает амфотерными свойствами. Под амфотерностью понимают способность соединений проявлять в зависимости от условий кислотные и основные свойства. Например, оксид цинка `"ZnO"` может быть как основанием, так и кислотой (`"Zn"("OH")_2` и `"H"_2"ZnO"_2`). Амфотерность выражается в том, что в зависимости от условий амфотерные оксиды проявляют либо осно́вные, либо кислотные свойства:

    $$ \mathrm{ZnO} + {\mathrm{CO}}_{2} \to  {\mathrm{ZnCO}}_{3}$$;
    $$ \mathrm{ZnO} + {\mathrm{Na}}_{2}\mathrm{O} \to  {\mathrm{Na}}_{2}{\mathrm{ZnO}}_{2}$$;
    $$ \mathrm{ZnO} + 2{\mathrm{NaOH}}_{\left(\mathrm{расплав}\right)} \to  {\mathrm{Na}}_{2}{\mathrm{ZnO}}_{2} + {\mathrm{H}}_{2}\mathrm{O}$$;
    $$ \mathrm{ZnO} + 2\mathrm{NaOH} + {\mathrm{H}}_{2}\mathrm{O} \to  {\mathrm{Na}}_{2}[\mathrm{Zn} (\mathrm{OH}{)}_{4}]$$;

    $$ \mathrm{ZnO} + 2\mathrm{HCl}  \to  {\mathrm{ZnCl}}_{2} + {\mathrm{H}}_{2}\mathrm{O}$$.

    Оксиды взаимодействуют с водой, если в результате реакции образуются растворимые гидроксиды (щёлочи).

    Все амфотерные гидроксиды являются осадками, поэтому амфотерные оксиды в реакцию с водой не вступают.


     

  • 1.5. Основания

    Гидроксиды металлов принято делить на две группы: растворимые в воде (щёлочи) и нерастворимые в воде. Основное различие между ними заключается в том, что концентрация ионов $$ {\mathrm{OH}}^{-}$$  в растворах щелочей достаточно высока, для нерастворимых же оснований она определяется растворимостью вещества и обычно очень мала. Тем не менее, небольшие равновесные концентрации ионов $$ {\mathrm{OH}}^{-}$$ даже в растворах нерастворимых оснований определяют свойства этого класса  соединений.

    Классификация оснований


    Признак классификации

    Тип оснований

    Примеры

    Число гидроксогрупп в молекуле

    Однокислотные

    `"NaOH",  "KOH",  "NH"_4"OH"`

    Двухкислотные

    `"Ca(OH")_2,  "Fe(OH")_2`

    Трехкислотные

    `"Mn(OH")_3,  "Co(OH")_3`

    Растворимость в воде и степень диссоциации

    Растворимые в воде сильные основания (щёлочи)

    `"LiOH",  "NaOH",  "KOH",  "Ca(OH")_2,  "Ba(OH")_2`

    Нерастворимые в воде, слабые основания

    `"Fe(OH)"_2,  "Fe(OH)"_3, "Cu(OH)"_2`

    Получение оснований

    1. Взаимодействие щелочных и щелочноземельных металлов с водой:

    $$ 2\mathrm{Li} + 2{\mathrm{H}}_{2}\mathrm{O}  \to  2\mathrm{LiOH} + {\mathrm{H}}_{2}\uparrow $$,

    $$ \mathrm{Ca} + 2{\mathrm{H}}_{2}\mathrm{O} \to  \mathrm{Ca}(\mathrm{OH}{)}_{2} + {\mathrm{H}}_{2}\uparrow $$.

    2. Взаимодействие основных оксидов с водой:

    $$ \mathrm{SrO} + {\mathrm{H}}_{2}\mathrm{O}  \to  \mathrm{Sr}(\mathrm{OH}{)}_{2}$$,

    $$ \mathrm{MgO} + {\mathrm{H}}_{2}\mathrm{O}\stackrel{\mathrm{t}°\mathrm{C}}{\to }\mathrm{Mg}(\mathrm{OH}{)}_{2}$$.

    3. Взаимодействие щелочей с растворимыми солями, если в результате образуется нерастворимое вещество:

    `"K"_2"CO"_3+"Ca(OH")_2->2"KOH"+"CaCO"_3darr`.

    `"CuSO"_4+2"KOH" -> "Cu"("OH")_2 darr + "K"_2"SO"_4`.

    4. Электролиз водных растворов щелочей:

    $$ 2\mathrm{NaCl} + 2{\mathrm{H}}_{2}\mathrm{O}\stackrel{\mathrm{эл}.\mathrm{ток}}{\to }2\mathrm{NaOH} + {\mathrm{H}}_{2}\uparrow +{\mathrm{Cl}}_{2}\uparrow $$.

    5. Гидролиз солей:

    `"NiCl"_2+2"H"_2"O"->"Ni(OH")_2+2"HCl"uarr`.

    Химические свойства оснований и амфотерных гидроксидов

    Все нерастворимые в воде основания при нагревании разлагаются с образованием оксидов:

    $$ 2\mathrm{Fe}(\mathrm{OH}{)}_{3}\stackrel{\mathrm{t}°\mathrm{C}}{\to } {\mathrm{Fe}}_{2}{\mathrm{O}}_{3} + 3{\mathrm{H}}_{2}\mathrm{O}$$;

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

    `"Cu(OH)"_2+"H"_2"SO"_4 -> "CuSO"_4+2"H"_2"O"`.

    Амфотерные гидроксиды проявляют как свойства оснований, так и свойства кислот:

    $$ \mathrm{Al}(\mathrm{OH}{)}_{3} + \mathrm{NaOH} \stackrel{\mathrm{t}°\mathrm{C}}{\to }  {\mathrm{NaAlO}}_{2} + 2{\mathrm{H}}_{2}\mathrm{O}$$.

    `2"Al"("OH")_3+3"H"_2"SO"_4 -> "Al"_2("SO"_4)_3+6"H"_2"O"`.

    Гидроксид алюминия растворяется в щелочах, но не растворяется в растворе аммиака.

    Амфотерные гидроксиды реагируют со щелочами при сплавлении с образование солей:

    $$ \mathrm{Zn}(\mathrm{OH}{)}_{2}+2\mathrm{NaOH}\stackrel{t°\mathrm{C}}{\to }{\mathrm{Na}}_{2}{\mathrm{ZnO}}_{2}+2{\mathrm{H}}_{2}\mathrm{O}$$;

    Однако взаимодействие амфотерных гидроксидов с водными растворами щелочей приводит к образованию комплексных соединений: 

    `"Zn(OH)"_2+2"NaOH"->"Na"_2["Zn(OH)"_4]`;

    Правильнее:  `2"NaOH"+"ZnO"+"H"_2"O"->"Na"_2"[Zn(OH)"_4]`;

    Гидроксид цинка растворяется как  в щелочах, так и в растворе аммиака:

    $$ \underset{\mathrm{гидроксид} \mathrm{тетрааминцинка}}{\mathrm{Zn}(\mathrm{OH}{)}_{2} + 4{\mathrm{NH}}_{3} \to  [\mathrm{Zn}\left({\mathrm{NH}}_{3}{)}_{4}\right](\mathrm{OH}{)}_{2} }\phantom{\rule{0ex}{0ex}}$$

    Гидроксид меди (II) не реагирует со щелочами, но растворяется в растворе аммиака:

    `"Cu"("OH")_2+4"NH"_3 -> ["Cu"("NH"_3)_4]("OH")_2`.

    Гидроксид магния не реагирует ни со щелочами, ни с аммиаком, но растворяется в растворе хлорида аммония:

    `"Mg"("OH")_2+2"NH"_4"Cl"->"MgCl"_2+2"NH"_3 uarr +2"H"_2"O"`.

    Химические свойства щелочей

    Общие химические свойства щелочей определяются наличием в их составе гидроксид-ионов, появляющихся в процессе электролитической диссоциации.

    1. Щелочь `+` кислотный оксид `->`соль `+` вода;

     `"Ba(OH)"_2+"N"_2"O"_5 ->"Ba(NO"_3)_2+"H"_2"O"`

    `"Ca(OH)"_2+2"CO"_2->"Ca(HCO"_3)_2`;

    `"Ca(OH)"_2+"CO"_2 ->"CaCO"_3darr+"H"_2"O"`

    2. Щелочь + амфотерный оксид → соль + вода;

    `2"NaOH"+"ZnO"->"Na"_2"ZnO"_2+"H"_2"O"`;

    3. Щелочь `+` кислота `->` соль `+` вода;

    `3"KON"+"H"_3"PO"_4->"K"_3"PO"_4+3"H"_2"O"`;

    `"Ba(OH)"_2+2"HNO"_3->"Ba(NO"_3)_2+2"H"_2"O"`;

    4. Щелочь `+` амфотерный гидроксид `->` комплексная соль (существует в водном растворе) ;

    `2"NaOH"+"Zn(OH)"_2`$$ \stackrel{\mathrm{t}°\mathrm{C}}{\to }$$`"Na"_2["Zn(OH)"_4]`;

    $$ \mathrm{NaOH} + \mathrm{Al}(\mathrm{OH}{)}_{3}  \stackrel{\mathrm{t}°\mathrm{C}}{\to }  \mathrm{Na}[\mathrm{Al}\left(\mathrm{OH}{)}_{4}\right]$$.

    5. Щелочь `+` растворимая соль `->` нерастворимое основание `+` соль;

    `"Ca(OH")_2 + "Cu(NO"_3)_2 → "Cu(OH)"_2↓ +" Ca(NO"_3)_2`;
        `3"KOH" + "FeCl"_3 → "Fe(OH)"_3↓ + 3"KCl"`;

    6. Щелочь `+` металл `+` вода `->` соль `+` водород;

    `2"NaOH" +"Zn" + 2"H"_2"O" → "Na"_2["Zn(OH")_4] + "H"_2↑`;
    `2"KOH" + 2"Al" + 6"H"_2"O" →  2"K"["Al(OH)"_4] + 3"H"_2↑`. 

    Необходимо подчеркнуть способность растворов щелочей реагировать с галогенами, например, хлором:

    `2"NaOH" + "Cl"_2  → "NaCl" + "NaClO"  + "H"_2"O"` (на холоду);

    `6"KOH" + 3"Cl"_2`  $$ \stackrel{\mathrm{t}°\mathrm{C}}{\to }$$ `5"KCl" +"KClO"_3 + 3"H"_2"O"`.

  • 1.6. Кислоты

    Согласно  протонной  теории  кислот  и  оснований, предложенной И. Бренстедом, кислотой называют вещество, отщепляющее протоны при данной температуре, а основанием – вещество, способное принимать протоны. Любая реакция отщепления протона выражается уравнением:

    $$ \mathrm{кислота} \rightleftarrows  \mathrm{основание} + {\mathrm{H}}^{+}$$

    На базе таких представлений становятся понятными основные свойства аммиака, который за счёт неподелённой пары электронов атома азота эффективно принимает протон при взаимодействии с кислотами, образуя по донорно-акцепторному  механизму ион аммония:

    $$ \underset{\mathrm{Кисл}.}{{\mathrm{HNO}}_{3}} + \underset{\mathrm{Осн}.}{{\mathrm{NH}}_{3}} \to   \underset{\mathrm{Кисл}.}{{\mathrm{NH}}_{4}^{+}} + \underset{\mathrm{Осн}.}{{\mathrm{NO}}_{3}^{-}}$$

    Возможно  и  ещё  более  общее  определение  кислот и оснований.

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

    Катионы, анионы, нейтральные молекулы, способные принять одну или несколько пар электронов, называют кислотами Льюиса.

    Катионы, анионы, нейтральные молекулы, способные отдавать электронные пары, называют основаниями Льюиса.

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

    Сопоставление определений кислот и оснований

    Класс веществ

    Определение кислот и оснований

    По Аррениусу

    По Бренстеду-Лоури

    По Льюису

    кислоты

    отдают `"H"^+`

    отдают `"H"^+`

    принимают электронные пары

    основания

    отдают `"OH"^-`

    принимают `"H"^+`

    отдают электронные пары

     Номенклатура кислот

    Случай

    Правила составления названия

    Пример

    Бескислородная кислота

    К названию неметалла с окончанием -о добавляется слово

    водородная

    `"H"_2"S"` - сероводородная кислота

    `"HCl"` - хлороводородная кислота

    Кислородсодержащая: степень окисления соответствует номеру группу

    Суффикс -ная,

    или -вая

    `"HNO"_3` - азотная кислота

    `"H"_2"SiO"_3` - кремниевая кислота

    `"HClO"_4` - хлорная кислота

    Кислородсодержащая:

    степень окисления ниже максимальной

    Суффиксы -оватая, -истая, -оватистая

    `"HClO"_3` - хлорноватая кислота

    `"HClO"_2` -  хлористая кислота

    `"HClO"` - хлорноватистая кислота

    Элемент в одной и той же степени окисления образует несколько кислородсодержащих кислот

    К названию кислоты с меньшим содержанием кислородсодержащих атомов добавляется префикс  мета-:

    с большим - префикс  орто-

    `"H"_2"SiO"_3` - метакремниевая кислота

    `"H"_4"SiO"_4` - ортокремниевая кислота

    Классификация кислот

    Признак классификации

    Тип кислот

    Примеры

    Число атомов водорода в молекуле

    Одноосновные

    `"HCl"`, `"HClO"_3`, `"HNO"_3`

    Двухосновные

    `"H"_2"S"`, `"H"_2"SO"_4`, `"H"_2"SiO"_3`

    Трёхосновные

    `"H"_3"PO"_4`,  `"H"_3"AsO"_4`

    Четырёхосновные

    `"H"_4"P"_2"O"_7`

    Содержание атомов кислорода в молекуле


    Бескислородные

    `"HI"`, `"HBr"`

    Кислородсодержащие

    `"H"_2"SO"_4`,  `"HClO"_4`

    Агрегатное состояние

     

    Растворы газов в воде

    `"HF"`, `"HCl"`, `"H"_2"S"`, `"H"_2"CO"_3`

    Жидкие

    `"HNO"_3`, `"H"_2"SO"_4`

    Твёрдые

    `"H"_3"BO"_3`,  `"H"_2"SiO"_3`

     

    Получение кислот

    1. Бескислородные кислоты могут быть получены при непосредственном соединении неметаллов с водородом: 

    `"H"_2+"Cl"_2->2"HCl"`.

    2. Кислородсодержащие кислоты могут быть получены при взаимодействии кислотных оксидов с водой

    `"SO"_3+"H"_2"O"->"H"_2"SO"_4`.

    3. Как бескислородные, так и кислородсодержащие  кислоты можно получить по реакциям обмена между солями и другими кислотами:

    `"BaBr"_2+"H"_2"SO"_4->"BaSO"_4darr+2"HBr"`;

    `"CuSO"_4+"H"_2"S"->"CuS"darr+"H"_2"SO"_4`.

    Химические свойства кислот

    Химические свойства кислот можно разделить на две группы: общие для всех кислот реакции, связанные с наличием в их растворах иона `"Н"^+` (иона гидроксония `"H"_3"O"^+`), и  специфические, т. е. характерные только для конкретных кислот.

    Ион водорода может, с одной стороны, вступать в окислительно-восстановительные реакции, восстанавливаясь до водорода, а с другой стороны – вступать в реакции соединения с отрицательно заряженными или нейтральными частицами, имеющими неподелённые пары электронов (кислотно-основное взаимодействие).

    1. К первому типу превращений кислот относится реакция кислот с активными металлами, стоящими в ряду напряжений до водорода c выделением водорода (кроме азотной кислоты, в этом случае выделяются продукты восстановления азота), например:

     `"Zn" + 2"HCl"->"ZnCl"_2 +"H"_2`;

    `"Zn" + "2H"^+  -> "Zn"^(2+) + "H"_2uarr`.

    `"Fe"+"H"_2"SO"_(4 ("разб".)) -> "FeSO"_4 + "H"_2uarr`.

    `"HCl"+"Cu"` \overline{)\to }

    `4"HNO"_(3("конц".)) + "Cu" ->"Cu"("NO"_3 )_2 +2 "NO"_2uarr +2 "H"_2"O"`.

    2. Кислота `+` основный оксид `->` соль `+` вода;

    `2"HNO"_3 + "CuO"->"Cu(NO"_3)_2 + "H"_2"O"`.

    3. Кислота `+` амфотерный оксид `->` соль `+` вода;

    `3"H"_2"SO"_4 + "Cr"_2"O"_3 ->  "Cr"_2("SO"_4)_3 + 3"H"_2"O"`;

    `2"HBr" + "ZnO" ->  "ZnBr"_2 + "H"_2"O"`.      

    4. Кислота`+` щелочь `->` соль `+` вода (реакция нейтрализации);

    `"H"_2"SO"_4 + 2"KOH" ->  "K"_2"SO"_4 + 2"H"_2"O"`. 

    5. Кислота `+` основание `->` соль `+` вода;

    `2"HBr" + "Ni(OH")_2  -> "NiBr"_2 + 2"H"_2"O"`.

    6. Кислота`+` амфотерный гидроксид `->` соль `+` вода;

    `3"HCl" + "Cr(OH")_3  ->"CrCl"_3 + 3"H"_2"O"`;

    `2"HNO"_3 + "Zn(OH")_2  -> "Zn(NO"_3)_2 + 2"H"_2"O"`.

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

    `2"HBr" + "CaCO"_3  ->  "CaBr"_2 + "H"_2"O" + "CO"_2uarr`;

    `"BaCl"_2+ "H"_2"SO"_4  -> "BaSO"_4darr + 2"HCl"`.

    8. Некоторые кислоты способны разлагаться при нагревании:

    $$ {\mathrm{H}}_{2}{\mathrm{SiO}}_{3} \stackrel{\mathrm{t}°\mathrm{C}}{\to } {\mathrm{SiO}}_{2}\downarrow + {\mathrm{H}}_{2}\mathrm{O}$$;

    $$ {\mathrm{H}}_{2}{\mathrm{CO}}_{3} \stackrel{\mathrm{t}°\mathrm{C}}{\to } {\mathrm{CO}}_{2}\uparrow + {\mathrm{H}}_{2}\mathrm{O}$$;

    $$ {\mathrm{H}}_{2}{\mathrm{SO}}_{3} \stackrel{\mathrm{t}°\mathrm{C}}{\to } {\mathrm{SO}}_{2}\uparrow + {\mathrm{H}}_{2}\mathrm{O}$$.

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

    Бескислородные кислоты в водном растворе могут только окисляться:

                               `2"KMnO"_4 + 16"HCl"->5"Cl"_2uarr   +2"KCl" + 2"MnCl"_2 + 8"H"_2"O"`;

                              `"H"_2"S" +"Br"_2 -> "S"darr + 2"HBr"`.

    Кислородсодержащие кислоты могут окисляться, только когда центральный атом в них находится в промежуточной степени окисления, как, например, в сернистой кислоте:

    `"H"_2"SO"_3 + "Cl"_2+ "H"_2"O" -> "H"_2"SO"_4 + 2"HCl"`.

    Многие кислородсодержащие кислоты, в которых центральный атом имеет максимальную степень окисления, проявляют свойства сильных окислителей  (`"H"_2"SO"_4`  является сильным окислителем только при высокой концентрации):

    `"Cu" + 2"H"_2"SO"_(4  "конц") -> "CuSO"_4  + "SO"_2uarr + 2"H"_2"O"`;

    `"C"+2"H"_2"SO"_(4  "конц") -> "CO"_2uarr + 2"SO"_2uarr + 2"H"_2"O"`;

    `"P" + 5"HNO"_(3  "конц") -> "H"_3"PO"_4 + 5"NO"_2uarr + "H"_2"O"`;

    `"S"+6"HNO"_(3  "конц") -> "H"_2"SO"_4+6"NO"_2 uarr+2"H"_2"O"`;

    `"S"+2"H"_2"SO"_(4  "конц") -> 3"SO"_2 uarr +2"H"_2"O"`.

  • 1.7. Соли


    Соли

    сложные вещества, состоящие из атомов металлов (катионов) и анионов кислотного остатка. Соли по составу похожи на кислоты, только вместо ионов водорода содержат ионы металлов. Поэтому соли можно назвать продуктами замещения атомов водорода в кислоте на атом металла.

    Соли принято делить  на три группы: средние, кислые и основные.

    Средние соли

    продукты полного замещения атомов водорода в кислоте замещены металлом

    (`"Na"_2"SO"_4`, `"KNO"_3`, `"BaSO"_4` и др.)

    $$ 3\mathrm{NaOH} + {\mathrm{H}}_{3}{\mathrm{PO}}_{4} \to  {\mathrm{Na}}_{3}{\mathrm{PO}}_{4} + 3{\mathrm{H}}_{2}\mathrm{O}$$;

    $$ \mathrm{Al}(\mathrm{OH}{)}_{3} + 3\mathrm{HCl} \to  {\mathrm{AlCl}}_{3} + 3{\mathrm{H}}_{2}\mathrm{O}$$.

    Кислые и основные соли

    Кислые соли представляют собой продукт неполного замещения кислот и оснований. По международной номенклатуре атом водорода, входящий в состав кислой соли, обозначается приставкой гидро-, а группа `"OH"^-` – приставкой гидрокси, например: `"NaHS"` – гидросульфид натрия, `"NaHSO"_4` – гидросульфат натрия, `"Mg(OH)Cl"` – гидроксихлорид магния, `"Al(OH)"_2"Cl"` – дигидроксихлорид алюминия.

    Кислые соли

    представляют собой продукты неполного замещения атомов водорода в кислоте на атом металла, например:

    `2"NaOH" + "H"_3"PO"_4 -> "Na"_2"HPO"_4 + 2"H"_2"O"`;

    гидрофосфат натрия

    `"NaOH" + "H"_3"PO"_4 -> "NaH"_2"PO"_4 + "H"_2"O"`.

    дигидрофосфат натрия

    Основные соли

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

    `"Al(OH)"_3 + "HCl" -> "Al(OH)"_2"Cl" + "H"_2"O"`;

    дигидроксихлорид алюминия

    `"Al(OH)"_3 + 2"HCl" -> "Al(OH)Cl"_2 + 2"H"_2"O"`;

    гидроксихлорид алюминия


    Существуют также некоторые другие типы солей, например, двойные соли, в которых содержатся два разных катиона и один анион:

    `"CaCO"_3*"MgCO"_3` (доломит), `"KCl"*"NaCl"` (сильвинит), `"KAl(SO"_4)_2` - алюмокалиевые квасцы, или смешанные соли, в которых содержится один катион и два разных аниона: `"CaOCl"_2` или `"Ca(OCl)Cl"`.

    Соли представляют собой ионные соединения,  и их названия строятся по названиям катионов и анионов. Для солей бескислородных кислот к названию неметалла добавляется суффикс -ид, например, хлорид натрия `"NaCl"`.

    При наименовании солей кислородсодержащих кислот к латинскому корню названия элемента добавляется окончание -ат для высшей степеней окисления, -ит для более низких (для некоторых кислот используется приставка гипо- для низких степеней окисления неметалла; для солей хлорной и марганцовой кислот используется приставка пер-):

    `"CaCO"_3` - карбонат натрия

    `"КClO"` - гипохлорит калия

     

    `"FeSO"_3`  - сульфит железа (II)

    `"KClO"_2` - хлорит калия

     

    `"KMnO"_4` - перманганат калия

     

    `"KClO"_3` -  хлорат калия

     

    `"KNO"_2` - нитрит калия

    `"KClO"_4` - перхлорат калия

     

    Способы получения средних солей

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

    Способы получения кислых и основных солей

    Кислые соли могут быть получены либо неполной нейтрализацией кислот, либо действием избытка кислот на средние соли, щелочи, оксиды:

    `"NaOH" + "H"_2"SO"_4 -> "NaHSO"_4 + "H"_2"O"`;

    `"Na"_2"SO"_4 + "H"_2"SO"_4  -> 2"NaHSO"_4`;

    `"NaCl" + "H"_2"SO"_4 ->  "NaHSO"_4 + "HCl"`;

    `"CaCO"_3 + "CO"_2 + "H"_2"O"  -> "Ca(HCO"_3)_2`.

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

    `"AlCl"_3 + 2"NaOH"  -> "Al(OH)"_2"Cl" + 2"NaCl"`;

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

    Если кислую соль донейтрализуют тем же основанием, которое образует данную соль, получают одну среднюю соль:

    $$ {\mathrm{KHCO}}_{3}+\mathrm{KOH}\to {\mathrm{K}}_{2}{\mathrm{CO}}_{3}+{\mathrm{H}}_{2}\mathrm{O}.$$

    Если другим основанием – две средние соли:

    $$ 2{\mathrm{KHCO}}_{3}+2\mathrm{NaOH}\to {\mathrm{K}}_{2}{\mathrm{CO}}_{3}+{\mathrm{Na}}_{2}{\mathrm{CO}}_{3}+2{\mathrm{H}}_{2}\mathrm{O}.$$

    При избытке щёлочи:

    $$ {\mathrm{KHCO}}_{3}+2\mathrm{NaOH}\to \mathrm{KOH}+{\mathrm{Na}}_{2}{\mathrm{CO}}_{3}+{\mathrm{H}}_{2}\mathrm{O}.$$

    Если основную соль донейтрализуют той же кислотой, которая образует данную соль, получают одну среднюю соль:

    $$ \mathrm{MgOHCl}+\mathrm{HCl}\to {\mathrm{MgCl}}_{2}+{\mathrm{H}}_{2}\mathrm{O}.$$

    Если другой кислотой – две средние соли:

    2MgOHCl+H2SO4MgCl2+MgSO4+2H2O.2\mathrm{MgOHCl}+{\mathrm{H}}_{2}{\mathrm{SO}}_{4}\to {\mathrm{MgCl}}_{2}+{\mathrm{MgSO}}_{4}+2{\mathrm{H}}_{2}\mathrm{O}.

     Химические свойства солей

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

    $$ {\mathrm{NH}}_{4}\mathrm{Cl} \stackrel{\mathrm{t}°\mathrm{C}}{\to } {\mathrm{NH}}_{3}\uparrow  + \mathrm{HCl}$$;

    $$ 2{\mathrm{FeSO}}_{4} \stackrel{\mathrm{t}°\mathrm{C}}{\to }  {\mathrm{Fe}}_{2}{\mathrm{O}}_{3} + {\mathrm{SO}}_{2}\uparrow  + {\mathrm{SO}}_{3}\uparrow $$;

    $$ 4{\mathrm{FeSO}}_{4} \stackrel{\mathrm{t}°\mathrm{C}}{\to }  2{\mathrm{Fe}}_{2}{\mathrm{O}}_{3} + 4{\mathrm{SO}}_{2}\uparrow   + {\mathrm{O}}_{2}\uparrow $$;

    $$ ({\mathrm{NH}}_{4}{)}_{2}{\mathrm{Cr}}_{2}{\mathrm{O}}_{7}  \stackrel{\mathrm{t}°\mathrm{C}}{\to } {\mathrm{Cr}}_{2}{\mathrm{O}}_{3} + {\mathrm{N}}_{2}\uparrow + 4{\mathrm{H}}_{2}\mathrm{O}$$;

    $$ 2{\mathrm{KClO}}_{3}  \stackrel{150-300°\mathrm{C}, {\mathrm{MnO}}_{2}}{\to } 2\mathrm{KCl} + 3{\mathrm{O}}_{2}\uparrow $$;

    $$ 4{\mathrm{KClO}}_{3} \stackrel{400°\mathrm{C}}{\to }  3{\mathrm{KClO}}_{4} + \mathrm{KCl}$$.

    Взаимодействие растворов или расплавов солей менее активных металлов с более активными металлами:

    `"Cu" + 2"AgNO"_3 -> 2"Ag"darr + "Cu(NO"_3)_2`.

    Взаимодействие соли с кислотой, в результате которого образуется нерастворимое или летучее вещество:

    `"AgNO"_3 + "HBr" → "AgBr"↓ + "HNO"_3`;

    `"FeS" + 2"HCl" → "H"_2"S"↑ + "FeCl"_2`.

    Взаимодействие раствора соли со щелочью, в результате которого образуется нерастворимое вещество:

    `"CuCl"_2 + "KOH" → "Cu(OH)"_2 ↓+ 2"KCl"`;

    `"Na"_2"CO"_3 + "Ca(OH)"_2 → "CaCO"_3↓ + 2"NaOH"`.

    Взаимодействие растворов солей друг с другом, в результате которого образуется нерастворимое вещество:

    `"Na"_2"CO"_3 + "Ba(NO"_3)_2 → "BaCO"_3 ↓+ 2"NaNO"_3`.

    Участие в ОВР:

    `2"FeCl"_2 + "Cl"_2 → 2"FeCl"_3`;

    `2"NaNO"_2 + "O"_2 → 2"NaNO"_3`;

    `"Na"_2"SO"_3 +  "H"_2"O" + "Cl"_2 → "Na"_2"SO"_4 +  2"HCl"`.

    Гидролиз некоторых солей:

    $$ {\mathrm{MgCl}}_{2} + {\mathrm{H}}_{2}\mathrm{O} \rightleftarrows   \mathrm{MgOHCl} + \mathrm{HCl}$$;

    $$ {\mathrm{Na}}_{2}{\mathrm{CO}}_{3} + {\mathrm{H}}_{2}\mathrm{O} \rightleftarrows   {\mathrm{NaHCO}}_{3} + \mathrm{NaOH}$$.

    При нагревании многие кислые соли разлагаются:

    $$ 2{\mathrm{NaHCO}}_{3} \stackrel{\mathrm{t}°\mathrm{C}}{\to }  {\mathrm{Na}}_{2}{\mathrm{CO}}_{3} + {\mathrm{CO}}_{2}\uparrow  + {\mathrm{H}}_{2}\mathrm{O}$$;

    $$ \mathrm{Ca}({\mathrm{HCO}}_{3}{)}_{2}  \stackrel{\mathrm{t}°\mathrm{C}}{\to }  {\mathrm{CaCO}}_{3}\downarrow + {\mathrm{CO}}_{2}\uparrow  + {\mathrm{H}}_{2}\mathrm{O}$$.

    Генетической

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

    Генетическая связь может быть отражена в генетических рядах.

    Генетический ряд состоит из веществ, которые образованы одним химическим элементом, принадлежат к разным классам  соединений и связаны взаимными превращениями.

    В приведённой ниже таблице обобщены рассмотренные выше химические свойства важнейших классов неорганических соединений.

    Реагент Основной оксид Амфотерный оксид Кислотный оксид Щелочь Амфотерный гидроксид Кислота Соль `"H"_2"O"`
    Основной оксид `-` соль соль `-` соль `+` `"H"_2"O"` соль `+` `"H"_2"O"` `-` щелочь
    Амфотерный оксид соль `-` соль соль `+` `"H"_2"O"` `-` соль `+` `"H"_2"O"` `-` `-`
    Кислотный оксид соль соль `-` соль `+` `"H"_2"O"` соль `+` `"H"_2"O"` `-` `-` кислота
    Щелочь `-` соль `+` `"H"_2"O"` соль `+` `"H"_2"O"` `-` соль `+` `"H"_2"O"` соль `+` `"H"_2"O"` соль `+` основание

    дис-

    социация

    Амфотерный гидроксид соль `+` `"H"_2"O"` `-` соль `+` `"H"_2"O"` соль `+` `"H"_2"O"` `-` соль `+` `"H"_2"O"` `-`
    Кислота соль `+` `"H"_2"O"` соль `+` `"H"_2"O"` `-` соль `+` `"H"_2"O"` соль `+` `"H"_2"O"` `-` соль `+` кислота

    дис-

    социация

    Соль `-` `-` `-` соль `+` основание `-` соль `+` кислота соль `+` соль гидролиз


  • 2.1. Теория электролитической диссоциации

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

    а) вещества, растворы которых обладают ионной проводимостью, называются электролитами;

    б) вещества, растворы которых не обладают ионной проводимостью, называются неэлектролитами.

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

    Оказалось, что, кроме хорошей электропроводности, растворы электролитов обладают более низкими значениями давлениями пара растворителя и температуры плавления и более высокими температурами кипения по сравнению с соответствующими значениями для чистого растворителя или для раствора неэлектролита в этом же растворителе. Для объяснения этих свойств, шведский ученый С. Аррениус в 1887 г. предложил теорию электролитической диссоциации.

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

    $$ {\mathrm{CH}}_{3}\mathrm{COOH}\rightleftarrows {\mathrm{H}}^{+}+{\mathrm{CH}}_{3}{\mathrm{COO}}^{–}$$.

    Сущность теории электролитической диссоциации С. Аррениуса

    1. Электролиты при растворении в воде распадаются (диссоциируют) на ионы: положительные (катионы) и отрицательные (анионы).

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

    3. Электролитическая диссоциация - процесс обратимый для слабых электролитов, т. е. вместе с распадом молекул на ионы (диссоциация) идет процесс соединения ионов в молекулы (ассоциация).

    Электролиты подразделяются в зависимости от степени диссоциации на сильные и слабые.

    Сильные электролиты

    вещества, которые диссоциируют полностью и необратимо, т. е. в растворе присутствуют только гидратиро-ванные ионы. Относятся все соли, сильные кислоты `"HI"`, `"HCl"`, `"HBr"`, `"HNO"_3`, `"H"_2"SO"_4`, `"HMnO"_4`, `"HClO"_4`, `"HClO"_3`, щелочи `"NaOH"`, `"LiOH"`, `"KOH"`, `"RbOH"`, `"CsOH"`, `"Ca"("OH")_2`, `"Ba"("OH")_2`, `"Sr"("OH")_2`.

    С точки зрения теории электролитической диссоциации, кислотой называется соединение, образующее при диссоциации в водном растворе только ионы `"H"^+`:

    `"HNO"_3 → "H"^+ + "NO"_3^-`

    Если кислота является двухосновной, то диссоциация кислоты происходит ступенчато. Количество стадий определяется основностью кислоты:

    $$ {\mathrm{H}}_{2}{\mathrm{SO}}_{4}\to {\mathrm{H}}^{+}+{\mathrm{HSO}}_{4}^{-}$$

    $$ {\mathrm{HSO}}_{4}^{-}\rightleftarrows  {\mathrm{H}}^{+}+{\mathrm{SO}}_{4}^{2-}$$.

    Сила бескислородных кислот возрастает в ряду однотипных соединений при переходе вниз по подгруппе кислотообразующего элемента: `"HCl"-"HBr"-"HI"`. Бромоводородная кислота `"HBr"` и йодоводородная `"HI"` кислоты сильнее хлороводородной, что объясняется увеличением межъядерных расстояний в их молекулах.

    Фтороводородная (плавиковая) кислота `"HF"` растворяет стекло, но это вовсе не говорит о её силе. В ряду бескислородных галогенсодержащих кислот она относится к кислотам средней силы ввиду низкой концентрации в растворе ионов водорода из-за способности молекул `"HF"` к объединению (ассоциации), благодаря сильным водородным связям, возникающим при взаимодействии ионов `"F"^-` с молекулами `"HF"` (водородные связи) с образованием ионов `"HF"_2^-`, `"H"_2"F"_3^-` и других боле сложных частиц. В результате концентрация ионов водорода в водном растворе фтороводородной кислоты оказывается сильно пониженной.

    Сила однотипных кислородных кислот изменяется в противоположном направлении, например, йодная кислота `"HIO"_4` слабее хлорной кислоты `"HClO"_4`. Если элемент образует несколько кислородных кислот, то наибольшей силой обладает кислота, в которой кислотообразующий элемент имеет самую высокую валентность.

    Так, в ряду кислот `"HClO"-"HClO"_2-"HClO"_3-"HClO"_4` хлорная кислота наиболее сильная.

    Схематически процесс распада (диссоциации) соляной кислоты  на ионы можно представить следующим образом. Чтобы вещество в воде было электролитом, его молекула должна быть полярной.

    Полярная молекула вещества окружена полярными молекулами воды, которые разрывают молекулу на две противоположно заряженные частицы – ионы.

    Основание

    с точки зрения теории электролитической диссоциации, представляет собой вещество, способное отдавать в растворе гидроксильную группу `"OH"^-`:

    $$ \mathrm{NaOH} \to  {\mathrm{Na}}^{+} + {\mathrm{OH}}^{–}$$.

    Диссоциация многокислотного гидроксида происходит ступенчато, например:

    $$ \mathrm{Ba}(\mathrm{OH}{)}_{2} \to  {\mathrm{BaOH}}^{+} + {\mathrm{OH}}^{-}$$,

    $$ {\mathrm{BaOH}}^{+}\rightleftarrows  {\mathrm{Ba}}^{2+}+ {\mathrm{OH}}^{-}$$.

    В свете теории электролитической диссоциации соли представляют собой соединения, образующие в водном растворе положительно заряженные ионы металла и отрицательно заряженные ионы кислотного остатка (для средних солей), а также кроме них ионы водорода (для кислых солей) и гидроксид-ионы (для основных солей):

    Средняя соль:

    $$ {\mathrm{Na}}_{2}{\mathrm{SO}}_{4} \to   2{\mathrm{Na}}^{+} + {\mathrm{SO}}_{4}^{2-}$$.

    Кислая соль:

    $$  {\mathrm{NaHSO}}_{4} \to  {\mathrm{Na}}^{+}+{\mathrm{HSO}}_{4}^{-}$$;

    $$ {\mathrm{HSO}}_{4}^{-}\rightleftarrows  {\mathrm{H}}^{+}+{\mathrm{SO}}_{4}^{2-}$$.

    Основная соль:

    $$ \mathrm{MgOHCl} \to  {\mathrm{MgOH}}^{+}+{\mathrm{Cl}}^{-}$$;

    $$ {\mathrm{MgOH}}^{+} \rightleftarrows  {\mathrm{Mg}}^{2+} +{\mathrm{OH}}^{-}$$.

    Слабые электролиты

    вещества, которые диссоциируют частично и обратимо.  

    $$ {\mathrm{HNO}}_{2} \rightleftarrows  {\mathrm{H}}^{+}+{\mathrm{NO}}_{2}^{-}$$

    $$ {\mathrm{CH}}_{3}\mathrm{COOH} \rightleftarrows  {\mathrm{CH}}_{3}{\mathrm{COO}}^{–}+{\mathrm{H}}^{+}$$.

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

    К слабым электролитам относятся:

    1) вода;  

    2) соли `"Zn"`, `"Cd"`, `"Hg"`; 

    3) оставшиеся кислоты, не относящиеся к сильным, например, `"HF"`, `"H"_2"S"`, `"HNO"_2`, `"H"_3"PO"_4` и другие, а также незамещённые органические кислоты. При растворении углекислого газа в воде образуется его гидрат `"CO"_2*"H"_2"O"` и в незначительном количестве угольная кислота `"H"_2"CO"_3`. Тем не менее, для диссоциации воспользуемся формулой угольной кислоты:

    $$ {\mathrm{H}}_{2}{\mathrm{CO}}_{3} \rightleftarrows  {\mathrm{H}}^{+}+{\mathrm{HCO}}_{3}^{-}$$

    $$ {\mathrm{HCO}}_{3}^{-}\rightleftarrows  {\mathrm{H}}^{+}+{\mathrm{CO}}_{3}^{2-}$$.

    Практически диссоциация осуществляется лишь по первой ступени. Образующийся гидрокарбонат-ион `"HCO"_3^-`  ведёт себя как слабый электролит.

    Причиной диссоциации электролита в водных растворах является его гидратация, т. е. взаимодействие электролита с молекулами воды и разрыв химической  связи в нем. В результате такого взаимодействия образуются гидратированные, т. е. связанные с молекулами воды, ионы.

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

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

    Также необходимо учитывать, что свойства гидратированных ионов отличаются от свойств негидратированных ионов. Например, негидратированный ион меди `"Cu"^(2+)` - белый в безводных кристаллах сульфата меди (II) `"СuSO"_4` и имеет голубой цвет, когда гидратирован, т. е. связан с молекулами воды `"Cu"^(2+)*"H"_2"O"`. Гидратированные ионы имеют как постоянное, так и переменное количество молекул воды.

    Основные свойства гидроксидов одного и того же элемента усиливаются с уменьшением его валентности. Так, основные свойства у гидроксида железа (II) выражены сильнее, чем у гидроксида железа (III) и наоборот.

    Слабым электролитом является гидроксид аммония `"NH"_4"OH"`. При растворении аммиака `"NH"_3` в воде образуется раствор, который слабо проводит электрический ток и имеет горько-мыльный вкус. Среда раствора основная. В растворе образуются гидрат аммиака `"NH"_3*"H"_2"O"` и в незначительном количестве гидроксид аммония `"NH"_4"OH"`, который диссоциирует как слабый электролит с образованием ионов аммония `"NH"_4^+` и гидроксид-иона `"OH"^-`.

    $$ {\mathrm{NH}}_{4}\mathrm{OH} \rightleftarrows  {\mathrm{NH}}_{4}^{+}+{\mathrm{OH}}^{-}$$.

    К слабым электролитам относят некоторые соли, например хлорид цинка `"ZnCl"_2`, тиоцианат железа `"Fe"("NCS")_3`, цианид ртути `"Hg"("CN")_2`, которые также диссоциируют по ступеням.

    Разделение электролитов на сильные, средние и слабые зависит от доли продиссоциированных молекул или степени диссоциации `alpha`, которая показывает отношение числа молекул, распавшихся на ионы `(N_"д")`, к общему числу введённых в раствор молекул `(N_"р")`:

    `alpha=(N_"д")/(N_"р")*100%`

    Электролиты со степенью диссоциации `30%` и более называют сильными, со степенью диссоциации `3`-`30%` называют средними (средней силы), со степенью диссоциации менее `3%` - слабыми.

    Степень диссоциации не является строгим показателем силы электролита, т. к. она зависит от концентрации раствора, природы растворителя, присутствия в растворе другие электролитов.

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

    Степень диссоциации как сильных, так и слабых электролитов зависит от концентрации раствора (степень диссоциации тем выше, чем более разбавлен раствор). Более точной характеристикой диссоциации электролита является константа диссоциации, которая от концентрации раствора не зависит.

    Выражение для константы диссоциации можно получить, если записать уравнение реакции диссоциации электролита АК в общем виде:

    $$ AK \rightleftarrows  {A}^{-}+{K}^{+}$$.

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

    `K_"дис"=([A^-][K^+])/([AK])`,

    где `K_"дис"` - константа диссоциации, которая зависит от температуры и природы электролита и растворителя, но не зависит от концентрации электролита;

    `[AK]` – концентрация недиссоцированных молекул;

    `[A^-]`, `[K^+]` - молярные концентрации анионов и катионов.

    Задача 1

    Рассчитайте количество ионов водорода в `1` л раствора серной кислоты с концентрацией `0,1` моль/л.

    Решение

                                                      `"H"_2"SO"_4 → "H"^+ + "HSO"_4^-`

                                                         `0,1` моль                  `0,1` моль

    Количество  ионов водорода равно `0,1` моль.

    Запишем уравнение диссоциации по второй ступени и по справочным данным определим степень диссоциации (`0,3`):

    $$ {\mathrm{HSO}}_{4}^{-}\rightleftarrows $$ `"H"^+ +"SO"_4^(2-)`.
    `0,1` моль `0,03` моль

    Используем формулу для нахождения степени диссоциации (при решении задачи степень диссоциации удобно выразить в долях от единицы):

    `alpha("H"_2"SO"_4)=(n("диссоцH"_2"SO"_4))/(n("общH"_2"SO"_4))`

    `n("диссоцH"_2"SO"_4)=0,1` моль/л `*0,3=0,03`  моль.

    `n("H"^+)=n("диссоцH"_2"SO"_4)=0,03`  моль.

    Таким образом, в растворе появилось ионов `"H"^+`:

    `0,1` моль `+ 0,03` моль `= 0,13` моль.

    Следовательно, концентрация ионов водорода в растворе серной кислоты равна `0,13` моль/л.


    Задача 2

    Степень диссоциации гидроксида бария по первой ступени `- 92%`, по второй ступени `- 56%`. Рассчитайте число катионов бария и число гидроксид-ионов в `0,5` л  `1,5 M` растворе.

    Дано:

    `alpha_1("Ba(OH")_2)=92%`

    `alpha_2("Ba(OH")_2)=56%`

    `V_"р-ра"("Ba(OH")_2)=0,5` л

    `c("Ba(OH")_2)=1,5M=1,5  "моль"//"л"`

                                                                              

    `N("Ba"^(2+))` - ?

    `N("OH"^-)` - ?

                    

    Решение

    1) Запишем уравнение электролитической диссоциации гидроксида бария:

    1 ступень: `"Ba(OH")_2-> "BaOH"^+ + "OH"^-`,

    2 ступень: $$ {\mathrm{BaOH}}^{+}\rightleftarrows {\mathrm{Ba}}^{2+}+{\mathrm{OH}}^{-}$$.

    2) Найдём количество вещества гидроксида бария, содержащегося в данном образце раствора:

    `nu("Ba(OH")_2)=c("Ba(OH")_2)*V_"р-ра"("Ba(OH")_2)=`

    `=1,5"моль"//"л" * 0,5"л"=0,75"моль"`

    3) Зная степень диссоциации вычислим число молекул `"Ba(OH")_2` распавшихся на ионы по первой ступени диссоциации:

    `nu_"дис"("Ba"("OH")_2)=(alpha_1("Ba"("OH")_2)*nu("Ba"("OH")_2))/(100%)=`

    `=(0,75  "моль"*92%)/(100%)=0,69  "моль"`.

    Согласно диссоциации по `"I"` ступени, это количество вещества равно количеству вещества гидроксид-ионов, образовавшихся по первой ступени диссоциации, и количество ионов `"Ba(OH")^+`:

    `nu("Ba(OH")^+ )=nu_1("OH"^-)=nu_"дис"("Ba(OH")_2)=0,69` моль.

    4) Исходя из количества вещества гидроксокатионов бария, образовавшихся на первой стадии диссоциации, и степени диссоциации по второй ступени, вычислим количество ионов `"Ba"("OH")^+`, диссоциирующих по второй ступени:

    `nu("Ba"("OH")^+)=(alpha_2("Ba"("OH")_2)*nu("Ba"("OH")^+))/(100%)=`

    `=(56%*0,69  "моль")/(100%)=0,386  "моль"`.

    В соответствии с диссоциацией по `"II"` ступени, это количество вещества равно количеству вещества катионов `"Ba"^(2+)` и количеству ионов `"OH"^-`, образовавшихся по `"II"` ступени диссоциации:

    `nu("Ba"^(2+))=nu_2("OH"^-)=nu_"дис"("Ba(OH")^+)=0,386` моль.

    5) Найдём число катионов  `"Ba"^(2+)`, образующихся при диссоциации:

    `N("Ba"^(2+))=nu("Ba"^(2+))*N_A=0,386 "моль"*6,02*10^(23) "моль"^(-1)=`

    `=2,324*10^(23)`.

    6) Вычислим количество вещества гидроксид-ионов, образовавшихся на обеих стадиях диссоциации, и их число:

    `nu("OH"^-)=nu_1("OH"^-)+nu_2("OH"^-)=0,69 "моль"+0,386 "моль"=`

    `=1,076"моль"`.

     `N("OH"^-)=nu("OH"^-)*N_A=1,076 "моль"*6,02*10^(23) "моль"^(-1)=`

    `=6,478*10^(23)`.


    Ответ

    `N("Ba"^(2+))=2,324*10^(23)"моль"^(-1)`.

     `N("OH"^-)=6,478*10^(23)`.




  • 2.2. Ионные уравнения реакций

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

    Реакции между ионами называются ионными реакциями, а уравнения таких реакций - ионными уравнениями.

    С точки зрения теории диссоциации в реакциях между ионами в растворах электролитов возможны два исхода.

    1. Образующиеся вещества - сильные электролиты, хорошо растворимые в воде и полностью диссоциирующие на ионы.

    2. Одно (или несколько) из образующихся веществ - газ, осадок или слабый электролит (хорошо растворимый в воде).

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

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

    Итак, реакции в растворах электролитов идут в направлении связывания ионов. Рассмотрим основные формы связывания ионов.

    1. Образование осадка

    Молекулярное уравнение:

    $$ {\mathrm{AgNO}}_{3} + \mathrm{NaCl} \to  \mathrm{AgCl}\downarrow  + {\mathrm{NaNO}}_{3}$$.

    Полное ионное уравнение:

    $$ {\mathrm{Ag}}^{+} + {\mathrm{NO}}_{3}^{-}+ {\mathrm{Na}}^{+} + {\mathrm{Cl}}^{-} \to  \mathrm{AgCl}\downarrow  + {\mathrm{Na}}^{+} + {\mathrm{NO}}_{3}^{-}$$.

    Сокращённое ионное уравнение:

    $$ {\mathrm{Ag}}^{+} + {\mathrm{Cl}}^{-} \to  \mathrm{AgCl}\downarrow $$.

    2. Выделение газов (CO2, SO2, H2S, NH3) и образование слабых электролитов (H2O)

    Пример  1:

    $$ {\mathrm{Na}}_{2}{\mathrm{CO}}_{3} + 2\mathrm{HCl} \to  2\mathrm{NaCl} + {\mathrm{CO}}_{2}\uparrow  + {\mathrm{H}}_{2}\mathrm{O}$$;

    $$ 2{\mathrm{Na}}^{+}+{\mathrm{CO}}_{3}^{2-}+2{\mathrm{H}}^{+}+2{\mathrm{Cl}}^{-}\to 2{\mathrm{Na}}^{+}+2{\mathrm{Cl}}^{-}+{\mathrm{CO}}_{2}\uparrow +{\mathrm{H}}_{2}\mathrm{O}$$;

    $$ {\mathrm{CO}}_{3}^{2-}+2{\mathrm{H}}^{+}\to {\mathrm{CO}}_{2}\uparrow +{\mathrm{H}}_{2}\mathrm{O}$$.

    Пример 2:

    $$ 2\mathrm{Al}+2\mathrm{NaOH}+6{\mathrm{H}}_{2}\mathrm{O}\to 2\mathrm{Na}\left[\mathrm{Al}\right(\mathrm{OH}{)}_{4}]+3{\mathrm{H}}_{2}\uparrow $$;

    $$ 2\mathrm{Al}+2{\mathrm{Na}}^{+}+2{\mathrm{OH}}^{-}+6{\mathrm{H}}_{2}\mathrm{O}\to 2{\mathrm{Na}}^{+}+2\left[\mathrm{Al}\right(\mathrm{OH}{)}_{4}{]}^{-}+3{\mathrm{H}}_{2}\uparrow $$;

    $$  2\mathrm{Al}+2{\mathrm{OH}}^{-}+6{\mathrm{H}}_{2}\mathrm{O}=2\left[\mathrm{Al}\right(\mathrm{OH}{)}_{4}{]}^{ -}+3{\mathrm{H}}_{2}\uparrow $$.

    С учётом вышеизложенного можно сформулировать правило, которым удобно пользоваться при изучении процессов, протекающих в растворах электролитов:

    ПрАВИЛО

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