SlideShare uma empresa Scribd logo
Programação de
Computadores e Algoritmos
Estruturas de repetição em C
Prof. Flávio José M. Coelho
fcoelho@uea.edu.br
Plano de aula
1. Estruturas de repetição
2. Comando while
3. Comando do-while
4. Comando for
5. Repetições aninhadas
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 2 / 35
Estruturas de repetição
Uma estrutura de repetição (iteração) executa a
repetiçao de uma parte de um programa,
nenhuma, uma ou mais vezes.
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 3 / 35
Estruturas de repetição
Três comandos de repetição em C:
I while (enquanto)
I do-while (repita-enquanto)
I for (para)
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 4 / 35
Comando while
O while executa um bloco de comandos
nenhuma, uma ou mais vezes, dependendo da
avaliação de uma expressão lógica.
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 5 / 35
Comando while
while (expressão-lógica) {
. . . . bloco de comandos
}
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 6 / 35
Comando while
Bloco de
comandos
expr-lógica
Verdadeiro
Falso
while
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 7 / 35
Comando while
Exemplo 1. Escreva um programa que imprima
os números inteiros de 1 até 100.
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 8 / 35
Comando while
// Exemplo 1: de 1 a 100.
int c = 1;
while (c <= 100) {
printf("%d ", c);
c = c + 1;
}
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 9 / 35
Comando while
Exemplo 2. Escreva um programa que imprima
os números inteiros de 50 até 100.
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 10 / 35
Comando while
// Exemplo 2: de 50 a 100.
const int MAX = 100;
int x = 50;
while (x <= MAX) {
printf("%d ", x);
x++;
}
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 11 / 35
Comando while
Exemplo 3. Escreva um programa que imprima
os números pares de 2 a 100. (código no lab)
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 12 / 35
Comando while
Exemplo 4. Faça um programa para escrever a
contagem regressiva do lançamento de um
foguete. O programa deve imprimir 10,9,...,1,0,
e “Lançar!”, na tela.
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 13 / 35
Comando while
// Exemplo 4: Lançamento de foguete.
const int MIN = 0;
int y = 10;
while (y >= MIN) {
printf("%d n", y);
y--; // y = y - 1;
}
printf(" Lançar!n");
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 14 / 35
Comando while
Exemplo 5. Faça um programa para escrever os
números inteiro de 1 até um valor fornecido pelo
usuário.
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 15 / 35
Comando while
# Exemplo 5: De 1 até n.
printf("Digite o último número:");
scanf("%d", &fim);
int x = 1;
while (x <= fim) {
printf("%d n", x);
x++;
}
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 16 / 35
Contadores
Uma operação do tipo x = x + k (onde x é uma
variável e k é um valor numérico) dentro de um
while, serve para contar quantas vezes
determinada tarefa será realizada.
Esse tipo de variável é chamada de contador.
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 17 / 35
Contadores
Uma operação do tipo x = x + k (onde x é uma
variável e k é um valor numérico) dentro de um
while, serve para contar quantas vezes
determinada tarefa será realizada.
Esse tipo de variável é chamada de contador.
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 17 / 35
Condição de parada
A condição de parada de um repetição, é o
conjunto de valores que a expressão lógica da
repetição deve assumir para que a repetição
termine.
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 18 / 35
Condição de parada
A condição de parada de um repetição, é o
conjunto de valores que a expressão lógica da
repetição deve assumir para que a repetição
termine.
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 18 / 35
Condição de parada
A condição de parada de um repetição, é o
conjunto de valores que a expressão lógica da
repetição deve assumir para que a repetição
termine.
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 18 / 35
Condição de parada
A condição de parada de um repetição deve ser
tratada: (1) antes de se entrar na repetição, e (2)
dentro do seu bloco de comandos.
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 19 / 35
Condição de parada
A condição de parada de um repetição deve ser
tratada: (1) antes de se entrar na repetição, e (2)
dentro do seu bloco de comandos.
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 19 / 35
Condição de parada
Um loop infinito ocorre quando a condição de
parada nunca é alcançada.
// Loop infinito 1
int x = 1;
while (x <= 10) {
printf("%d n", x);
x--;
}
// x > 10 nunca será alcançado!
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 20 / 35
Condição de parada
Um loop infinito ocorre quando a condição de
parada nunca é alcançada.
// Loop infinito 1
int x = 1;
while (x <= 10) {
printf("%d n", x);
x--;
}
// x > 10 nunca será alcançado!
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 20 / 35
Condição de parada
Um loop infinito ocorre quando a condição de
parada nunca é alcançada.
// Loop infinito 2
int x = 1;
while (1) {
printf("%d n", x);
x++;
}
// x não tem limnite!
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 21 / 35
Condição de parada
// Loop infinito tratado
int x = 1;
while (1) {
printf("%d n", x);
if (x == 10)
break;
x++;
}
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 22 / 35
Comando do-while
O do-while executa um bloco de comandos
uma ou mais vezes, dependendo da avaliação de
uma expressão lógica.
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 23 / 35
Comando do-while
do {
. . . . bloco de comandos
} while (expressão-lógica);
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 24 / 35
Comando do-while
Bloco de
comandos
expr-lógica
Verdadeiro
Falso
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 25 / 35
Comando for
O for executa um bloco de comandos um
número específico de vezes.
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 26 / 35
Comando for
for (inicia; expr-parada; expr-incr){
. . . . bloco de comandos
}
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 27 / 35
Comando for
Bloco de
comandos
expr-lógica
Verdadeiro
Falso
Inicia
Incremento
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 28 / 35
Exercícios
1) Escreva um programa que determine qual o
valor inteiro máximo de uma sequência de
números fornecidos por um usuário. O usuário
deve informar quantos números irá fornecer.
2) Modifique o problema anterior para determinar
também o valor inteiro mínimo da sequência de
números fornecidos pelo usuário.
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 29 / 35
Exercícios
1) Escreva um programa que determine qual o
valor inteiro máximo de uma sequência de
números fornecidos por um usuário. O usuário
deve informar quantos números irá fornecer.
2) Modifique o problema anterior para determinar
também o valor inteiro mínimo da sequência de
números fornecidos pelo usuário.
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 29 / 35
Exercícios
3) Modifique o problema anterior para que, em
lugar do usuário informar quantos números irá
fornecer, o programa pergunte ao usuário se
deseja ou não fornecer mais um número inteiro.
Se a resposta for ‘s’ (sim) o programa lê o
próximo número. Caso contrário (resposta ‘n’), o
programa termina.
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 30 / 35
Exercícios
4) Escreva um programa que imprima na tela
1,1 1,2 1,3 1,4 1,5 1,6
2,1 2,2 2,3 2,4 2,5 2,6
3,1 3,2 3,3 3,4 3,5 3,6
4,1 4,2 4,3 4,4 4,5 4,6
5,1 5,2 5,3 5,4 5,5 5,6.
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 31 / 35
Exercícios
5) Escreva um programa que imprima na tela
1,1 1,2 1,3 ... 1,n
2,1 2,2 2,3 ... 2,n
.
.
. .
.
. .
.
. ... .
.
.
m,1 m,2 m,3 ... m,n
onde n,m são inteiros positivos informados por
um usuário.
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 32 / 35
Exercícios
6) Escreva um programa que simule a emissão de
dinheiro de uma máquina de caixa eletrônico.
Para um valor em dinheiro solicitado pelo cliente,
o programa deve mostrar na tela quais cédulas (de
100, 50, 20, 10, 5, 2, e 1) e quantas de cada,
devem ser ejetadas pela máquina. Considere que a
máquina tentará selecionar as cédulas em ordem
decrescente (das maiores para as menores
cédulas), e que o valor informado pelo usuário é
inteiro.
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 33 / 35
Bibliografia
Stephen G. Kochan. Programming in C. Addison-Wesley Professional:
4th edition, 2014.
Luis Damas. Linguagem C. 10a Edição. LTC Editora. 2006.
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 34 / 35
Onde obter este material:
sites.google.com/a/uea.edu.br/fcoelho
Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 35 / 35

