• Nenhum resultado encontrado

Aula05-EstruturasDeControle

N/A
N/A
Protected

Academic year: 2021

Share "Aula05-EstruturasDeControle"

Copied!
33
0
0

Texto

(1)

Estruturas de Controle

João Frederico Roldan Viana

[email protected] (85)8867.9003

(2)

Agenda

Estruturas de Controle

• Estruturas de Decisão if-else switch comando ternário • Estruturas de Repetição for while do-while • Comandos de Desvio break continue return

(3)

Laboratório de Programação I Prof. Frederico Viana

Estruturas de Decisão

if - else

• Utilizado quando for necessário escolher entre dois caminhos. • Sintaxe: if (expressão) { bloco_de_comandos1; } else { bloco_de_comandos2; }

• Comando if: expressão verdadeira (≠ 0). • Comando else: expressão falsa (= 0).

(4)

Estruturas de Decisão

if - else

• Decisão de um bloco (if . . .) Sintaxe

if (expressão) {

bloco_de_comandos1; }

(5)

Laboratório de Programação I Prof. Frederico Viana

Estruturas de Decisão

if - else

• Decisão de um bloco (if . . .) Fluxograma

(6)

Estruturas de Decisão

if - else

• Decisão de dois blocos (if . . . else) Sintaxe if (expressão) { bloco_de_comandos1; } else { bloco_de_comandos2; }

(7)

Laboratório de Programação I Prof. Frederico Viana

Estruturas de Decisão

if - else

• Decisão de dois blocos (if . . . else) Fluxograma

(8)

if - else

• Decisão de múltiplos blocos (if . . . else if . . .) Sintaxe if (expressão) { bloco_de_comandos1; . . . } else if (expressão N) { bloco_de_comandosN; } else { bloco_de_comandosP; }

Estruturas de Decisão

(9)

Laboratório de Programação I Prof. Frederico Viana

Estruturas de Decisão

if - else

• Decisão de múltiplos blocos (if . . . else if . . .) Fluxograma

(10)

Estruturas de Decisão

if - else

Exemplo

