;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Ácidos e bases - Definições de Arrhenius, Bronsted-Lowry e Lewis

Carlos Roberto de Lana

Ácidos e bases (também chamadas de álcalis) são costumeiramente lembrados como substâncias químicas perigosas, corrosivos capazes de dissolver metais como se fossem comprimidos efervescentes. Mas a presença dos ácidos e base na nossa vida cotidiana é bem mais ampla e menos agressiva do que se imagina.

Eles também são componentes usuais de refrigerantes, alimentos, remédios, produtos de higiene ou cosméticos. São ainda matérias primas indispensáveis em um vasto universo de aplicações industriais. A tal ponto que a produção de ácido sulfúrico e soda cáustica de um país chega a ser considerada um dos indicadores do seu nível de atividade econômica.

Definições de ácidos e bases

A definição mais tradicional dos ácidos e bases foi dada pelo cientista sueco Svante Arrhenius, que estabeleceu os ácidos como substâncias que - em solução aquosa - liberam íons positivos de hidrogênio (H+), enquanto as bases, também em solução aquosa, liberam hidroxilas, íons negativos OH-.

Assim, quando diluído em água, o cloreto de hidrogênio (HCl) ioniza-se e define-se como ácido clorídrico, como segue:

Já o hidróxido de sódio, a popular soda cáustica, ao se ionizar em água, libera uma hidroxila OH-, definindo-se assim como base:

Um desdobramento da definição de Arrhenius é a regra de reação para ácidos e bases entre si, segundo a qual:

Se reagirmos os já citados ácido clorídrico e soda cáustica, teremos:

Sendo o NaCl, o cloreto de sódio, o nosso velho conhecido sal de cozinha.

Outras definições de ácidos e bases

Uma outra definição para ácidos e bases foi dada pelo dinamarquês Johannes N. Bronsted e pelo inglês Thomas Lowry, independentemente, ficando conhecida como definição protônica. Segundo os dois, ácido é uma substância capaz de ceder um próton a uma reação, enquanto base é uma substância capaz de receber um próton.

A definição de Bronsted-Lowry é mais abrangente que a de Arrhenius, principalmente pelo fato de nem todas as substâncias que se comportam como bases liberarem uma hidroxila OH-, como é o caso da amônia (NH3). Além disso, a definição protônica não condiciona a definição de ácidos e básicos à dissolução em meio aquoso, como propunha a do químico sueco.

Bronsted e Lowry definiram ácidos e bases a partir dos prótons que liberavam e recebiam. Já o norte-americano Gilbert Newton Lewis se voltou para os elétrons ao desenvolver sua definição. De acordo com ela, ácidos são substâncias que, numa ligação química, podem receber pares eletrônicos, enquanto as bases são aquelas que cedem estes pares.

A definição de Lewis abrange as de Arrhenius e a definição protônica, que, entretanto, continuam válidas dentro de suas próprias abrangências.

Identificação dos ácidos e bases

Os ácidos possuem sabor azedo, como o encontrado nas frutas cítricas ricas no ácido de mesmo nome. Já as base tem gosto semelhante ao do sabão (sabor adstringente). Mas, felizmente, há modos mais eficazes e seguros de identificar ácidos e bases do que o paladar.

É possível medir a concentração de hidrogênio iônico em uma solução a partir de uma escala logarítmica inversa, que recebeu o nome de potencial hidrogeniônico, ou simplesmente, escala de pH.

Esta escala vai de zero a 14, sendo o pH 7 considerado neutro. Os valores menores que sete classificam a solução medida como ácida e os maiores que sete, como alcalinos (bases).

Escala de pH:

Para se medir o pH, usam-se combinações de substâncias indicadoras, como a fenolftaleína, que mudam de cor conforme a posição da substância testada na escala acima.

Também são usados instrumentos como os medidores de pH por eletrodo indicador, que mede as diferenças de potencial elétrico produzidas pelas concentrações de hidrogênio e indica o resultado dentro da escala de 0 a 14.