9-MATLAB - Laços de Repetição
-
Upload
fernando-de-carvalho -
Category
Documents
-
view
78 -
download
7
description
Transcript of 9-MATLAB - Laços de Repetição
-
Prof. Fernando Almeida
-
Laos Outra forma de alterar o fluxo de um programa A execuo e um ou um grupo de comandos repetida diversas
vezes, sucessivamente Cada sequncia de execuo (repetio) do lao denominada
passo A cada passo, ao menos uma varivel modificada dentro do lao for-end
O nmero de repeties conhecido desde o incio do lao while-end
O nmero de repeties no conhecido de antemo e o lao repetido at que uma condio especfica de parada seja satisfeita
Comando break Ambos os tipos de lao podem ser finalizados a qualquer momento
-
Laos for-end A execuo de um ou um grupo de comandos
repetido um nmero de vezes predeterminado
for k = f : s : t.....................
end
Um grupo de comandos MATLAB
ndice mudo do loop
Valor de k no primeiro passo
O incremento em k aps cada passo
Valor de k no ltimo passo
-
Laos for-end - Exemplofor k = 1 : 3 : 10
x = k^2end
Iterao k x1 1 12 4 163 7 494 10 100
>> for k=1:3:10x=k^2end
x =1
x =16
x =49
x =100
-
Atividades for-end1) a) k = 1:2:3 | b) k = 25:-5:10 | c) k = 3:72) Faa um algoritmo que mostre todos os nmeros
inteiros de 1 a 50.3) Faa um algoritmo que leia um nmero N, some
todos os nmeros inteiros de 1 a N, e mostre o resultado obtido
4) Escreva um algoritmo que leia um conjunto de 5 nmeros inteiros positivos e determine o maior deles.
5) Faa um algoritmo que gere a seguinte srie: 10, 20, 30, 40, ..., 990, 1000
-
Atividades (for-end) (1)1. Faa um programa que imprima o total da sequncia: 1,
1/2, 1/3 [...], 1/202. Faa um programa para imprimir os nmeros pares entre
100 e 13. Faa um algoritmo que some os nmeros de 1 a 10,
apresentando as somas parciais e, no final, o total. A impresso deve seguir o padro abaixo: 3 (soma do nmero 1 com o nmero 2) 6 (soma parcial com o nmero 3) [...] 55 (soma parcial com o nmero 10) Soma total = 55
-
Atividades (for-end) (2)4. Faa um programa para ler e escrever dados de uma
turma de 3 alunos. O programa deve pedir dados como nome, idade, sexo. O programa deve imprimir os dados do aluno mais velho.
5. Faa um programa que receba um nmero e realize as seguintes operaes:
a) Caso o nmero seja maior do que 5, some 100 a este nmerob) Caso o nmero seja menor do que 5, multiplique 50 a esse
nmeroc) Caso o nmero seja igual a 5, diminua 5 deste nmerod) O programa deve repetir 5 vezes
-
Laos while-end Utilizado quando o nmero de repeties no
conhecido No possui um campo especificando o nmero de
repeties (antes de inici-lo) O processo se repete at que uma certa condio seja
satisfeita
while expresso condicional.....................
end
Um grupo de comandos MATLAB
- Laos while-end - Exemplox = 1while x> x=1;>> while x
-
Observaes A expresso condicional no comando while deve
incluir ao menos uma varivel As variveis na expresso condicional devem ter sido
inicializadas Ao menos uma varivel na expresso condicional deve
ser modificada dentro do lao Em algum momento a expresso deve-se tornar falsa
Altere a expresso do exemplo anterior para x >= 0.5 Loops infinitos so considerados erros comuns
Ctrl+C ou Ctrl+Break (sai do loop)
-
Atividades while-end1. Faa um algoritmo que mostre todos os nmeros
inteiros de 1 a 50.2. Faa um algoritmo que leia um nmero N, some
todos os nmeros inteiros de 1 a N, e mostre o resultado obtido
3. Faa um algoritmo que gere a seguinte srie: 10, 20, 30, 40, ..., 990, 1000
-
Laos aninhados e ninhos de sentenas condicionais Laos e sentenas condicionais podem ser aninhadas
entre si Um loop ou uma sentena condicional pode ser
inicializada (e terminada) dentro de outro loop ou sentena condicional
No h limite para o nmero de laos e sentenas condicionais que podem ser aninhadas
Toda estrutura if-case-for-while deve terminar em um comando end correspondente
-
Estrutura de ninhos de loops
for k = 1 : nfor h = 1 : m
.......
.......end
end
Um grupo de comandos MATLAB
Lao aninhado
Lao
-
Comandos break E continue Comando break
Provoca a sada imediata do lao Quando o MATLAB encontra um comando break dentro
do lao, o programa salta para o comando end desse lao Inserido dentro de um loop aninhado, causa a sada
apenas deste loop Provoca o trmino imediato da execuo de uma rotina
ou funo Geralmente aparece dentro de sentenas condicionais
-
Comandos break E continue Comando continue
Utilizado dentro de um lao, for ou while, de maneira a parar o passo atual e iniciar o prximo passo no processo de looping
Geralmente, o comando continue entra como parte de uma sentena condicional
Quando o MATLAB encontra um comando continue, deixa de executar o restante do lao atual, saltando para o comando end no final do lao, para ento iniciar um novo passo.
-
Atividades Escreva uma rotina para encontrar o menor nmero
inteiro mpar divisvel por 3, cuja terceira potncia maior que 4000.
Utilize apenas um lao no programa O lao deve iniciar em 1 e parar quando o nmero for
encontrado Em seguida, o programa deve imprimir uma
mensagem O nmero requerido : Imprima o nmero
Pg 218 exe. 13