;(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

Substantivo - Conceito e classificação

Solange Lauro Marcondes, Especial para a Página 3 Pedagogia & Comunicação

(Atualizado em 30/04/2014, às 16h40)

Substantivo é a classe gramatical, ou morfológica, de palavras que nomeiam os seres - reais ou imaginários, concretos ou abstratos. Além disso, inclui nomes de ações, estados, qualidades, sentimentos etc.

Qualquer classe gramatical antecedida por artigo, pronome demonstrativo, pronome indefinido ou pronome possessivo vira substantivo: o amar, um amanhã, nosso sentir, um não sei quê, o sim, o não, algum talvez, este falar, um abrir-se, o querer, aquele claro-escuro.

Classificação dos substantivos

Os substantivos são classificados assim:

  • Comuns: nomeiam grupos de seres da mesma espécie.
    Ex: jornal, país, cidade, animal, boca, beijo.
     
  • Próprios: nomeiam seres particulares de uma determinada espécie. São os nomes de pessoas, cidades, equipes de futebol, etc
    Ex: Fortaleza, Salvador, Ceará, Brasil, América do Norte
     
  • Abstratos: nomeiam estados, qualidades, sentimentos ou ações cuja existência depende de outros seres. explica-se: a beleza, por exemplo, precisa de algo concreto (um vaso, um rapaz, uma árvore) para se manifestar.
    Ex: tristeza, cansaço, prazer, alegria, beleza, verdade, ironia
     
  • Concretos: nomeiam seres cuja existência é própria, independente de outros.
    Ex: beija-flor, mulher, Deus, vento, alma
     
  • Primitivos: são os nomes que não derivam de outros.
    Ex: dia, noite, carroça, mar, água
     
  • Derivados: são os nomes formados a partir de outros.
    Ex: diarista (de dia), noitada (de noite), carroceiro (de carroça), maremoto (de maré), aguaceiro (de água)
     
  • Simples: são os nomes que apresentam apenas um elemento formador, um radical.
    Ex: caneta, pau, flor, couve, água, cheiro
     
  • Compostos: são os nomes formados de dois ou mais elementos.
    Ex: caneta-tinteiro, couve-flor, água de cheiro
     
  • Coletivos: são os nomes comuns que servem para designar conjuntos de seres de igual espécie.

    Ex: flora (de todas as plantas de uma região), tertúlia (conjunto de pessoas amigas), floresta (conjunto de árvores), panapaná (conjunto de borboletas)

    Note que um substantivo tem, ao mesmo tempo, várias classificações. Mesa, por exemplo, é um substantivo comum, concreto, simples e primitivo. Acontecimento, por sua vez, é comum, abstrato, simples e primitivo.

Flexão dos substantivos Os substantivos podem variar em gênero (masculino e feminino), número (singular e plural) e grau (aumentativo e diminutivo).