Escolar Documentos
Profissional Documentos
Cultura Documentos
Material de Estudo
Referente à aula teórica: 24 de março 2020 – 08:55 a 09:40
Profa. Angela
(1) Se você não tiver um compilador, há alguns online. Por exemplo: https://www.onlinegdb.com/online_c++_compiler
Não se esqueça de acessar a aula prática, que lá também temos atividades a serem feitas!
1
Comando for Profa. Angela
IMPORTANTE:
Observações Gerais:
- para enviar os exercícios resolvidos, peço que colem todos os exercícios num arquivo só TXT;
- colar SOMENTE o seu programa (cpp);
- por favor, NÃO enviem todos os arquivos da pasta do CodeBlocks ou Visual Studio. Eles são muito pesados e
difíceis de abrir;
Na parte teórica de hoje, vou fazer a correção dos exercícios destacando alguns pontos que apareceram
nas diversas versões feitas por vocês.
K <= N
O incremento de K é de 1 em 1:
Pode ser:
Lembrar:
Incremento: K = K + 1 K++
Decremento: K = K – 1 K--
Incremento: K = K + n K += n
Decremento: K = K – n K -= n
Comando for Profa. Angela
Resto: K = K % n K %= n
O controle do processo repetitivo pode ser construído:
Este exemplo, exercício da aula passada: ele está correto, porém há um excesso de zelo, em relação à condição
de controle.
Comando for Profa. Angela
Não está errado! Mas não precisava. Bastava a condição de controle ser
Comando for Profa. Angela
Outro exemplo, agora do exercício que imprime a tabela de conversão libras para quilograma. O
exercício pedia que o valor da libra começaria em 1 e depois seguisse de 5 em 5.
A proposta não está errada! Mas não precisava. Vamos analisar o que faz o primeiro comando repetitivo, for.
Comando for Profa. Angela
Lb =1 Lb <= 1 Lb = Lb + 1
Assim, para Lb valendo 1, a condição Lb <= 1 é verdadeira então o comando cout é executado uma vez.
O comando volta para a linha do for e executa a 3ª parte: incrementa em uma unidade a variável Lb, que passa
a conter o valor 2.
Agora, a condição Lb <=1, não é mais verdade, pois Lb é maior do que 1. Então, ele sai do processo repetitivo e
vai executar o próximo comando depois do cout
MUITO BOM!!!!!!
Comando for Profa. Angela
Quinto exercício: ler N números inteiros, na variável X. Encontrar e imprimir o maior número digitado.
O valor de N também deve ser lido.
1. definir uma variável chamada Maior, para ser o elemento de comparação e guardar o maior elemento;
Solução apresentada, mas que não atende para qualquer número inteiro digitado.
Solução apresentada, mas que não atende para qualquer número inteiro digitado.
• Inicializar Maior com o menor número possível dentro do compilador (alguns alunos utilizaram esse
recurso)
Biblioteca:
Comando for Profa. Angela
• Atribuir a primeira leitura para Maior - essa ideia apareceu em vários exercícios, de formas diferentes.
Quando aprendemos o comando while, usamos o seguinte o exemplo: construir um programa que
imprime os N primeiros naturais, começando em 1. N deve ser lido.
23
Assunto NOVO: Somatórios Profa. Angela
Trecho destacado:
Resultado impresso:
Para N = 10, o programa imprimiu a sequência:
1 2 3 4 5 6 7 8 9 10
E, se, no lugar de imprimir o valor de K, quiséssemos somar cada valor de K, resultando no valor do somatório?
Por exemplo, se o N = 10:
1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55
24
Assunto NOVO: Somatórios Profa. Angela
𝑆 = 𝑘
𝑘=1
k= 1
Esse é o processo repetitivo
while (k <=N)
int main()
{
int N, K = 1, S = 0; Observe que utilizamos três variáveis:
cout<<"Digite um valor para N: ";
cin >> N;
N : quantidade de números que desejamos
somar;
cout<<"\n\n Soma dos " << N << " primeiros Naturais: ";
while ( K<= N ) S: variável para acumular o somatório e foi
{ inicializada com 0 (zero);
S = S + K;
K++; K: variável que, além de ser o componente do
} incremento do somatório, é utilizada no
cout << S;
controle do processo repetitivo;
cout << "\n\n\n";
return 0;
}
26
Assunto NOVO: Somatórios Profa. Angela
Vamos ver outros exemplos:
1. Construir um programa que calcula e imprime, o valor do somatório dos N primeiros pares, começando em 2.
o somatório é calculado por: S = S + K; onde, nesse caso, K = 2, 4, 6, ...... com incremento de 2 em 2: K=K+2
Para descobrir como terminar (condição do processo repetitivo), vamos examinar o valor do último número a ser
somado no somatório, para vários valores de N:
N= K
1 2 Repare no último elemento a ser
2 2, 4 somado, para cada valor de N, é
3 2, 4, 6 igual à 2*N
4 2, 4, 6, 8
5 2, 4, 6, 8, 10 assim, o controle do processo repetitivo pode ser:
.... ( K<= 2*N )
27
Contadores e Somatórios Profa. Angela
Veja o programa como ficou:
Valor inicial de K = 2
Valor inicial de S = 0
controle
somatório
incremento
Slide 28 28
Contadores e Somatórios Profa. Angela
Exemplo 2: calcular o somatório de N números inteiros, lidos, pela variável X. O valor de N, também,
deverá ser lido.
Deseja-se calcular o seguinte somatório:
.......
S = 0;
O que o comando while deve repetir, N vezes? ......
while( )
• a leitura de X; {
• e, o somatório cin>> X;
S = S + X;
}
29
Assunto NOVO: Somatórios Profa. Angela
Valores
digitados
Slide 31
Assunto NOVO: Somatórios Profa. Angela
No exemplo, veja,
que o que se repete
𝑛𝑢𝑚 1 1 1 1 1
é uma fração : = , , , , …,
𝑑𝑒𝑛 1 2 3 4 𝑁
num/ den
S = S + num / den ;
𝑛𝑢𝑚 1 1 1 1 1
= , , , , …,
𝑑𝑒𝑛 1 2 3 4 𝑁
Observação: como há fração no somatório então vamos trabalhar com S e den como REAIS - float
33
Assunto NOVO: Somatórios Profa. Angela
34
Assunto NOVO: Somatórios Profa. Angela
A seguir, é uma versão do programa anterior. Acrescentei a impressão dos valores intermediários do somatório
para acompanharem o processo repetitivo.
Slide 35
Material Aula Teórica – correção atividade anterior e conceito novo: Somatórios Profa. Angela
Esse é o material da aula teórica. É muito importante que você tenha estudado com muita atenção.
A atividade da aula teórica consiste em refazer os 3 programas exemplos dos slides de números : 28 , 31 e 35, trocando
o comando while por for. Devem ser anexados o programa cpp, num único arquivo txt, no escaninho até sexta-feira 27
de março de 2020, às 14h00.
Estarei no chat online, no AVA da sala TEÓRICA, quarta-feira de 08h00 até 12h00, para as duvidas. Em outros
horários, da semana, por email:
- profa.angela@gmail.com
- angel@puc-campinas.edu.br
36