Dicas Úteis

Pseudocódigo e Fluxogramas

Pin
Send
Share
Send
Send


Pseudocódigo - Uma linguagem compacta, muitas vezes informal, para descrever algoritmos que usam as palavras-chave de linguagens de programação imperativas, mas omite os detalhes e a sintaxe específica que não são essenciais para entender o algoritmo. Projetado para apresentar o algoritmo para humanos, e não para tradução de computador e posterior execução do programa.

Pseudocódigo

Ao ensinar pseudocódigo, muitos autores tentam de alguma forma formalizar o pseudocódigo e fazer com que ele pareça algum tipo de linguagem de programação, geralmente Pascal (fu, suga). Usarei uma abordagem ligeiramente diferente - teremos frases comuns com um pseudo-código.

O que é pseudo código? Este é um registro de comandos de computador em linguagem humana comum. Como resultado, o programador obtém uma forma intermediária entre a linguagem cotidiana e a linguagem de programação.

Vamos dar um exemplo. Geralmente, situações que não têm nada a ver com a prática são escolhidas como exemplos. Vamos considerar um exemplo completamente diferente, que é constantemente encontrado na prática. Suponha que temos em um jogo de estratégia um mapa de tamanho 64 por 64 células. Para cada personagem no jogo, você precisa verificar se ele não vai além do mapa. As coordenadas são indicadas por x (horizontal), y (vertical). Obviamente, as coordenadas de qualquer caractere devem estar no intervalo [1. 64]. A frase anterior é um pensamento que precisa ser expresso em uma linguagem de programação.

Como ainda não começamos a aprender C ++, vamos anotar essa ideia usando pseudocódigo. Além disso, as propostas precisam ser construídas apenas com a ajuda das construções básicas que estudamos na lição anterior:

Essas quatro sentenças limitam o movimento do personagem. Este é o pseudo código. Conseguimos implementar toda a tarefa com a ajuda de quatro filiais com uma ramificação, cada uma com um operador. Agora, esse pseudo-código pode ser facilmente traduzido em qualquer linguagem de programação. Vamos fazer isso por C ++. Para fazer isso, no pseudocódigo, você precisa substituir algumas palavras por equivalentes em inglês, e as ações matemáticas precisam ser escritas em linguagem matemática. A palavra se em inglês será se (leia como se):

Este também é um pseudo-código, embora já esteja mais próximo das linguagens de programação. Nesta versão do pseudocódigo, perdemos alguma coisa. Cujas coordenadas são verificadas aqui? Para indicar que x, y são as coordenadas dos personagens no jogo, nós os escreveremos por um ponto: unit.x, unit.y. Aqui você pode ver que xey pertencem à unidade e não ao edifício ou árvore. Vamos ver a nova opção:

Este ainda é um pseudo-código, mas não contém redundância - nos livramos de todas as palavras extras. Esta opção está muito próxima das linguagens de programação. Em C ++, o código final ficará assim:

Este código C ++ está funcionando completamente! A propósito, usaremos um código muito semelhante no arkanoid para controlar a bola.

Aqui mostrei três opções para o pseudocódigo. No começo, você usará a primeira opção, anotando o código na forma de sentenças em russo. Se você está ocupado o suficiente, então o pseudo-código se torna desnecessário após cerca de três semanas, quando você consegue aprender as construções básicas da linguagem de programação, mas na fase inicial é uma coisa bastante útil.

O exemplo simples que examinamos acima nos mostra claramente o que o programador faz.

O que um programador deve ser capaz de fazer?

A principal tarefa do programador é a seguinte: traduzir os pensamentos para uma linguagem que os computadores entendam. Vamos dar uma outra olhada em como isso acontece.

Primeiro, queríamos criar uma estratégia, então começamos a pensar sobre as partes individuais do futuro programa. Então, queremos que o jogo ocorra em um campo limitado de 64 * 64 células. A seguinte regra segue a partir daqui: qualquer personagem no jogo deve estar dentro deste campo. Cada personagem tem coordenadas que especificam sua localização no mapa. Para se certificar de que o personagem está dentro do campo, você precisa verificar se o personagem cruzou qualquer um dos quatro lados do campo. Agora podemos escrever pseudocódigo (ou código imediatamente, se sabemos alguma linguagem de programação bem o suficiente):

Como resultado, a partir de uma sentença: "Qualquer personagem no jogo deve estar dentro do campo 64 * 64" - quatro filiais se formaram, cada uma delas consistindo de um operador.

A coisa mais difícil e importante na fase inicial do ensino de programação é aprender como traduzir pensamentos da linguagem humana para linguagens de programação (as principais ferramentas que discutimos na última lição).

Fluxogramas

Um fluxograma é uma representação gráfica de um programa.

Fluxogramas são construídos a partir de blocos individuais. Além disso, diferentes meios de linguagens de programação são representados em blocos diferentes nos diagramas de blocos. Por exemplo, para a condição na base da qual o ramo é construído, um losango é exibido. O operador no qual a informação é processada é representado por um retângulo. Vamos discutir os diferentes blocos em mais detalhes.

Qualquer programa tem um começo e um fim. Nos fluxogramas, o início e o final dos programas são indicados por retângulos com cantos arredondados. Dentro destes retângulos estão escritas as palavras: "Start", "End".

Dois tipos de operadores são diferenciados em fluxogramas: operadores de processamento de dados e operadores de entrada / saída.

