UFU Universidade Federal de Uberlândia INTRODUÇÃO A...

Preview:

Citation preview

INTRODUÇÃO A COMPUTAÇÃO ENG. CIVIL

Professora: Fabíola Gonçalves.

UFU Universidade Federal de Uberlândia

AGENDA

Estrutura Repetição:

For

While

Do... While

Exercícios

ESTRUTURAS DE CONTROLE DE FLUXO

Os comandos de controle de fluxo são a essência de

qualquer linguagem, porque governam o fluxo da

execução do programa. São poderosos e ajudam a

explicar a popularidade da linguagem. Podemos

dividir em três categorias:

A primeira consiste em instruções condicionais if e

switch.

A segunda são os comandos de controle de loop o

while, for e o do-while.

A terceira contém instruções de desvio

incondicional goto.

COMANDOS DE REPETIÇÃO

Também chamados laços ou loops, estruturas de

repetição são comandos usados sempre que uma ou

mais instruções tiverem de ser repetidas enquanto

uma certa condição estiver sendo satisfeita.

Em linguagem C existem três comandos de

repetição:

–for

– while

– do-while

O LAÇO FOR

Geralmente utilizado quando se deseja repetir

comando(s) por um número FIXO de vezes.

Sintaxe:

for (<inicialização>; <teste>; <incremento>)

<comando>

for (<inicialização>; <teste>; <incremento>)

{

<comando 1>

<comando n> }

O LAÇO FOR - EXEMPLO

Exemplo 1:

for (i=0; i<256; i++)

printf(“%3d \t %c \n”, i, i);

Exemplo 2:

for (i=2; i<=9; i++)

{

for (j=1; j<=9; j++)

printf(“%d x %d = %2d \n”, i, j, i*j);

printf(“\n”);

}

COMANDO FOR

Podemos omitir qualquer um de seus elementos

inicialização, condição ou incremento.

Ex.: for sem inicialização

COMANDO FOR

Cuidado: for sem condição

Omitir a condição cria um laço infinito;

Condição será sempre verdadeira.

COMANDO FOR

Cuidado: for sem incremento

Omitir o incremento cria um laço infinito;

Incremento pode ser feito nos comandos.

EXERCÍCIO EXEMPLO

Escreva, usando for, um algoritmo para calcular

a soma dos elementos de 1 a 10.

int n;

int soma = 0;

for (n = 1; n <= 10; n++) {

soma = soma + n;

}

printf(“A soma é %d \n",soma);

O LAÇO WHILE

Costuma ser utilizado quando o laço pode ser

terminado inesperadamente, por condições

desenvolvidas dentro do corpo do laço.

Sintaxe:

<inicialização>

while (<teste>)

{

<comandos>

<incremento>

}

O LAÇO WHILE - EXEMPLO

O LAÇO WHILE - EXEMPLO

EXERCÍCIO EXEMPLO

Escreva, usando while, o algoritmo para calcular

a média de N números

FOR VERSUS WHILE

O LAÇO DO-WHILE

Similar ao laço while, é utilizado quando é

necessário executar o corpo do laço uma primeira

vez e, então, avaliar a expressão do teste.

Sintaxe:

do

{

<comandos>

} while (<teste>); /* NÃO ESQUECER O PONTO E

VÍRGULA NO FINAL */

O LAÇO DO-WHILE - EXEMPLO

Comando do-while: é utilizado sempre que o bloco de

comandos deve ser executado ao menos uma

vez.

do

{

printf(“Digite um valor positivo para sair ”);

scanf(“%d”, &valor);

} while (valor < 0);

O LAÇO DO-WHILE - EXEMPLO

executa comandos avalia condição:

se verdadeiro, re-executa bloco de comandos

caso contrário, termina o laço

Sua forma geral é (sempre usa chaves!)

do {

comandos;

} while (condição);

EXERCÍCIOS

Um laço do-while é útil quando:

a) nunca é executado.

b) pode nunca ser executado.

c) deve ser executado pelo menos uma vez.

d) termina após a primeira execução.

A expressão de inicialização de um laço for:

a) nunca é executada.

b) é executada uma única vez a cada iteração.

c) é executada enquanto o laço não termina.

d) é executada uma vez antes do laço ser iniciado.

EXERCÍCIOS

Qual é a saída do seguinte programa

EXERCÍCIOS

Elabore um programa que solicite um número

inteiro ao usuário e crie um novo número inteiro

com os dígitos em ordem inversa. Por exemplo, uma

execução do programa é:

Digite um número inteiro: 5382

Seu número invertido é: 2835

Escreva um programa que calcule a soma dos n

primeiros termos da sequência de Fibonacci. O valor

de n deve ser fornecido pelo usuário.

EXERCÍCIOS

Na série de Fibonacci, ao dividir, sucessivamente,

um termo pelo anterior o resultado aproxima-se de

um número conhecido e designado por número de

ouro. Faça um programa que calcule o valor do

número de ouro.

Faça um programa que escreva uma tabela de

valores de x e y, onde x varia de 0 a 2p (em

intervalos de 0.01) e y é o valor do seno de x.

EXERCÍCIOS

Considere a seguinte ilustração da sequência de

números triangulares:

Faça um programa que calcule o n-esimo termo da

sequência acima.

COMANDOS BREAK

Nós já vimos dois usos para o comando break:

interrompendo os comandos switch. Ex.:

int num;

scanf(“%d”,&num);

switch(num) {

case 0: printf(“Zero");

break;

case 1: printf(“Um");

break;

}

COMANDOS BREAK

Na verdade, o comando break serve para quebrar a

execução de um comando (como no caso do switch) ou

interromper a execução de qualquer loop (for, while ou

do-while).

O break faz com que a execução do programa continue

na primeira linha seguinte ao loop ou bloco que está

sendo interrompido.

COMANDOS BREAK

COMANDO CONTINUE

Comando continue

Diferente do comando break, só funciona dentro do loop;

Pula essa iteração do loop;

Os comandos que sucedem o comando continue no bloco não

são executados

COMANDO CONTINUE

GOTO E LABEL

É um salto condicional para um local

especificado.

Este local é determinado por um rótulo (label).

Este local pode ser a frente ou atrás no

programa, mas deve ser dentro da mesma função.

GOTO E LABEL

Apesar de banido da prática de programação, goto’s

podem ser úteis em determinadas circunstâncias.

Ex: sair de dentro de laços aninhados.

Forma geral:

palavra_chave:

goto palavra_chave;

Recommended