O que é pseudocódigo?


19

Ultimamente, tenho visto muitas menções ao Pseudocódigo, neste site e em outros. Mas eu não entendo:

  • O que é o pseudocódigo? Por exemplo, o artigo da Wikipedia abaixo diz "Ele usa as convenções estruturais de uma linguagem de programação, mas destina-se à leitura humana em vez de leitura de máquina". Isso significa que ele não é realmente usado para criar programas?

  • Por que é usado?

  • Como isso é usado?
  • É considerada uma linguagem de programação? (Veja a citação da Wikipedia acima)
  • É comumente conhecido / usado?

Sinceramente, não sei por onde começar. Eu pesquisei no Google e vi o artigo da Wikipedia sobre o assunto , mas ainda não entendo completamente o que é.


7
Forneça citações e perguntas específicas do artigo da Wikipedia. Todas as suas perguntas são respondidas lá. Se você não conseguir entender as palavras ou frases, cite uma palavra ou frase específica na sua pergunta para que possamos explicá-la. É difícil saber o que você achou confuso nesse artigo. Em vez de repetir esse artigo aqui, ajudaria se você pudesse fazer referência às coisas específicas que o confundiram.
24512 S.Lott

@ S.Lott: Finalizado
Dinâmico

20
while (you.doNotUnderstand(pseudocode)) { q = you.askQuestion(); a = we.answer(q); you.digestAnswer(a) }
Joachim Sauer

3
if (question.IsAnswered) then you.UnderstandPseudoCode <- true
e-MEE

1
É o meio termo entre a linguagem natural e a linguagem de programação - é mais formal do que a linguagem falada, mas menos formal do que uma linguagem de programação real.
Ingo

Respostas:


19

Pseudocódigo é, como o nome indica, não é um código real, mas parece um código. Ajuda as pessoas a entender melhor um domínio ou solução de problema sem ter que adicionar toda a bagagem necessária ao usar um idioma real.

Em resumo: é usado apenas para fins ilustrativos.

Pseudocódigo e programação
Não há definição ou regra fixa de pseudocódigo, ele pode ser diferente a cada vez. Não é uma linguagem de programação (real) e ninguém a considerará. Ele não pode ser compilado ou usado como uma linguagem de programação real: se você puder fazer isso, deixa de ser pseudocódigo. O pseudocódigo não precisa ser determinístico (uma necessidade para os computadores compilarem), mas precisa ser entendido pelos seres humanos. Para usar o pseudocódigo, você precisará convertê-lo para sua linguagem de programação favorita. Esse processo de conversão pode ser diferente a cada vez e nenhuma regra pode ser dada, porque, novamente, o pseudocódigo é como a liberdade de expressão: pode assumir qualquer forma.

Usos
É comumente usado, especialmente na fase de design dos projetos, para ajudar a entender uma certa abordagem de um problema. Também é comumente usado no design de algoritmos, ou quando os professores desenham algo no quadro. Em todos esses casos, não é necessário compilar o código, você apenas deseja entender o problema / solução.

Tipos de pseudocódigo O pseudocódigo
pode ser, mas não precisa ser de um determinado tipo, ou seja, você pode ter um pseudocódigo baseado em pilha para ilustrar o MSIL, pode ter um pseudocódigo imperativo para ilustrar Java, C #, C ++, Python, você pode ter um pseudocódigo funcional para ilustrar F #, Haskell, SQL etc.

Exemplos
Do alto da minha cabeça, mas vale tudo, porque o pseudocódigo pode ser inventado no local:

Pseudocódigo XML, mostrando uma estrutura de cabeça + corpo que permite vários elementos p:

<head ...
   <title ...
</
<body ...>
   (<p>...)+
</

Pseudocódigo imperativo, mostrando o problema do diamante em idiomas que suportam herança múltipla:

class A() { readFile(); }
class B() : A {}       // overrides readFile in A
class C() : A {}       // overrides readFile in A
class D() : B, C {}    // what definition of readFile should be used?

Os dois exemplos acima obviamente se assemelham a algum (tipo de) idioma, mas não são realmente esse idioma e não podem ser compilados. Eles ilustram algo que você deseja explicar.


14
Pode valer a pena acrescentar que o pseudo-código pode viver em qualquer nível de abstração: você pode descrever o funcionamento específico de um algoritmo de uma maneira que seja facilmente traduzível para um código não-pseudo-real ou fornecer um nível muito alto visão geral de alguma abordagem usando "métodos" ou "objetos" definidos de maneira ampla. É um amplo espectro.
Joachim Sauer

8

O que é o pseudocódigo? Por exemplo, o artigo da Wikipedia abaixo diz "Ele usa as convenções estruturais de uma linguagem de programação, mas destina-se à leitura humana, e não à máquina". Isso significa que ele não é realmente usado para criar programas?

É exatamente isso, é um código escrito em uma forma amigável para humanos. Não pode ser usado para criar um programa de trabalho.

Por que foi feito / é usado?

Porque o Pseudocódigo é rápido de escrever e rápido de ler. Como não possui partes específicas do idioma, é mais fácil ler. Também é independente da linguagem, para que qualquer pessoa possa lê-lo (por esse motivo, é usado em muitos livros de texto)

É considerada uma linguagem de programação? Veja a citação da Wikipedia acima.

Não. Uma linguagem de programação requer mais do que apenas estrutura. Requer semântica formal, que não possui pseudocódigo.

É comumente conhecido / usado?

Sim. Qualquer pessoa acima de um nível júnior deve saber como ler / escrever pseudocódigo. É essencial para ler muitos livros de texto e planejar o código em uma equipe.


