• Nenhum resultado encontrado

Estruturas de Repetição

N/A
N/A
Protected

Academic year: 2021

Share "Estruturas de Repetição"

Copied!
25
0
0

Texto

(1)

Estruturas de Repetição

Programação de Scripts

(2)

Considerações Iniciais

Uma das principais características

que consolidaram o sucesso na

utilização dos computadores para a

resolução de problemas foi a sua

capacidade de repetir o

processa-mento de um conjunto de

opera-ções para grandes quantidades de

dados.

(3)

Considerações Iniciais

Por

exemplo,

consideremos

que

uma

determinada loja de calçados efetue uma

venda no crediário para um cliente que ainda

não esteja registrado em seu sistema.

Para realizar essa venda, é necessário

cadastrar o cliente, solicitando informações

básicas como: nome, endereço, CPF, RG,

lojas do comércio onde já possui crédito, etc.

(4)

Considerações Iniciais

Estas etapas para realizar o cadastro,

seguirão sempre a mesma ordem para cada

novo cliente que aparecer na loja.

Caso precisássemos desenvolver um sistema

para efetuar os cadastros de clientes de uma

loja, não haveria lógica em programarmos

novamente essas etapas para cada cliente

novo.

(5)

Considerações Iniciais

Bastaria que desenvolvêssemos uma única

vez a seqüência de etapas e que, a cada novo

cliente, usássemos a seqüência previamente

definida.

Outro exemplo que podemos observar é o

cálculo da soma dos tamanhos dos arquivos

de um diretório qualquer.

(6)

Considerações Iniciais

Para determinar o tamanho de um único arquivo,

pode-se executar o comando

stat

–c %s

e armazenar

o resultado em uma variável:

TamanhoTotal=$(stat –c %s <nome-do-arquivo>)

echo

"

Total: $TamanhoTotal

"

(7)

Considerações Iniciais

Se desejássemos calcular a soma dos

tamanhos de dois arquivos, poderíamos

simplesmente copiar as mesmas linhas

de código e colá-las no mesmo

programa:

tamanho1=$(stat –c %s <nome-do-arquivo1>)

tamanho2=$(stat –c %s <nome-do-arquivo2>)

TamanhoTotal=$(($tamanho1 + $tamanho2))

echo "Total: $TamanhoTotal"

(8)

Estrutura de Repetição FOR

A estrutura de repetição

for do ... done

é utilizada

sempre que temos condições de estabelecer a

QUANTIDADE de vezes que uma determinada

sequência de operações deva ser executada.

Por exemplo, na situação de cálculo da soma dos

tamanhos dos arquivos, sabemos que o número de

arquivos de uma pasta é limitado (mesmo não

conhecendo esse valor de antemão, temos condições

de determiná-lo).

(9)

Estrutura de Repetição FOR

A estrutura de repetição

for do ... done

pode ser

utilizada da seguinte maneira*:

 Cabe ressaltar que se faz necessário o uso de um comando para verificar se o conteúdo na variável arq refere-se a um arquivo ou a um diretório.

TamanhoTotal=0

for arq in *

do

tamanho=$(stat –c %s $arq)

TamanhoTotal=$(($TamanhoTotal + $tamanho))

done

(10)

Estrutura de Repetição FOR

Caso desejemos escrever 20 vezes uma

frase na tela, também poderíamos

utilizar a estrutura de repetição

for do ...

done

, iniciando um contador em 1 e

indicando

que

a

repetição

deva

acontecer até que esse contador chegue

ao número 20.

(11)

Estrutura de Repetição FOR

Veja o exemplo a seguir:

frase="escreva-me 20 vezes."

for ((cont=1; cont <= 20; cont++))

do

echo $frase

done

(12)

Estrutura de Repetição FOR

A execução do script anterior traria como resultado uma

tela semelhante a que está sendo mostrada a seguir:

(13)

Estrutura de Repetição

Fluxograma

frase ← "escreva-me 20 vezes" Início cont <= 20? Fim Escreva frase Verdadeiro Falso cont ← 1 cont ← cont + 1

(14)

Estrutura de Repetição FOR

A variável que representa o contador é

incrementada em cada iteração (no exemplo

anterior a variável cont representa o contador).

Dessa forma, na 1ª iteração ela possui o valor 1,

na 2ª iteração o valor 2, e assim

sucessiva-mente até que ela chegue ao valor 20.

(15)

Estrutura de Repetição FOR

 Observe o exemplo a seguir:

frase="a vez"

for ((cont=1; cont <= 20; cont++))

do

echo "$cont$frase."

done

(16)

Estrutura de Repetição FOR

O código mostrado anteriormente apresentaria

a seguinte tela como resultado de sua

execução:

(17)

Estrutura de Repetição FOR

Os valores do início e do final da iteração

podem também ser definidos em tempo de

execução por meio de variáveis.

(18)

