Você está na página 1de 30

Lógica de Programação

Pratica III
Israel Zanata Escorizza –Maio/2017
1. Correção da Atividade (Pratica II)
2. Estrutura de repetição – FOR
3. Exercícios
4. Atividade para entrega

2
Correção da Atividade
(Pratica II)

3
Correção da Atividade (Pratica II)
Três carros estão na linha de largada de uma corrida de 120 minutos
• O carro A da uma volta completa na pista a cada 1 minuto.
• O carro B da uma volta completa na pista a cada 2 minutos.
• O carro C da uma volta completa na pista a cada 1.5 minutos.

Acontecimentos:
• No minuto de numero 46, o carro A teve um problema e teve de ir ao box, ficando
parado por 5 minutos.
• No minuto de numero 70, o carro B melhorou sua velocidade e a partir deste momento
até o final da corrida fez 1 volta completa por minuto.

Em momentos diferentes da corrida cada carro tem um numero diferente de voltas


completas.
Seu programa deve receber pela entrada um numero que representa o minuto da corrida e
informar, quantas voltas completas cada carro possui.

*Dica: Utilize while e considere cada repetição como um minuto da corrida.

4
Correção da Atividade (Pratica II)
Três carros estão na linha de largada de uma corrida de 120 minutos
• O carro A da uma volta completa na pista a cada 1 minuto.
1 min = 1 / 1 volta = 1 volta

• O carro B da uma volta completa na pista a cada 2 minutos.


1 min = 1 / 2 volta = 0.5 volta

• O carro C da uma volta completa na pista a cada 1.5 minutos.


1 min = 1 / 1.5 volta = 0.666666... volta

5
Correção da Atividade (Pratica II)
Três carros estão na linha de largada de uma corrida de 120 minutos
• O carro A da uma volta completa na pista a cada 1 minuto.
1 min = 1 / 1 volta = 1 volta
Se volta entre 46 e 50 velocidade = 0 volta

• O carro B da uma volta completa na pista a cada 2 minutos.


1 min = 1 / 2 volta = 0.5 volta
Se volta maior ou igual a 70, velocidade = 1 volta

• O carro C da uma volta completa na pista a cada 1.5 minutos.


1 min = 1 / 1.5 volta = 0.666666... volta

6
Correção da Atividade (Pratica II)

7
Estrutura de repetição
FOR

8
Estrutura de repetição

Estruturas de repetição
• Os comandos de repetição são utilizados em algoritmos onde é necessário que
determinadas ações sejam executadas por um número determinado de vezes, ou até
que uma condição seja verdadeira.

• Estruturas de repetições são extremamente poderosas porem, devemos nos atentar que
nosso código seja capaz de finalizar estas repetições, ou então o programa executará
estas ações indefinidamente. Em programação chamamos esta condição de “programa
em loop”.

9
Estrutura de repetição

Estruturas de repetição – FOR...TO...NEXT


• A estrutura FOR...TO...NEXT (DE/ATE) deve ser utilizada quando o número de
repetições é conhecido, com a utilização de uma variável de controle.

• Cada repetição recebe o nome de passo e é avaliado em uma condição lógica de


referência e o próximo passo somente é executado em caso verdadeiro ( .T. ). Desta
forma a estrutura compreende um controle do número de passos executados.

• Em algumas linguagens como o ADVPL, é possível definir o incremento da variável de


controle utilizando o parâmetro STEP

• Caso a condição de referência seja falsa na primeira análise, as instruções não serão
executadas.

10
Estruturas de repetição – FOR...TO...NEXT
CODIGO
Ações anteriores
FOR <VAR_CONTROLE> := <INICIALIZADOR> TO <CONDIÇÃO> STEP <PASSO>
...
...
...
Condição Falso ( .F. )
...
referencia NEXT <VAR_CONTROLE>

Verdadeiro ( .T. )

Ações de repetição

Incremento da
variável de controle

Continuidade do
fluxo ao final da
estrutura

11
Estrutura de repetição

Exemplo 1
• Desenvolver código para:
Receber um número (nA) e mostrar na saída uma contagem de 1 até o número
recebido.

12
Estrutura de repetição
Exemplo 1

13
Estrutura de repetição

Exemplo 2
• Desenvolver código para:
Receber dois números (nA e nB) e mostrar na saída os números pares de nA até nB.

14
Estrutura de repetição
Exemplo 2

15
Estrutura de repetição

Exemplo 3
• Desenvolver código para:
Receber 5 valores armazena-los em um vetor (array).
Mostrar os 5 números armazenados na ordem inversa.

16
Estrutura de repetição
Exemplo 3

17
Estrutura de repetição
Exemplo 3

18
Exercícios

19
Exercícios

Exercício 1
• Desenvolver código para:
Receber dois números (nA e nB) e retornar o numero nA elevado a nB.
Utilizar a estrutura de repetição FOR para calcular o resultado.

Exemplos
Recebendo os números 2 e 3, sabe-se que 2³ = 8 , pois 2 x 2 x 2 = 8
Recebendo os números 9 e 2, sabe-se que 9² = 81, pois 9 x 9 = 81

20
Exercícios
Exercício 1

21
Exercícios

Exercício 2
• Desenvolver código para:
Receber dois números (nA, nB) e apresentar a tabuada (1 a 10) de nA até nB,
utilizando a estrutura FOR

Ex:
Se receber os numero 5 e 7, será apresentado na saída:
5x1 =5
....
5 x 10 = 50
6x1 =6
...
6 x 10 = 60
7x1 =7
...
7 x 10 = 70

22
Exercícios
Exercício 2

23
Exercícios

Exercício 3
• Desenvolver código para:
Receber um número maior ou igual a 3 (realize as validações necessárias para o
número recebido) e apresentar a sequência de Fibonacci até a posição representada pelo
número recebido.

A sequência de Fibonacci se inicia com os números 0 e 1, e o próximo número é a


soma dos dois números anteriores.
Sequencia de Fibonacci: 0, 1, 1, 2, 3, 5, 8, 13 , 21, 34 ...

Exemplo
Ao receber o número 5, deverá ser apresentada a sequência 0, 1, 1, 2, 3
Ao receber o número 8, deverá ser apresentada a sequência 0, 1, 1, 2, 3, 5, 8, 13

24
Exercícios
Exercício 3

25
Exercícios

Exercício 4
• Desenvolver código para:
Receber um número e verificar se ele é primo.

Um número é primo quando possui somente dois divisores naturais (sem resto), 1 e o
próprio número.

26
Exercícios
Exercício 4

27
Atividade

28
Atividade
• Desenvolver código para:
Receber 5 valores e armazena-los em um vetor (array)
Ordenar os números recebidos em ordem crescente. (utilizando FOR)
Apresentar os valores ordenados.

Exemplo

Foram recebido os valores 1, 3, 2, 5, 4


O vetor deve ser ordenado para 1, 2, 3, 4, 5

29
/totvs Israel Zanata Escorizza
@totvs SQUAD GCT/GCP

blog.totvs.com Israel.escorizza@totvs.com.br

company/totvs

fluig.com Obrigado =)

Você também pode gostar