Beruflich Dokumente
Kultur Dokumente
COMEANDO...
OPERADORES ARITMTICOS
COMANDO DE DESVIO
Permite que o algoritmo decida autonomamente entre caminhos possveis, qual ir executar. Exemplo:
"irei ao cinema"
fimse
BLOCO DE COMANDOS
Um bloco de comandos uma srie de comandos Em um bloco ou todos os comandos so executados ou nenhum . Exemplo:
leia(n1, n2) media <- (n1+n2)/2
FLUXOGRAMA DO DESVIO
verdadeira condio
falsa
Bloco de comandos 1
Bloco de comandos 2
COMANDO SE
se <condicao> entao <bloco de comandos 1> senao <bloco de comandos 2> fim se
COMANDO SE SIMPLIFICADO.
Caso o bloco de comandos depois do seno seja vazio, esta parte pode ser omitida. A forma geral simplificada :
FLUXOGRAMA SE SIMPLIFICADO
O bloco de comandos executado somente se a condio for verdadeira. Caso contrrio o algoritmo prossegue normalmente
verdadeira
condio
Bloco de comandos 1
falsa
EXEMPLO
algoritmo "domingo" inicio acorde se estiver fazendo sol entao va a praia compre um picole senao leia jornal durma acorde fimse almoce fimalgoritmo
10
EXEMPLO
11
COMANDOS SE ANINHADOS
As duas formas do comando se podem aparecer dentro de outros comando se. se estiver fazendo sol entao se eu tiver dinheiro entao vou a Portugal fimse fimse
12
Quando tivermos de executar blocos de comandos diferentes para a clusula seno das duas condies.
se estiver fazendo sol entao se eu tiver dinheiro entao vou a Portugal senao vou a praia fimse senao vou dormir fimse
13
EXEMPLO
Uma empresa vai dar uma gratificao aos empregados que tenham mais de 1 ano de servio: 10% para os que tenham menos de 10 anos e 25% para os demais. Calcule a gratificao de um dado funcionrio, dado o seu salrio e o tempo de servio.
14
GRATIFICAO
algoritmo "aumento" var salario, tempo, gratificacao : real inicio escreva("Entre com o salario: ") leia(salario) escreva("Entre com o tempo de servico: ") leia(tempo) se tempo > 1 entao se tempo < 10 entao gratificacao <- 0.1*salario senao gratificacao <- 0.25*salario fimse fimse escreva("Gratificao: ", gratificacao) fimalgoritmo
15
Na estrutura de deciso do tipo Caso pode haver uma ou mais condies a serem testadas e um comando diferente associado a cada uma destas.
16
algoritmo "extenso" var numero : inteiro inicio escreva("Digite um numero: ") leia(numero) escolha numero caso 1 escreva("um") caso 2 escreva("dois") caso 3 escreva("trs") caso 4 escreva("quatro") caso 5 escreva("cinco") caso 6 escreva("seis") outrocaso escreva("s sei contar at seis") fimescolha fimalgoritmo
17
EXEMPLO
Algoritmo para reajustar o salrio de acordo com a funo. Se for tcnico, aumentar o salrio 50%, se for gerente, aumentar 30% e se for outro cargo, aumentar 20%.
algoritmo "reajuste_salarial" var salario, salario_reaj : real profissao: caracter inicio escreva("Digite o salrio: ") leia(salario) escreva("Digite a profisso: ") leia(profissao) escolha profissao caso "tcnico" salario_reaj <- (0.5 * salario)+ salario caso "gerente" salario_reaj <- (0.3 * salario)+ salario outrocaso salario_reaj <- (0.2 * salario)+ salario fimescolha escreva("Salrio Reajustado: ", salario_reaj) fimalgoritmo
18
EXEMPLO SE
algoritmo "idade" var idade : inteiro resultado : caracter inicio escreva("Digite sua idade: ") leia(idade) se (idade >= 0) e (idade <= 3) entao resultado <- "Beb" senao se (idade >= 4) e (idade <= 10) entao resultado <- "Criana" senao se (idade >= 11) e (idade <= 18) entao resultado <- "Adolescente" senao resultado <- "Adulto" fimse fimse fimse escreva("Voc um ", resultado) fimalgoritmo
19
EXEMPLO CASO
algoritmo "idade" var idade : inteiro resultado : caracter inicio escreva("Digite sua idade: ") leia(idade) escolha idade caso 0,1,2,3 resultado <- "Beb" caso 4,5,6,7,8,9,10 resultado <- "Criana" caso 11,12,13,14,15,16,17,18 resultado <- "Adolescente" outrocaso resultado <- "Adulto" fimescolha escreva("Voc um ", resultado) fimalgoritmo
20
EXERCCIO
1- Escreva um programa que associe um valor qualitativo a uma quantitativa. (1=mau, 2=medocre, 3=suficiente, 4=bom, 5=excelente). 2- Escreva um programa que leia um nmero correspondente a um ms do ano e devolva o n de dias desse ms.
3- Escreva um programa que apresente a estao do ano de um determinado ms (pedido ao utilizador). Crie, alternativamente, uma soluo usando seleo mltiplas.
21