Mais conteúdo relacionado

Semelhante a PCA - Aula4 de programação - Estruturas repeticao.pdf

Estrutura de linguagem C++
Estrutura de linguagem C++Estrutura de linguagem C++
Estrutura de linguagem C++Verônica Veiga
 
Estrutura de Dados - Características da linguagem C - 2
Estrutura de Dados - Características da linguagem C - 2Estrutura de Dados - Características da linguagem C - 2
Estrutura de Dados - Características da linguagem C - 2Adriano Teixeira de Souza
 
Tecnicas programacao i_c_p2
Tecnicas programacao i_c_p2Tecnicas programacao i_c_p2
Tecnicas programacao i_c_p2
D M
 
Introdução à programação embarcada
Introdução à programação embarcadaIntrodução à programação embarcada
Introdução à programação embarcada
Rodrigo Almeida
 
Aula3
Aula3Aula3
Aula3
fkimura
 
Aula 8 - Repetição PARA ATÉ - parte 1
Aula 8 - Repetição PARA ATÉ - parte 1Aula 8 - Repetição PARA ATÉ - parte 1
Aula 8 - Repetição PARA ATÉ - parte 1Pacc UAB
 
Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)111111119
 
Aula 7 - Repetição enquanto - parte 1
Aula 7 - Repetição enquanto - parte 1Aula 7 - Repetição enquanto - parte 1
Aula 7 - Repetição enquanto - parte 1Pacc UAB
 
