Linguagem Algor tmica -...

20
Linguagem Algorítmica João Medeiros FATERN 2010.2

Transcript of Linguagem Algor tmica -...

Page 1: Linguagem Algor tmica - joaomedeiros.netjoaomedeiros.net/Algoritmos/Algoritmos_files/Aula3ConceitosBasicos.pdf · Linguagem Algorítmica • Pseudolinguagem (também chamada de pseudocódigo)

Linguagem Algorítmica

João Medeiros FATERN 2010.2

Page 2: Linguagem Algor tmica - joaomedeiros.netjoaomedeiros.net/Algoritmos/Algoritmos_files/Aula3ConceitosBasicos.pdf · Linguagem Algorítmica • Pseudolinguagem (também chamada de pseudocódigo)

Objetivos

• Apresentar os conceitos básicos sobre algoritmos e lógica de programação.

• Apresentar formas distintas para representação do raciocínio da lógica algorítmica.

Page 3: Linguagem Algor tmica - joaomedeiros.netjoaomedeiros.net/Algoritmos/Algoritmos_files/Aula3ConceitosBasicos.pdf · Linguagem Algorítmica • Pseudolinguagem (também chamada de pseudocódigo)

Linguagem Algorítmica• Pseudolinguagem (também chamada de pseudocódigo) de

programação para representar algoritmos

• Não tem padronização entre as diversas linguagens

• Partes opcionais e obrigatórias

• Palavras reservadas

8

Introdução à Programação

Unidade 2 – Linguagem Algorítmica

pseudolinguagem (também chamada de pseudocódigo) de programação para representar algoritmos. Esta pseudolinguagem, apesar de fazer uso de um português estruturado (o português que conhecemos, porém com regras para formação do algoritmo), se assemelha muito ao modo como os programas são escritos. Por isso, essa representação permite que os algoritmos nela representados possam ser traduzidos, quase que diretamente, para uma linguagem de programação (bom, não?).

A linguagem algorítmica não tem uma padronização. Você vai ver que em cada livro que você consultar, você poderá encontrar

