Post on 21-Apr-2015
Curso Técnico em
Informática para Internet
Instituto Federal de Santa Catarina
Aula 4 – ESTRUTURA DE CONTROLE
Informática para Internet
2
Introdução:• Os algoritmos são criados para solucionar
problemas propostos utilizando conceitos debloco 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.
Informática para Internet
3
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. •
Informática para Internet
4
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
Informática para Internet
5
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.
Informática para Internet
6
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.
Informática para Internet
7
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.
Informática para Internet
8
Estrutura de Controle Condicional ou de Seleção
• Seleções Simples (Se... Então)
se <condição> então
// início do bloco verdade
comando 1; comando 2; ... comando n; // fim do bloco
verdade fimse;
Sintaxe Geral:
• Quando a <condição> for verdadeira o “bloco verdade” é executado • Quando a <condição> for falsa o “bloco verdade” não é executado
Informática para Internet
9
Exemplo:
• 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.
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.
Informática para Internet
10
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.
Informática para Internet
11
Estrutura de Controle Condicional ou de Seleção
• Seleção Composta (Se...então...senão)
se <condição> então // início do bloco verdade comando 1; comando n; // fim do bloco verdade
senão // início do bloco falsidade comando 1; comando n; // fim do bloco falsidade
fimse;
Sintaxe Geral:
• Quando a <condição> for verdadeira o “bloco verdade” é executado • Quando a <condição> for falsa o “bloco falsidade” é Executado
Informática para Internet
12
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”!
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
13
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.
Informática para Internet
14
Exemplo:
Construa um algoritmo que leia os três lados de um triângulo e determine se o triângulo é equilátero (3 lados iguais), isóceles (2 lados iguais) ou escaleno (3 lados diferentes).
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.
Informática para Internet
15
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.
Informática para Internet
16
Estrutura de Controle Condicional ou de Seleção
• Seleção Composta (Se...então...senão)
escolha X caso V1:
C1; caso V2:
C2; caso V3:
C3; caso V4:
C4; fimescolha;
Sintaxe Geral:
Informática para Internet
17
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.
Informática para Internet
18
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
Centro- Oeste”); caso 5, 6, 25..50: escreva (Preço, “ – produto do
Nordeste”); caso contrário: escreva (Preço, “ – produto
importado”); fimescolha;
fim.
Exemplo:
Informática para Internet
19
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.
Informática para Internet
20
Estrutura de Controle de Repetição
Informática para Internet
21
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.
enquanto <condição> faça
comando 1;
comando 2;
... comando
n; fimenquanto;
Sintaxe Geral:
Informática para Internet
22
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.
Incremento Significa aumentar o que já existe em uma variável. Normalmente o incremento é de 1. Ex: x=x+1
Informática para Internet
23
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.
Informática para Internet
24
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.
Informática para Internet
25
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.
Informática para Internet
26
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.
Informática para Internet
27
Repetição com Teste no Final (Repita...até)
repita comando 1; comando 2; ... comando n;
até <condição>;
• 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:
Informática para Internet
28
Exemplo:
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);
fim.
• 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é)
Informática para Internet
29
• Repetição com Variável de Controle (para...faça)
para V de vi até vf passo p faça comando 1; comando 2; ... comando n;
fimpara;
É 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:
Decremento É o inverso do Incremento, ou seja, reduz-se o valor existente. Ex: x=x-1
Informática para Internet
30
Exemplo:
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
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.
Informática para Internet
Síntese
31
• 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.
Informática para Internet
Atividades de Aprendizagem
32
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
anos Adultos = Maiores de 18 anos
Informática para Internet
Atividades de Aprendizagem
33
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
Informática para Internet
Atividades de Aprendizagem
34
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
Informática para Internet
Atividades de Aprendizagem
35
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ê?
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