um algoritmo descrito por meio de fluxogramas vamos considerar o exemplo do algoritmo para decidir o que fazer em um dia de domingo. A Figura a seguir mostra o fluxograma equivalente a descricao feita por meio da linguagem natural. Outro exemplo de um algoritmo descrito por meio de fluxogramas e o problema de calcular a solucao da equacao de primeiro grauax+b=0que vale x=-(b/a)se a for diferente de zero. A Figura abaixo mostra um possivel algoritmo para resolver este problema. Pseudo LinguagemEste modo de representar algoritmos procura empregar uma linguagem que esteja o mais proximo possivel de uma linguagem de programacao de computadores de alto nivel mas evitando de definir regras de construcao gramatical muito rigidas. A ideia e usar as vantagens do emprego da linguagem natural, mas restringindo o escopo da linguagem. Normalmente estas linguagens sao versoes ultra reduzidas de linguagens de alto nivel do tipo Pascal ou C. No proximo capitulo veremos um exemplo de uma destas pseudo-linguagens. Tipos de DadosOs algoritmos irao manipular dados, que normalmente sao fornecidos pelos usuarios, e entregar resultados para estes usuarios. Uma pergunta importante neste momento e: que tipo de dados poderemos manipular? As linguagens de programacao normalmente estabelecem regras precisas para definir que tipos de dados elas irao manipular. A pseudo-linguagem a-- tambem estabelece, ainda que informalmente, algumas regras que limitam o conjunto de dados existentes na natureza e que poderao ser manipulados pelos algoritmos. Existem tres tipos basicos de dados que a linguagem ira manipular: Dados numericos Dados alfa-numericos Dados Logicos Dados NumericosOs dados numericos que os algoritmos podem manipular sao de dois tipos: Dados inteiros Dados reais O conjunto dos dados inteiros pode ser definido como Z={...,-3,-2,0,1,2,...}. O conjunto dos numeros reais inclui o conjunto dos numeros inteiros, dos numeros fracionarios e dos numeros irracionais. O conjunto dos numeros fracionarios pode ser formalmente definido como Q={p/q | p,q pertencem a Z}. O conjunto dos numeros irracionais engloba aqueles que nao podem ser representados por uma fracao, por exemplo o numero PI=3.141515... Os numeros irracionais sao armazenados ate um certo numero de casas decimais que o computador consegue representar a partir dai as casas decimais sao descartadas. Neste ponto e importante lembrar que dois fatos importantes. Primeiro computadores trabalham com uma base diferente de 10. Computadores trabalham em base 2 e no processo de conversao entre a base 10 e a base 2 podem ocorrer problemas de perda de digitos significativos. Por exemplo, o numero real 0.6 ao ser convertido para a base dois gera uma dizima periodica. Outro fato importante e que a memoria do computador e limitada e portanto o numero de digitos binarios que podem ser armazenados e funcao deste tamanho. Deste modo o processo de conversao e desconversao entre bases pode causar perda de informacao.Os dados inteiros tem a seguinte forma: NumeroInteiro = [+,-]algarismo{algarismo}O sinal de + e - entre colchetes significa que um numero inteiro pode ou nao ter sinal, isto e o sinal e opcional. Em seguida temos um algarismo que e obrigatorio. Isto e dados inteiros tem de ter pelo menos um algarismo. A seguir temos