os formatos têm os mesmos tipos de estruturas, apenas escritas de forma um pouco diferente (por exemplo, em um tipo você pode

Para o nosso estudo, vamos adotar a linguagem algorítmica que é

essa ferramenta para a compilação dos nossos algoritmos. E qual o

linguagem algorítmica está representado no Quadro 4.

Algoritmo “<nome_do_algoritmo>”

[<declaração_de_constantes>]

[var <declaração_de_variáveis>]

inicio

Quadro 4 - Formato geral de um algoritmo em linguagem algoritmica

Neste quadro, os trechos que estão entre os sinais < > são obrigatórios e os que estão entre colchetes [ ] são opcionais. Agora,

Page 4: Linguagem Algor tmica - joaomedeiros.netjoaomedeiros.net/Algoritmos/Algoritmos_files/Aula3ConceitosBasicos.pdf · Linguagem Algorítmica • Pseudolinguagem (também chamada de pseudocódigo)

Por onde começar?

• Primeiro: antes de começar, tente entender o que o problema está pedindo.

• Segundo: leia novamente o problema para identificar as três fases de resolução do problema (quais são elas?)

Page 5: Linguagem Algor tmica - joaomedeiros.netjoaomedeiros.net/Algoritmos/Algoritmos_files/Aula3ConceitosBasicos.pdf · Linguagem Algorítmica • Pseudolinguagem (também chamada de pseudocódigo)

Identificadores

• Nomes únicos definidos pelos programadores para identificar/distinguir os elementos de um algoritmo, tais como: o nome do algoritmo, as constantes e as variáveis.

• Algumas regras

• O nome do identificador deve sempre começar por uma letra (caractere alfabético). Ou seja, o primeiro caractere do nome deve ser uma letra.

• Depois, os outros caracteres depois do primeiro podem ser letras ou números.

• Não é permitido o uso de espaço em branco ou de caracteres especiais, tais como: @, #, &, *, -, +, ?, $, etc. O único caractere especial permitido é o _ (subescrito). Por exemplo, nome_completo.

• Maiúsculas e minúsculas são consideradas letras iguais, logo a palavra Nome é igual a palavra nome.

• O nome dos identificadores não deve ter acentuação, nem fazer uso do cedilha (ç).

• O nome do identificador não pode ser igual a nenhuma palavra reservada da linguagem algorítmica.

• O nome deve ser significativo. Ou seja, deve expressar o valor que ele pretende representar. Por exemplo, um identificador chamado X, não diz nada. Você não terá a menor idéia do que valor está guardado nele. Porém um identificador chamado nota1, você sabe que, provavelmente, o valor guardado nesse identificador é o da primeira nota.

• Você não pode ter dois identificadores de mesmo nome dentro do algoritmo.

Page 6: Linguagem Algor tmica - joaomedeiros.netjoaomedeiros.net/Algoritmos/Algoritmos_files/Aula3ConceitosBasicos.pdf · Linguagem Algorítmica • Pseudolinguagem (também chamada de pseudocódigo)

Constantes, Variáveis e Tipos de Dados - Constantes

• Têm valor fixo.

• <nome da constante> = <valor>

• exemplos:

• PI <- 3.1416

• MAX <- 10

• PAIS <- “Brasil”

Page 7: Linguagem Algor tmica - joaomedeiros.netjoaomedeiros.net/Algoritmos/Algoritmos_files/Aula3ConceitosBasicos.pdf · Linguagem Algorítmica • Pseudolinguagem (também chamada de pseudocódigo)

Constantes, Variáveis e Tipos de Dados - Variáveis

• Armazena valores de dados.

• Corresponde a uma posição de memória

• Tipos de dados: Numéricos, literais e lógicos

17

Introdução à Programação

diferentes valores no decorrer do algoritmo, ela só pode armazenar um valor a cada instante. Antes de mostrar a declaração de variáveis,

TIPOS DE DADOS

na memória. As variáveis podem ser basicamente de três tipos: Numéricas, literais ou lógicas (vide Figura 15).

Figura 15 - Tipos de Variáveis

(positivos ou negativos), que posteriormente poderão ser utilizados

Inteiro ou Real. O tipo inteiro serve para armazenamento de números

exemplo, 234, 1, -89 e 27 e o tipo real serve para o armazenamento de números que possuam casas decimais. Por exemplo, 2.14, -9.0, 1200.09 e 0.23.

O Tipo Literal ou Caracterede uma ou mais letras, números ou símbolos especiais. Porém, os

matemáticas. Geralmente, os dados literais são representados nos algoritmos pela coleção de caracteres, delimitada em seu início

representa um dado do tipo literal, diferindo de 2 que é um dado do tipo inteiro. Com o segundo você poderá fazer cálculos matemáticos. Mas com o caractere não. Como saber a diferença? O dado do tipo

O tipo lógico armazena somente dados lógicos que só possuem dois valores possíveis: Verdadeiro ou Falso. Esse tipo é usado em

Page 8: Linguagem Algor tmica - joaomedeiros.netjoaomedeiros.net/Algoritmos/Algoritmos_files/Aula3ConceitosBasicos.pdf · Linguagem Algorítmica • Pseudolinguagem (também chamada de pseudocódigo)

Declaração Variáveis

• var <nomeVar1, ..., nomeVarN>: <tipo_dado_da(s)_variavel(eis)>

Exemplos:

18

Introdução à Programação

simplesmente V) ou falso (ou simplesmente F)

DECLARAÇÃO DE VARIÁVEIS

As fases de Entrada, Processamento e Saída podem manipular

fazer a declaração das mesmas. Em linguagem algorítmica as variáveis

pela palavra var), antes do início do algoritmo propriamente dito. A declaração dever ter o seguinte formato:

var

E o que o computador faz a partir dessa declaração? Bem, imagine que a Figura 16 é a memória do computador. Cada pedaço da memória tem um endereço, para poder ser acessada. Esse

tentar lhe explicar como as coisas funcionam. Por exemplo @#1, @#2

verdade são bem mais complexos que apenas isso, são complicados de serem expressos. Algo como @#$1208DFE ou pior.

Figura 16 - Exemplo de Memória do Computador

Page 9: Linguagem Algor tmica - joaomedeiros.netjoaomedeiros.net/Algoritmos/Algoritmos_files/Aula3ConceitosBasicos.pdf · Linguagem Algorítmica • Pseudolinguagem (também chamada de pseudocódigo)

