Curso Técnico em
Informática para Internet
Aula 4 – ESTRUTURA DE CONTROLE
Instituto Federal de Santa Catarina
Informática para Internet
Introdução:
•
Os algoritmos são criados para solucionar
problemas propostos utilizando conceitos de
bloco lógico, entrada e saída de dados, constantes,
variáveis, expressões lógicas, atribuições e
comandos.
• Dentro do algoritmo, existe a necessidade de
tomadas de decisões que vão interferir
diretamente no andamento do programa. As
estruturas básicas de controle do fluxo de execução são as
seguintes: seqüencial, condicional/ de seleção e repetição.
2
Informática para Internet
Estrutura de Controle Sequencial
•
Refere-se ao conjunto de
comandos
que são executados numa seqüência
linear, de cima para baixo, ou seja, na
mesma ordem em que aparecem.
•
Cada comando é executado
somente
após o término do comando anterior.
•
3
Informática para Internet
Estrutura de Controle Sequencial
• Uma estrutura de Controle Seqüencial
é delimitada pelas palavras reservadas
• Inicio e Fim e é constituída de comandos de atribuição,
comandos de entrada e comandos de saída.
Sintaxe Geral:
inicio
Comando 1;
Comando 2;
Comando 3;
....
Comando n
fim
4
Informática para Internet
Estrutura de Controle Condicional ou de
Seleção
Esta estrutura permite a escolha de
um grupo de ações (blocos) a
serem executadas de acordo com a
aceitação ou não, de certas
condições representadas por
expressões lógicas ou relacionais.
5
Informática para Internet
Estrutura de Controle Condicional ou de
Seleção
São testados os parâmetros e
dependendo dos seus valores,
toma-se um caminho ou outro. As
condições que são testadas num
algoritmo são do tipo lógica
booleana (Verdadeiro ou Falso).
Portanto, a seleção de ações pode
ter, no máximo, duas alternativas:
uma se a condição for verdadeira e
outra se a condição testada for
falsa.
6
Informática para Internet
Estrutura de Controle Condicional ou de
Seleção
Tipos de Seleção:
• seleção simples,
• seleção composta,
• seleção encadeada/aninhada,
• seleção de múltipla escolha.
7
Informática para Internet
Estrutura de Controle Condicional ou de
Seleção
• Seleções Simples (Se... Então)
Sintaxe Geral:
se <condição>
então
// início do bloco
verdade
comando 1;
comando 2;
...
comando n;
// fim do bloco
verdade
• Quando a <condição> for verdadeira
o “bloco verdade” é executado
• Quando a <condição> for falsa o
“bloco verdade” não é executado
8
Informática para Internet
Exemplo:
início
// declaração de variáveis
real: N1, N2, N3, N4, // notas
bimestrais
MA; // média anual
// entrada de dados
leia (N1, N2, N3, N4);
// processamento
MA = (N1 + N2 + N3 + N4) / 4;
// saída de dados
escreva (MA);
se (MA >= 7) então
escreva (“Aluno Aprovado
!”);
fimse;
fim.
• Construir um
algoritmo que obtenha
4 notas, calcule sua
média e apresente a
mensagem “Aprovado”
caso a média seja
igual ou maior que 7.
9
Informática para Internet
Estrutura de Controle Condicional ou de
Seleção
• Seleção Composta (Se...então...senão)
• Nesta estrutura uma única condição (expressão
lógica) é avaliada e dependendo do resultado, um
comando ou um conjunto de comandos serão
executados se a avaliação for verdadeira ou não serão
executados se a avaliação for falsa.
10
Informática para Internet
Estrutura de Controle Condicional ou de
Seleção
• Seleção Composta (Se...então...senão)
Sintaxe Geral:
se <condição> então
// início do bloco
verdade
comando 1;
• Quando a <condição> for verdadeira
comando n;
o “bloco verdade” é executado
// fim do bloco
• Quando a <condição> for falsa o
verdade
“bloco falsidade” é Executado
senão
// início do bloco
falsidade
comando 1;
comando n;
11
// fim do bloco
Informática para Internet
Exemplo:
Construir um
algoritmo que
obtenha 4 notas,
calcule er mostre
sua média e, se a
média>=7, emitir
a mensagem
“Aluno Aprovado”,
caso contrário
escreva a
mensagem “Aluno
Reprovado”!
12
início
// declaração de variáveis
real: N1, N2, N3, N4, // notas
bimestrais
MA; // média anual
leia (N1, N2, N3, N4);
MA = (N1 + N2 + N3 + N4) / 4;
escreva (MA);
se (MA >= 7) então
escreva (“Aluno Aprovado !”);
escreva (“Parabéns !”);
senão
escreva (“Aluno Reprovado
!”);
escreva (“Estude mais !”);
fimse;
fim.
Informática para Internet
Estrutura de Controle Condicional ou de
Seleção
• Seleção Encadeada ou Aninhada
• Esta estrutura apresenta um grande conjunto de
possibilidades ou combinações formando uma seleção
encadeada ou aninhada. Ocorre quando uma seleção tem
como ação, uma outra seleção.
13
Informática para Internet
Exemplo:
Construa
um
algoritmo
que leia
os três
lados de
um
triângulo
e
determin
e se o
triângulo
é
equiláter
o (3
lados
início
inteiro: A, B, C; // tamanho dos lados
leia (A, B, C);
se (A<B+C) e (B<A+C) e (C<A+B) então
se (A=B) e (B=C) então
escreva (“Triangulo Equilátero”);
senão
se (A=B) ou (B=C) ou (A=C) então
escreva (“Triângulo Isósceles”);
senão
escreva (“Triangulo Escaleno”);
fimse;
fimse;
senão
escreva (“Estes valores não formam um
triângulo”);
fimse;
fim.
14
Informática para Internet
Estrutura de Controle Condicional ou de
Seleção
Seleção de Múltipla Escolha
• Esta estrutura é uma generalização da construção
SE, onde somente uma condição é avaliada e dois
caminhos podem ser seguidos. Nesta estrutura de
Seleção de Múltipla Escolha pode haver uma ou
mais condições a serem testadas e um comando
diferente associado a cada uma dessas.
15
Informática para Internet
Estrutura de Controle Condicional ou de
Seleção
• Seleção Composta (Se...então...senão)
Sintaxe Geral: escolha X
caso V1: C1;
caso V2: C2;
caso V3: C3;
caso V4: C4;
fimescolha;
16
Informática para Internet
Exemplo:
Construa um algoritmo que leia o preço e a origem de um
produto e na seqüência, mostre o preço juntamente com a
especificação da região conforme a origem. A origem está
definida como segue.
1 - Produto do Sul
2 - Produto do Norte
3 - Produto do Leste
4 - Produto do Oeste
7 ou 8 ou 9 - Produto do Sudeste
de 10 à 20 - Produto do Centro-oeste
5 ou 6 ou de 25 à 50 - Produto do Nordeste
Caso a origem não esteja contemplada nas citadas acima, o
produto é importado.
17
Informática para Internet
Exemplo:
início
real: Preço;
inteiro: Origem;
leia (Preço, Origem);
escolha Origem
caso 1: escreva (Preço, “ – produto do Sul”);
caso 2: escreva (Preço, “ – produto do Norte”);
caso 3: escreva (Preço, “ – produto do Leste”);
caso 4: escreva (Preço, “ – produto do Oeste”);
caso 7, 8, 9: escreva (Preço, “ – produto do Sudeste”);
caso 10..20: escreva (Preço, “ – produto do CentroOeste”);
caso 5, 6, 25..50: escreva (Preço, “ – produto do
Nordeste”);
caso contrário: escreva (Preço, “ – produto importado”);
fimescolha;
fim.
18
Informática para Internet
Estrutura de Controle de Repetição
• A estrutura de Controle de Repetição é utilizada quando
desejamos que um mesmo conjunto de instruções ou comandos
sejam executados mais de uma vez.
• As estruturas de repetição são também chamadas de
Laços ou Loops.
• Quanto ao critério de parada, os laços podem utilizar:
• Repetição com Teste no Início,
• Repetição com Teste no Final ou
• Repetição com Variável de Controle.
19
Informática para Internet
Estrutura de Controle de Repetição
20
Informática para Internet
Repetição com Teste no Início (enquanto...faça)
•
Verifica antes de cada execução, se é “permitido” executar o
trecho do algoritmo.
• Trata-se de um laço que se mantém repetindo enquanto uma
dada condição permanecer verdadeira.
Sintaxe Geral:
enquanto <condição>
faça
comando 1;
comando 2;
...
comando n;
fimenquanto;
21
Informática para Internet
Repetição com Teste no Início (enquanto...faça)
• A elaboração de algoritmos com estas estruturas torna-se
necessário o uso de dois tipos de variáveis: as variáveis
contadoras e as acumuladoras.
• Uma variável contadora é uma variável que recebe um valor
inicial antes do início de uma estrutura de repetição e é
incrementada no interior da estrutura de um valor constante,
geralmente 1 (um), conforme o exemplo a seguir:
início
inteiro: CON;
CON = 0; //Contadora => inicialização com valor 0
(zero)
enquanto CON < 3 faça
CON = CON + 1; //Contadora é incrementada da
//constante 1 (um)
fimenquanto;
fim.
22
Incremento
Significa aumentar
o que já existe em
uma variável.
Normalmente o
incremento é de 1.
Ex: x=x+1
Informática para Internet
Exemplo:
Calcular a média aritmética para 50 alunos sendo que são
fornecidos suas 4 notas. Espera-se, para cada aluno, o
cálculo e resultado da sua média e a mensagem “Aluno
aprovado, Parabéns!” Quando a média for >=7 ou “Aluno
reprovado, estude mais!” quando contrário. Utilize o
enquanto faça.
23
Informática para Internet
Exemplo:
início
// declaração de variáveis
real: N1, N2, N3, N4, // notas bimestrais
MA; // média anual
inteiro: CON; // contador
CON = 0; // inicialização do contador
enquanto (CON < 50) faça // teste da condição de parada
leia (N1, N2, N3, N4);
MA = (N1 + N2 + N3 + N4) / 4;
escreva (MA);
se (MA >= 7) então
escreva (“Aluno Aprovado. Parabéns !”);
senão
escreva (“Aluno Reprovado. Estude mais !”);
fimse;
COM = CON + 1; // incremento do contador
fimenquanto;
fim.
24
Informática para Internet
Repetição com Teste no Início (enquanto...faça)
Uma variável acumuladora é uma variável que recebe um valor
inicial, geralmente 0 (zero) antes do início de uma estrutura de
repetição, e é incrementada no interior da estrutura de um
valor variável, geralmente a variável usada na estrutura de
controle, conforme o exemplo abaixo:
início
inteiro: CON, X, ACM;
CON = 0;
ACM = 0; //ACM é o acumulador
enquanto CON < 3 faça
CON = CON + 1;
leia (X);
ACM = ACM + X;
fimenquanto;
fim.
25
Informática para Internet
Exemplo:
Obter a média aritmética para 50 alunos, sendo que é lido a
média da cada aluno. Utilize a estrutura de repetição enquanto
- faça.
26
Informática para Internet
Repetição com Teste no Final (Repita...até)
• Esta estrutura verifica depois de cada execução, se é “permitido”
continuar executando o trecho do algoritmo.
• Trata-se de um laço que se mantém repetindo até que uma dada
condição se torne verdadeira.
Sintaxe Geral:
27
repita
comando
1;
comando
2;
...
comando
n;
até
Informática para Internet
Exemplo:
• Obter a média aritmética para 50 alunos, sendo que é lido a
média da cada aluno. Utilize a estrutura de repetição com teste no
final (repita...até)
início
// declaração de variáveis
real: MA, // média anual de dado aluno
ACM, // Acumulador
MAT; // Média Anual da Turma
inteiro: CON; // contador
CON = 0; // inicialização do contador
ACM = 0; // inicialização do acumulador
repita
leia (MA);
ACM = ACM + MA; // soma em ACM os valores lidos em MA
CON = CON + 1; // incremento do contador
até (CON >= 50); // teste da condição de parada
MAT = ACM / 50; // calculo da média anual da turma
escreva (“média anual da turma = “, MAT);
28
fim.
Informática para Internet
• Repetição com Variável de Controle
(para...faça)
Decremento
É o inverso do
Incremento, ou
seja, reduz-se o
valor existente. Ex:
x=x-1
É o Laço simplificado para utilização em repetições de quantidade
predeterminada. Incorpora internamente o funcionamento de um
contador de repetições (incremento/decremento)
Sintaxe Geral:
para V de vi até vf passo p faça
comando 1;
comando 2;
...
comando n;
fimpara;
29
Informática para Internet
Exemplo:
Obter a média aritmética para 50 alunos, sendo que é lido a média
da cada aluno. Utilize a estrutura de repetição para-faça.
início
// declaração de variáveis
real: MA, // média anual de dado aluno
ACM, // Acumulador
MAT; // Média Anual da Turma
inteiro: V; // contador
ACM = 0; // inicialização do acumulador
para V de 1 até 50 passo 1 faça
leia (MA);
ACM = ACM + MA; // soma em ACM os valores lidos em MA
fimpara;
MAT = ACM / 50; // calculo da média anual da turma
escreva (“média anual da turma = “, MAT);
fim
30
Informática para Internet
Síntese
• Estrutura de Controle Sequencial, refere-se ao
conjunto de comandos que são executados numa
seqüência linear, de cima para baixo, ou seja, na
mesma ordem em que aparecem. Cada comando é
executado somente após o término do comando
anterior.
• Esta estrutura permite a escolha de um grupo
de ações (blocos) a serem executadas de
acordo com a aceitação ou não, de certas
condições representadas por expressões
lógicas ou relacionais.
• A estrutura de Controle de Repetição é
utilizada quando desejamos que um mesmo
conjunto de instruções ou comandos sejam
executados mais de uma vez.
As estruturas de repetição são também chamadas de Laços ou
Loops.
31
Informática para Internet
Atividades de Aprendizagem
1) Elabore um algoritmo que gere e
escreva os números ímpares
inteiros entre 100 e 200.
2) Elabore um algoritmo que
dada a idade de um
nadador classifique-o em
uma das seguintes
categorias:
Infantil A = 5 a 7 anos
Infantil B = 8 a 11
anos
Juvenil A = 12 a 13
anos
Juvenil A = 14 a 17
32
anos
Informática para Internet
Atividades de Aprendizagem
3) Faça um algoritmo que gere os valores
de 1 a 100 e a cada múltiplo de 10 emita
uma mensagem: “Múltiplo de 10”.
4) Faça um algoritmo que determine
o maior entre N números. A
condição de parada é a entrada de
um valor 0, ou seja, o algoritmo
deve ficar o maior até que a
entrada seja igual a 0 (ZERO).
5) Construa um algortimo que leia
500 valores inteiros e positivos e:
a) Encontre o maior valor
b) Encontre o menor valor
c) Calcule a média dos números lidos
33
Informática para Internet
Atividades de Aprendizagem
6) Observe o algoritmo a seguir e
responda:
X, N : inteiro
inicio
leia (N , X)
Y=1
enquanto ( X > 0 ) faça
Y=Y*N
X=X-1
fim enquanto
escreva ( Y )
fim
34
Informática para Internet
Atividades de Aprendizagem
a) Qual o objetivo do algoritmo acima ou
qual o problema que ele está solucionando?
b) O algoritmo está correto? Como
você fez para testá-lo?
c) Altere o algoritmo, utilizando a
Estrutura Repita ... Até
d) Altere o algoritmo, utilizando a
Estrutura Para ... Faça
e) Qual das três opções de algoritmo é a
melhor em sua opinião? Por quê?
35
Informática para Internet
Bibliografia
• Forbellone, André L. V.; Eberspächer, Henri Frederico,
Lógica de Programação, 2ª Edição. Editora Pearson
Education, São Paulo, 2001
• Berg, Alexandre; Figueiró, Joice Pavek, Lógica de
Programação, 3ª Edição, Editora Ulbra,Canoas, 2000
• Moraes, Paulo Sérgio de, Lógica de Programação,
Unicamp - Centro de Computação – DSC, Ultima
Atualização: 04 de Abril de 2000
36
Download

Etec - Logica de Progamacao