A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Aula 3 - Estruturas de Repetição

Apresentações semelhantes


Apresentação em tema: "Aula 3 - Estruturas de Repetição"— Transcrição da apresentação:

1 Aula 3 - Estruturas de Repetição

2 Sumário Estruturas de Controle: Operadores de Incremento e Decremento;
while (enquanto); for (para); do-until (faça-até). Operadores de Incremento e Decremento; Exercícios.

3 Comandos de Repetição Os comandos de repetição (ou iteração) são caracterizados por permitir que uma sequência de comandos seja executada um número repetido de vezes, sujeito, normalmente, a uma condição de término. O Octave possui três comandos que permitem a construção de repetições, são eles: while, for e do-until.

4 Comando while O comando while (enquanto) é usado quando se deseja executar uma sequência de comandos que possui um número variável, e normalmente desconhecido, de vezes.

5 Comando while while ( <expressão> ) <sequência> end

6 Comando while Antes da sequência ser executada, a expressão (condição) é avaliada. Caso seja verdadeira, a sequência será repetidamente executada enquanto a condição for verdadeira. A condição deverá ser uma expressão que retorne um valor lógico.

7 Comando while Note que se a condição for falsa já na primeira avaliação, a sequência de comandos não será executada nenhuma vez. A condição representada por <expressão> deverá, em algum momento, ser falsa, caso contrário a sequência será executada indefinidamente (loop infinito).

8 Exemplo 1 % limpar a tela clc % inicializa o contador com 1 cont = 1;
% Mostrar os números inteiros de 1 a 50 % limpar a tela clc % inicializa o contador com 1 cont = 1; while (cont <= 50) printf('%d\n', cont); cont = cont + 1; end

9 Comando while O valor da condição que controla a execução da sequência é modificado pela variável contadora (“cont”) que a cada iteração é incrementada de uma unidade. A aplicação normal do comando while se dá em problemas onde o número de repetições não é conhecido. O exemplo anterior tem apenas o objetivo de mostrar o uso do comando, pois o outro comando de repetição (for) tem a sua construção mais simples.

10 Exemplo 2 % limpar a tela clc % inicializa o contador com 2 cont = 2;
% Mostrar os números inteiros pares menores que 100 % limpar a tela clc % inicializa o contador com 2 cont = 2; while (cont < 100) printf('%d\n', cont); cont = cont + 2; end

11 Exemplo 3 % limpar a tela clc % inicializa o contador com 1 num = 1;
% Somar os números inteiros de 1 a 100 % limpar a tela clc % inicializa o contador com 1 num = 1; soma = 0 while (num <= 100) soma = soma + num; num = num + 1; end printf('%d\n', soma);

12 Exemplo 4 % limpar a tela clc n = input('Entre com um numero: ');
% Calcular o fatorial de um número fornecido pelo usuário % limpar a tela clc n = input('Entre com um numero: '); if (n >= 0) fat = 1; while (n > 1) fat = fat * n; n=n-1; end printf('Fatorial = %d\n', fat); else printf('Numero Invalido!\n');

13 Comando for for variável = intervalo <sequência> end

14 Exemplo 5 % limpar a tela clc
% Mostrar os números inteiros de 1 a 10 % limpar a tela clc % Exibe na tela os números de 1 a 10 com incremento de 1 em 1 for i = 1:10 printf('%d\n', i) end

15 Comando for A variável i , nesse caso, é conhecida como variável de iteração. Na primeira passagem pelo for, seu valor é 1. Depois, a instrução seguinte é executada: printf('%d\n', i). Após o comando, o programa volta ao for, e i assume o valor 2. Então, a instrução printf('%d\n', i) é executada novamente. O programa volta ao for novamente, até que a condição seja satisfeita: i = 10 .

16 Comando for for (<variável> = <valorInicial> : <incremento> : <valorFinal>) <sequência> end Obs. A variável é inicializada de forma “automática” (implicitamente) e o incremento dela também é “automático”.

17 Exemplo 6 Exemplo: Escrever os números de 1 a 10 em ordem ascendente e descendente: % Ordem ascendente % limpar a tela clc for (i=1 : 1 : 10) printf('%d\n', i) end % Ordem descendente % limpar a tela clc for (i=10 : -1 : 1) printf('%d\n', i) end

18 Exemplo 7 clc % Escrever os números de 1 a 10 for (i=1:10) printf('%d\n', i) end input('Pressione uma tecla para continuar...'); % Escrever os números pares de 1 a 50 for (i=2:2:50) % Escrever as letras de A a Z for (i='A':'Z') printf('%c\n', i)