Declaração Variáveis• Quando declaramos uma variável, estamos reservando na memória uma área para

aquela variável e identificando essa área pelo nome da variável.

• O tamanho da área vai depender do tipo da variável (se é caractere, se é inteiro, se é real ou lógico).

• A seleção da área de memória é aleatória e a área reservada deve caber a variável a ser armazenada.

19

Introdução à Programação

Quando declaramos variáveis, estamos reservando na memória

essa área pelo nome da variável. O tamanho da área vai depender do tipo da variável (se é caractere, se é inteiro, se é real ou lógico). Por

Figura 17

uma área de memória qualquer (aleatoriamente), onde coubesse algo do tipo caractere, marcaria como ocupada e chamaria essa área de nome (vide Figura 17).

aleatoriamente, ou seja, não é nada seqüencial), que coubesse um número inteiro, marcaria a área como ocupada e a chamaria de idade. Da mesma forma, seri reservada uma área para um valor lógico, marcada como ocupada e essa área seria chamada de ativo, que poderia servir, por exemplo, para indicar se a pessoa está ativa ou aposentada, em termos de trabalho (vide Figura 18).

Figura 18 - Memória do Computador após a declaração de todas as variáveis.

Agora, se quiséssemos colocar um valor dentro de cada variável,

automaticamente, levaria para o endereço de memória correto. Por exemplo:

Page 10: Linguagem Algor tmica - joaomedeiros.netjoaomedeiros.net/Algoritmos/Algoritmos_files/Aula3ConceitosBasicos.pdf · Linguagem Algorítmica • Pseudolinguagem (também chamada de pseudocódigo)

Atribuição de Valores as Variáveis

• Ao atribuirmos um valor, o compilador leva o valor para a posição correspondente na memória.

20

Introdução à Programação

na Figura 19.

Se não tivéssemos a noção de variável, nós teríamos de conhecer cada endereço de memória do computador, para poder implementar

nossa atribuição de valores passaria a algo do tipo:

E com o detalhe que os endereços poderiam mudar de computador para computador, dependendo da marca e da capacidade de armazenamento da memória, do sistema operacional instalado, entre outras coisas. Por isso, usar variáveis é uma forma de facilitar o acesso para armazenamento e recuperação de valores na memória do computador. Pois agora, nós podemos atribuir valores aos nomes das variáveis e a linguagem se encarrega de gerenciar a memória para nós. Lembre, para fazer qualquer algoritmo que precise processar qualquer coisa que seja, você vai precisar declarar variáveis, porque são elas que armazenam os valores para você.

Operadores e Expressões

Agora que as variáveis já estão declaradas, para fazer a parte do PROCESSAMENTO da maior parte dos algoritmos, vamos precisar

20

Introdução à Programação

na Figura 19.

Se não tivéssemos a noção de variável, nós teríamos de conhecer cada endereço de memória do computador, para poder implementar

nossa atribuição de valores passaria a algo do tipo:

E com o detalhe que os endereços poderiam mudar de computador para computador, dependendo da marca e da capacidade de armazenamento da memória, do sistema operacional instalado, entre outras coisas. Por isso, usar variáveis é uma forma de facilitar o acesso para armazenamento e recuperação de valores na memória do computador. Pois agora, nós podemos atribuir valores aos nomes das variáveis e a linguagem se encarrega de gerenciar a memória para nós. Lembre, para fazer qualquer algoritmo que precise processar qualquer coisa que seja, você vai precisar declarar variáveis, porque são elas que armazenam os valores para você.

Operadores e Expressões

Agora que as variáveis já estão declaradas, para fazer a parte do PROCESSAMENTO da maior parte dos algoritmos, vamos precisar

20

Introdução à Programação

na Figura 19.

Se não tivéssemos a noção de variável, nós teríamos de conhecer cada endereço de memória do computador, para poder implementar

nossa atribuição de valores passaria a algo do tipo:

E com o detalhe que os endereços poderiam mudar de computador para computador, dependendo da marca e da capacidade de armazenamento da memória, do sistema operacional instalado, entre outras coisas. Por isso, usar variáveis é uma forma de facilitar o acesso para armazenamento e recuperação de valores na memória do computador. Pois agora, nós podemos atribuir valores aos nomes das variáveis e a linguagem se encarrega de gerenciar a memória para nós. Lembre, para fazer qualquer algoritmo que precise processar qualquer coisa que seja, você vai precisar declarar variáveis, porque são elas que armazenam os valores para você.

