Estruturas de Controle. As estruturas de controle são fundamentais para qualquer linguagem de...
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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/1.jpg)
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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/2.jpg)
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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/3.jpg)
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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/4.jpg)
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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/5.jpg)
![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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/6.jpg)
![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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/7.jpg)
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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/8.jpg)
![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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/9.jpg)
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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/10.jpg)
![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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/11.jpg)
![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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/12.jpg)
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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/13.jpg)
![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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/14.jpg)
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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/15.jpg)
![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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/16.jpg)
![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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/17.jpg)
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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/18.jpg)
![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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/19.jpg)
![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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/20.jpg)
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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/21.jpg)
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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/22.jpg)
◦ 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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/23.jpg)
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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/24.jpg)
![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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/25.jpg)
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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/26.jpg)
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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/27.jpg)
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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/28.jpg)
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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/29.jpg)
![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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/30.jpg)
![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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/31.jpg)
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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/32.jpg)
![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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/33.jpg)
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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/34.jpg)
![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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/35.jpg)
![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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/36.jpg)
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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/37.jpg)
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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/38.jpg)
![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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/39.jpg)
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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/40.jpg)
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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/41.jpg)
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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/42.jpg)
![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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/43.jpg)
![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.](https://reader031.fdocumentos.com/reader031/viewer/2022013100/552fc0f9497959413d8b7365/html5/thumbnails/44.jpg)
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