Os computadores e as ciências da computação, através da sua vasta capacidade e versatilidade, são parte integrante, suportam e potenciam todos os setores da sociedade. A área dos media não é exceção. Conceber e projetar sistemas computacionais, que têm de ser eficientes e seguros, mas simultaneamente apelativos, intuitivos e de fácil utilização, é tarefa de equipas de desenvolvimento multidisciplinares e cada vez mais munidas de um conhecimento abrangente em diversas áreas das tecnologias digitais.

Por essas e outras razões, não podemos hoje aprender, estudar e analisar a área dos media sem perceber como as tecnologias digitais e as ciências da computação se interligam, juntando temas como a interação pessoa-computador, a computação gráfica, os algoritmos complexos e inteligentes, a pesquisa e armazenamento de enormes volumes de dados, as arquiteturas de computadores e as redes digitais, entre muitos outros. Só dessa forma será possível compreender e intervir nos media, seja através do desenvolvimento de novos projetos ou da simples adaptação de sistemas digitais, visando satisfazer as necessidades específicas de cada um de nós e da sociedade em que vivemos, num determinado momento.

A ciência da computação traz para o setor dos media, não apenas a tecnologia, mas acima de tudo novas camadas de conhecimento e capacidades concretas. Aprimora o interesse pelas estratégias de resolução de problemas, apura o pensamento crítico, e, claro está, aumenta e muito a capacidade de desenvolver soluções tecnológicas à medida, desde que as saibamos programar. Mas vai mais longe, ao incentivar o interesse pelo conhecimento e compreensão de soluções e, acima de tudo, pelo reconhecimento de padrões, revelando-se um precioso auxiliar no relacionamento das coisas e dos conhecimentos. Somos, dessa forma, como que orientados para a decomposição de problemas, aumentado assim as nossas capacidades cognitivas e potenciando a comunicação com os outros, através, ou não, de computadores.

Às quintas-feiras, no PÚBLICO na Escola, vamos falar de computação e vamos tentar refletir juntos sobre o seu impacto no universo dos media. Vamos introduzir tópicos como a criptografia, o funcionamento dos códigos de barras, o processamento de imagens, a ordenação e a pesquisa, o reconhecimento de caracteres, grafos e autómatos, enfim... vamos navegar pelo fantástico e fascinante mundo da ciência que alimenta tudo o que fazes atualmente com o teu smartphone ou computador. Vai ser divertido, vais ver! E vamos começar esta nossa jornada relembrando uma ferramenta milenar, mas sempre presente quando falamos de comunicação através dos media: o dicionário.

Confessa lá: quando foi a última vez que folheaste um dicionário? Aposto que os dicionários que tens nas estantes de casa já cheiram a mofo... Afinal, nos tempos que correm, quando queremos procurar sinónimos, verificar se uma palavra está bem escrita, ou traduzir um certo termo de português para eslovaco, optamos por recorrer a um fiel companheiro chamado Google. O folhear de antigamente é o teclar do presente.

Contudo, embora nem te apercebas, os dicionários continuam bem presentes nos dias de hoje, geralmente embutidos nas aplicações que usas regularmente no smartphone ou no computador. Basta pensares que eles surgem para te ajudar quando escreves um e-mail, quando envias uma mensagem, quando consultas um artigo de um jornal estrangeiro, quando fazes uma pesquisa através de um motor de busca, etc.

Hoje vamos falar de dicionários e da forma como um computador manipula aqueles que são os seus elementos essenciais.

História

Mas, primeiro, vamos mergulhar na História, e ver aquele que é considerado o primeiro dicionário da língua portuguesa: o Vocabulário Português e Latino, publicado entre 1712 e 1721.

E como podemos nós consultar um dicionário tão antigo? É simples: através de um endereço específico que se encontra disponível na Biblioteca Nacional de Portugal. O acesso à informação é hoje em dia uma coisa maravilhosa, não achas?