Operadores e Expressões

Agora que as variáveis já estão declaradas, para fazer a parte do PROCESSAMENTO da maior parte dos algoritmos, vamos precisar

Sem utilizar variáveis

Page 11: Linguagem Algor tmica - joaomedeiros.netjoaomedeiros.net/Algoritmos/Algoritmos_files/Aula3ConceitosBasicos.pdf · Linguagem Algorítmica • Pseudolinguagem (também chamada de pseudocódigo)

Operações e Expressões

• Os operadores são os meios usados para incrementar, decrementar, comparar e avaliar dados dentro do computador

• operador de atribuição

• operadores aritméticos,

• operadores relacionais e

• operadores lógicos.

• Expressão faz uso dos operadores e de operandos para construir fórmulas que serão usadas na parte do processamento do algoritmo

• Operandos são as variáveis ou valores usados na expressão

Page 12: Linguagem Algor tmica - joaomedeiros.netjoaomedeiros.net/Algoritmos/Algoritmos_files/Aula3ConceitosBasicos.pdf · Linguagem Algorítmica • Pseudolinguagem (também chamada de pseudocódigo)

Operador de Atribuição

• Serve para atribuir um valor a uma variável ou para copiar o conteúdo de uma variável para outra do mesmo tipo

• Representado por: <-

• Exemplos

• Nome “Sandra” (aqui temos que a variável Nome recebe o valor Sandra)

• Idade 18 (a variável Idade recebe o valor 18)

• Casado <-F (a variável Casado recebe o valor F (falso))

• Salário <- 500.55 (a variável Salario recebe o valor 500.55)

• Soma <- 45 + 10 (a variável recebe o valor da soma de 45 com 10, ou seja, 55)

• Nome2 <- Nome (a variável Nome2 recebe o mesmo valor que Nome, ou seja, aqui você está copiando para Nome2 o que estava armazenado em Nome, ou seja, o valor “Sandra”).

Page 13: Linguagem Algor tmica - joaomedeiros.netjoaomedeiros.net/Algoritmos/Algoritmos_files/Aula3ConceitosBasicos.pdf · Linguagem Algorítmica • Pseudolinguagem (também chamada de pseudocódigo)

Operadores Aritméticos

23

Introdução à Programação

dos operadores. Pela tabela 1, a multiplicação tem prioridade sobre a soma. Dessa forma, teríamos 4 + 15 = 19.

Tabela 1 - Operadores Aritméticos e suas Prioridades

É fazer uso dos operadores aritméticos para criar uma fórmula de

expressão? Avalie as prioridades... daria 12. Como? Primeiro deveria

divisão (consulte a tabela 1), daí teríamos 10 + 2 = 12.

Voltando para a Tabela 1, a maior parte dos operadores você já conhece. Porém, gostaria de destacar três deles que você pode não conhecer. A barra invertida (\) equivale a divisão inteira de um número. E o que é isso? Quer dizer você realizar a divisão de um número por outro e não considerar (desprezar) a parte decimal obtida. É o caso do exemplo dado na Tabela 1: 6\4 é igual a 1, porque a divisão normal de 6 por 4 daria 1.5. Porém, na divisão inteira, a parte .5 (parte decimal) seria ignorada, dando como resultado apenas o valor inteiro 1. Outro operador é a pontenciação (^). Só relembrando, se temos X ^ Y, quer dizer que X será multiplicado por ele mesmo Y vezes. Ex: 2 ^ 3 = 2 x 2 x 2 = 8. Por último o operador MOD, que também pode ser representado por %. Ele representa o resto da divisão inteira. E o que é isso? Bem, vamos explicar. Quando você faz uma conta de divisão,

justamente o valor do resto e não o do quociente, como é o caso da

zero. Porque o resto da divisão de um número par por dois, sempre é ZERO (ou seja, a divisão é exata, não possui resto).

Page 14: Linguagem Algor tmica - joaomedeiros.netjoaomedeiros.net/Algoritmos/Algoritmos_files/Aula3ConceitosBasicos.pdf · Linguagem Algorítmica • Pseudolinguagem (também chamada de pseudocódigo)

