Bem vindo a aula 95 de nosso curso gratuito de programação com a linguagem C.
Na aula de hoje vamos continuar a resolução da nossa lista de exercícios. Contudo, para resolve-lo, você precisa descobrir a relação entre as variáveis I e J.
24) Você deve fazer um programa que apresente a sequência conforme o exemplo abaixo.
I=1 J=7
I=1 J=6
I=1 J=5
I=3 J=9
I=3 J=8
I=3 J=7
I=5 J=11
I=5 J=10
I=5 J=9
…
I=9 J=15
I=9 J=14
I=9 J=13
Para resolver este exercício precisamos literalmente praticar análise de dados (e olha que aqui temos poucos dados rsrs).
O primeiro detalhe importante a perceber é que o valor da variável I se repete 3 vezes enquanto o valor da variável J é decrementado também 3 vezes. Isso já levanta a suspeita de que teremos duas estruturas for aninhadas executando 3 vezes cada.
O que define o início da variável J? Essa resposta pode ser descoberta com uma continha simples, assim:
I=1 J=7 –> 7 – 1 = 6
I=1 J=6
I=1 J=5
I=3 J=9 –> 9 – 3 = 6
I=3 J=8
I=3 J=7
I=5 J=11 –> 11 – 5 = 6
I=5 J=10
I=5 J=9
…
I=9 J=15 –> 15 – 9 = 6
I=9 J=14
I=9 J=13
Assim, concluímos que a variável J é inicializada com a seguinte expressão: for(j = i + 6; ? ; j– )
Qual o ponto de parada da variável J? Para descobrir esta informação vamos fazer o mesmo que fizemos para descobrir sua condição de início, assim:
I=1 J=7
I=1 J=6
I=1 J=5 –> 5 – 1 = 4
I=3 J=9
I=3 J=8
I=3 J=7 –> 7 – 3 = 4
I=5 J=11
I=5 J=10
I=5 J=9 –> 9 – 5 = 4
…
I=9 J=15
I=9 J=14
I=9 J=13 –> 13 – 9 = 4
Assim, concluímos que a condição de parada para a variável J é: for(j = i + 6; j >= i + 4 ; j– )
#include <stdio.h> #include <stdlib.h> int main() { int i, j; for(i = 1; i <= 9; i += 2){ for(j = 6 + i; j >= 4 + i; j--) printf("I = %d J = %d\n", i, j); printf("\n"); } }
Se você está aprendendo com este curso,:
- Se inscreva no canal…
- Pressione o sininho para ser notificado…
- Deixe seu like (assim saberei que gostou, além de me incentivar a continuar)
- Apresente o canal à seus amigos!
SÃO VOCÊS QUE FAZEM O CANAL CRESCER!
Valeu!!!