O documento apresenta conceitos e técnicas de programação, incluindo representação de algoritmos, estruturas condicionais simples, compostas e de múltipla escolha, além de exemplos de algoritmos que utilizam essas estruturas. Também aborda vetores, matrizes e um exercício sobre reajuste salarial.
5. Estrutura Condicional Simples
• Utilizada quando precisamos testar uma
certa condição antes de executar uma
ação.
se <condição> então
<ação>
fim se
5
6. Estrutura Condicional Simples
algoritmo media;
variáveis
N1, N2, NF, media: real;
fim-variáveis
início
escreva("Entre com a primeira nota");
leia (N1);
escreva("Entre com a segunda nota");
leia ( N2 );
• Exemplo:
escreva("Entre com a nota final");
leia (NF );
media := (N1 + N2 + NF)/3;
se media >= 5.0 então
escreva("o aluno passou!");
fim-se
fimalgoritmo
6
7. Estrutura Condicional Simples
Exercício: Escreva um algoritmo que leia 2 valores
inteiros e calcule o resultado da divisão do primeiro pelo
segundo. Não esqueça de verificar em que condição a
operação pode ser realizada.
Verificar se o segundo número é diferente de zero (não
existe divisão por zero).
Caso o segundo número seja diferente de zero, calcule a
divisão e imprima o resultado do cálculo na tela.
Exibir uma mensagem de erro no caso da condição não
ser satisfeita.
7
7
8. Estrutura Condicional Simples
algoritmo qualquer_nome;
variáveis
denominador, numerador: inteiro;
divisao: real;
fim-variáveis
início
escreva ("Entre com o numerador (n1)");
leia (numerador);
escreva ("Entre com o denominador (n2)");
leia (denominador);
• Solução:
se denominador = 0 então
escreva ("Denominador inválido!");
senão
divisao := numerador/denominador;
escreva ("O resultado da divisao é: ", divisao);
fim-se
fimalgoritmo
8
10. Estrutura Condicional Composta
• Utilizada em situações em que duas
alternativas dependem da mesma condição,
uma da condição verdadeira (então) e a outra
da condição falsa (senão).
se <condição> então
<ação1>
senão
<ação2>
fim se
10
11. Estrutura Condicional Composta
algoritmo media;
variáveis
N1, N2, NF, media: real;
fim-variáveis
início
escreva("Entre com a primeira nota");
leia (N1);
escreva("Entre com a segunda nota");
leia (N2);
escreva("Entre com a nota final");
• Exemplo:
leia (NF);
media := (N1 + N2 + NF)/3;
se media >= 5.0 então
escreva ("aluno aprovado");
senão
escreva (“aluno não aprovado”);
fim-se
fim
11
12. Estrutura Condicional Encadeada
Quando existe uma ou mais seleções dentro de
outra seleção.
Chamada Seleção Encadeada ou Seleção
Aninhada.
Ex 1: Lê uma idade e informa se a pessoa já alcançou
a maioridade ou não. Não se deve aceitar valores de
idade inválidos.
12
13. Estrutura Condicional Encadeada
algoritmo Maioridade;
variáveis
idade: inteiro;
fim-variáveis
início
escreva("Informe a idade do individuo:");
leia (idade);
se (idade >=0) e (idade < 18) então
escreva ("Individuo Menor de Idade");
• Exemplo:
senão
se (idade >= 18) e (idade <= 130) então
escreva ("Individuo Maior de Idade");
senão
escreva ("Erro: Idade invalida!");
fim-se
fim-se
fimalgoritmo
13
14. Estrutura Condicional de Múltipla Escolha
início
Ler estado
V
São Paulo? Alíquota 12%
F
V
Alagoas? Alíquota 15%
F
V
Paraíba? Alíquota 17%
F
fim
14
15. Estrutura Condicional de Múltipla Escolha
• Utilizada quando um conjunto de valores discretos
e ações diferentes são associadas a cada um
desses valores.
se <cond_01> então
<ação1>
senão se <cond_02> então
<ação2>
senão se <cond_03> então
<ação3>
....
senão
<ação default>
fim se
15
16. Estrutura Condicional de Múltipla Escolha
• O IMC (Índice de Massa Corporal) é um critério da Organização Mundial
da saúde para dar uma indicação sobre a condição de peso de uma
pessoa adulta.
peso
IMC
• A fórmula é (altura ) 2
• Elabore um algoritmo que leia o peso e a altura de um adulto e mostre
sua condição.
se <cond_01> então
IMC em adultos Condição <ação1>
senão
abaixo de 18,5 abaixo do peso se <cond_02> então
<ação2>
senão
entre 18,5 e 25 peso normal se <cond_03> então
<ação3>
entre 25 e 30 acima do peso ....
senão
acima de 30 obeso <ação default>
fimse
fimse
16 fimse
17. Estrutura Condicional de Múltipla Escolha
Solução – Esboço – Esboço
Solução
• Variáveis:
– Entrada: peso, altura
• Tipo: real (float)
• Intervalo: maior que zero
– Saída: IMC
• Tipo: real
• Comandos:
– Ler variáveis de entrada
– Checar validade das variáveis de entrada
– Calcular IMC
– Determinar condição
17
18. Solução do algoritmo
Algoritmo “IMC”
Início das variaveis
peso,altura,imc:REAL;
fim das variáveis
Início
escreva(“Qual a sua altura?”)
leia(altura)
escreva(“Qual o seu peso?)
leia(peso)
imc <- peso/(altura*altura) ou pode ser imc <- peso/(altura^2)
se imc < 18.5 entao
escreva("abaixo do peso")
senao
se imc < 25 entao
escreva("peso normal")
senao
se imc < 30 entao
escreva ("acima do peso")
senao
escreval ("você está obeso!")
fimse
fimse
fimse
18 fimalgoritmo
19. Solução com o VisuAlg
algoritm "calculaIMC" Continuação...
// Função : Calcular o ICM
// Autor : Tarcísio imc <- peso/(altura*altura)
// Data : 08/03/2012
// Seção de Declarações se imc < 18.5 entao
var escreval("você está abaixo do peso")
altura, peso, imc: real senao
inicio se imc < 25 entao
// Seção de Comandos escreval("peso normal")
escreval("Qual a sua altura") senao
leia(altura) se imc < 30 entao
escreval ("acima do peso")
escreval("Qual o seu peso") senao
leia(peso) escreval ("você está obeso!")
fimse
fimse
fimse
fimalgoritmo
19
20. Exercício
Leia uma idade e informe se a pessoa é um eleitor
obrigatório (entre 18 e 69 anos), facultativo (entre
16 e 17 anos ou acima de 70) ou não é eleitor
(menos de 16 anos)
20
21. Solução do algoritmo
Leia uma idade e informe se a pessoa é um eleitor obrigatório (entre 18 e 69 anos), facultativo (entre 16 e 17
anos ou acima de 70) ou não é eleitor (menos de 16 anos)
Programa Eleitor
Início das variáveis
idade: inteiro;
fim das variáveis
Início
escreva("Informe a sua idade:")
leia(idade)
se idade < 16 entao
escreva("Você não é eleitor")
senao
se (idade < 18) ou (idade > 70) entao
escreva("eleitor facultativo")
senao
se idade <= 70 entao
escreva ("você é eleitor")
fimse
fimse
fimse
fimalgoritmo
21
22. Solução com o VisuAlg
algoritmo "Eleitor" Continuação...
// Função : Verificar se de acordo com a
idade a pessoa é ou não eleitor inicio
// Autor : Tarcísio // Seção de Comandos
// Data : 08/03/2012 escreval("Informe a sua idade:")
// Seção de Declarações leia(idade)
var se idade < 16 entao
idade: inteiro escreva("Você não é eleitor")
senao
se (idade < 18) ou (idade > 70) entao
escreva("eleitor facultativo")
senao
se idade <= 70 entao
escreva ("você é eleitor")
fimse
fimse
fimse
fimalgoritmo
22
23. Tomada de decisão por seleção
• Utilizada em situações em que possui um grande número de
verificações lógicas a serem realizadas, tanto de forma
sequencial ou encadeada.
caso <variável>
seja <opção1> faça <ação1>
seja <opção2> faça <ação2>
seja <opção3> faça <ação3>
senão
<ação para nenhuma condição satisfeita>
fim_caso
23
24. Tomada de decisão por seleção
• Exemplo: efetuar a leitura de um número inteiro entre 1 e 12
e apresentar o nome do mês correspondente por extenso.
Caso o valor informado for diferente deste intervalo deve ser
apresentada a mensagem “valor inválido”.
24
25. Solução do Algoritmo
Algoritmo Mês_por_Extenso Continiação...
Início das variáveis seja 6 faça
mes: inteiro; escreva “Junho”
fim das variáveis seja 7 faça
Início escreva “Julho”
escreva("Informe o mês (1 a 12):") seja 8 faça
leia(mes) escreva “Agosto”
caso mês seja 9 faça
seja 1 faça escreva “Setembro”
escreva “Janeiro” seja 10 faça
seja 2 faça escreva “Outubro”
escreva “Fevereiro” seja 11 faça
seja 3 faça escreva “Novembro”
escreva “Março” seja 12 faça
seja 4 faça escreva “Dezembro”
escreva “Abril” senão
seja 5 faça escreva(“valor inválido”)
escreva “Maio” fim_caso
fimalgoritmo
25
26. Solução no VisuAlg
algoritmo "mes_por_extenso" Continiação...
// Função : Escreve o mês por extenso
// Autor : Tarcísio caso 5
// Data : 08/03/2012 escreval("Maio")
// Seção de Declarações caso 6
var escreval("Junho")
mes: inteiro caso 7
inicio escreval("Julho")
// Seção de Comandos caso 8
escreval("Informe o mês (1 a 12):") escreval("Agosto")
leia(mes) caso 9
escolha mes escreval("Setembro")
caso 1 caso 10
escreval("Janeiro") escreval("Outubro")
caso 2 caso 11
escreval("Fevereiro") escreval("Novembro")
caso 3 caso 12
escreval("Março") escreval("Dezembro")
caso 4 outrocaso
escreval("Abril") escreval("valor inválido")
fimescolha
fimalgoritmo
26
27. Vetor e Matriz
VETOR:
estrutura formada por um conjunto
unidimensional de dados de mesmo tipo
(homogêneo) e possuindo número fixo de
elementos (Estático). Na declaração dos vetores
devemos informar o seu nome, seu tipo (inteiro,
real, caracter, ...), e seu tamanho (número de
elementos). Cada elemento do vetor é
identificado por um índice (unidimensional), o
qual indica a sua posição no vetor.
27
28. Vetor e Matriz
Declaração de um VETOR:
NomeDoVetor : vetor[nº de elementos] de Tipo do
Vetor
Exemplo: IDADE: VETOR [1..5] DE INTEIRO
Referência:
NomeDoVetor[índice]
Exemplo:
IDADE[1] <- 35
escreval(IDADE[1])
28
29. Vetor e Matriz
MATRIZ:
estrutura semelhante ao vetor, sendo que, pode
possuir n dimensões.
Desta forma para fazer referência aos elementos
de uma matriz, precisaremos de tantos índices
quanto for suas dimensões.
29
30. Vetor e Matriz
Declaração de uma MATRIZ:
NomeDaMatriz : matriz[dimensões] de Tipo da Matriz
Exemplo:
PESSOAS: VETOR [1..2,1..3] DE CARACTERE
Referência:
NomeDaMatriz[índices]
Exemplo:
PESSOAS[1,3]<- “Maria”
escreval(PESSOAS[1,3])
30
31. Exercício
1) Sabendo-se que José tem direito a
15% de reajuste de salário, complete
o diagrama ao lado:
31
31