Aula 1 | Introdução a C++
Aula 1 | Introdução a C++Aula 1 | Introdução a C++
Aula 1 | Introdução a C++
Henry Raúl González Brito
 
15080590 aula6-estrutura-de-repeticao
15080590 aula6-estrutura-de-repeticao15080590 aula6-estrutura-de-repeticao
15080590 aula6-estrutura-de-repeticao
Lee Aragão
 
Treinamento de comandos Unix e Linux
Treinamento de comandos Unix e LinuxTreinamento de comandos Unix e Linux
Treinamento de comandos Unix e Linux
Cid de Andrade
 
Atividade programação script 4
Atividade programação script 4Atividade programação script 4
Atividade programação script 4
Rtec Informatica
 
Análise de Disco, I/O e Processamento
Análise de Disco, I/O e ProcessamentoAnálise de Disco, I/O e Processamento
Análise de Disco, I/O e ProcessamentoJohnnatan Messias
 
Aula 2 - Programação 1
Aula 2 - Programação 1Aula 2 - Programação 1
Aula 2 - Programação 1
Isaac Barros
 
Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Adriano Teixeira de Souza
 

Semelhante a PCA - Aula4 de programação - Estruturas repeticao.pdf (20)

Estrutura de linguagem C++
Estrutura de linguagem C++Estrutura de linguagem C++
Estrutura de linguagem C++
 
Estrutura de Dados - Características da linguagem C - 2
Estrutura de Dados - Características da linguagem C - 2Estrutura de Dados - Características da linguagem C - 2
Estrutura de Dados - Características da linguagem C - 2
 
Aula2
Aula2Aula2
Aula2
 
Tecnicas programacao i_c_p2
Tecnicas programacao i_c_p2Tecnicas programacao i_c_p2
Tecnicas programacao i_c_p2
 
Introdução à programação embarcada
Introdução à programação embarcadaIntrodução à programação embarcada
Introdução à programação embarcada
 
Algoritmos Aula 08
Algoritmos Aula 08Algoritmos Aula 08
Algoritmos Aula 08
 
Aula3
Aula3Aula3
Aula3
 
Aula 8 - Repetição PARA ATÉ - parte 1
Aula 8 - Repetição PARA ATÉ - parte 1Aula 8 - Repetição PARA ATÉ - parte 1
Aula 8 - Repetição PARA ATÉ - parte 1
 
Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)
 
02 while
02 while02 while
02 while
 
Aula 7 - Repetição enquanto - parte 1
Aula 7 - Repetição enquanto - parte 1Aula 7 - Repetição enquanto - parte 1
Aula 7 - Repetição enquanto - parte 1
 
Aula 1 | Introdução a C++
Aula 1 | Introdução a C++Aula 1 | Introdução a C++
Aula 1 | Introdução a C++
 
15080590 aula6-estrutura-de-repeticao
15080590 aula6-estrutura-de-repeticao15080590 aula6-estrutura-de-repeticao
15080590 aula6-estrutura-de-repeticao
 
Treinamento de comandos Unix e Linux
Treinamento de comandos Unix e LinuxTreinamento de comandos Unix e Linux
Treinamento de comandos Unix e Linux
 
Treinacom
TreinacomTreinacom
Treinacom
 
Atividade programação script 4
Atividade programação script 4Atividade programação script 4
Atividade programação script 4
 
Cap.1.3 medidas desempenho
Cap.1.3 medidas desempenhoCap.1.3 medidas desempenho
Cap.1.3 medidas desempenho
 
Análise de Disco, I/O e Processamento
Análise de Disco, I/O e ProcessamentoAnálise de Disco, I/O e Processamento
Análise de Disco, I/O e Processamento
 
Aula 2 - Programação 1
Aula 2 - Programação 1Aula 2 - Programação 1
Aula 2 - Programação 1
 
Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)
 

Mais de jucimarengenh

Capitulo1ControleAulaCleto.inrroducqopdf
Capitulo1ControleAulaCleto.inrroducqopdfCapitulo1ControleAulaCleto.inrroducqopdf
Capitulo1ControleAulaCleto.inrroducqopdf
jucimarengenh
 
aula12TeoriadaFalhas Mecanicq dos solidos.pdf
aula12TeoriadaFalhas Mecanicq dos solidos.pdfaula12TeoriadaFalhas Mecanicq dos solidos.pdf
aula12TeoriadaFalhas Mecanicq dos solidos.pdf
jucimarengenh
 