A unidade de processamento de dados é representada por um retângulo. No operador de processamento de dados, vários cálculos ocorrem (adição, subtração, divisão, multiplicação de números). Vamos dar uma olhada em um programa simples com três operadores:

Como você pode ver, os blocos estão conectados por linhas com setas. Setas indicam a seqüência de blocos.

O segundo tipo de operadores nos diagramas de blocos são blocos de entrada / saída de dados. Eles são designados como quadrados com lados chanfrados. Em tais blocos, os dados são entrada / saída: imprimindo dados na tela, obtendo as coordenadas do cursor do mouse, recebendo as teclas do teclado que o usuário pressionou:

Nos dois quadros anteriores, vemos a execução sequencial de declarações. Agora vamos ver como as ramificações são exibidas nos fluxogramas. Para construir ramificações em diagramas de blocos, é usado um bloco de condições, que é indicado por um losango:

Se a condição registrada no losango for satisfeita, então o código é executado ao longo da linha yes e, se não for satisfeito, a ramificação no é executada.

Na última lição, vimos exemplos de ramos nos quais havia mais de dois ramos. Para implementar essas ramificações usando blocos de condição, você precisa usar a incorporação desses blocos uns nos outros.

Também é possível construir ramos com um ramo. Nos fluxogramas, ficará assim:

Note que não é necessário desenhar linhas à esquerda e à direita do bloco de condições, também é possível a partir de baixo. Nesse caso, apenas duas ramificações devem deixar o bloco de ramificação: uma que satisfaça a condição e outra que não satisfaça a condição.

Na mesma foto, mostrei algumas coisas novas: elipses e círculos.

Reticências são usadas para indicar que vários operadores estão ausentes neste momento.

O círculo diz que é uma continuação do código que foi iniciado em outro lugar, ou que o código será continuado em outro lugar. Os círculos são especialmente úteis ao desenhar diagramas de bloco no papel. Usando círculos, você pode quebrar o código se o programa não estiver em uma página.

Se você precisar quebrar o código com várias ramificações, os círculos serão numerados.

O bloco a seguir é usado para indicar ciclos em diagramas de blocos:

Dentro do pentágono, a condição para continuar o ciclo é escrita. Se a condição for atendida, o código de loop também será executado. Observe que o código de loop sempre retorna ao início do loop. Se a condição não for atendida, a próxima instrução após o loop será executada.

E agora vamos ver como será o diagrama de blocos do programa, o pseudocódigo do qual examinamos acima:

Eu melhorei o programa um pouco. Aqui, não apenas as coordenadas de uma unidade são verificadas, mas as coordenadas de todas as unidades do jogo. As próprias unidades são armazenadas no array de unidades. Existem vinte unidades no jogo. Para verificar as coordenadas de todas as unidades, use a variável current (atual - atual, ler como Carrent) Duas coisas não são mostradas na imagem: como a corrente variável é aumentada e que x e y são verificados para a unidade atual.

O aumento na corrente deve ocorrer após todas as ramificações, mas antes que o processador retorne ao início do ciclo. Senti falta desse momento em que estava desenhando uma foto (e agora estou relutante em corrigi-lo).

Conclusão

Aqui, em geral, e tudo de acordo com pseudocódigo e fluxogramas. Eu perdi alguns pontos, espero, vou acrescentar mais tarde.

A coisa mais importante que você deveria ter aprendido: pseudocódigo e fluxogramas são ferramentas auxiliares para criar programas. Usar ou não usá-los depende de você - não estamos na escola. É possível que a criação de fluxogramas de pseudocódigo e construção ajudem você a entender os primeiros programas. Mas você tem que fazer isso sozinho, nas minhas aulas eu não uso nem um nem outro.

Outras opções de pseudo-código

O principal objetivo do uso do pseudocódigo é fornecer uma compreensão do algoritmo por uma pessoa, para tornar a descrição mais perceptível do que o código-fonte em uma linguagem de programação. O pseudocódigo é amplamente utilizado em livros didáticos e publicações científicas e técnicas, bem como nos estágios iniciais de desenvolvimento de programas de computador. Fluxogramas e padrões de dragão podem ser vistos como uma alternativa gráfica ao pseudo-código.

Ao contrário das linguagens de programação, nenhum padrão é definido para a sintaxe do pseudo-código, e o autor de cada publicação pode usar seu pseudo-código original. Na prática, os autores costumam emprestar os constructos de que precisam de uma ou mais linguagens de programação conhecidas e comuns. Hoje em dia, os elementos de sintaxe de linguagens como Pascal, C, Java geralmente são emprestados, o Algol era frequentemente usado em publicações mais antigas.

Elementos técnicos são excluídos do pseudocódigo, como a descrição de variáveis, código dependente do sistema, alocação de memória e operações de desalocação, a menos que sejam elementos essenciais do algoritmo em consideração. As expressões matemáticas são frequentemente incluídas no pseudocódigo na forma em que são geralmente escritas em matemática, e não em linguagens de programação, e alguns fragmentos do pseudocódigo podem ser frases de uma língua natural (russo, inglês, etc.).

Outras opções de pseudo-código

Em alguns casos, um pseudocódigo é um sistema de instruções de uma máquina abstrata, por exemplo, um código P, um pseudo-código de uma máquina MIX ficcional, etc. e lançado no programa emulador desta máquina hipotética.

Pin
Send
Share
Send
Send