linguagem de programação 11 estruturas de decisão e repetição. prof. luiz josé hoffmann filho...
TRANSCRIPT
![Page 1: Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho ljhfilho@gmail.com](https://reader030.vdocuments.pub/reader030/viewer/2022033103/570638631a28abb823900f02/html5/thumbnails/1.jpg)
Linguagem de Linguagem de Programação Programação
1111Estruturas de Decisão e Repetição.
Prof. Luiz José Hoffmann Filho
![Page 2: Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho ljhfilho@gmail.com](https://reader030.vdocuments.pub/reader030/viewer/2022033103/570638631a28abb823900f02/html5/thumbnails/2.jpg)
Estrutura de DecisãoEstrutura de Decisão• Em algoritmos, na maioria das vezes necessitamos
tomar decisões no andamento do algoritmo. Essas decisões interferem diretamente no andamento do programa.
• Os comandos de decisão ou desvio fazem parte das técnicas de programação que conduzem a estruturas de programas que não são totalmente sequenciais.
• Com as instruções de salto ou desvio pode-se fazer com que o programa proceda de uma ou outra maneira, de acordo com as decisões lógicas tomadas em função dos dados ou resultados anteriores.
![Page 3: Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho ljhfilho@gmail.com](https://reader030.vdocuments.pub/reader030/viewer/2022033103/570638631a28abb823900f02/html5/thumbnails/3.jpg)
if {}if {}• A estrutura de decisão “IF” normalmente
vem acompanhada de um comando, ou seja, se determinada opção for satisfeita pelo comando “IF” então execute determinado comando.
• Exemplo:• Um aluno somente estará aprovado se sua
média for maior ou igual a 7.0.
![Page 4: Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho ljhfilho@gmail.com](https://reader030.vdocuments.pub/reader030/viewer/2022033103/570638631a28abb823900f02/html5/thumbnails/4.jpg)
if {}if {}• Exemplo:#include <stdio.h>#include <stdlib.h>
int main() {float media;printf(“Digite a média do aluno : ”);scanf(“%f”, &media);
if (media >= 7) { printf(“Aprovado”); } return 0;}
![Page 5: Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho ljhfilho@gmail.com](https://reader030.vdocuments.pub/reader030/viewer/2022033103/570638631a28abb823900f02/html5/thumbnails/5.jpg)
if {}if {}INICIO
Media
FIM
Media >= 7.0
Aprovado
sim
não
![Page 6: Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho ljhfilho@gmail.com](https://reader030.vdocuments.pub/reader030/viewer/2022033103/570638631a28abb823900f02/html5/thumbnails/6.jpg)
if {} else {}if {} else {}• Funciona exatamento como a estrutura
“if”, com apenas uma diferença, com “if” somente podemos executar comandos caso a condição seja verdadeira, diferente do “if/else” pois sempre um comando será executado independente da condição, ou seja, caso a condição seja verdadeira o comando da condição será executado, caso contrário o comando da condição falsa será executado.
![Page 7: Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho ljhfilho@gmail.com](https://reader030.vdocuments.pub/reader030/viewer/2022033103/570638631a28abb823900f02/html5/thumbnails/7.jpg)
IF AninhadosIF Aninhados• Um IF aninhado é um comando if que é o objeto de outro IF
ou ELSE.• Exemplo:
if ( x = 0) {if( y = 1) { k =1;} else {if(j = 0) {t =1;}}}
![Page 8: Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho ljhfilho@gmail.com](https://reader030.vdocuments.pub/reader030/viewer/2022033103/570638631a28abb823900f02/html5/thumbnails/8.jpg)
if {} else {}if {} else {}• Em C:#include <stdio.h>#include <stdlib.h>
int main() {float media;printf(“Digite a média do aluno : ”);scanf(“%f”, &media);
if (media >= 7) { printf(“Aprovado”); } else {
printf(“Reprovado”); } return 0;}
![Page 9: Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho ljhfilho@gmail.com](https://reader030.vdocuments.pub/reader030/viewer/2022033103/570638631a28abb823900f02/html5/thumbnails/9.jpg)
if {} else {}if {} else {}
INICIO
Media
FIM
Media >= 7.0
Aprovado
simnão
Reprovado
![Page 10: Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho ljhfilho@gmail.com](https://reader030.vdocuments.pub/reader030/viewer/2022033103/570638631a28abb823900f02/html5/thumbnails/10.jpg)
If {} else {} if{} If {} else {} if{} • Exemplo:
if ( x < 0) {j = 0;
} else if (x >10) {j =1;
} else {j =2;
}
![Page 11: Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho ljhfilho@gmail.com](https://reader030.vdocuments.pub/reader030/viewer/2022033103/570638631a28abb823900f02/html5/thumbnails/11.jpg)
O ? alternativoO ? alternativo• Não se esqueça que o operador “?” é um
alternativo ao “if”.
• A expressão Condicionalif (b) printf(“entrou aqui\n”); if (b != 0) printf(“entrou aqui”);
São iguais, em C o teste é se a condição é verdadeira ou falsa, ou seja, é 0 ou 1.
![Page 12: Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho ljhfilho@gmail.com](https://reader030.vdocuments.pub/reader030/viewer/2022033103/570638631a28abb823900f02/html5/thumbnails/12.jpg)
switch case{}switch case{}
A estrutura de decisão escolha/caso é utilizada para testar na condição, uma única expressão, que produz um resultado, ou, então, o valor de uma variável, em que está armazenado um determinado conteúdo. Compara-se, então, o resultado obtido no teste com os valores fornecidos em cada cláusula “caso”.
![Page 13: Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho ljhfilho@gmail.com](https://reader030.vdocuments.pub/reader030/viewer/2022033103/570638631a28abb823900f02/html5/thumbnails/13.jpg)
switchswitch case{} case{}Síntaxe em C:
switch (<expressão>) { case 1:
<Sequencia de comandos 1>break;
case 2 : <Sequencia de comandos 2>
break; default :
<Sequencia de comandos 3> }
![Page 14: Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho ljhfilho@gmail.com](https://reader030.vdocuments.pub/reader030/viewer/2022033103/570638631a28abb823900f02/html5/thumbnails/14.jpg)
switchswitch case{} case{}void main() { int valor; printf(“Digite um valor”); scanf (“%i”,&valor); switch (valor) { case 1:
printf(“Voce digitou 1”); break;
case 2 :printf(“Voce digitou 2”); break;
default : printf(“Valor zero ou maior que 2”);
![Page 15: Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho ljhfilho@gmail.com](https://reader030.vdocuments.pub/reader030/viewer/2022033103/570638631a28abb823900f02/html5/thumbnails/15.jpg)
switch case{}switch case{}INICIO
valor
Valor = 1 Você digitou 1
Você digitou 2Valor = 2
Sim
Sim
Não
NãoValor zero ou maior que 2
![Page 16: Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho ljhfilho@gmail.com](https://reader030.vdocuments.pub/reader030/viewer/2022033103/570638631a28abb823900f02/html5/thumbnails/16.jpg)
Switch case{}Switch case{}• O comando switch difere do comando if por
que switch só pode testar igualdade, enquanto if pode avaliar uma expressão lógica ou relacional.
• Duas constantes case no mesmo switch não podem ter valores idênticos. Obviamente, um comando switch incluído em outro switch mais externo pode ter as mesmas constantes case;
• Se constantes de caractees são usadas em um comando switch, elas são automaticamente convertidas para suas valores inteiros.
![Page 17: Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho ljhfilho@gmail.com](https://reader030.vdocuments.pub/reader030/viewer/2022033103/570638631a28abb823900f02/html5/thumbnails/17.jpg)
switchswitch case{} – Uso do case{} – Uso do BreakBreakvoid main() { int valor; printf(“Digite um valor”); scanf (“%i”,&valor); switch (valor) { case 1:
printf(“Voce digitou 1”); break;
case 2 :printf(“Voce digitou 2”);
case 3: printf(“Voce digitou 3”);break;
O que irá acontecer aqui?
![Page 18: Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho ljhfilho@gmail.com](https://reader030.vdocuments.pub/reader030/viewer/2022033103/570638631a28abb823900f02/html5/thumbnails/18.jpg)
Estrutura de RepetiçãoEstrutura de Repetição
Utilizamos os comandos de repetição quando desejamos que um determinado conjunto de instruções ou comandos sejam executados um número definido ou indefinido de vezes, ou enquanto um determinado estado de coisas prevalecer ou até que seja alcançado.
![Page 19: Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho ljhfilho@gmail.com](https://reader030.vdocuments.pub/reader030/viewer/2022033103/570638631a28abb823900f02/html5/thumbnails/19.jpg)
for () { }for () { }
Para número definido de repetições.
Essa estrutura de repetição é utilizada quando se sabe o numero de vezes que um trecho do algoritmo deve ser repetido.
O incremento, ou seja, o contador é adicionado automático.
![Page 20: Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho ljhfilho@gmail.com](https://reader030.vdocuments.pub/reader030/viewer/2022033103/570638631a28abb823900f02/html5/thumbnails/20.jpg)
for () { }for () { }Em C:void main() { int i, soma; for (i=1; i<= 100; i++) { printf(“%d”,i); soma = soma + i; } printf(“%i”,soma); }
![Page 21: Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho ljhfilho@gmail.com](https://reader030.vdocuments.pub/reader030/viewer/2022033103/570638631a28abb823900f02/html5/thumbnails/21.jpg)
for () { }for () { }INICIO
FIM
num<=10?sim
num = 1
num = num + 1não
num
soma soma =soma+ num
Aqui eu posso ter uma expressão!
Para um laço infinito:for(;;) { printf(“lanço infinito”);}
![Page 22: Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho ljhfilho@gmail.com](https://reader030.vdocuments.pub/reader030/viewer/2022033103/570638631a28abb823900f02/html5/thumbnails/22.jpg)
while(<condição>){}while(<condição>){}
Para número indefinido de repetições e teste no inicio.
É utilizada quando não se sabe o número de vezes que um trecho do algoritmo vai ser repetido, embora também possa ser utilizada quando se conhece esse número.
Essa estrutura baseia-se na análise de uma condição. A repetição será feita enquanto a condição for verdadeira.
![Page 23: Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho ljhfilho@gmail.com](https://reader030.vdocuments.pub/reader030/viewer/2022033103/570638631a28abb823900f02/html5/thumbnails/23.jpg)
while(<condição>){}while(<condição>){}Síntaxe em C:
while (<condição>) {
<Comandos> }
![Page 24: Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho ljhfilho@gmail.com](https://reader030.vdocuments.pub/reader030/viewer/2022033103/570638631a28abb823900f02/html5/thumbnails/24.jpg)
while(<condição>){}while(<condição>){}Em C:
void main() { int x, y; x = 0; y = 10; while (x < y) { x = x + 2; } }
![Page 25: Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho ljhfilho@gmail.com](https://reader030.vdocuments.pub/reader030/viewer/2022033103/570638631a28abb823900f02/html5/thumbnails/25.jpg)
while(<condição>){}while(<condição>){}INICIO
FIM
x < y?sim
x = 1
y = 10
x = x + 2
não
Aqui eu posso ter uma expressão!
Para um laço infinito:while(1) { printf(“lanço infinito”);}
![Page 26: Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho ljhfilho@gmail.com](https://reader030.vdocuments.pub/reader030/viewer/2022033103/570638631a28abb823900f02/html5/thumbnails/26.jpg)
do {} while();do {} while();
Para número indefinido de repetições e teste no final.
A diferença entre a estrutura enquanto e a estrutura repita é que nesta ultima os comandos serão repetidos pelo menos uma vez, já que a condição de parada se encontra no final.
![Page 27: Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho ljhfilho@gmail.com](https://reader030.vdocuments.pub/reader030/viewer/2022033103/570638631a28abb823900f02/html5/thumbnails/27.jpg)
do {} while();do {} while();Em C:void main() { int x,y; x = 1; y = 5; do { x = x + 2; y = y + 1; } while ( x <= y) ; }
![Page 28: Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho ljhfilho@gmail.com](https://reader030.vdocuments.pub/reader030/viewer/2022033103/570638631a28abb823900f02/html5/thumbnails/28.jpg)
do {} while();do {} while();INICIO
FIM
x >= y?
sim
x = 1
y = 5
x = x + 2
não
y = y + 1
![Page 29: Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho ljhfilho@gmail.com](https://reader030.vdocuments.pub/reader030/viewer/2022033103/570638631a28abb823900f02/html5/thumbnails/29.jpg)
Comando de DesvioComando de Desvio• Comando return : Usado para retornar de uma função;
o Exemplo : return; return 0; return x;• Comando break: terminar um case no switch ou terminar um laço de
repetição;o Exemplo: for(;;) {
if (i ==0 ) break;
}• Comando exit: Da mesma forma que podemos sair de um laço podemos
sair de um programa.• Comando continue: força que ocorra a próxima interação.
o Exemplo: for (i=0;i<100;i++)if (I == 10) continue;
}