Aula 10 - Site - Mec sol Círculo de Mohr.pdf
Aula 10 - Site - Mec sol Círculo de Mohr.pdfAula 10 - Site - Mec sol Círculo de Mohr.pdf
Aula 10 - Site - Mec sol Círculo de Mohr.pdf
jucimarengenh
 
capítulo12 nota fabricação de compositos.pdf
capítulo12 nota fabricação de compositos.pdfcapítulo12 nota fabricação de compositos.pdf
capítulo12 nota fabricação de compositos.pdf
jucimarengenh
 
aula-7sobre tipos de-grafos-eulerianos.pdf
aula-7sobre tipos de-grafos-eulerianos.pdfaula-7sobre tipos de-grafos-eulerianos.pdf
aula-7sobre tipos de-grafos-eulerianos.pdf
jucimarengenh
 
Aula 4 Capacidade Cargas Fund Diretas(1).pdf
Aula 4 Capacidade Cargas Fund Diretas(1).pdfAula 4 Capacidade Cargas Fund Diretas(1).pdf
Aula 4 Capacidade Cargas Fund Diretas(1).pdf
jucimarengenh
 
capítulo de manufatura usinagem hk10.pdf
capítulo de manufatura usinagem hk10.pdfcapítulo de manufatura usinagem hk10.pdf
capítulo de manufatura usinagem hk10.pdf
jucimarengenh
 
Capítulo 13 manufaturatipos de manuf.pdf
Capítulo 13 manufaturatipos de manuf.pdfCapítulo 13 manufaturatipos de manuf.pdf
Capítulo 13 manufaturatipos de manuf.pdf
jucimarengenh
 
aula01Controle_2024_1_nintroduca seo.pdf
aula01Controle_2024_1_nintroduca seo.pdfaula01Controle_2024_1_nintroduca seo.pdf
aula01Controle_2024_1_nintroduca seo.pdf
jucimarengenh
 
AulaPReparaFMmMathfundacaomatgiasmachline.pdf
AulaPReparaFMmMathfundacaomatgiasmachline.pdfAulaPReparaFMmMathfundacaomatgiasmachline.pdf
AulaPReparaFMmMathfundacaomatgiasmachline.pdf
jucimarengenh
 
aula01_eulercircuitoseletricosI_Eulerckt.pdf
aula01_eulercircuitoseletricosI_Eulerckt.pdfaula01_eulercircuitoseletricosI_Eulerckt.pdf
aula01_eulercircuitoseletricosI_Eulerckt.pdf
jucimarengenh
 
apostila Tecnicas_de_Construcao_Civil.pdf
apostila Tecnicas_de_Construcao_Civil.pdfapostila Tecnicas_de_Construcao_Civil.pdf
apostila Tecnicas_de_Construcao_Civil.pdf
jucimarengenh
 
tese175.pdf
tese175.pdftese175.pdf
tese175.pdf
jucimarengenh
 
Livro - Fundamentos do Concreto Protendido.pdf
Livro - Fundamentos do Concreto Protendido.pdfLivro - Fundamentos do Concreto Protendido.pdf
Livro - Fundamentos do Concreto Protendido.pdf
jucimarengenh
 
Concreto_Protendido_Fundamentos_Basicos.pdf
Concreto_Protendido_Fundamentos_Basicos.pdfConcreto_Protendido_Fundamentos_Basicos.pdf
Concreto_Protendido_Fundamentos_Basicos.pdf
jucimarengenh
 

Mais de jucimarengenh (15)

Capitulo1ControleAulaCleto.inrroducqopdf
Capitulo1ControleAulaCleto.inrroducqopdfCapitulo1ControleAulaCleto.inrroducqopdf
Capitulo1ControleAulaCleto.inrroducqopdf
 
aula12TeoriadaFalhas Mecanicq dos solidos.pdf
aula12TeoriadaFalhas Mecanicq dos solidos.pdfaula12TeoriadaFalhas Mecanicq dos solidos.pdf
aula12TeoriadaFalhas Mecanicq dos solidos.pdf
 
Aula 10 - Site - Mec sol Círculo de Mohr.pdf
Aula 10 - Site - Mec sol Círculo de Mohr.pdfAula 10 - Site - Mec sol Círculo de Mohr.pdf
Aula 10 - Site - Mec sol Círculo de Mohr.pdf
 
capítulo12 nota fabricação de compositos.pdf
capítulo12 nota fabricação de compositos.pdfcapítulo12 nota fabricação de compositos.pdf
capítulo12 nota fabricação de compositos.pdf
 