Como sabemos, a maioria dos dicionários estão agora disponíveis em formato digital. Mas um dicionário é um dicionário. E, quer sejam antigos quer sejam novos, acabam sempre por corresponder a uma sequência de palavras, ordenada por ordem alfabética e cuja finalidade é a consulta de várias informações associadas a cada uma dessas palavras.

E o que podemos dizer quanto às informações associadas a cada palavra? Bom, isso é o que determina o tipo de dicionário.

Dicionário unilingue
Explica o significado das palavras e é o mais comum

Dicionário etimológico
Explica a origem das palavras

Dicionário de idioma bilingue
Indica as palavras equivalentes entre duas línguas

Existem até dicionários que traduzem palavras da língua dos elfos para inglês(consulta aqui)!

É sobre este último tipo de dicionário (o dicionário bilingue, não o dicionário dos elfos...) que nos vamos debruçar e, através desse exemplo, analisar os elementos que são trabalhados quando queremos ensinar um computador a funcionar como dicionário.

Na sua essência encontramos a manipulação de sequências, aqui representadas por elementos separados por vírgulas e delimitados por [ ] (parênteses retangulares ou retos). Vamos então ver como tudo isto funciona de um ponto de vista computacional. E quem sabe se tu próprio não te entusiasmas e crias o teu próprio dicionário 😀

Para um computador, um dicionário nada mais é do que uma sequência cujos elementos são de pares de palavras, e cada palavra deve vir delimitada por aspas. É importante fazermos a distinção entre coisas e palavras!

Por exemplo, Porto é uma cidade com 237.000 habitantes, ao passo que “Porto” é uma palavra com 5 letras.

Porto
Cidade com 237.000 habitantes

“Porto”
Palavra com 5 letras

Supõe que temos a sequência em baixo.

E agora a sequência das respetivas traduções para inglês

Queremos associar a cada palavra em português a respetiva tradução, criando um dicionário. Por exemplo, o par (“gato”,“cat”) deve ser o seu primeiro elemento. E sabes como podemos dizer a um computador para proceder a este emparelhamento, juntando cada palavra em português com a sua respetiva tradução em inglês? Recorrendo a uma operação que designamos por fecho-éclair! Sim, aquilo que às vezes te faz passar vergonhas porque te esqueces de o fechar ao vestir as calças... 🙈

A ideia é simples: imaginamos que as palavras em português constituem os “dentes” do lado esquerdo do fecho-éclair e que as palavras em inglês constituem os “dentes” do lado direito. Depois, é só fazer “zip!”, emparelhando cada palavra com a sua tradução

Na representação em computador, vamos escolher o símbolo # para denotar esta operação do fecho-éclair. Assim, se pedirmos para o computador determinar português # inglês, a sua resposta será:

Nesta sequência, cada par (p,i) dá-nos a tradução de p (em português) para i (o mesmo que p mas em inglês).

No entanto, como sabes, há palavras que podem ter vários significados, sendo alguns deles sinónimos. Vamos então considerar um dicionário dic, um pouco maior, que desta vez será um dicionário inglês-português que visualmente também pode ser representado assim:

Mas será que é possível agrupar os significados em português de cada palavra em inglês? Por exemplo, dizer de uma vez só que “cat” tanto pode significar “gato” como “felino”? Claro que sim! Basta implementarmos no computador um “feitiço” chamado collect que faz isso mesmo – junta todos os significados de uma mesma palavra numa sequência de palavras:

Percebeste? Visualmente, obtemos o seguinte diagrama:

Atividades

E agora? Agora temos um desafio para ti! 😈

Considera as sequências de números:

Será que consegues determinar quais são as sequências em baixo?

Envia-nos as tuas respostas para dicionario@ensico.pt.

Temos 5 cadernos ENSICO (Leibniz – o meu primeiro computador) para oferecer a quem primeiro responder de forma correta às 4 questões colocadas.