Operador Mod (Resto da Divisão inteira)

24

Introdução à Programação

Figura 21 - Elementos da Divisão

Para ver se você entendeu, quanto seria 7 MOD 3? Seria um. Veja na Figura 22.

Figura 22 - Demonstração do cálculo de 7 MOD 3

E quanto seria 4 MOD 6? Mais difícil? Realmente, aqui temos uma exceção (vide Figura 23). Toda vez que se vai calcular o MOD, onde o valor do divisor é maior que o número a ser dividido (dividendo), o resto

nos interessa esperar pelos outros valores da parte decimal, uma vez

Figura 23 - Demonstração do cálculo de 4 MOD 6

Operadores relacionais

Operadores relacionais são sinais utilizados para realizar

Estes operadores sempre retornam valores lógicos (verdadeiro ou falso). Todos os operadores relacionais têm a mesma prioridade, logo, para estabelecer prioridades no que diz respeito a qual operação

tipo. Por exemplo, você não pode comparar um inteiro e um caractere. Mas pode comparar dois números inteiros. Os operadores relacionais podem ser vistos na Tabela 2. Na tabela é dado um exemplo de uso de cada operador e que valor ele retornaria com a comparação (ou 24

Introdução à Programação

Figura 21 - Elementos da Divisão

Para ver se você entendeu, quanto seria 7 MOD 3? Seria um. Veja na Figura 22.

Figura 22 - Demonstração do cálculo de 7 MOD 3

E quanto seria 4 MOD 6? Mais difícil? Realmente, aqui temos uma exceção (vide Figura 23). Toda vez que se vai calcular o MOD, onde o valor do divisor é maior que o número a ser dividido (dividendo), o resto

nos interessa esperar pelos outros valores da parte decimal, uma vez

Figura 23 - Demonstração do cálculo de 4 MOD 6

Operadores relacionais

Operadores relacionais são sinais utilizados para realizar

Estes operadores sempre retornam valores lógicos (verdadeiro ou falso). Todos os operadores relacionais têm a mesma prioridade, logo, para estabelecer prioridades no que diz respeito a qual operação

tipo. Por exemplo, você não pode comparar um inteiro e um caractere. Mas pode comparar dois números inteiros. Os operadores relacionais podem ser vistos na Tabela 2. Na tabela é dado um exemplo de uso de cada operador e que valor ele retornaria com a comparação (ou

quanto seria 7 MOD 3?

E quanto seria 4 MOD 6?

24

Introdução à Programação

Figura 21 - Elementos da Divisão

Para ver se você entendeu, quanto seria 7 MOD 3? Seria um. Veja na Figura 22.

Figura 22 - Demonstração do cálculo de 7 MOD 3

E quanto seria 4 MOD 6? Mais difícil? Realmente, aqui temos uma exceção (vide Figura 23). Toda vez que se vai calcular o MOD, onde o valor do divisor é maior que o número a ser dividido (dividendo), o resto

nos interessa esperar pelos outros valores da parte decimal, uma vez

Figura 23 - Demonstração do cálculo de 4 MOD 6

Operadores relacionais

Operadores relacionais são sinais utilizados para realizar

Estes operadores sempre retornam valores lógicos (verdadeiro ou falso). Todos os operadores relacionais têm a mesma prioridade, logo, para estabelecer prioridades no que diz respeito a qual operação

tipo. Por exemplo, você não pode comparar um inteiro e um caractere. Mas pode comparar dois números inteiros. Os operadores relacionais podem ser vistos na Tabela 2. Na tabela é dado um exemplo de uso de cada operador e que valor ele retornaria com a comparação (ou

Page 15: Linguagem Algor tmica - joaomedeiros.netjoaomedeiros.net/Algoritmos/Algoritmos_files/Aula3ConceitosBasicos.pdf · Linguagem Algorítmica • Pseudolinguagem (também chamada de pseudocódigo)

Operadores Relacionais e Lógicos

25

Introdução à Programação

Tabela 2 - Operadores Relacionais

Para ilustrar melhor, vamos também dar exemplos das outras

porque x = 2)

Verdadeiro)

Verdadeiro)

valor Falso)

lógicas, que serão explicadas na subseção a seguir.

Operadores lógicos e expressões lógicas