aula-7sobre tipos de-grafos-eulerianos.pdf
aula-7sobre tipos de-grafos-eulerianos.pdfaula-7sobre tipos de-grafos-eulerianos.pdf
aula-7sobre tipos de-grafos-eulerianos.pdf
 
Aula 4 Capacidade Cargas Fund Diretas(1).pdf
Aula 4 Capacidade Cargas Fund Diretas(1).pdfAula 4 Capacidade Cargas Fund Diretas(1).pdf
Aula 4 Capacidade Cargas Fund Diretas(1).pdf
 
capítulo de manufatura usinagem hk10.pdf
capítulo de manufatura usinagem hk10.pdfcapítulo de manufatura usinagem hk10.pdf
capítulo de manufatura usinagem hk10.pdf
 
Capítulo 13 manufaturatipos de manuf.pdf
Capítulo 13 manufaturatipos de manuf.pdfCapítulo 13 manufaturatipos de manuf.pdf
Capítulo 13 manufaturatipos de manuf.pdf
 
aula01Controle_2024_1_nintroduca seo.pdf
aula01Controle_2024_1_nintroduca seo.pdfaula01Controle_2024_1_nintroduca seo.pdf
aula01Controle_2024_1_nintroduca seo.pdf
 
AulaPReparaFMmMathfundacaomatgiasmachline.pdf
AulaPReparaFMmMathfundacaomatgiasmachline.pdfAulaPReparaFMmMathfundacaomatgiasmachline.pdf
AulaPReparaFMmMathfundacaomatgiasmachline.pdf
 
aula01_eulercircuitoseletricosI_Eulerckt.pdf
aula01_eulercircuitoseletricosI_Eulerckt.pdfaula01_eulercircuitoseletricosI_Eulerckt.pdf
aula01_eulercircuitoseletricosI_Eulerckt.pdf
 
apostila Tecnicas_de_Construcao_Civil.pdf
apostila Tecnicas_de_Construcao_Civil.pdfapostila Tecnicas_de_Construcao_Civil.pdf
apostila Tecnicas_de_Construcao_Civil.pdf
 
tese175.pdf
tese175.pdftese175.pdf
tese175.pdf
 
Livro - Fundamentos do Concreto Protendido.pdf
Livro - Fundamentos do Concreto Protendido.pdfLivro - Fundamentos do Concreto Protendido.pdf
Livro - Fundamentos do Concreto Protendido.pdf
 
Concreto_Protendido_Fundamentos_Basicos.pdf
Concreto_Protendido_Fundamentos_Basicos.pdfConcreto_Protendido_Fundamentos_Basicos.pdf
Concreto_Protendido_Fundamentos_Basicos.pdf
 

Último

AE02 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
AE02 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...AE02 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
AE02 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
Consultoria Acadêmica
 
CONCEITOS DE MANUTENÇÃO MECÂNICAS AUTOMOTIVA
CONCEITOS DE MANUTENÇÃO MECÂNICAS AUTOMOTIVACONCEITOS DE MANUTENÇÃO MECÂNICAS AUTOMOTIVA
CONCEITOS DE MANUTENÇÃO MECÂNICAS AUTOMOTIVA
JairGaldino4
 
Aula_LUBRIFICAÇÃO_INDUSTRIAL AUTOMOTIVA_
Aula_LUBRIFICAÇÃO_INDUSTRIAL AUTOMOTIVA_Aula_LUBRIFICAÇÃO_INDUSTRIAL AUTOMOTIVA_
Aula_LUBRIFICAÇÃO_INDUSTRIAL AUTOMOTIVA_
JairGaldino4
 
AULA - ELEMENTOS DE VEDAÇÃO MECÂNICA....
AULA - ELEMENTOS DE VEDAÇÃO MECÂNICA....AULA - ELEMENTOS DE VEDAÇÃO MECÂNICA....
AULA - ELEMENTOS DE VEDAÇÃO MECÂNICA....
JairGaldino4
 
slides Seminário Transição Energética.pptx
slides  Seminário Transição Energética.pptxslides  Seminário Transição Energética.pptx
slides Seminário Transição Energética.pptx
Izaliver
 
AULA 01 - Completa de Lubrificação______
AULA 01 - Completa de Lubrificação______AULA 01 - Completa de Lubrificação______
AULA 01 - Completa de Lubrificação______
JairGaldino4
 
Presentación en Power point. Capítulo 5 - Bombas de água.pdf
Presentación en Power point. Capítulo 5 - Bombas de água.pdfPresentación en Power point. Capítulo 5 - Bombas de água.pdf
Presentación en Power point. Capítulo 5 - Bombas de água.pdf
DanielMangoldNieves
 
