Introdução à computação 4

Pseudo código

Sempre esboçaremos inicialmente um procedimento numa linguagem informal, um subconjunto restrito do Português. 

E porque um subconjunto? Porquê será uma primeira aproximação de uma futura tradução para uma linguagem de programação real, tal como Python. Respeitando esta restrição fica mais fácil traduzir ("codificar") para Python mais tarde.

Por outro lado neste momento nossa maior preocupação é conceber um procedimento que funcione como desejado, portanto não há mal em intercalar nossos pseudo comandos com trechos em Português onde isto tornar mais claro o que estamos tentando fazer.

Citando a Wikipedia:

Pseudocode is an informal high-level description of the operating principle of a computer program or other algorithm.
It uses the structural conventions of a normal programming language, but is intended for human reading rather than machine reading. Pseudocode typically omits details that are essential for machine understanding of the algorithm, such as variable declarations, system-specific code and some subroutines. The programming language is augmented with natural language description details, where convenient, or with compact mathematical notation. The purpose of using pseudocode is that it is easier for people to understand than conventional programming language code, and that it is an efficient and environment-independent description of the key principles of an algorithm. It is commonly used in textbooks and scientific publications that are documenting various algorithms, and also in planning of computer program development, for sketching out the structure of the program before the actual coding takes place.

exemplos

Vejamos exemplos de uso desta técnica. 



dados dois números calcule sua soma e seu produto

  1. leia os dois numeros
  2. calcule sua soma
  3. calcule seu produto
  4. imprima a soma
  5. imprima o produto
 Poderiamos refinar isto um pouco mais:


  1. leia um numero e coloque na variável A
  2. leia um numero e coloque na variável B
  3. soma = A + B
  4. prod = A * B
  5. imprima(soma)
  6. imprima(prod)



calcule a soma dos numeros inteiros de 1 a 100 milhões

a soma pode ser acumulada numa variável, na qual vamos somando todos numeros, um por um. Lembre-se de inicializar a soma com zero!

soma = 0
para cada numero x no intervalo 1, 100000000:
        soma = soma + x
imprima(soma)

simples, não é mesmo?

 


Vejamos um exemplo aparentemente mais complicado:

 Num diretório D temos diversos tipos de arquivos: textos (.txt), imagens diversas (.jpg, .png), planilhas Excel (.xlsx), e outros. Escreva um procedimento para contar o número de arquivos do tipo texto em D.

 Num primeiro esboço poderiamos ter algo assim:

percorra todos arquivos em D
se um arquivo for texto, incremente a contagem 
imprima a contagem

Refinando isto um pouco resulta:

contagem = 0
para cada arquivo A em D:
        se sufixo de A for ".txt":
                contagem = contagem + 1
imprima(contagem)




Leia um arquivo texto e conte o número de letras 'a' que ocorrem nêle.

leia o nome do arquivo na variável nome
leia o conteudo do arquivo nome na variável texto
num = 0
para cada letra L em texto:
        se L == 'a':
                num = num + 1
feche o arquivo nome
imprima(num)



Na próxima página veremos exemplos mais complicados e uma formalização maior de nosso pseudo código.

Té lá.   






Python icon by kaelan





No comments:

Post a Comment