Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de...

44
Estruturas de Controle

Transcript of Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de...

Page 1: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.

Estruturas de Controle

Page 2: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.

As estruturas de controle são fundamentais para qualquer linguagem de programação;

Sem elas só haveria uma maneira do programa ser executado: de cima para baixo, comando por comando;

O padrão ANSI divide os comandos de C nestes grupos:◦ Seleção;◦ Interação;◦ Desvio;◦ Rótulo;◦ Expressão;◦ Bloco.

Page 3: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.

C suporta dois tipos de comandos de seleção: if e switch. Além disso o operador ? É uma alternativa ao if em certas circunstâncias.

A forma geral da sentença if é:

if(expressão){ comando; }

else{ comando; }

A cláusula else é opcional.

Page 4: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.

A expressão é avaliada. Se ela for verdadeira (diferente de 0), o comando ou bloco que forma o corpo do if é executado;

Caso contrário, o comando ou bloco que é o corpo do else (se existir) é executado.

Lembre-se: Apenas o código associado ao if ou ocódigo associado ao else será executado, nunca ambos;

Page 5: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.
Page 6: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.
Page 7: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.

Podemos também usar o comando if sem else, veja:

Page 8: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.
Page 9: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.

A estrutura if-else-if é apenas uma extensão da estrutura if-else;

A sua forma geral é:if(expressão) comando;else if(expressão)

comando;else if(expressão)

comando;...

elsecomando;

As condições são avaliadas de cima para baixo.

Page 10: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.
Page 11: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.
Page 12: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.

Em C, o controlador do if precisa, apenas, ser zero ou não-zero, vejamos:

If(num2!= 0)

Page 13: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.
Page 14: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.

O switch é um comando de seleção múltipla O switch testa sucessivamente o valor de

uma expressão contra uma lista de constantes inteiras ou de caractere;

Page 15: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.
Page 16: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.
Page 17: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.

getche – função utilizada para leitura de caracter , um por vez

Page 18: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.
Page 19: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.
Page 20: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.

O padrão ANSI C especifica que um switch pode terpelo menos 257 comandos case;

Embora case seja um rótulo ele não pode existir sozinho, fora de um switch;

O comando break é um dos comandos de desvio em C. Pode usá-lo em laços tal como no comando switch;

Quando um break é encontrado em um switch, a execução do programa “salta” para a linha de código seguinte ao comando switch;

Page 21: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.

Observações importantes:

◦ switch só pode testar igualdade, enquanto que o if pode avaliar uma expressão lógica e/ou relacional;

◦ Duas constantes case no mesmo switch não podem ter valores idênticos;

Page 22: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.

◦ Se constantes de caractere são usadas em um comando switch, elas são automaticamente convertidas para seus valores inteiros;

◦ Se o comando break for omitido, a execução do programa continua pelos próximos comandos case até que um break, ou o fim do switch seja encontrado;

Page 23: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.

Podemos ter um switch como parte de uma seqüência de comandos de outro switch, vejamos:

Page 24: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.
Page 25: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.

Na linguagem C, os comandos de repetição (também chamados laços) permitem que um conjunto de instruções seja executado até que ocorra uma certa condição;

As estruturas de repetição em C apresentam-se em 3 formas distintas:◦ for - para◦ while - enquanto◦ do-while – faça enquanto

Page 26: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.

O comando for é a instrução mais utilizada na criação de estruturas de repetição;

forma geral mais comum:

for(inicialização; condição; incremento)

{comandos;

}

Page 27: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.

Inicialização é, geralmente, um comando de atribuição que é usado para colocar um valor na variável de controle do laço;

A condição é uma expressão relacional que determina quando o laço acaba;

O incremento define como a variável de controle do laço varia cada vez que o laço é repetido;

Page 28: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.

As seções no comando for são separadas por pontose-vírgulas;

Uma vez que a condição se torne falsa, a execução do programa continua no comando seguinte ao for, vejamos:

Page 29: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.
Page 30: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.
Page 31: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.

Podemos utilizar outras estruturas de controle dentro do laço for, vejamos:

Page 32: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.
Page 33: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.

Existe outra forma de imprimir somente os numéros pares

Page 34: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.
Page 35: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.
Page 36: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.

Quando um laço for faz parte de outro laço for, dizemos que o laço interno está aninhado. Vejamos:

Page 37: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.

A segunda estrutura de repetição em C é o laço while. A sua forma geral é:

Page 38: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.
Page 39: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.

Ao contrário dos laços for e while, que testam a condição do laço no começo, o laço do-while verifica a condição ao final do laço;

Portanto, o laço do-while será executado ao menos uma vez;

Forma geral:do{

comando;} while(condição);

O laço do-while repete até que a condição se torne falsa.

Page 40: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.

Vejamos a principal diferença entre o laço do-while e o laço while:

do-while executa pelo menos uma vez.

Page 41: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.

Um uso mais comum do laço do-while é uma rotina de seleção por menu, vejamos:

Page 42: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.
Page 43: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.
Page 44: Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de programação; Sem elas só haveria uma maneira do programa.

1)Faça um programa que imprima a tabela ASCII, fazendo uma pausa na impressão cada 24 caracteres.

2)Faça um programa que receba dois números inteiros e imprima o intervalo fechado dos valores lidos:

◦ Ex.: Se forem lidos 2 e 7, o programa deverá imprimir 2, 3, 4, 5, 6, 7.

3) Faça um programa que leia 10 números reais e imprima o maior, o menor, a soma e a média dos valores lidos.

4) Modifique o programa anterior e acrescente o seguinte menu (utilize do..while):

◦ 1 Lê novo valor◦ 2 Imprime soma◦ 3 Imprime média◦ 4 Imprime maior e menor◦ 0 Sair