INSTRUÇÃO TÉcnica N° 3 - NEOENERGIA BRASILIA .pdf
INSTRUÇÃO TÉcnica N° 3 - NEOENERGIA BRASILIA .pdfINSTRUÇÃO TÉcnica N° 3 - NEOENERGIA BRASILIA .pdf
INSTRUÇÃO TÉcnica N° 3 - NEOENERGIA BRASILIA .pdf
marcyomendona
 
Experiência da EDP na monitorização de vibrações de grupos hídricos
Experiência da EDP na monitorização de vibrações de grupos  hídricosExperiência da EDP na monitorização de vibrações de grupos  hídricos
Experiência da EDP na monitorização de vibrações de grupos hídricos
CarlosAroeira1
 
Circuitos Elétricos I. Excitação Senoidal, fasores, impedância e admitância.pdf
Circuitos Elétricos I. Excitação Senoidal, fasores, impedância e admitância.pdfCircuitos Elétricos I. Excitação Senoidal, fasores, impedância e admitância.pdf
Circuitos Elétricos I. Excitação Senoidal, fasores, impedância e admitância.pdf
JrBennitoBennito
 
Manual de Instalação para Placa Proteco Q60A
Manual de Instalação para Placa Proteco Q60AManual de Instalação para Placa Proteco Q60A
Manual de Instalação para Placa Proteco Q60A
Tronicline Automatismos
 
ENEM 2023 - Prova Azul (1º dia).PDF. questoes
ENEM 2023 - Prova Azul (1º dia).PDF. questoesENEM 2023 - Prova Azul (1º dia).PDF. questoes
ENEM 2023 - Prova Azul (1º dia).PDF. questoes
liviafernandesft0807
 
Taxa de frequência e gravidade de acidentes..ppt
Taxa de frequência e gravidade de acidentes..pptTaxa de frequência e gravidade de acidentes..ppt
Taxa de frequência e gravidade de acidentes..ppt
andreluisantonowiski
 

Último (13)

AE02 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
AE02 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...AE02 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
AE02 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
 
CONCEITOS DE MANUTENÇÃO MECÂNICAS AUTOMOTIVA
CONCEITOS DE MANUTENÇÃO MECÂNICAS AUTOMOTIVACONCEITOS DE MANUTENÇÃO MECÂNICAS AUTOMOTIVA
CONCEITOS DE MANUTENÇÃO MECÂNICAS AUTOMOTIVA
 
Aula_LUBRIFICAÇÃO_INDUSTRIAL AUTOMOTIVA_
Aula_LUBRIFICAÇÃO_INDUSTRIAL AUTOMOTIVA_Aula_LUBRIFICAÇÃO_INDUSTRIAL AUTOMOTIVA_
Aula_LUBRIFICAÇÃO_INDUSTRIAL AUTOMOTIVA_
 
AULA - ELEMENTOS DE VEDAÇÃO MECÂNICA....
AULA - ELEMENTOS DE VEDAÇÃO MECÂNICA....AULA - ELEMENTOS DE VEDAÇÃO MECÂNICA....
AULA - ELEMENTOS DE VEDAÇÃO MECÂNICA....
 
slides Seminário Transição Energética.pptx
slides  Seminário Transição Energética.pptxslides  Seminário Transição Energética.pptx
slides Seminário Transição Energética.pptx
 
AULA 01 - Completa de Lubrificação______
AULA 01 - Completa de Lubrificação______AULA 01 - Completa de Lubrificação______
AULA 01 - Completa de Lubrificação______
 
Presentación en Power point. Capítulo 5 - Bombas de água.pdf
Presentación en Power point. Capítulo 5 - Bombas de água.pdfPresentación en Power point. Capítulo 5 - Bombas de água.pdf
Presentación en Power point. Capítulo 5 - Bombas de água.pdf
 
INSTRUÇÃO TÉcnica N° 3 - NEOENERGIA BRASILIA .pdf
INSTRUÇÃO TÉcnica N° 3 - NEOENERGIA BRASILIA .pdfINSTRUÇÃO TÉcnica N° 3 - NEOENERGIA BRASILIA .pdf
INSTRUÇÃO TÉcnica N° 3 - NEOENERGIA BRASILIA .pdf
 
Experiência da EDP na monitorização de vibrações de grupos hídricos
Experiência da EDP na monitorização de vibrações de grupos  hídricosExperiência da EDP na monitorização de vibrações de grupos  hídricos
Experiência da EDP na monitorização de vibrações de grupos hídricos
 