if ((num1 >= num2) && (num1 >= num3)){ printf("Maior numero: %d", num1);

}else {

if (num2 >= num3){

printf("Maior numero: %d", num2); }else {

printf("Maior numero: %d", num3); }

(11)

Laboratório de Programação I Prof. Frederico Viana

Estruturas de Decisão

switch

• Utilizado para facilitar a escrita de trechos de

programas em que a seleção deve ser feita entre várias alternativas.

(12)

Estruturas de Decisão

switch

• Sintaxe: switch (expressão) { case const1: bloco_de_comandos1; break; case const2: bloco_de_comandos2; break; . . . default: bloco_de_comandosP; }

(13)

Laboratório de Programação I Prof. Frederico Viana

Estruturas de Decisão

switch

(14)

Estruturas de Decisão

switch

• Passos da execução do comando switch: 1. A expressão é avaliada;

2. O resultado da expressão é comparado com os valores das constantes que aparecem nos case; 3. Caso o resultado seja igual a uma das

constantes, a execução se inicia a partir do

comando associado a ela e continua até o fim do comando switch, ou até encontrar um break;

4. Caso contrário, os comandos associados ao comando default são executados. Se o default não aparecer, nenhum comando será executado.

(15)

Laboratório de Programação I Prof. Frederico Viana

Estruturas de Decisão

switch

• Observações importantes:

O resultado da expressão deve ser um tipo enumerável: int ou char.

Caso não apareça um comando de desvio, todas as instruções seguintes ao teste case que teve sucesso serão executadas, mesmo as

relacionadas com outros testes case.

O comando switch só pode testar igualdade.

Não podem aparecer duas constantes iguais em um case.

(16)

Estruturas de Decisão

switch

Exemplo

switch (oper) {

case '+':

printf ("%f + %f = %f", num1, num2, num1+num2);

break;

case '-':

printf ("%f - %f = %f", num1, num2, num1-num2);

break;

case '*':

printf ("%f * %f = %f", num1, num2, num1*num2);

break;

default:

printf ("Operacao invalida !"); }

(17)

Laboratório de Programação I Prof. Frederico Viana

Estruturas de Decisão

Comando ternário

• Necessita de três operadores para ser avaliado. • Sintaxe:

expressão1 ? expressão2 : expressão3; • A execução desse comando ocorre da seguinte

forma:

A expressão1 é avaliada.

Caso seja verdadeira ( 0), o resultado do

comando será igual ao resultado da expressão2. Caso contrário (= 0), o resultado do comando

(18)

Estruturas de Decisão

Comando ternário

(19)

Laboratório de Programação I Prof. Frederico Viana

Estruturas de Decisão

Comando ternário

Exemplo

(20)

Estruturas de Repetição

for

• Permite que trechos de programa sejam repetidos um certo número de vezes controlado pelo

programa. • Sintaxe:

for (expressão1; expressão2; expressão3) bloco_de_comandos;

• Expressão1: inicialização da variável de controle. • Expressão2: teste que controla o fim do laço ou

repetição.

• Expressão3: incremento ou decremento da variável de controle.

(21)

Laboratório de Programação I Prof. Frederico Viana

Estruturas de Repetição

for

• Funcionamento:

Passo1: Uma variável de controle, geralmente um contador, recebe um valor inicial.

Passo2: O trecho de programa que pertence ao laço é executado.

Passo3: A variável de controle é incrementada ou decrementada.

Passo4: O valor da variável de controle é comparada com o valor final que ela deve

alcançar. Caso a condição de término tenha sido atingida (expressão2 = 0), o laço é interrompido. Caso contrário (expressão2 0), volta ao passo2.

(22)

Estruturas de Repetição

for

Exemplo

fatorial = 1;

for (i = numero; i > 1; i--) { fatorial = fatorial * i;

(23)

Laboratório de Programação I Prof. Frederico Viana

Estruturas de Repetição

for

• Variações:

Com mais de uma variável:

for (x = 0, y = 0; x + y < 10; x++, y++) Sem uma expressão:

for (i = 0; i != -1; ) for ( ; i < 100; i++) Laço Infinito:

for ( ; ; )

Obs: No laço infinito, o programa pára quando o comando break é executado.

(24)

Estruturas de Repetição

while

• Permite que trechos de programa sejam repetidos um certo número de vezes controlado pelo

programa. • Sintaxe:

while (expressão)

bloco_de_comandos; • Funcionamento:

Passo1: A expressão é avalidada.

Passo2: Caso o resultado seja verdadeiro ( 0), o bloco de comandos é executado e volta ao passo 1. Caso contrário (= 0), o laço é terminado.

(25)

Laboratório de Programação I Prof. Frederico Viana

Estruturas de Repetição

while

Exemplo fatorial = 1; i = numero; while (i > 1) { fatorial = fatorial * i; i--; }

(26)

Estruturas de Repetição

do-while

• Permite que trechos de programa sejam repetidos um certo número de vezes controlado pelo

programa, porém, neste caso, o bloco de comandos é executado pelo menos uma vez, já que a

expressão de teste fica após a execução dos comandos.

• Sintaxe: do

bloco_de_comandos; while (expressão);

(27)

Laboratório de Programação I Prof. Frederico Viana

Estruturas de Repetição

do-while

• Funcionamento:

Passo1: Executa o bloco de comandos. Passo2: Avalia a expressão.

Passo3: Caso o resultado da expressão seja

verdadeiro (≠ 0), volta ao passo 1. Caso contrário (= 0), interrompe o do-while.

(28)

Estruturas de Repetição

do-while

Exemplo i = 1;

do {

printf (“Numero %d\n”, i); i++;

(29)

Laboratório de Programação I Prof. Frederico Viana

Comandos de Desvio

break

• Pode ser usado tanto para terminar um teste case dentro de um comando switch quanto interromper a execução de um laço.

• Quando o comando é utilizado dentro de um

comando for, por exemplo, o laço é imediatamente interrompido e o programa continua a execução no comando seguinte ao comando for.

(30)

Comandos de Desvio

break

Exemplo i = 1; for (i = 0; i < 100; i++) { scanf (“%d”, &num); if (num < 0) break; vetor[i] = num; }

(31)

Laboratório de Programação I Prof. Frederico Viana

Comandos de Desvio

continue

• O comando continue é parecido com o comando break. A diferença é que o comando continue

simplesmente interrompe a execução da iteração corrente passando para a próxima iteração do laço, se houver uma.

(32)

Comandos de Desvio

continue

Exemplo i = 1; for (i = 0; i < 100; i++) { scanf (“%d”, &num); if (num < 0) continue; vetor[i] = num; }

(33)

Laboratório de Programação I Prof. Frederico Viana

Comandos de Desvio

return

• Usado para interromper a execução de uma função e retornar um valor ao programa que chamou esta

função.

• Caso haja algum valor associado ao comando return este é devolvido para a função, caso contrário um valor qualquer é retornado.

• Uma função declarada como do tipo void não pode ter um comando return.

• Sintaxe:

return expressão;

Referências

Documentos relacionados

A Lei nº 2/2007 de 15 de janeiro, na alínea c) do Artigo 10º e Artigo 15º consagram que constitui receita do Município o produto da cobrança das taxas

1.1 A presente seleção de Tutor a Distância será regida por este Edital e será executada pelo DEaD/IFMA Campus São Luís Monte Castelo e Comissão de

ABSTRACT: The toxicological effects of crude ethanolic extracts (CEE) of the seed and bark of Persea americana have been analyzed on larvae and pupae of

[40] Uma hipótese implícita quando o método de captura-recaptura é usado para estimar o tamanho de uma população é a de que quando os indivíduos são marcados no processo de

O verdadeiro Mashiach, não teve duas origens: Ou ele é o descendente legítimo da linhagem de Dauid, (como ele mesmo se identificou em Apocalipse 22:16), o Leão da tribo de

Quando não se trata de trauma, pode ser difícil para o socorrista identificar a causa exata do problema. Medicamentos utilizados são bons indícios para definir

O decréscimo de nitrogênio em profundidade é típico de situação sob vegetação nativa, pois o aporte de resíduos vegetais na superfície do solo promove a decomposição

- Se o estagiário, ou alguém com contacto direto, tiver sintomas sugestivos de infeção respiratória (febre, tosse, expetoração e/ou falta de ar) NÃO DEVE frequentar