Curso Técnico em Informática para Internet Instituto Federal de Santa Catarina Aula 4 –...

Post on 21-Apr-2015

110 views 4 download

Transcript of Curso Técnico em Informática para Internet Instituto Federal de Santa Catarina Aula 4 –...

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