Circuitos Elétricos I. Excitação Senoidal, fasores, impedância e admitância.pdf
Circuitos Elétricos I. Excitação Senoidal, fasores, impedância e admitância.pdfCircuitos Elétricos I. Excitação Senoidal, fasores, impedância e admitância.pdf
Circuitos Elétricos I. Excitação Senoidal, fasores, impedância e admitância.pdf
 
Manual de Instalação para Placa Proteco Q60A
Manual de Instalação para Placa Proteco Q60AManual de Instalação para Placa Proteco Q60A
Manual de Instalação para Placa Proteco Q60A
 
ENEM 2023 - Prova Azul (1º dia).PDF. questoes
ENEM 2023 - Prova Azul (1º dia).PDF. questoesENEM 2023 - Prova Azul (1º dia).PDF. questoes
ENEM 2023 - Prova Azul (1º dia).PDF. questoes
 
Taxa de frequência e gravidade de acidentes..ppt
Taxa de frequência e gravidade de acidentes..pptTaxa de frequência e gravidade de acidentes..ppt
Taxa de frequência e gravidade de acidentes..ppt
 

PCA - Aula4 de programação - Estruturas repeticao.pdf

  • 1. Programação de Computadores e Algoritmos Estruturas de repetição em C Prof. Flávio José M. Coelho fcoelho@uea.edu.br
  • 2. Plano de aula 1. Estruturas de repetição 2. Comando while 3. Comando do-while 4. Comando for 5. Repetições aninhadas Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 2 / 35
  • 3. Estruturas de repetição Uma estrutura de repetição (iteração) executa a repetiçao de uma parte de um programa, nenhuma, uma ou mais vezes. Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 3 / 35
  • 4. Estruturas de repetição Três comandos de repetição em C: I while (enquanto) I do-while (repita-enquanto) I for (para) Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 4 / 35
  • 5. Comando while O while executa um bloco de comandos nenhuma, uma ou mais vezes, dependendo da avaliação de uma expressão lógica. Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 5 / 35
  • 6. Comando while while (expressão-lógica) { . . . . bloco de comandos } Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 6 / 35
  • 7. Comando while Bloco de comandos expr-lógica Verdadeiro Falso while Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 7 / 35
  • 8. Comando while Exemplo 1. Escreva um programa que imprima os números inteiros de 1 até 100. Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 8 / 35
  • 9. Comando while // Exemplo 1: de 1 a 100. int c = 1; while (c <= 100) { printf("%d ", c); c = c + 1; } Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 9 / 35
  • 10. Comando while Exemplo 2. Escreva um programa que imprima os números inteiros de 50 até 100. Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 10 / 35
  • 11. Comando while // Exemplo 2: de 50 a 100. const int MAX = 100; int x = 50; while (x <= MAX) { printf("%d ", x); x++; } Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 11 / 35
  • 12. Comando while Exemplo 3. Escreva um programa que imprima os números pares de 2 a 100. (código no lab) Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 12 / 35
  • 13. Comando while Exemplo 4. Faça um programa para escrever a contagem regressiva do lançamento de um foguete. O programa deve imprimir 10,9,...,1,0, e “Lançar!”, na tela. Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 13 / 35
  • 14. Comando while // Exemplo 4: Lançamento de foguete. const int MIN = 0; int y = 10; while (y >= MIN) { printf("%d n", y); y--; // y = y - 1; } printf(" Lançar!n"); Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 14 / 35
  • 15. Comando while Exemplo 5. Faça um programa para escrever os números inteiro de 1 até um valor fornecido pelo usuário. Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 15 / 35
  • 16. Comando while # Exemplo 5: De 1 até n. printf("Digite o último número:"); scanf("%d", &fim); int x = 1; while (x <= fim) { printf("%d n", x); x++; } Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 16 / 35
  • 17. Contadores Uma operação do tipo x = x + k (onde x é uma variável e k é um valor numérico) dentro de um while, serve para contar quantas vezes determinada tarefa será realizada. Esse tipo de variável é chamada de contador. Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 17 / 35
  • 18. Contadores Uma operação do tipo x = x + k (onde x é uma variável e k é um valor numérico) dentro de um while, serve para contar quantas vezes determinada tarefa será realizada. Esse tipo de variável é chamada de contador. Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 17 / 35
  • 19. Condição de parada A condição de parada de um repetição, é o conjunto de valores que a expressão lógica da repetição deve assumir para que a repetição termine. Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 18 / 35
  • 20. Condição de parada A condição de parada de um repetição, é o conjunto de valores que a expressão lógica da repetição deve assumir para que a repetição termine. Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 18 / 35
  • 21. Condição de parada A condição de parada de um repetição, é o conjunto de valores que a expressão lógica da repetição deve assumir para que a repetição termine. Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 18 / 35
  • 22. Condição de parada A condição de parada de um repetição deve ser tratada: (1) antes de se entrar na repetição, e (2) dentro do seu bloco de comandos. Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 19 / 35
  • 23. Condição de parada A condição de parada de um repetição deve ser tratada: (1) antes de se entrar na repetição, e (2) dentro do seu bloco de comandos. Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 19 / 35
  • 24. Condição de parada Um loop infinito ocorre quando a condição de parada nunca é alcançada. // Loop infinito 1 int x = 1; while (x <= 10) { printf("%d n", x); x--; } // x > 10 nunca será alcançado! Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 20 / 35
  • 25. Condição de parada Um loop infinito ocorre quando a condição de parada nunca é alcançada. // Loop infinito 1 int x = 1; while (x <= 10) { printf("%d n", x); x--; } // x > 10 nunca será alcançado! Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 20 / 35
  • 26. Condição de parada Um loop infinito ocorre quando a condição de parada nunca é alcançada. // Loop infinito 2 int x = 1; while (1) { printf("%d n", x); x++; } // x não tem limnite! Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 21 / 35
  • 27. Condição de parada // Loop infinito tratado int x = 1; while (1) { printf("%d n", x); if (x == 10) break; x++; } Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 22 / 35
  • 28. Comando do-while O do-while executa um bloco de comandos uma ou mais vezes, dependendo da avaliação de uma expressão lógica. Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 23 / 35
  • 29. Comando do-while do { . . . . bloco de comandos } while (expressão-lógica); Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 24 / 35
  • 30. Comando do-while Bloco de comandos expr-lógica Verdadeiro Falso Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 25 / 35
  • 31. Comando for O for executa um bloco de comandos um número específico de vezes. Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 26 / 35
  • 32. Comando for for (inicia; expr-parada; expr-incr){ . . . . bloco de comandos } Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 27 / 35
  • 33. Comando for Bloco de comandos expr-lógica Verdadeiro Falso Inicia Incremento Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 28 / 35
  • 34. Exercícios 1) Escreva um programa que determine qual o valor inteiro máximo de uma sequência de números fornecidos por um usuário. O usuário deve informar quantos números irá fornecer. 2) Modifique o problema anterior para determinar também o valor inteiro mínimo da sequência de números fornecidos pelo usuário. Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 29 / 35
  • 35. Exercícios 1) Escreva um programa que determine qual o valor inteiro máximo de uma sequência de números fornecidos por um usuário. O usuário deve informar quantos números irá fornecer. 2) Modifique o problema anterior para determinar também o valor inteiro mínimo da sequência de números fornecidos pelo usuário. Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 29 / 35
  • 36. Exercícios 3) Modifique o problema anterior para que, em lugar do usuário informar quantos números irá fornecer, o programa pergunte ao usuário se deseja ou não fornecer mais um número inteiro. Se a resposta for ‘s’ (sim) o programa lê o próximo número. Caso contrário (resposta ‘n’), o programa termina. Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 30 / 35
  • 37. Exercícios 4) Escreva um programa que imprima na tela 1,1 1,2 1,3 1,4 1,5 1,6 2,1 2,2 2,3 2,4 2,5 2,6 3,1 3,2 3,3 3,4 3,5 3,6 4,1 4,2 4,3 4,4 4,5 4,6 5,1 5,2 5,3 5,4 5,5 5,6. Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 31 / 35
  • 38. Exercícios 5) Escreva um programa que imprima na tela 1,1 1,2 1,3 ... 1,n 2,1 2,2 2,3 ... 2,n . . . . . . . . . ... . . . m,1 m,2 m,3 ... m,n onde n,m são inteiros positivos informados por um usuário. Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 32 / 35
  • 39. Exercícios 6) Escreva um programa que simule a emissão de dinheiro de uma máquina de caixa eletrônico. Para um valor em dinheiro solicitado pelo cliente, o programa deve mostrar na tela quais cédulas (de 100, 50, 20, 10, 5, 2, e 1) e quantas de cada, devem ser ejetadas pela máquina. Considere que a máquina tentará selecionar as cédulas em ordem decrescente (das maiores para as menores cédulas), e que o valor informado pelo usuário é inteiro. Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 33 / 35
  • 40. Bibliografia Stephen G. Kochan. Programming in C. Addison-Wesley Professional: 4th edition, 2014. Luis Damas. Linguagem C. 10a Edição. LTC Editora. 2006. Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 34 / 35
  • 41. Onde obter este material: sites.google.com/a/uea.edu.br/fcoelho Flávio José Mendes Coelho (UEA/EST) Programação de Computadores e Algoritmos Núcleo de Computação 35 / 35