Estrutura de Repetição FOR

Os exemplos vistos anteriormente utilizam

uma ordem crescente para incrementar o

contador, ou seja, a iteração varia de um

número menor até alcançar um número maior.

Também é possível que façamos de traz para

frente, ou em ordem decrescente. Por

exemplo, suponha que desejamos escrever os

números de 20 até 1.

(19)

Estrutura de Repetição FOR

Veja o exemplo a seguir:

for ((cont=20; cont >= 1; cont--))

do

echo $cont

done

(20)

Estrutura de Repetição FOR

Exercícios

Exercícios utilizando somente a estrutura de repetição

for do ... done

1) Elabore um script que exiba todos os números de 1 até 100. 2) Elabore um script que exiba todos os números de 100 até 1. 3) Elabore um script que exiba todos os números de 250 a 500. 4) Elabore um script que exiba todos os números pares de 1 até

100.

5) Elabore um script que leia um valor (n) de entrada que indicará a quantidade de números a serem lidos. Em seguida, leia n números (conforme o valor informado anteriormente) e imprima o triplo de cada um.

(21)

Estrutura de Repetição FOR

Exercícios

Exercício utilizando a estrutura de condição

“if then ...

fi” dentro da estrutura de repetição “for do ... done”

1) Elabore um script que leia nome, idade e sexo de 20 pessoas. Imprimir o nome, se a pessoa for do sexo masculino, e tiver mais de 21 anos.

Exercícios de repetição que calculam somatórios e/ou

produtórios

1) Elabore um script que exiba todos os números de 100 a 200, e ao final, imprima também, a soma deles.

2) Elabore um script que leia um valor inteiro e exiba todos os números de 1 até o valor lido, e também o seu produto. Exemplo: Número: 3 Saída: 1 2 3 Produto: 6

(22)

Estrutura de Repetição FOR

Exercícios

3) Construir um script que calcule o fatorial de um número.

4) Construir um script que leia dois números (BASE e EXPOENTE) e retorne como resultado a POTENCIA do cálculo da BASE elevado ao EXPOENTE.

Ex: para a BASE = 2 e EXPOENTE = 4, POTENCIA = 24 = 16

5) Elabore um script que exiba a tabuada de um número que será informado pelo usuário.

6) Elabore um script que leia 30 números, e imprima quantos números maiores que 30 foram digitados.

(23)

Estrutura de Repetição FOR

Exercícios

Exercícios de repetição que calculam somatórios e/ou

produtos e que utilizam a estrutura de condição IF

dentro da estrutura de repetição FOR

1) Elabore um script que leia um valor inteiro e imprima a soma dos números múltiplos de 5 no intervalo entre 1 e o valor informado. Suponha que o valor lido será maior que zero.

2) Elabore um script que leia 20 números, e ao final, imprima a média desses números.

3) Elabore um script que leia 200 números, e imprima quantos são pares e quantos são ímpares.

(24)

Estrutura de Repetição FOR

Exercícios

Exercícios de repetição para localizar determinados

valores dentro de um conjunto

1) Elabore um script que leia um número de entrada que indicará a quantidade de números a serem lidos. Em seguida, leia n números (conforme o valor informado anteriormente) e, ao final imprima o maior número digitado.

2) Elabore um script que leia um número de entrada que indicará a quantidade de números a serem lidos. Em seguida, leia n números (conforme o valor informado anteriormente) e, ao final imprima o menor número digitado.

3) Elabore um script que leia um número de entrada que indicará a quantidade de números a serem lidos. Em seguida, leia n números (conforme o valor informado anteriormente) e, ao final imprima o maior, menor, e a média dos números digitados.

(25)

PARA – FIMPARA

Exercícios

Exercício utilizando a estrutura de repetição FOR

aninhada.

Referências

Documentos relacionados

Na prática, a empresa, não lhe deve os benefícios sociais previstos pela CLT, mas ainda tem uma série de deveres, a cumprir. Aos olhos da lei, quem contrata um estagiário não

reflete “acerca dos mecanismos de controle da atividade estatal no âmbito dos direitos humanos das mulheres à luz do Caso Maria da Penha.” Ao ser denunciado na

[r]

• Pode ser representada no espaço pelo elipsóide de deformação, resultante de deformação de uma esfera imaginária inicial, composta por um sistema triortogonal de

Esta maior concen- tração de hemoglobina no plasma colhido com EDTA evidencia o efeito hemolítico mais acentuado desse anticoagulante, quando comparado à Heparina, confor- me

Com o objetivo de compreender como se efetivou a participação das educadoras - Maria Zuíla e Silva Moraes; Minerva Diaz de Sá Barreto - na criação dos diversos

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

GONÇALVES, Carlos Roberto. Direito civil brasileiro.. pagamento ou o pagamento em prestações, o que torna mais fácil a forma como será desempenhada a atividade, o