장음표시 사용
11쪽
Aprono a Computa octo com Python Documentatiori, Versao q.
Pedi para iam dos talentosos estud antes de Yorklown. Mati Ahrens. que experimentasse Python. Em clois meses et e naoso aprendeu a lingvagem como tambem escreVeu unia aplicaςao chamada pyTic t que possibili tota a nossa equipereportar problemas de tecnologia peta b. Eu sabia que Mati nao poderia ter linati Zado unia aplicaςao daqueleporte em periodo tuo curto em C--. e esta reali Zaςao, combinada com a avaliaςao positiva de Python clada por Mati sugeriam que Python era a soluςao que eu estaVn procvrundo.
Tendo decidi do usar Python em minitas aulas introclutorias de ciencia da computaςao do ano seguinte. O problemamnis urgente era a falla de uni livro-texto disponisel. o conteudo liVre Veio em socorro. Anteriormente itaquele ano, Richard Stallinan titilia me apresentado a Allen Downey. Ambos havsamos escrito a Richard expressando interesse em desenvolver conteudo educacional livre. Allenja tintia escrito iam livm-texto para o primetro ano de ciencia da computaςao. How to Thinh Liis a Con uter Scientist. Quando li este livro. sol e i mediatamente que queria utili Za-lo nas minitas aulas. Era o mais claro e proveitoso texto em ciencia da computaςao que eu tintia Visto. Ele enfati ZaVa o processo de reflexuo emolVido em programaςao emueZ de caracteristicas de urna lingvagem em particular. Le-lo feZ de mim i mediatamente uni professor mel hor. O How to Thin iis a Computer Scientist era nao so uni excelente livro como tambem fora lan cado sob uma licenca publica GNU. o que significava que ele poderia ser usado livremente e modificado para alender as necessi clades de seu usuario. Uma VeZ que eu limia decidi do usar Python. me ocorreu que eia poderia traduZir a versao original do livro de
Allen do Iava para a nova lingvagem. Apesar de nao estar capacitado para escrever eu mesmo um liVrO-texto. tendo o livro de Allen para trabathan tornou possi vel para mim faZe-lo. ao mesmo tempo demonstrando que o modeto de de se olvimento cooperativo tuo bem utili Zado em sonware poderia iambem functonar para conteudo educacionat. Trabathar neste livro pelos ultimos clois anos tem sido recompens ador para mim e meus alunos. e eles ti Veram umgrande papel neste processo. A partir do momento em que eu podia faZer mussanςas instantaneas assim que alguem encontrasse um erro Ortografico ou um trecho disicit. eu os encor ei a procurar por erros no livro. dando a eles pontos de boni ficaςao cada VeZ que iiZessem unia Sugestao que resultasse em uma iraudanςa no texto. Isto teVe o duplo beneficio de encor a-los a ter o texto mais cuidadosamente e de ter o texto total mente revis ado por seus criticos mais importantes: altinos utili Zando-o para aprender ciencia da computaςao Para a segunda metade do ii Vm. sobre programaquo Orientada a objetos . eu sabia que seria preciso alguem com uma maior experientia do que a minita em programaςao real para faZe-lo correlamente. O li Vm esteVe em estaclo inacabadopor quase um ano ate que a comuni clade de sonware liVre providencius se mais urna VeZ os melos necessarios para sua
o processo de traduZir e utili Zar How to Thin Liis a GmPuter Scientist pelos ultimos clois alios tem confirmado a conveniencia de Python no ensino de alunos iniciantes. Python simplifica tremendamente os programas exemplo etorna ideias importantes de programaquo mais faceis de ensi nar. O primetro exemplo do texto i lustra este ponto. E o tradicional programa 'Alo mundo . o quat na versao C-- do livro Se parece com isto
12쪽
Aprono a Computa octo com Python Documentatiori, Versao q.
Mesmo sendo um exemplo tri Vial, as Vantagens do Python saltam nos ollios. O curso de Ciencia da Computaςao I queministro em Yorklown nao tem pre-requisitos. assim. multos dos alunos que Veem esse exemplo estuo Oiliando para oseu primetro programa. Alguns deles estuo indubitaVel mente nerVOsos, por j a terem OuVido falar que programaςao de computadores e disicit de aprender. A versao C-- tem seri re me forcado a escollier entre duas opςoes insatisfatorius ou explicar os comandos in C UIO, Volci main ὶ f, e e arriscar confundi r ou intimidar alguns dos alunos logo assim que iniciam. Ou di Zer a eles 'Nao se preOcupem com todas estas coisas agora. falaremos sobre elas mais tarde e coner o meSmo risco. O Objeti Vo educacional neste ponto do curso e introduZir os alunos a ideia de comando em programaquo e Ve-los es creVer seu primetro programa, deste modo introduZindo-os no ambiente de programaςao. Ο programa em Python tem exatamente O que e necessario para conseguir isto, e nuda mais Comparar o texto explicativo do programa em cada Versao do ii Vm i lustra uincla mais o que significa para o aluno iniciante. Existem trege paragrasos de explicaςao do 'Alo mundo lV na Versao C-- na Versao Python existem apenas clois. Mais importante, os OnZe paragrams perdidos nao se Ocupam das 'ideias chave'' da programaquo de computa-dores, mas com a minucia da sintaxe C--. Vrio a mesina coisa acontecendo atraVes de lodo o livro. Paragrasos inteiros simplesmente des aparecem da versao Python do texto porque a sintaxe multo mais clara de Python os torna
Utiligar uina lingvagem de tuo alto nivei como Python. permite no professor deixar para falar mais tarde sobre os niVeis mais baixos, proximos a maquina, quando os alunos j a terno a experieneia necessaria para Ver com mais senti doos detallies. Desta manetra podemos pedagogicamente 'por em primetro iugar as primetras coisasV. Um dos melliores exemplos disto e a manetra coni que Python lida com VariaVeis. Em C-- uma VariaVel e uni nome para uni iugar queguarda uina coisa. VariaVeis tem de ser declaradas com seu tipo peto menos em parte por que o tamantio do iugar a que se referem precisa fer predeterminado. Assim; a ideia de variavel fica amanada ao hamware da inaquina. O concello poderoso e fundamental de variavel ja e bastante disicit para o aluno iniciante stanto em ciencia da computaςao quanto em algebra). Bytes e ende oecos nao cludam neste caSO. Em Python uma VariaVel e uni nome que se refere a uina coisa Este e um concello multo mais intuitivo para alunos iniciantes e esta multo mais proximo do significado de 'variavel 'que eles aprenderam em seus cursos de matematica. Eu ti Ve multo menos di licui clade em ens inar variaveis este ano doque live no pas Sado e gastei menos tempo udando nos alunos com problemas no uso delas Um outro exemplo de como Python uda no ensino e aprendi Zagem de programaςao e em sua sintaxe para funςao Meus alunos tem seri re tido grande dilicui clade ita compreensao de funςoes. o problema principat gira em torno cladi ferenςa entre a definicao de urna funςao e a chamada de unia funςao e a distinquo relacionada entre uni parametro e um argumento. Python Veni em auxilio com uma sintaxe nao apenas curta quanto bela. As definiς oes de funςao comeςam com Iof enlao eu Simplesmente digo nos meus alunos ''Quando Voce deline unia funςao. comece comesos, seguido do nonae da funςao que Voce esta definindo; quando Voce chama uma funςao Simples mente chame- adigitando o nome dela V. Parametros ficam nas definiς oes: argumentos Vao com as chamadas . Nao existem tipos de retorno, tipos de parametro ou passagem de parametros por Vator Ou por referentia no melo do caminlio, permitindo me ensi nar funςoes em menos da metade do tempo que isto me tomaVa anteriormente, com tima mellior compreensno A utili aςao do Python tem methoraclo a elativi clade de nos so programa em ciencia da computaςao para toclos oseStudantes. Eu Vrio um ni vel gerat de sucesso multo mais alto e una nivei mais baixo de frustraςao do que experimentei durante os clois anos em que ensinei C--. Eu aVanςO mais rapido com melliores resultados. Mais alunos deixam ocurso com a habili clade de criar programas significativos e com urna alitude positiva em relaςao a experieneia de programaςao que isso traZ.
13쪽
Apronoa Computacao com Python Documentatiori, Versao q.
q. 4 Construinoo Uma comunio ace
14쪽
Como educ ador. pesquis ador e autor de liWOS regoZija-me Ver completo este traballio. Python e uina lingvagem de programaςao diverti da e extremamente facit de usar que tem ganlio forte populari clade ne stes ultimos pOucos anos Desenvolvida deZ anos atras por Guido van Rossvn a sintaxe simples do Python e seu sentido gerat saO grande mente derivados clo ABC. uina linguagena didatica que Di desenvolvi da nos anos 80. Entretanto, Python tambem micriado para solucionar problemas reais e tomoti emprestado uina grande quanti clade de caracte isticas de linguagens de programaςao como C--. Ima MOdula-3 e Scheme . POr causa disso, uina das mais notaveis caracte isticas do Python e o grande apelo que tem junio a dese OlVedores pro iis Sionais de sonware. cienti Stas. pesqui Sadores. artistas
A De spei to deste apelo do Python junio as mais variadas comuni clades ce pode ainda estar pensando por que Python ou Ppor que ensi nar programaςao com Python P. Responder a estas perguntas nao e uina taresa facit Pespecialinente se a opinino publica esta do laclo de alternati Vas mais masoqui stas como C-- e Ima. Entretanto. euacho que a resposta mais direta e que programar com Python e uni bocado diverti do e mais prodiitivo. Quando ministro cursos de ciencias da computa sto, O que defrio e cObrir concellos importantes alem de tornar a materia interessante e Os alunos participati VOS. InfeliZmente . existe tima tendencia entre os cursos introclutorios de programaςao a Dcar atenςao demais em abstraς oes matematicas. e de frustraςao entre os alunos com problemasenladonlios e inoportunos relacionados a delathes de sintaxe em baixo nivei. compilaςao e a in Osi ςao de regrasque aparentemente So Um Pert pode compreender sensOrcement Os seemingly arcane rules XXX). En ora alguina abstraςao e formatismo sejam importantes para engenheiros profissi Onais de sonware e estudantes que planoam continuar seus estudos em ciencias da computaςao. es collier tal Dordagem em iam curso introclutorio faZ da ciencia da computaςaO algo entediante. Quando ministro uni curso . nao defrio unia sala cheia de alunOS sem inspiraςaO. Em VeZ disso. preferiri a multo mais Ve-los tentando solucionar problemas interessantes explorando ideias dilarentes. trilliando caminhos nao comenci Onai S quebrando regras . e aprendendo a partir de seus erros. FaZendo assim nao pretendo desperdicar metade de uni semestre tentando explicar problemas obscuros de sintaxe, mens agens ininteligiveis de compiladores ou as Varias centenas de manetras pelas quais uni programa pode gerar uina fallia gerat de proteςao.
Uma das raroes pelas quais eu gosto de Python e que ele olarece iam equilibrio real mente bona entre o laclo pratico eo laclo conceituat. Sendo Python interpretado. os iniciantes podem pegar a lingvagem e comeςar a faZer coisas legat squase i mediatamente sem se perderem em problemas de compilaquo e ligaςao lintring XXX). Alem disso. Python venicona uina grande biblioteca de modulos que poclem ser utili Zados para fager iodo tipo de laresa; desde a programaςao
para a web ate gralicos . Com tal enmque pratico temos unia beta manetra de alcanςar O eng amento dos alunos e permitir que eles finali rem projetos significativos. Entretanto. Python tambem pode servir de excelente embasamento para a introduςao de concellos importantes em ciencia da computaςaO. Ja que Python Suporta plenamente procedimentos procedunES) e classes, os alunos podem fer gradualmente introduZidos a topicos como abstraςao procedurat. estruturas de cladOS e programaςaO Orientada a Objetos 2 todos apti caveis em cursos posteriores de Ima ou C--.
15쪽
Python aincla toma en restado certas caracte isticas de linguagens de programaςao iunci Onais e pocle ser usado para introduZir concellos civios delathes poderiam ser aprofundados em cursos de Scheme e Lisp. Lendo o prefacio de Jeffrey. liquet impressionado com seu comentario de que Python o feZ ver uni maior nivei de sucesso e uni menor ni Vel de frustraςao O que the permittu progredi r mais depressa com resultados melliores . En Ora estes comentarios restram-se nos seus cursos introclutorios, eu as VeZes Uso Python exatamente pelas mes mas raZOes em cursos aVanςados de pos-graduaςaO graduate α pos-graduacao XXX) em ciencia da computaςao na Uni Versi clade de Chicago. Nestes cursos, enfrento constantemente a assustadora taresa de cobri r multos topicos disiceis em uni rapidissimo trimestre squarter XXX) de nove semanas. En ora me fria possivel inflingir una bocado de dor esofrimento peto uso de uina lingvagem como C--. tentio percebido multas VeZes que este enmque e contraproducente 2 especialmente quando O curso e sobre um topico nao relaci Onaclo apenas com programar . Acho que usar Python me permite uni mellior foco no topico em questao enquanto permite que os alunos completem priuetos sub Stanciaisem claSSO. En ora Python seja ainda uina lingvagem jovem e em eVOluςao acredito que tem Um futuro brilliante em educaςao Este livro e una passo importante nessa direςao.
David BearleyUniversi clade de Chic ago Autor de Python E enciat Resenence
16쪽
Capitulo et: O camin no oo seros ram B
Ο objetivo deste livro e ensinar o lettor a pensar como una cientista da computaino. ESSa manetra de pensar combina algumas das melliores caracte isticas da matematica, da engentiaria e das ciencias naturais. Como os matematicos, oscientistas da computaςao usam linguagens formais para representar ideias sespecificamente. computaςoes). Como osengenheiros, eles prvietam coisus, montando Sistemas a partir de componentes e aValiando as Vantagens e desVantagens de dilarentes alternativas. Como os cienti Stas naturais. eles observam O comportamento de sistemas complexos. formulam hi poteses e testam preViXΟ2S. A habili clade mais importante de una cientista da computaςao e a Soliaquo cle problemus. Soluςao de problemas ea habili clade de formular questoes pensar criativamente sobre sol Oes possiseis e expressar unia soluςao de forma Clurn e precisa. ocorre que aprender a programar e unia excelente oportuni clade de praticar a habili clade da soluino de problemas. E por isso que este capitulo se chama ΡΟ caminlio do programa'' Em certo niuei. Voce estara aprendendo a programar; habili clade que e uti l em Si meSma. Em Outro niVel. Voce usaraa programaςao como um meto para atingi r um objeti Vo. A medida que Voce for aVancando na lettura esse objetivosi cara maiS Cluro.
Python e a lingvagem de program aςao que Voce uni estiadar neste livro. Python e una exemplo de lingvagem cles gruinaquo cle ullo nivei. outras linguagens de alto nivei de que voce ja pode ter olivido falar sao Cεε. PHP e Iava
17쪽
Aprono a Computa octo com Python Documentatiori, Versao q.
Como voce pode deduZir a partir da expressao 'lingvagem de alto nivei iambem existem as ' linguagens de baixoni elV, as veges chamadas de ' linguagens de maquina V ou 'lingvagem assen ly linguagens de montagem). Deforma simples. o computador so consegue executar programas escritos em linguagens de baixo nivei. Deste modo. programas escritos em linguagens de alto niuel precisam ser proces sados antes que possum rodar. Esse processamento extra toma algum tempo, o que e uma pequena desVantagem em relaςao as linguagens de alto nivei. Mas nS Vantagens Sao enormes. Primetro, e multo mais facit programar em urna lingvagem de alto nivei. E mais rapido escrever programas em uina lingvagem de alto nisel: eles suo mais curtos e mais faceis de len e lia maior probabili clade de esterem corretos. Segundo; as linguagens de alto niuel Sao portuVeis. o que Significa que podem dar em di ferentes tipos de computador, com pouca ou nenhuma modifica sto. Programas em baixo niuel so podem dar em uni unico tipo de computador e precisam ser re-escritos para rodar em outro tipo. DeVido a essas Vantagens. quas e tOdOS Os programas suo escritos em linguagens de alto nivei. As de baixo nivei sao utili Zadas somente para umas pOucas aplicaςoes e speciali Zadas. DOi S tipos de programas processam linguagens de alto nivei traduZindo-as em linguagens de baixo nivei interpreta-clores e compiluclores. o interpretador te iam programa es crito em lingvagem de alto nisel e O executa seja, faZ oque o programa di Z Ele processa o programa um pouco de cada VeZ. alternaclamente: hora tendo algumas linitas. hora executando es Sas linitas e reali Zando calculos. O compilador te o programa e o traduZ completamente antes que o programa comece a rodus. Neste CRSΟ progrumnescrito em lingvagem de alto nivei e chamado de cocligo fonte, e o programa tradu ido e chamado de cocligo ovieto ou executRVel. Uma VeZ que um programa e compilado, Voce pode executa-lo repeti clamente, sem que preci se de nOVa tradu sto. Python e considerada urna lingvagem interpretada, pOis os programas em Python suo executaclos por um interpretador Existem duas manetras de usar o interpretador: no modo de linita de comando e no modo de script No modo de linhade comando. Voce digita programas em Python e o interpretador mostra o resultado
prini 1 - 12A primetra linita deste exemplo e o comando que inicia o interpretador Python. As tres linitas seguintes suo mens agens do interpretador. A quarta linita comeς a com . que e o sinat usado peto interpretador para indicar que ele esta pronio. No exemplo anterior. digitamos prinT 1 - 1 e o interpretador respondeu 2. Voce tambem pode escreVer um programa em Um arqui Vo e usar o interpretador para executar o conteudo desse arqui Vo.
Capitulo 3. Capitulo o camin no oo pro grama
18쪽
Apronoa Computacao com Python Documentatiori, Versao q.
Um progrumn e uma sequencia de instruςOes que especificam como executar um calculo ou determinada taresa. Tal tareis pode matematica, como solucionar um sistema de equaqOes ou encontrar as ratZes de uni poli nomio, mastambem pode ser simbolica, como buscar e substituir uma palmra em um documento ou sestrantiamente) compilar una progrumn os delathes suo dilarentes em di ferentes linguagens, mas algumas instruςoes basicas aparecem em praticamente todasas linguagens entrare Pegar clados do tectaclo. de um arquivo ou de algum outro dispositivo de entrada. sair: Mostrar clados na tela ou enviar clados para um arquivo tro dispositi Vo de Sasda. calcular: Executar operaςOes matematicas basicas, como adi quo e multiplicaςao. executar condicionalmenter Checar certas condiςoes e executar a sequencia apropriada de instruςoes repetis: Executar alguma aquo repeti clamente. normal mente com algumn VMinς do Acredite se quiser: isso e praticamente ludo. TOdos os programas que Voce ja usou nao importa quao complicados, suo Ditos de instruςoes mais ou menos parecidas com essas. Assim, poderiamos definir programaςao como o processo de dividi r uma taresa grande e complexa em subtarefas cada VeZ inenores, ate que as subtarefas sejam simples o fuliciente para serem executadas com tima dessas instruςoes basicas Isso pode parecer uni pOuco Vago, mas Vamos Voltar a esse topico mais adiante, quando falarmos sobre uigori tinos.
Programar e um processo complicado e. como e latio por seres humanos. frequentemente conduZ a erros. Por mero capricho, erros em programas Sao chamados de hugs e o processo de encontra-los e corrigi-los e chamado de clepia
Tres tipos de erro poclem aconiecer em uni programa erros de sintaxe, erros em tempo de execuςao runtime errora)e erros de semantica stambem chamados de erros de logica). Distinguir os tres tipos uda a locali Za-los mais rapido
19쪽
Aprono a Computa octo com Python Documentatiori, Versao q.
O interpretador do Python so executa uni programa Se ele esti Ver siniaticamente correto: caso contrario, o proces Sofallia e retorna uina mens agem de erro. Sinluxe se refere a estrutura de uni programa e as regras sobre esta estruturn. Por exemplo, em pontigues, tima Dase deve conmar com uma letra maiuscula e terminar com um ponto. esta Dase contem uni erro cle sintnxe. Assim como esta Para a maioria dos letiores, Uns errinhos de sintaxe nao chegam a ser uni problema significati Vo e e por isso que cons eguimos ter a poesia moderna de e. e. cummings seni cuspir mens agens de erro. Python nao e lao indulgente. Se o seu programa ti Ver uni unico erro de sintaxe em algum iugar. O interpretador Python vat exibir urna mens agem de erro e Vai terminar - eo programa nao Vai rodar. Durante as primetras semanas da sua carretra como programador. Voce prOVaVel mente perdera uni hoc ado de tempo procurando erros de sintaxe. Conforme for ganliando experientia. intretanto, cometera menos erros e os locali Zara mais rapido.
o terceiro tipo de erro e o erro cle semanticu mais comumente chamado erro de logica). Mesmo que o seu programatentia um erro de semantica, ele Vai rodar com sucesso. no sentido de que o computador nno Vai gerar nenhumamens agem de erro. SO que o programa nao Vai faZer a coisa certa, Vai faZer alguma outra coisa. Especificamente aquilo que voce liver dito para ele farer so computador traballia assim seguindo Ordens). O problema e que o programa que Voce escreVeu nao e aquele que Voce queria es creVer o significado do programa sua semantica ou logica) esta errado. Identificar erros semanticos pode ser complicado porque requer que Voce traballie de tras para frente, olliando a saida do programa e tentando imaginar o que ele esta faZendo.
. . . . . . .. ...... . horim' ' ''
Uina das habili clades mais importantes que voce uni adquiri r e a de depurar. En ora possa fer frustrante, depurar euma das partes intelectualinente mais ricas, des ait adoras e interessantes da programaquo. De certa manetra. a depuraqao e como um traballio de deleti Ve. Voce se depara com pistas; e tem que deduZir os processos e eventos que leVaram nos resultados que aparecem. Depurar tambem e como tima ciencia experimentat. Uma VeZ que Voce tem tima ideia do que esta errado, Voce modifica o seu programa e tenta de novo. Se n Sua hi potese e StaVa correta. enlao Voce consegue preVer o resultado damodificaςao e sica iam passo mais perto de um programa que lanciona. Se a Sua hi potese esima erracla, Voce tem que tentar uina nova. Como Sherlock Holmes mostrou 'Quando Voce ti Ver eliminado o impossiVel. aquilo que rest .aincla que improvavel; deve ser a verclade. Arthur Conan DOyle. O signo dDs quatro). Para algumas pessoas, programaςao e depuraquo suo a mesina coisa. ou seja, programar e O processo de gradualmente depurar uni programa ate que ele fac a o que Voce quer. A ideia e conmar com um programa que faςa algumia Coim eir sagendo pequenas modificaςoes. depurando-as conforme manςa, de modo que Voce tentia sempre um progrumn que
20쪽
Aprono a Computa octo com Python Documentatiori, Versao q.
Por exemplo; o Linux e um Sistema operacional que contem milliares de linitas de codigo. mas comeς ou como um
Capitulos posteriores farao mais sugestoes sobre depuraςao e outras praticas de programaquΟ.
3. 4 4. 4 Lin suaseris naturais e linguas Ens forma is
Linguagens naturuis Sao us linguagens que as pessoas falam, como O portugues. O ingles e O espanhOl. Elas nao foram projeiadas pelas pessoas multo embora as pessoas tentem colocar alguma Ordem Delas); elas evolusram natural mente. Linguagens formais suo linguagens que foram priuetadas por pessoas. para aplicaςoes especificas. Por exemplo a notaςao que os matematicos usam e uma lingvagem formal; que e particularmente boa em denotar re oes enire numeros e stabolos. os quisicos usam unia lingvagem format para representar a estrutura quimica das moleculas. E mais importante
As linguagens formais tendem a ter regras estritas quanto a sintaxe. Por exemplo. 3 - 3 α 6 e uina expressao matematicasiniaticamente correta, mas 3α 6s nao e. Η2Ο e um nome quimico siniaticamente correto, mas 2ZZ nao e. As regras de sintaxe suo de clois tipos . um relacionado nos simholos, outro a estrutura. os simbolos suo os elementos basicos da lingvagem, como as paloras. numeros; e elementos quimicos. Um dos problemas com 3αΦ6s e que s nao e uin sinibolo valido em lingvagem maternatica speio menos ate onde sabemos). Do mesmo modo. 2ZZ e invalida porque nao existe nenlium elemento cria abreviatura fria ZZ.Ο segundo tipo de erro de sintaxe esta relacionado a estrutura de uina expressao, quer di Zer. ao modo Como PS S bolos estuo arrumados. A expressao 3α 6s e esuutural mente invalida; porque Voce nao pode colocar uni sinat de mais ' imediatamente apos iam sinat de Viguat V. Do mesmo modo, formulas moleculares devem ter indices subscritos colocados depois do nome do elemento nno untes. Faςa es te exercscio: crie o que pareca ser uma Dase bem es truturacla em portugues com Simbolos irrecon- heciveis dentro dela. Depois escreva outra Dase com todos os simbolos validos, mas com uma estrutura invalidn. Quando Voce te uma Dase em portugues ou uma expressao em unia lingvagem format. Voce tem de imaginar comoe a estriatura da Dase sembora; em uina lingvagem natural Voce faςa isso inconscientemente). Este processo. nacomputaςao, e chamado parsing sanali se siniatica).POr exemplo. quando Voce ouVe a Dase 'Catu a licha , entende que 'a ticha ' e o sivi et to e 'catu'' e o verbo. Unia vegque Voce analis oti a Dase, consegue entender o seu significado ou a semantica da Dase. Assuminclo que Voce salba oque e unia siclia e o que significa cair. Voce entendera o sentido gerat des Sa Dase. Multo embora as linguagens formais e as naturais tentiam multas caracte isticas em comum simbolos, estrutura sintaxe e semantica), existem multas dilarenςas ambigui de: As linguagens naturais estuo cheias de ambigui clades, que as pessoas contornam Usando pistus Contextuais e outras informaqOes. Ja as linguagens formais suo desen Volvidas para serem quase ou totalmente desprovidas de ambigui clade, o que significa que quatquer expressao tem precisamente so Um senti do, independenternente do conte m. redunda resa: Para compensar a ambigui clade e reduZir maus entendidos, en rega- se multa redundantia nas lingua- gens naturais, o que frequentemente as torna prolixas. As linguagens formais suo menos redundantes e mais