Os operadores lógicos são também conhecidos como operadores booleanos, porque derivam da álgebra de lógica matemática desenvolvida por George Boole. A principal função destes operadores

execução do algoritmo. Em outras palavras, esses operadores servem

operadores lógicos podem ser vistos na Tabela 3 e serão explicados a seguir.

26

Introdução à Programação

Tabela 3 - Operadores Lógicos

NÃO (negação)Ele é um operador unário (opera sobre apenas uma variável) e serve para inverter o valor da expressão ou condição. Por exemplo, se a expressão for verdadeira, ele inverte para falsa e vice-versa.

Exemplo: Não (4 < 3) é avaliada como Verdadeira, porque a expressão (4 < 3) é falsa e Não falto é igual a verdadeiro.

E (conjunção) - é o próximo operador na ordem de precedência. Ele retorna Verdadeiro como resultado se (e somente se) ambos os operandos forem avaliados como Verdadeiros. Se qualquer um dos operandos for avaliado como Falso, ele retorna Falso. Esse operador corresponde ao E usado em português, como na frase

possíveis na Tabela 4.

Exemplo: a expressão (3<4) E ((8+2) = 11) resultaria em Falso. Porque a primeira expressão é verdadeira, mas a segunda é falsa. E, pela Tabela 4, você pode ver que verdadeiro E Falso = Falso.

OR (disjunção) - o operador OU retorna o resultado Verdadeiro se qualquer um dos dois operandos for avaliado como Verdadeiro.

OU em

Operadores Relacionais

Operadores Lógicos

Page 16: Linguagem Algor tmica - joaomedeiros.netjoaomedeiros.net/Algoritmos/Algoritmos_files/Aula3ConceitosBasicos.pdf · Linguagem Algorítmica • Pseudolinguagem (também chamada de pseudocódigo)

Instruções de Entrada e Saída

• A instrução de entrada de dados permite que informações que os usuários fornecem através dos dispositivos de entrada sejam transferidas para a memória do computador e armazenadas em variáveis

• Ex: Leia (nomeVariavel)

• A instrução de saída de dados é o meio pelo qual o resultado da fase de PROCESSAMENTO do algoritmo será exibido pelos dispositivos de saída de um computador

• Exemplos:

• Escreva (nome, endereco, cidade)

• Escreva (“texto a ser mostrado ao usuário”)

• Escreva (“textoA”, nomeVar, “textoB”, nomeVar1, ..., nomeVarN),

Page 17: Linguagem Algor tmica - joaomedeiros.netjoaomedeiros.net/Algoritmos/Algoritmos_files/Aula3ConceitosBasicos.pdf · Linguagem Algorítmica • Pseudolinguagem (também chamada de pseudocódigo)

Exemplo

• Suponha que você quer construir um algoritmo para ler o preço unitário e a quantidade de um produto e quer imprimir o preço final a ser pago pelo cliente. Como ficaria?

30

Introdução à Programação

Algoritmo

var real

inteiro

inicio

Leia

Escreva

Importante

Há duas regras básicas para melhorar nossos algoritmos:

1) Antes de toda operação de leitura deve ser impressa uma mensagem informando ao usuário que dados ele deve fornecer para o programa.

2) Todo resultado enviado ao usuário, deve ser precedido de uma mensagem explicativa sobre que valor está sendo mostrado.

Assim sendo, vamos aplicar essas regras no algoritmo que apresentamos anteriormente.

Algoritmo

var real

inteiro

inicio

Escreva

Leia

Escreva

melhor apresentadas ao usuário.

Sintaxe e Semântica

Page 18: Linguagem Algor tmica - joaomedeiros.netjoaomedeiros.net/Algoritmos/Algoritmos_files/Aula3ConceitosBasicos.pdf · Linguagem Algorítmica • Pseudolinguagem (também chamada de pseudocódigo)

Regras Básicas para Melhorar nossos algoritmos

30

Introdução à Programação

Algoritmo

var real

inteiro

inicio

Leia

Escreva

Importante

Há duas regras básicas para melhorar nossos algoritmos:

1) Antes de toda operação de leitura deve ser impressa uma mensagem informando ao usuário que dados ele deve fornecer para o programa.

2) Todo resultado enviado ao usuário, deve ser precedido de uma mensagem explicativa sobre que valor está sendo mostrado.

