You are on page 1of 28

Sintaxe e Semntica

Faculdade Joaquim Nabuco


Ameliara Freire
ameliara.fjn@gmail.com
Definio
A definio 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 semntica da linguagem.
Estruturas Bsicas de Controle
Agora que j sabemos o que sintaxe e
semntica e j vimos todos os conceitos
mais bsicos relacionados a algoritmos
(variveis, constantes, tipos de dados,
operadores e expresses e comandos de
entrada e sada).
Podemos partir para construir as estruturas
de controle de um algoritmo.
Existem 3 estruturas bsicas de controle nas
quais se baseiam os algoritmos:
Estruturas Bsicas de Controle
Seqencial: conjunto de comandos separados que
so executados em uma seqncia linear de cima
para baixo.
Seleo, Condicional ou de Deciso: a partir de
um teste condicional, uma instruo, ou um conjunto
de instrues, podem ser executados ou no,
dependendo exatamente do resultado do teste
efetuado.
Repetio: uma instruo ou o conjunto de
instrues que ser executado repetidamente, de
acordo com o resultado de um teste condicional ou
de uma contagem.
Estrutura Seqencial
Na estrutura seqencial os comandos de
um algoritmo so executados numa
seqncia pr-estabelecida.
Cada comando executado somente aps
o trmino do comando anterior.
Os comandos devero ser executados
numa seqncia linear, seguindo-se o texto
em que esto escritos, de cima para baixo,
se no houver indicao em contrrio.
Estrutura Seqencial
Exemplo Estrutura Seqencial
Algoritmo Sequencial
var num1, num2, soma: inteiro
inicio
Escreva(Informe o primeiro nmero)
Leia(num1)
Escreva(Informe o segundo nmero)
Leia(num2)

soma <- num1 + num2

Escreva(A soma dos valores : , soma)


fimalgoritmo.
Estrutura Condicional
Estrutura tambm conhecida como de deciso ou de
seleo.
Caracteriza-se pela execuo de um bloco de instrues
dependendo da veracidade de uma condio (representada
por expresses com operadores relacionais e lgicos).
Ou seja, a execuo de um ou mais comandos depender
de se uma condio satisfeita ( verdadeira) ou no.
A estrutura de deciso deve ser sempre usada quando h a
necessidade de testar alguma condio e em funo da
mesma tomar uma atitude.
Essa estrutura muito utilizada, at porque no nosso dia-a-
dia, estamos sempre tomando decises
Exemplo Estrutura Condicional

Se estiver chovendo ento tenho de fechar as


janelas

Caso contrrio (seno) as janelas podem


ficar abertas
Estrutura condicional simples
Na estrutura condicional simples, uma nica
expresso lgica avaliada, para decidir se o
bloco de instrues ser executado ou no.

Se (idade < 18) ento


escreva (Esta pessoa menor de idade)
fimse
Estrutura condicional simples
Estrutura condicional composta
Na estrutura condicional composta, a condio ir
determinar qual comando ou bloco de comandos
ser executado dentre dois listados.

Se (media >= 7.0) ento


escreva (Aluno Aprovado!)
seno
escreva (Aluno Reprovado!)
fimse
Estrutura condicional composta
Estrutura condicional mltipla
A estrutura condicional ou de deciso
mltipla uma especializao da estrutura
de deciso composta aninhada, que permite
a execuo de opes mutuamente
exclusivas.
Estrutura condicional mltipla
Estrutura de Repetio
Adivinha pra que serve a repetio!... Isso mesmo! Para repetir uma
instruo ou um bloco de instrues. Vamos tomar como base a
preparao de uma xcara de caf. Quais seriam os passos desse
algoritmo?

1.Colocar o acar na xcara


2.Colocar o caf na xcara (neste caso, teria de ser um caf
solvel)
3. Colocar a gua quente
4. Mexer
5. Mexer
6. Mexer
7. Mexer
8. Mexer
9. Mexer
10.Tomar o caf
Estrutura de Repetio
Veja que como h uma parte do algoritmo que se
repete, ele poderia ser reescrito, de forma otimizada,
como segue:

1.Colocar o acar na xcara


2.Colocar o caf na xcara (neste caso, teria de ser um
caf solvel
3. Colocar a gua quente
Repita 6 vezes
4. Mexer
FimRepita
5. Tomar o caf
Estrutura de Repetio
As estruturas de repetio tambm so conhecidas como
Laos ou Loops e podem ser classificadas em dois tipos:
Condicional
Elas repetem um ou mais comandos at satisfazer a condio de
repetio.
So usadas quando no se sabe previamente quantas vezes deve-se
executar as instrues do bloco de repetio.
Esse tipo de estrutura de repetio condicional podem executar o teste
da condio no incio (ENQUANTO/FAA) ou no final (REPITA/AT).
Contada
Repetem um nmero contado (pr-definido) de vezes um ou mais
comandos.
So usadas quando se sabe previamente quantas vezes deve-se
executar as instrues do bloco de repetio.
Para saber quando parar, esse tipo de estrutura de repetio utiliza uma
varivel contadora para controlar a quantidade de repeties.
representada pela estrutura PARA/FAA.
Estrutura de repetio
ENQUANTO/FAA
Exemplo Estrutura de repetio
ENQUANTO/FAA
algoritmo ExemploEnquantoFaa
var x: inteiro
inicio
escreva(Digite um valor)
leia (x)
enquanto (x<>0) faa
se (x > 0) ento
escreva (O nmero positivo)
seno
escreva (O nmero negativo)
fimse
fimenquanto
fimalgoritmo
Estrutura de Repetio
REPITA/AT
Exemplo Estrutura de Repetio
REPITA/AT
algoritmo ExemploRepitaAte
var x: inteiro
inicio
repita
escreva(Digite um valor)
leia (x)
se (x > 0) ento
escreva (O nmero positivo)
seno
escreva (O nmero negativo)
fimse
at (x=0)
fimalgoritmo
Estrutura de Repetio
PARA/FAA
Este tipo de estrutura til quando se
conhece previamente o nmero de vezes
que se deseja executar um determinado
conjunto de comandos.
Estrutura de Repetio
PARA/FAA
Estrutura de Repetio
PARA/FAA
Suponha que gostaramos de construir um algoritmo para ler 20
nmeros e avaliar se esses nmeros so positivos ou negativos,
escrevendo na tela a mensagem apropriada.
algoritmo exemploParaFaca
var num, contador: inteiro
inicio O problema pediu
para ler e avaliar
para contador de 1 at 20 faa
20 nmeros. Logo
escreva(Digite um valor) o lao Para vai de
leia (num) 1 at 20
se (num >= 0) ento
escreva (O nmero positivo)
seno
escreva (O nmero negativo)
fimse
fimpara
fimalgoritmo
Trocando a estrutura Para/Faa
por Enquanto/Faa
algoritmo exemploContadorEnquanto
var num, contador: inteiro Agora preciso
dar um valor
inicio
inicial ao contador
contador <-1
enquanto (contador <= 20) faa
escreva(Digite um valor)
leia (num)
se (num >= 0) ento A varivel
escreva (O nmero positivo) contadora passa
seno a necessitar ser
escreva (O nmero negativo) incrementada por
fimse voc. Antes o lao
contador <- contador + 1 para executava
fimpara esse passo,
automaticamente.
fimalgoritmo
Comparativo
Enquanto/Faa Repita/At Para/Faa

Tipo da Estrutura Condicional Condicional Contada

Ocorrncia do Teste No incio No Final No incio

Zero ou mais vezes Uma ou mais (vai ser Vai ser executada do valor inicial ao
(pode no ser executada, valor final, ou seja,
executada no mnimo, uma ter um nmero de
Quantidade de Repeties nenhuma vez) vez) execues prdefinido

Repete enquanto Repete enquanto a Varivel


falso, ou seja, Contadora for
Repete at que a maior ou igual ao valor inicial
enquanto condio se torne e menor ou igual ao valor
Condio para Repetir verdadeiro verdadeira. Final
Exerccio
O exerccio seguir a parte no email.

You might also like