6

Se você leu o artigo da wiki, a maioria das suas perguntas deve ser clara. Vou tentar respondê-las de uma maneira mais simples aqui. Veja estes 2 exemplos:

Parte 1 - Exemplos

Código # 1 - Registro do cliente - Um exemplo de etapas do processo:

  1. O cliente vai para a tela de registro
  2. O cliente insere seus detalhes.
  3. Se os detalhes válidos forem inseridos, salve as informações do cliente no banco de dados
  4. Caso contrário, mostre a caixa de diálogo com a mensagem de erro 100.

Código # 2 - Validar Nome do Cliente - Um exemplo de função de programação

Function ValidateCustomerName(Name1)

If (Name1 is entered and Name2 is entered) then return 1

If (Name1 is not entered) 

   Send Error Message

   return 0

Endif

...

End Function

Parte 2 - Agora às suas perguntas

O que é o pseudocódigo?

É uma maneira de escrever etapas de um algoritmo ou processo.

Por que foi feito / é usado?

É usado para mostrar as etapas do processo ou algoritmo sem depender de uma linguagem de programação específica ou de notações especiais.

É considerada uma linguagem de programação?

Não é compilável e isso ocorre porque não possui sintaxe específica e, portanto, não é uma linguagem de programação.

Se sim, é tão capaz quanto, digamos, Python?

Pode ser feito com a capacidade que você deseja. Você pode escrever declarações como: Se a idade for válida ...

É comumente conhecido / usado?

Sim. É útil quando se pensa em algoritmos e para os analistas de negócios fornecerem especificações.


@ Jae, eu aprecio a edição.
NoChance

4

O melhor exemplo de Pseudocódigo foi quando compartilhei um escritório com um programador FORTRAN, enquanto programava em Pascal. Sempre que nos ajudávamos, tínhamos que escrevê-lo em Pseudocódigo. No momento em que eu não conhecia o FORTRAN, não havia como eu obter a sintaxe correta (especialmente todos os recuos necessários para marcas específicas). Ele nunca teve que escrever com ponto e vírgula. No quadro branco, escrevemos em um Pseudocódigo para que ele pudesse ser entendido, sem nos preocuparmos com regras complexas de sintaxe.

Não há construções estritas para o Pseudocódigo. Se o escritor conhece uma linguagem que usa "{" após uma declaração if, eles a colocam no quadro, se conhecem python, não. O objetivo é esboçar rapidamente a abordagem básica do problema, não o código absolutamente correto.

Os professores podem usá-lo para orientar um aluno, sem dar a resposta correta. Depois de saber mais, um Pseudocódigo de um idioma deve ser natural para usar enquanto esboça fragmentos de código.


2

Pseudocódigo não é uma linguagem, não é uma convenção. Todo livro ou papel usaria sua própria versão do pseudocódigo. Como em muitas outras "linguagens" matemáticas informais, no melhor dos casos, seria descrito informalmente no próprio artigo, no pior dos casos, os autores esperariam que fosse suficientemente "óbvio".


Na melhor das hipóteses, é óbvio o suficiente para não exigir nenhuma descrição formal ou informal;).
Abel

@ Abel, não existe formalismo "óbvio". Mesmo algo tão "óbvio" quanto a aritmética decimal deve ser adequadamente introduzido. Caso contrário, a confusão é inevitável, infelizmente. Eu nunca vi um pseudocódigo inequívoco sem pelo menos alguma introdução formal anexada.
SK-logic

Este tópico é sobre pseudocódigo. O formalismo não tem nada a ver com isso. Mas meu comentário foi "trocadilhos";).
Abel

@Abel, uma linguagem abstrata também é um formalismo (pelo menos quando usado em um artigo mais ou menos científico).
SK-logic

2

O que é código pseudo?

O pseudo-código é basicamente instruções escritas sobre o que um programa deve fazer para concluir uma operação. O pseudo-código está escrito no seu idioma. Você simplesmente escreve as etapas de um algoritmo ou procedimento para facilitar a leitura ou a conversão de alguém ou de alguém em uma linguagem de programação real.

Por que foi feito / é usado?

Foi desenvolvido para ajudá-lo a especificar as etapas de um procedimento, processo ou algoritmo sem usar uma linguagem de programação. Uma alternativa possível é usar fluxogramas.

É considerada uma linguagem de programação?

Não, não é uma linguagem de programação, pois não há regras formais.

É comumente conhecido / usado?

Pessoalmente, sempre tento usar pseudo-código ao escrever algoritmos ou procedimentos complexos.


0

Minha definição pessoal de pseudocódigo é "o que eu escrevo em inglês simples em uma folha de papel ao criar código"

Antes de codificar a partir de um pseudocódigo "design", adicionarei meu pseudocódigo como comentários. Depois, trabalhando nesses comentários, posso adicionar o código "real" que executa a tarefa descrita.

Pode haver um nome formal, do qual não conheço, para esse método de codificação, e só o uso ao fazer algo novo / complicado.


-4

Como meu professor de programação disse:

Pseudocódigo é a versão em inglês de qualquer linguagem de programação.


2
-1 Não é útil. A citação faz sentido apenas entre uma explicação do pseudocódigo (ausente nesta resposta). Caso contrário, pode ser bastante enganador. Um novato poderia se perguntar: bem, os métodos do C # são todos em inglês, então isso significa que o C # que estou usando é Pseudocode, certo ...? Como eles chamam quando usam C # na Alemanha?
Doppelgreener
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.