Assim sendo, vamos aplicar essas regras no algoritmo que apresentamos anteriormente.

Algoritmo

var real

inteiro

inicio

Escreva

Leia

Escreva

melhor apresentadas ao usuário.

Sintaxe e Semântica

30

Introdução à Programação

Algoritmo

var real

inteiro

inicio

Leia

Escreva

Importante

Há duas regras básicas para melhorar nossos algoritmos:

1) Antes de toda operação de leitura deve ser impressa uma mensagem informando ao usuário que dados ele deve fornecer para o programa.

2) Todo resultado enviado ao usuário, deve ser precedido de uma mensagem explicativa sobre que valor está sendo mostrado.

Assim sendo, vamos aplicar essas regras no algoritmo que apresentamos anteriormente.

Algoritmo

var real

inteiro

inicio

Escreva

Leia

Escreva

melhor apresentadas ao usuário.

Sintaxe e Semântica

Page 19: Linguagem Algor tmica - joaomedeiros.netjoaomedeiros.net/Algoritmos/Algoritmos_files/Aula3ConceitosBasicos.pdf · Linguagem Algorítmica • Pseudolinguagem (também chamada de pseudocódigo)

Sintaxe e Semântica• A sintaxe dita as regras de como os comandos de

uma linguagem e cada um dos seus termos deve ser construído corretamente. Ou seja, se o comando está correto ou não.

• A semântica diz respeito ao significado lógico das instruções que serão executadas pelo computador.

32

Introdução à Programação

comeu o rato” está, em termos da língua portuguesa, sintaticamente e semanticamente correta. Porque em termos de sintaxe, a frase tem sujeito, verbo e predicado e o verbo está corretamente conjugado. Semanticamente a frase também está correta, porque na vida real um

comeu o gato”, teríamos um problema. A frase continua sintaticamente correta. Porém a semântica apresenta problemas. Porque, na vida real, geralmente, um rato não come um gato. Agora, vamos dar um exemplo relacionado com programação, fazendo uso de uma estrutura que veremos na subseção 1.2.8, a estrutura SE. Suponha o trecho de código:

Se então

Escreva

Senão

Escreva

Você vai ver na subseção 1.2.8 que, sintaticamente, a estrutura

semanticamente errado. Na vida real sabemos que o aluno está APROVADO se obtém media maior ou igual a sete. E não reprovado como mostra o algoritmo.

e interpretadores), enquanto que os erros semânticos não o são. Por isso, os erros semânticos exigem mais atenção para corrigi-los. Agora que já sabemos o que é sintaxe e semântica e já vimos todos os conceitos mais básicos relacionados a algoritmos (variáveis,

de entrada e saída), podemos partir para construir as estruturas de controle de um algoritmo. Existem 3 estruturas básicas de controle nas quais se baseiam os algoritmos:

Seqüencial: conjunto de comandos separados que são executados em uma seqüência linear de cima para baixo.

Seleção, Condicional ou de Decisão: a partir de um teste

podem ser executados ou não, dependendo exatamente do resultado do teste efetuado.

Page 20: Linguagem Algor tmica - joaomedeiros.netjoaomedeiros.net/Algoritmos/Algoritmos_files/Aula3ConceitosBasicos.pdf · Linguagem Algorítmica • Pseudolinguagem (também chamada de pseudocódigo)

Exercícios1) Leia o nome e o salário de um funcionário e exiba com resultado o nome do mesmo com o salário reajustado em 12%.

2) Leia 2 notas, calcule e exiba a média ponderada dessas notas. Considere que a nota1 tem peso 6 e a nota2 tem peso 4.

3) Faça um algoritmo que receba um valor em dólar e transforme o mesmo em reais, sabendo que a taxa de conversão é: 1 dólar = R$ 1.70.

4) Leia uma distância em km entre dois pontos e o preço da gasolina em reais. Depois, exiba quantos litros de gasolina o carro irá consumir e quanto será o gasto em reais, sabendo que o carro em questão consegue percorrer 12 km com um litro de gasolina.

5) Leia as variáveis inteiras n1 e n2 e troque o valor destas variáveis. Isto é, n1 deve ficar com o valor de n2 e n2 deve ficar com o valor de n1. Exiba os valores antes e depois da troca.