FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Algoritmos e linguagens de
programação 1
(aula 06)
Prof. Alessandro Bernardo
[email protected]
http://bsi.k6.com.br
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Estruturas de repetição
Estruturas de controle utilizadas para criar repetições controladas de blocos de
instruções.
O C++ dispõe de duas dessas instruções:
Loop FOR:
número de repetições determinadas onde o incremento é feito
automaticamente.
Loop WHILE:
número de repetições pode ser determinado ou não e onde um contador
(variável que pode ser incrementada ou decrementada) pode ser utilizado.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Instrução WHILE
Exemplo:
Língua portuguesa:
Peça números a uma pessoa e só pare quando ela falar zero.
Em algoritmo:
LER número
ENQUANTO número for diferente de zero FAÇA
INÍCIO
LER número
FIM
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Instrução WHILE
Exemplo:
Língua portuguesa:
Peça números a uma pessoa e só pare quando ela falar zero.
Em C++
double num;
cin >> num;
while (num != 0)
{
cin >> num;
}
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Instrução WHILE
Exemplo:
Língua portuguesa:
Peça um número a uma pessoa e só pare quando a soma dos
números falados for maior que 20.
Em algoritmo:
ENQUANTO soma for menor que 20 FAÇA
INÍCIO
LER número
soma = soma + número
FIM
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Instrução WHILE
Exemplo:
Língua portuguesa:
Peça um número a uma pessoa e só pare quando a soma dos
números falados for maior que 20.
Em C++
double soma = 0, num;
while (soma <= 20)
{
cin >> num;
soma += num;
}
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Instrução WHILE
SINTAXE
while (condição)
{
// seqüência de instruções;
}
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Instrução WHILE
while (condição)
{
// seqüência de instruções;
}
Condição: valor lógico que define se o laço WHILE continuara executando
ou não.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Instrução WHILE
while (condição)
{
// seqüência de instruções;
}
Condição: valor lógico que define se o laço WHILE continuara executando
ou não.
seqüência de instruções: linhas de comandos executadas enquanto
condição for verdadeira.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Instrução WHILE
while (condição)
{
// seqüência de instruções;
}
Condição: valor lógico que define se o laço WHILE continuara executando
ou não.
seqüência de instruções: linhas de comandos executadas enquanto
condição for verdadeira.
VEJAMOS DOIS EXEMPLOS!!
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Instrução WHILE
int a = 0;
while (a < 4)
{
a+=2;
cout << “rodou o loop” << endl;
}
O que esse laço faz?
Execução:
a = XXX
condição = XXX
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Instrução WHILE
int a = 0;
while (a < 4)
{
a += 2;
cout << “rodou o loop” << endl;
}
Execução:
a= 0
condição = XXX
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Instrução WHILE
int a = 0;
while (a < 4)
{
a += 2;
cout << “rodou o loop” << endl;
}
Execução:
a= 0
condição = verdadeiro
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Instrução WHILE
int a = 0;
while (a < 4)
{
a += 2;
cout << “rodou o loop” << endl;
}
Execução:
a= 0 +2=2
condição = verdadeiro
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Instrução WHILE
int a = 0;
while (a < 4)
{
a += 2;
cout << “rodou o loop” << endl;
}
Execução:
a= 2
condição = verdadeiro
rodou o loop
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Instrução WHILE
int a = 0;
while (a < 4)
{
a += 2;
cout << “rodou o loop” << endl;
}
Execução:
a= 2
condição = verdadeiro
rodou o loop
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Instrução WHILE
int a = 0;
while (a < 4)
{
a += 2;
cout << “rodou o loop” << endl;
}
Execução:
a= 2+2=4
condição = verdadeiro
rodou o loop
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Instrução WHILE
int a = 0;
while (a < 4)
{
a += 2;
cout << “rodou o loop” << endl;
}
Execução:
a= 4
condição = verdadeiro
rodou o loop
rodou o loop
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Instrução WHILE
int a = 0;
while (a < 4)
{
a += 2;
cout << “rodou o loop” << endl;
}
Execução:
a= 4
condição = falso
rodou o loop
rodou o loop
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Instrução WHILE
int a = 0;
while (a < 4)
{
a += 2;
cout << “rodou o loop” << endl;
}
Final do laço!
Execução:
a= 4
condição = XXX
rodou o loop
rodou o loop
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Instrução WHILE
int a = 0;
while (a < 4)
{
a += 2;
cout << “rodou o loop” << endl;
}
Final do laço!
Execução:
a= 4
condição = XXX
rodou o loop
rodou o loop
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Instrução WHILE
Outro exemplo:
Calcule a soma dos números inseridos pelo usuário até que
ele insira um número negativo.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Instrução WHILE
int soma = 0, num;
cin >> num;
while (num >= 0)
{
soma+=num;
cin >> num;
}
cout << soma;
num =
soma =
condição =
Calcule a soma dos números
inseridos pelo usuário até que ele
insira um número negativo.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Instrução WHILE
Outros exemplos:
O que o algoritmo abaixo está fazendo?
int num = 10;
while (num != 0)
{
cin >> num;
cout << “o loop executou mais uma vez”;
}
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Instrução WHILE
Outros exemplos:
E este algoritmo?
int num = 0;
while (num <= 20)
{
num++;
cout << “o loop executou mais uma vez”;
}
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Instrução WHILE
Outros exemplos:
E este algoritmo?
int num = 0;
while (num > 20)
{
num++;
cout << “o loop executou mais uma vez”;
}
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Instrução WHILE
Outros exemplos:
E este algoritmo?
int num = 0;
while (num > -100)
{
num++;
cout << “o loop executou mais uma vez”;
}
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Instrução WHILE
Outros exemplos:
E este algoritmo?
int num = 0;
while (num != 10)
{
num+=4;
cout << “o loop executou mais uma vez”;
}
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Instrução WHILE
Exemplo:
1. Construa um programa em C++ que escreva a raiz quadrada dos
números inseridos até que seja inserido um número negativo.
2. Faça um programa que escreva todos os números inteiros de 1 até
20.
3. Faça um programa que leia um número do teclado e posteriormente
escreva todos os números inteiros de 1 até esse valor inserido.
4. Faça um programa que peça números inteiros ao usuário até que
esse digite 0. Depois calcule a quantidade de ímpares e pares e
negativos e positivos foram inseridos antes do 0. O programa deve
calcular e escrever também o somatórios de todos os números
inseridos.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Exemplos
1. Construa um programa em C++ que escreva a raiz quadrada dos
números inseridos até que seja inserido um número negativo.
using namespace std;
#include <iostream>
int main()
{
double num;
cout << ‘Insira um número:’;
cin >> num;
while (num < 0)
{
cout << “Raiz:” << sqrt(num) << endl;
cout << ‘Insira outro número:’;
cin >> num;
}
return(0);
},
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Instrução WHILE
2. Faça um programa que escreva todos os números inteiros de 1 até 20.
using namespace std;
#include <iostream>
int main()
{
cout << “Números:” << endl;
int cont = 1;
while (cont <= 20)
{
cout << num << endl;
}
system(“pause”);
return(0);
},
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Instrução WHILE
3. Faça um programa que leia um número do teclado e posteriormente
escreva todos os números inteiros de 1 até esse valor inserido.
using namespace std;
#include <iostream>
int main()
{
cout << “Insira um número: ”;
int num;
cin >> num;
int cont = 1, soma = 0;
while (cont <= num)
{
soma += num;
num++;
}
cout << “somatório: “ << soma << endl;
system(“pause”);
return(0);
}
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Instrução WHILE
4. Faça um programa que peça números inteiros ao usuário até que esse digite 0. Depois
calcule a quantidade de ímpares e pares e negativos e positivos foram inseridos antes
do 0. O programa deve calcular e escrever também o somatórios de todos os números
inseridos.
using namespace std;
#include <iostream>
int main()
{
int num;
int impar = 0, par = 0, pos = 0, neg = 0;
cout << ‘Insira um número inteiro:’;
cin >> num;
while (num != 0)
{
if (num % 2 == 0)
par++;
else
impar++;
Continuação...
if (num > 0) pos++;
else neg++;
cout << ‘Insira um número inteiro:’;
cin >> num;
}
cout << “Pares:” << par << endl;
cout << “Impares:” << impar << endl;
cout << “Positivos:” << pos << endl;
cout << “Negativos:” << neg << endl;
return(0);
},
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Exercícios
1. Faça um programa utilizando o laço WHILE que escreva na
monitor a palavra “repete” dez vezes.
2. Escreva um programa que calcule o quadrado dos números
inseridos pelo usuário. O programa deve parar a execução
quando o usuário inserir um número negativo.
3. Faça um programa que leia números do teclado até que seja
inserido -1. O programa deve calcular e escrever o somatório, a
média aritmética e a soma dos quadrados desses números
inseridos antes de -1.
Download

aula06 - GEOCITIES.ws