Você está na página 1de 28

Sintaxe e Semântica

Ameliara Freire
ameliara.unibra@gmail.com
Definição
 A definição de qualquer linguagem comporta
dois aspectos:
 A forma da linguagem e o significado associado
a essa forma.
 A estes aspectos damos respectivamente o
nome de sintaxe e semântica da linguagem.
Estruturas Básicas de Controle
 Agora que já sabemos o que é sintaxe e
semântica e já vimos todos os conceitos
mais básicos relacionados a algoritmos
(variáveis, constantes, tipos de dados,
operadores e expressões e comandos 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:
Estruturas Básicas de Controle
 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 condicional, uma instrução, ou um
conjunto de instruções, podem ser executados ou
não, dependendo exatamente do resultado do
teste efetuado.
 Repetição: uma instrução ou o conjunto de
instruções que será executado repetidamente, de
acordo com o resultado de um teste condicional ou
de uma contagem.
Estrutura Seqüencial
 Na estrutura seqüencial os comandos de
um algoritmo são executados numa
seqüência pré-estabelecida.
 Cada comando é executado somente após
o término do comando anterior.
 Os comandos deverão ser executados
numa seqüência linear, seguindo-se o texto
em que estão escritos, de cima para baixo,
se não houver indicação em contrário.
Estrutura Seqüencial
Exemplo Estrutura Seqüencial
Algoritmo Sequencial
var num1, num2, soma: inteiro
inicio
Escreva(“Informe o primeiro número”)
Leia(num1)
Escreva(“Informe o segundo número”)
Leia(num2)

soma <- num1 + num2

Escreva(“A soma dos valores é: ”, soma)


fimalgoritmo.
Estrutura Condicional
 Estrutura também conhecida como de decisão ou de
seleção.
 Caracteriza-se pela execução de um bloco de instruções
dependendo da veracidade de uma condição (representada
por expressões com operadores relacionais e lógicos).
 Ou seja, a execução de um ou mais comandos dependerá
de se uma condição é satisfeita (é verdadeira) ou não.
 A estrutura de decisão deve ser sempre usada quando há a
necessidade de testar alguma condição e em função da
mesma tomar uma atitude.
 Essa estrutura é muito utilizada, até porque no nosso dia-a-
dia, estamos sempre tomando decisões
Exemplo Estrutura Condicional

Se estiver chovendo então tenho de fechar as


janelas

Caso contrário (senão) as janelas podem


ficar abertas
Estrutura condicional simples
 Na estrutura condicional simples, uma única
expressão lógica é avaliada, para decidir se o
bloco de instruções será executado ou não.

Se (idade < 18) então


escreva (“Esta pessoa é menor de idade”)
fimse
Estrutura condicional simples
Estrutura condicional composta
 Na estrutura condicional composta, a condição irá
determinar qual comando ou bloco de comandos
será executado dentre dois listados.

Se (media >= 7.0) então


escreva (“Aluno Aprovado!”)
senão
escreva (“Aluno Reprovado!”)
fimse
Estrutura condicional composta
Estrutura condicional múltipla
 A estrutura condicional ou de decisão
múltipla é uma especialização da estrutura
de decisão composta aninhada, que permite
a execução de opções mutuamente
exclusivas.
Estrutura condicional múltipla
Estrutura de Repetição
 Adivinha pra que serve a repetição!... Isso mesmo! Para repetir uma
instrução ou um bloco de instruções. Vamos tomar como base a
preparação de uma xícara de café. Quais seriam os passos desse
algoritmo?

1.Colocar o açúcar na xícara


2.Colocar o café na xícara (neste caso, teria de ser um café
solúvel)
3. Colocar a água quente
4. Mexer
5. Mexer
6. Mexer
7. Mexer
8. Mexer
9. Mexer
10.Tomar o café
Estrutura de Repetição
 Veja que como há uma parte do algoritmo que se
repete, ele poderia ser reescrito, de forma
otimizada, como segue:

1.Colocar o açúcar na xícara


2.Colocar o café na xícara (neste caso, teria de ser
um café solúvel
3. Colocar a água quente
Repita 6 vezes
4. Mexer
FimRepita
5. Tomar o café
Estrutura de Repetição
 As estruturas de repetição também são conhecidas como
Laços ou Loops e podem ser classificadas em dois tipos:
 Condicional
 Elas repetem um ou mais comandos até satisfazer a condição de
repetição.
 São usadas quando não se sabe previamente quantas vezes deve-se
executar as instruções do bloco de repetição.
 Esse tipo de estrutura de repetição condicional podem executar o teste
da condição no início (ENQUANTO/FAÇA) ou no final (REPITA/ATÉ).
 Contada
 Repetem um número contado (pré-definido) de vezes um ou mais
comandos.
 São usadas quando se sabe previamente quantas vezes deve-se
executar as instruções do bloco de repetição.
 Para saber quando parar, esse tipo de estrutura de repetição utiliza uma
variável contadora para controlar a quantidade de repetições. É
representada pela estrutura PARA/FAÇA.
Estrutura de repetição
ENQUANTO/FAÇA
Exemplo Estrutura de repetição
ENQUANTO/FAÇA
algoritmo ExemploEnquantoFaça
var x: inteiro
inicio
escreva(“Digite um valor”)
leia (x)
enquanto (x<>0) faça
se (x > 0) então
escreva (“O número é positivo”)
senão
escreva (“O número é negativo”)
fimse
fimenquanto
fimalgoritmo
Estrutura de Repetição
REPITA/ATÉ
Exemplo Estrutura de Repetição
REPITA/ATÉ
algoritmo ExemploRepitaAte
var x: inteiro
inicio
repita
escreva(“Digite um valor”)
leia (x)
se (x > 0) então
escreva (“O número é positivo”)
senão
escreva (“O número é negativo”)
fimse
até (x=0)
fimalgoritmo
Estrutura de Repetição
PARA/FAÇA
 Este tipo de estrutura é útil quando se
conhece previamente o número de vezes
que se deseja executar um determinado
conjunto de comandos.
Estrutura de Repetição
PARA/FAÇA
Estrutura de Repetição
PARA/FAÇA
 Suponha que gostaríamos de construir um algoritmo para ler 20
números e avaliar se esses números são positivos ou negativos,
escrevendo na tela a mensagem apropriada.
algoritmo exemploParaFaca
var num, contador: inteiro
inicio O problema pediu
para contador de 1 até 20 faça para ler e avaliar
20 números. Logo
escreva(“Digite um valor”)
o laço “Para” vai de
leia (num) 1 até 20
se (num >= 0) então
escreva (“O número é positivo”)
senão
escreva (“O número é negativo”)
fimse
fimpara
fimalgoritmo
Trocando a estrutura Para/Faça
por Enquanto/Faça
algoritmo exemploContadorEnquanto
var num, contador: inteiro Agora é preciso
inicio dar um valor
contador <-1 inicial ao contador
enquanto (contador <= 20) faça
escreva(“Digite um valor”)
leia (num)
se (num >= 0) então
A variável
escreva (“O número é positivo”)
contadora passa
senão a necessitar ser
escreva (“O número é negativo”) incrementada por
fimse você. Antes o laço
contador <- contador + 1 para executava
fimpara esse passo,
fimalgoritmo automaticamente.
Comparativo
  Enquanto/Faça Repita/Até Para/Faça

Tipo da Estrutura Condicional Condicional Contada

Ocorrência do Teste No início No Final No início

Zero ou mais vezes Vai ser executada do valor inicial ao


(pode não ser Uma ou mais (vai ser valor final, ou seja,
executada executada, terá um número de
Quantidade de Repetições nenhuma vez) no mínimo, uma vez) execuções prédefinido

Repete enquanto Repete enquanto a Variável


falso, ou seja, Contadora for
Repete até que a maior ou igual ao valor inicial
enquanto condição se torne e menor ou igual ao valor
Condição para Repetir verdadeiro verdadeira. Final
Exercício
 O exercício seguirá a parte no email.

Você também pode gostar