19 Exemplo 8 % Ler 4 notas e calcular a média delas: clc soma=0; for (i=1:4) n=input('Digite um numero: '); soma=soma+n; end media=soma/4; printf('Media = %f\n', media);

20 Exemplo 9 % Ler N números e calcular a média deles clc N=input('Entre com a quantidade de numeros: '); soma=0; for (i=1:N) num=input('Digite um numero: '); soma=soma+num; end media=soma/N; printf('Media = %f\n', media);

21 Comando do-until O comando do-until (faça-até), assim como o comando while, é usado quando não é conhecido o número de vezes que uma sequência de comandos deverá ser executada. Porém, a sequência será executada pelo menos uma vez. while continua enquanto a condição for verdadeira; por sua vez, do-until continua enquanto a condição for falsa. Obs. : Este comando funciona no Octave e não em MatLab.

22 Comando do-until do <sequência> until ( <expressão> )

23 Exemplo 10 % limpar a tela clc % inicializa o contador com 1 cont = 1;
% Mostrar os números inteiros de 1 a 50 % limpar a tela clc % inicializa o contador com 1 cont = 1; do printf('%d\n', cont); cont = cont + 1; until (cont > 50);

24 Exemplo 11 clc do n = input('Entre com um numero: '); if (n >= 0)
% Calcular o fatorial de um número fornecido pelo usuário % Após o resultado o usuário pode optar em fazer outro cálculo clc do n = input('Entre com um numero: '); if (n >= 0) fat = 1; for (i=1:n) fat = fat * i; end printf('Fatorial = %d\n', fat); else printf('Numero Invalido!\n'); op = input('Deseja fazer outro cálculo <s> ou <n>? ', 's'); until (op ~= 's' && op ~= 'S');

25 Operadores de Incremento e Decremento
Além dos operadores aritméticos, a linguagem C/Octave também possui operadores de pré e pós-incremento/decremento. Estes operadores podem ser utilizados sempre que for necessário incrementar ou decrementar um determinado valor, como mostra a tabela abaixo:

26 Operadores de Incremento e Decremento
O operador ++ soma 1 ao seu operando, e -- subtrai 1. Em outras palavras: x = x + 1; é o mesmo que ++x; ou x++; e x = x - 1; --x; ou x--;

27 Operadores de Incremento e Decremento
Note, que esses operadores podem ser usados antes ou depois do nome da variável, com uma diferença significativa: ++x: incrementa a variável x antes de utilizar seu valor; x++: incrementa a variável x depois de utilizar seu valor. y = ++x; é equivalente a fazer x = x + 1; y = x; y = x++; é equivalente a fazer y = x; x = x + 1;

28 Comandos de Repetição for (i=1 : 1 : 10) printf('%d\n', i); end
% for-end for (i=1 : 1 : 10) printf('%d\n', i); end % while-end i = 1; while (i <= 10) printf('%d\n', i++); end % do-until i = 1; do printf('%d\n', i++); until (i > 10);

29 Exercícios 1. Elabore um programa que calcula xn, usando multiplicação. Considere n um valor inteiro positivo. 2. Elabore um programa para exibir na tela a raiz quadrada dos números de 1 a 100. 3. Fazer um programa que calcule e escreva o valor de S:

30 Exercícios 4. Elabore um programa que leia 10 números e mostre qual é o maior valor fornecido. 5. Elabore um programa que leia 10 números e mostre qual é o menor valor fornecido. 6. José pesa 70 quilos e está engordando uma média de 2 quilos por ano, enquanto Maria tem 50 quilos e engorda uma média de 3 quilos por ano. Elabore um algoritmo que calcule e imprima quantos anos serão necessários para que Maria ultrapasse o peso de José.

31 Exercícios 7. A Sequência de Fibonacci, é uma sequência de números inteiros, começando normalmente por 0 e 1, na qual, cada termo subsequente corresponde a soma dos dois anteriores. Os números de Fibonacci são, portanto, os números que compõem a seguinte sequência: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, ... Escreva um programa para imprimir os N-primeiros termos da Sequência de Fibonacci. O usuário fornecerá o valor de N.

32 Referências BACKES, André R., Linguagem C: Descomplicada. Disponível em < res/fiorese/materiais/apostilaC_Univ_Fed_Ub erlandia.pdf>. Acesso em: 01 ago Página Prof. Simão:


Carregar ppt "Aula 3 - Estruturas de Repetição"

Apresentações semelhantes


Anúncios Google