Post on 08-Nov-2018
baseado em material elaborado por: Marcelo Zanchetta do Nascimento,
Rodrigo P. Ramos, Aline Neves
BC0501 – Linguagens de Programação - 2008t2
Pseudolinguagem
Prof. Alysson Ferrarialysson.ferrari @ ufabc.edu.brhttp://fma.if.usp.br/~alysson
Aula 11
BC0501 – Linguagens de Programação - 2008/01
Ao pensar a solução de um determinado problema, produzimos um algoritmo que leva a sua solução. Feito isso, resta a escolha de uma particular linguagem de programação para implementar o referido algoritmo.
Um mesmo algoritmo pode ser implementado em muitas linguagens de programação diferentes. A escolha da linguagem é, muitas vezes, vem da conveniência, ou mesmo gosto pessoal do programador (ou do seu chefe!). É útil saber representar um algoritmo de uma forma independente de uma escolha de linguagem de programação – daí surge a idéia do PSEUDOCÓDIGO ou PSEUDOLINGUAGEM.
PROBLEMA ALGORITMO PROGRAMA
PSEUDOLINGUAGEM
BC0501 – Linguagens de Programação - 2008/01
ProblemaPseudo
linguagemse...então...senão...
Linguagem de programação
Java, C,Pascal, etc
Linguagem de máquina
Zeros e uns...
PSEUDOLINGUAGEM
BC0501 – Linguagens de Programação - 2008/01
PSEUDOLINGUAGEM é uma linguagem de programação simplificada,
É usada para escrever algoritmos, sem se preocupar comtodos os detalhes de uma linguagem de programação real...
BC0501 – Linguagens de Programação - 2008/01
Nesta disciplina, não iremos cobrar o uso da PSEUDOLINGUAGEM, mas ela pode ser útil para o estudante esboçar seus algoritmos, antes de efetivamente escrevêlos em Java. PSEUDOLINGUAGEM é uma linguagem de programação, logo tem sua sintaxe e sua semântica. Estas são, contudo, bastante simplificadas. Comandos de entrada e saída de dados, por exemplo, não consideram a forma particular de entrada ou exibição de dados: isto é deixado para a fase de implementação efetiva do programa na linguagem de programação escolhida.Adotaremos uma PSEUDOLINGUAGEM “traduzida” para o Português.
PSEUDOLINGUAGEM
Na definição de uma linguagem, precisamos fixar:
Sua sintaxe: como escrever os comandos e seus componentes (tipos, variáveis, etc) Sua semântica: o significado de cada comando e conceito
Inicialmente veremos: Tipos Constantes e Variáveis Comando de declaração Comando de atribuição Comandos de entrada e de saída Bloco de execução seqüencial
BC0501 – Linguagens de Programação - 2008/01
PSEUDOLINGUAGEM
Os tipos básicos, elementares, de informação, são os utilizados com mais freqüência, e são praticamente obrigatórios em qualquer linguagem de programação.
Os tipos básicos são geralmente os seguintes: Inteiro Real Caracter String Lógico
PSEUDOLINGUAGEMTIPOS PRIMITIVOS/BÁSICOS DE DADOS
BC0501 – Linguagens de Programação - 2008/01
Inteiro: Toda e qualquer informação numérica que pertence ao conjunto dos números inteiros (Z). Pode assumir os valores nulo, positivo ou negativo
Exemplos: 15, 0, 20, 4434 Real: Toda e qualquer informação numérica que
pertence ao conjunto dos números reais (R)
Exemplos: 234.4, 45, 98, 45
BC0501 – Linguagens de Programação - 2008/01
PSEUDOLINGUAGEMTIPOS PRIMITIVOS/BÁSICOS DE DADOS
Caracter: Toda e qualquer informação composta por um único caracter numérico (0,1,..,9), alfanumérico (A,B,..,Z,a,b,..,z) ou especial (@,#,!,...)
Exemplos: ‘D’, ‘@’, ‘1’ String: Toda e qualquer informação composta
por um conjunto de caracteres numéricos (0,1,..,9), alfanuméricos (A,B,..,Z,a,b,..,z) ou especiais (@,#,!,...)
Exemplos: “Não pise na grama”, “José da Silva”
BC0501 – Linguagens de Programação - 2008/01
PSEUDOLINGUAGEMTIPOS PRIMITIVOS/BÁSICOS DE DADOS
Lógico: Toda e qualquer informação que pode assumir apenas os valores: verdadeiro (1) ou falso (0)
Exemplos: true, false
BC0501 – Linguagens de Programação - 2008/01
PSEUDOLINGUAGEMTIPOS PRIMITIVOS/BÁSICOS DE DADOS
Na definição de uma linguagem, precisamos fixar:
Sua sintaxe: como escrever os comandos e seus componentes (tipos, variáveis, etc) Sua semântica: o significado de cada comando e conceito
Inicialmente veremos: Tipos Constantes e Variáveis Comando de declaração Comando de atribuição Comandos de entrada e de saída Bloco de execução seqüencial
BC0501 – Linguagens de Programação - 2008/01
PSEUDOLINGUAGEM
Uma variável é um endereço da memória de acesso randômico (RAM), representada por um nome (rótulo ou identificador) e pela especificação do tipo de dado que ali será armazenado
nome
Ao lidar com uma variável, é fundamental não confundir,
seu identificador: nome dado pelo programador à variável
seu conteúdo: valor atual da variável
BC0501 – Linguagens de Programação - 2008/01
PSEUDOLINGUAGEM VARIÁVEIS
nome
idade
nacionalidade
profissao
Maria Carla
nomeIdentificador
17
idadeIdentificador
brasileira
nacionalidadeIdentificador
estudante
profissaoIdentificadorUma variável assume apenas UM valor por
vez
PSEUDOLINGUAGEM VARIÁVEIS
BC0501 – Linguagens de Programação - 2008/01
O primeiro caracter deve ser uma letraPode ser seguido de mais caracteres alfabéticos ou
numéricosNão devem ser usados caracteres especiais (#,@,%,?)Não pode haver espaços em branco entre os
caracteresOs nomes dos identificadores não podem ser os mesmos
das palavras reservadas da linguagem de programaçãoOs nomes escolhidos devem ser explicativos do seu
conteúdo
PSEUDOLINGUAGEM IDENTIFICADORES
BC0501 – Linguagens de Programação - 2008/01
Exemplos de identificadores válidos: alpha, notas, FGTS, K7
Exemplos de identificadores inválidos: 6X, E(13), a:B, awq&
É um dado que não sofre alteração no transcorrer do tempo. Sua utilização é praticamente idêntica à das variáveis, com a diferença de que, na inicialização, deve ser fornecido um valor, que será o mesmo durante toda a execução do programa.
PI
3,14...
π
PSEUDOLINGUAGEM CONSTANTES
BC0501 – Linguagens de Programação - 2008/01
EXEMPLO
Na definição de uma linguagem, precisamos fixar:
Sua sintaxe: como escrever os comandos e seus componentes (tipos, variáveis, etc) Sua semântica: o significado de cada comando e conceito
Inicialmente veremos: Tipos Constantes e Variáveis Comando de declaração Comando de atribuição Comandos de entrada e de saída Bloco de execução seqüencial
BC0501 – Linguagens de Programação - 2008/01
PSEUDOLINGUAGEM
Em Java:double numero;String mensagem;int j;
O comando de declaração cria uma variável ou constante
Quando se declara/cria uma variável é feita uma reserva de uma área da memória RAM, que irá receber o nome do identificador da variável
Para se criar uma variável é necessário dizer de qual tipo ela será
BC0501 – Linguagens de Programação - 2008/01
COMANDO DE DECLARAÇÃO DE VARIÁVEIS/CONSTANTES
Em pseudocódigo uma variável é declarada, e portanto, criada, através da seguinte sintaxe:
<tipo>: <nome_Da_Variavel>;
inteiro: <nome_Da_Variavel>;real: <nome_Da_Variavel>;caracter: <nome_Da_Variavel>;string: <nome_Da_Variavel>;logico: <nome_Da_Variavel>;
BC0501 – Linguagens de Programação - 2008/01
COMANDO DE DECLARAÇÃO DE VARIÁVEIS/CONSTANTES
Na definição de uma linguagem, precisamos fixar:
Sua sintaxe: como escrever os comandos e seus componentes (tipos, variáveis, etc) Sua semântica: o significado de cada comando e conceito
Inicialmente veremos: Tipos Constantes e Variáveis Comando de declaração Comando de atribuição Comandos de entrada e de saída Bloco de execução seqüencial
BC0501 – Linguagens de Programação - 2008/01
PSEUDOLINGUAGEM
Em Java:numero = 4.7;mensagem = “Ola”;j = 10;
Comando de atribuição é o comando que indica o que a variável vai receber em seu conteúdo em determinado momento Para colocar/atribuir um valor em uma variável é usado o comando de atribuição:
COMANDO DE ATRIBUIÇÃO
BC0501 – Linguagens de Programação - 2008/01
<nome_Da_Variavel> ← <Valor_Da_Variavel>;
Sua sintaxe é:
10.6
soma
Verde
cor
real: soma;soma ← 10.6;
string: cor;cor ← “Verde”;
COMANDO DE ATRIBUIÇÃO
BC0501 – Linguagens de Programação - 2008/01
Na definição de uma linguagem, precisamos fixar:
Sua sintaxe: como escrever os comandos e seus componentes (tipos, variáveis, etc) Sua semântica: o significado de cada comando e conceito
Inicialmente veremos: Tipos Constantes e Variáveis Comando de declaração Comando de atribuição Comandos de entrada e de saída Bloco de execução seqüencial
BC0501 – Linguagens de Programação - 2008/01
PSEUDOLINGUAGEM
Em Java: Classe Scanner, métodos println,printf, etc...
Comandos de entrada permitem que dados sejam inseridos no algoritmo. Sua sintaxe é:
leia (<lista_de_identificadores>);
leia (a,b,nome);leia (nota,num);leia (rg);
Exemplos:
COMANDOS DE ENTRADA
BC0501 – Linguagens de Programação - 2008/01
Comandos de saída permitem que dados seja passados do algoritmo para outros dispositivos. Sua sintaxe é:
escreva(<lista_de_identificadores>);
escreva (media,n1);escreva (soma);
Exemplos:
BC0501 – Linguagens de Programação - 2008/01
COMANDOS DE SAÍDA
Na definição de uma linguagem, precisamos fixar:
Sua sintaxe: como escrever os comandos e seus componentes (tipos, variáveis, etc) Sua semântica: o significado de cada comando e conceito
Inicialmente veremos: Tipos Constantes e Variáveis Comando de declaração Comando de atribuição Comandos de entrada e de saída Bloco de execução seqüencial
BC0501 – Linguagens de Programação - 2008/01
PSEUDOLINGUAGEM
Bloco de execução é um conjunto de ações que possui uma função bem definida Num bloco sequencial, os comandos são executados em seqüência, um a um Corresponde à forma mais simples de execução de comandos...
BLOCO DE EXECUÇÃO SEQUENCIAL
BC0501 – Linguagens de Programação - 2008/01
Bloco de execução sequencial, sintaxe em pseudolinguagem:
início <declaração de variáveis> <comandos>fim
BLOCO DE EXECUÇÃO SEQUENCIAL
BC0501 – Linguagens de Programação - 2008/01
O corpo de um método é um bloco de execução... o início e o fim são marcados pelas chaves!
BC0501 – Linguagens de Programação - 2008/01
BLOCO DE EXECUÇÃO SEQUENCIAL: em Java
public class Pessoa { // .... public void gastar(double quantia)
�
{dinheiroNaCarteira =
dinheiroNaCarteira - quantia;System.out.printf(“Carteira: %.2f.”,
dinheiroNaCarteira);}
}
O corpo de um método é um bloco de execução... o início e o fim são marcados pelas chaves!
BC0501 – Linguagens de Programação - 2008/01
BLOCO DE EXECUÇÃO SEQUENCIAL: em Java
public class Pessoa { // .... public void gastar(double quantia)
�
{dinheiroNaCarteira =
dinheiroNaCarteira - quantia;System.out.printf(“Carteira: %.2f.”,
dinheiroNaCarteira);}
}
Inicio Real: dinheiroNaCarteira, valor;
dinheiroNaCarteira ← dinheiroNaCarteira valor; escreva (dinheiroNaCarteira); fim
Escreva um algoritmo para somar dois números quaisquer1. Leia o número X
2. Leia o número Y
3. Some X e Y
4. Mostre o resultado da soma
Entrada SaídaProcessamento
Número XNúmero Y
Somar X e Y Resultado da soma
BC0501 – Linguagens de Programação - 2008/01
BLOCO DE EXECUÇÃO SEQUENCIAL: exercício
Assim, o algoritmo de SOMA, escrito em pseudocódigo ficaria:
Algoritmo Somainício inteiro: x,y,soma; leia (x, y); soma ← x + y; escreva (soma); fimalgoritmo.
BC0501 – Linguagens de Programação - 2008/01
BLOCO DE EXECUÇÃO SEQUENCIAL: exercício
Estes foram os elementos básicos da linguagem, correspondente ao que já aprendemos da sintaxe Java até agora... Conforme novas estruturas da linguagem Java forem introduzidas, as correspondentes construções em pseudolinguagem serão apresentadas... seu uso na disciplina, porém, será opcional.
BC0501 – Linguagens de Programação - 2008/01
PSEUDOLINGUAGEM...