SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
Algoritmos e Estruturas de Dados
Prof. M.Sc. Carlos Bezerra
algoritmos@carlosbezerra.com
Linguagem C
Linguagem C
- Estruturas de Controle -
- Estruturas de Controle -
 Estruturas Condicionais ou de Seleção
Estruturas Condicionais ou de Seleção
 Simples
Simples
 Composta
Composta
 Múltipla escolha
Múltipla escolha
 Estruturas de Repetição
Estruturas de Repetição
 Por condição no início
Por condição no início
 Por condição no fim
Por condição no fim
 Por contagem
Por contagem
Estruturas de Controle
Estruturas de Controle
 Realizam a execução de um conjunto de
Realizam a execução de um conjunto de
comandos de acordo com o
comandos de acordo com o valor de uma
valor de uma
expressão
expressão.
.
 Servem para
Servem para alterar o fluxo
alterar o fluxo de execução de um
de execução de um
programa baseado no valor, verdadeiro ou falso,
programa baseado no valor, verdadeiro ou falso,
de uma expressão lógica.
de uma expressão lógica.
Estrutura Condicional ou de Seleção
Estrutura Condicional ou de Seleção
if
if (<expressão>)
(<expressão>)
{
{
<comandos>
<comandos>
}
}
20
Estrutura Condicional Simples
Estrutura Condicional Simples
:: Comando
:: Comando if
if
 Na linguagem C, a estrutura
Na linguagem C, a estrutura condicional
condicional
simples
simples possui a seguinte sintaxe:
possui a seguinte sintaxe:
if
if (<expressão>)
(<expressão>)
{
{
<comandos>
<comandos>
}
}
else
else
{
{
<comandos>
<comandos>
}
}
21
Estrutura Condicional Composta
Estrutura Condicional Composta
:: Comando
:: Comando if-else
if-else
 Na linguagem C, a estrutura
Na linguagem C, a estrutura condicional
condicional
composta
composta possui a seguinte sintaxe:
possui a seguinte sintaxe:
if (<expressão>)
{
if (<expressão>)
{
<comandos1>
}
else
{
<comandos2>
}
}
else
{
if (<expressão>)
{
<comandos3>
}
else
{
<comandos4>
}
} 23
22
Estrutura Condicional Composta
Estrutura Condicional Composta
:: Comando
:: Comando if-else
if-else
 Quando temos estruturas condicionais presentes
Quando temos estruturas condicionais presentes
em blocos de comandos de outras estruturas
em blocos de comandos de outras estruturas
condicionais, chamamos de estruturas
condicionais, chamamos de estruturas aninhadas
aninhadas
ou
ou encadeadas
encadeadas:
:
x = 2;
if (x < 2)
if (x >= -3)
printf("n x está entre [-3;1]");
else printf("x é maior que 1");
24
x = 2;
if (x < 2)
{
if (x >= -3)
printf("n x está entre [-3;1]");
}
else printf("x é maior que 1");
Estrutura Condicional Composta
Estrutura Condicional Composta
:: Comando
:: Comando if-else
if-else
 Ambigüidade:
Ambigüidade: na falta de chaves, a linguagem C
na falta de chaves, a linguagem C
associa o
associa o else
else sempre ao último
sempre ao último if
if.
.
 Portanto, para que a construção funcione como
Portanto, para que a construção funcione como
desejado, pode-se resolver o problema usando
desejado, pode-se resolver o problema usando
bloco.
bloco.
 O operador ternário
O operador ternário ?
? possui a seguinte sintaxe:
possui a seguinte sintaxe:
 Exp1
Exp1 é avaliada:
é avaliada:
 Se for
Se for verdadeira
verdadeira,
, Exp2
Exp2 é avaliada se torna o seu valor
é avaliada se torna o seu valor
da instrução.
da instrução.
 Se for
Se for falsa
falsa,
, Exp3
Exp3 é avaliada se torna o seu valor da
é avaliada se torna o seu valor da
instrução.
instrução.
Exp1
Exp1 ?
? Exp2
Exp2 :
: Exp3;
Exp3;
25
Operador Condicional:
Operador Condicional: ?
?
Operador Condicional:
Operador Condicional: ?
?
 Equivale ao seguinte código
Equivale ao seguinte código if-else
if-else:
:
26
if
if (Exp1)
(Exp1)
Exp2;
Exp2;
else
else
Exp3;
Exp3;
Exp1
Exp1 ?
? Exp2
Exp2 :
: Exp3;
Exp3;
ex01
 Considere um par de valores
Considere um par de valores (x, y)
(x, y)
 Eles representam as coordenadas de um
Eles representam as coordenadas de um
ponto no plano
ponto no plano
 Determinar:
Determinar:
 o quadrante ao qual pertence o ponto, ou
o quadrante ao qual pertence o ponto, ou
 se está sobre um dos eixos cartesianos
se está sobre um dos eixos cartesianos
Exercício
Exercício
switch
switch (<expressão_ou_valor>)
(<expressão_ou_valor>)
{
{
case
case Constante1:
Constante1:
<comandos1>
<comandos1>
break
break;
;
case
case Constante2:
Constante2:
<comandos2>
<comandos2>
break
break;
;
...
...
default
default:
:
<comandosN>
<comandosN>
}
}
Estrutura Condicional de Múltipla Escolha
Estrutura Condicional de Múltipla Escolha
:: Comando
:: Comando switch-case
switch-case
 Instrução de seleção de múltipla escolha
Instrução de seleção de múltipla escolha
CASE
CASE na linguagem C:
na linguagem C:
27.1
27
Estrutura Condicional de Múltipla Escolha
Estrutura Condicional de Múltipla Escolha
:: Comando
:: Comando switch-case
switch-case
 Funcionamento do comando
Funcionamento do comando switch
switch:
:
 Analisa a
Analisa a expressão
expressão ou
ou valor
valor.
.
 Caso seja igual a
Caso seja igual a Constante1
Constante1, então executa
, então executa
“
“comandos1
comandos1” e vai para o final do
” e vai para o final do switch
switch.
.
 Caso seja
Caso seja Constante2
Constante2, então executa
, então executa
“
“comandos2
comandos2” e vai para o final do
” e vai para o final do switch
switch.
.
 Assim sucessivamente...
Assim sucessivamente...
 Caso não seja nenhuma das alternativas, vai
Caso não seja nenhuma das alternativas, vai
para o
para o default
default,
, executa “
executa “comandosN
comandosN” e
” e
encerra o
encerra o switch
switch.
.
28
Estrutura Condicional de Múltipla Escolha
Estrutura Condicional de Múltipla Escolha
:: Comando
:: Comando switch-case
switch-case
 O parâmetro do
O parâmetro do switch
switch deve ser
deve ser int
int ou
ou char
char.
.
 O valor após o
O valor após o case
case dever ser uma
dever ser uma constante
constante
(não pode ser uma variável).
(não pode ser uma variável).
 Instrução
Instrução break
break:
:
 Faz com que aconteça a
Faz com que aconteça a saída imediata
saída imediata daquela
daquela
estrutura (no caso, o comando
estrutura (no caso, o comando switch
switch).
).
 A execução do programa continua com a primeira
A execução do programa continua com a primeira
instrução depois da estrutura.
instrução depois da estrutura.
 Sua ausência faz o controle passar ao próximo
Sua ausência faz o controle passar ao próximo case
case, o
, o
que não é desejado
que não é desejado.
.
ex02
Exercício
Exercício
 Os funcionários de uma empresa
Os funcionários de uma empresa
receberam um aumento de salário:
receberam um aumento de salário:
 Técnicos: 50%
Técnicos: 50%
 Gerentes: 30%
Gerentes: 30%
 Demais: 20%
Demais: 20%
 Escrever um programa que receba como
Escrever um programa que receba como
entrada o salário atual e o cargo do
entrada o salário atual e o cargo do
funcionário, e apresente o novo salário
funcionário, e apresente o novo salário
após o aumento.
após o aumento.
while
while (<condição>)
(<condição>)
{
{
<comandos_a_repetir>
<comandos_a_repetir>
}
}
<comandos_após_laço_while>
<comandos_após_laço_while>
Repetição por condição no início
Repetição por condição no início
:: Comando
:: Comando while
while
 Permite que um certo trecho de programa
Permite que um certo trecho de programa
seja executado
seja executado ENQUANTO
ENQUANTO uma certa
uma certa
condição for verdadeira.
condição for verdadeira.
 Funcionamento:
Funcionamento:
1.
1.Testar a condição.
Testar a condição.
2.
2.Se a condição for
Se a condição for falsa
falsa, então sair do laço.
, então sair do laço.
3.
3.Se a condição for
Se a condição for verdadeira
verdadeira, então executar
, então executar
cada um dos comandos do interior do laço.
cada um dos comandos do interior do laço.
4.
4.Após executar o último comando do laço
Após executar o último comando do laço
while
while, voltar ao passo
, voltar ao passo 1
1.
.
Repetição por condição no início
Repetição por condição no início
:: Comando
:: Comando while
while
 O
O while
while deve ser usado sempre que:
deve ser usado sempre que:
 Não soubermos exatamente quantas vezes o
Não soubermos exatamente quantas vezes o
laço deve ser repetido
laço deve ser repetido
 O teste deva ser feito antes de iniciar a
O teste deva ser feito antes de iniciar a
execução de um bloco de comandos
execução de um bloco de comandos
 Houver casos em que o laço não deva ser
Houver casos em que o laço não deva ser
repetido nenhuma vez antes do teste da
repetido nenhuma vez antes do teste da
condição
condição
 Atenção:
Atenção:
 As variáveis usadas no teste devem ser
As variáveis usadas no teste devem ser
inicializadas
inicializadas antes do teste.
antes do teste.
29
Repetição por condição no início
Repetição por condição no início
:: Comando
:: Comando while
while
do
do
{
{
<comandos_a_repetir>
<comandos_a_repetir>
}
} while
while (<condição>);
(<condição>);
<comandos_após_laço_do-while>
<comandos_após_laço_do-while>
Repetição por condição no fim
Repetição por condição no fim
:: Comando
:: Comando do-while
do-while
 Permite que um certo trecho de programa
Permite que um certo trecho de programa
seja executado
seja executado ATÉ QUE
ATÉ QUE uma certa
uma certa
condição deixe de ser verdadeira:
condição deixe de ser verdadeira:
Repetição por condição no fim
Repetição por condição no fim
:: Comando
:: Comando do-while
do-while
 Funcionamento:
Funcionamento:
1.
1.Executar os comando dentro do bloco
Executar os comando dentro do bloco do-
do-
while
while.
.
2.
2.Testar a condição.
Testar a condição.
3.
3.Se a condição for
Se a condição for falsa
falsa, então sair do laço.
, então sair do laço.
4.
4.Se a condição for
Se a condição for verdadeira
verdadeira, então retornar
, então retornar
para o
para o passo 1
passo 1.
.
 O comando
O comando do-while
do-while deve ser usado
deve ser usado
sempre que:
sempre que:
 Não soubermos exatamente
Não soubermos exatamente quantas vezes o
quantas vezes o
laço deve ser repetido
laço deve ser repetido
 O teste deva ser feito
O teste deva ser feito depois da execução
depois da execução de
de
um bloco de comandos
um bloco de comandos
 O bloco de comandos deve se
O bloco de comandos deve se executado pelo
executado pelo
menos uma vez
menos uma vez
30
Repetição por condição no fim
Repetição por condição no fim
:: Comando
:: Comando do-while
do-while
 Ler um número e verificar se este é ou
Ler um número e verificar se este é ou
não um número primo.
não um número primo.
 Dada uma
Dada uma dívida de 10 mil reais
dívida de 10 mil reais que
que
cresce a juros de
cresce a juros de 2,5% ao mês
2,5% ao mês e uma
e uma
aplicação de 1.500 reais
aplicação de 1.500 reais com rendimento
com rendimento
de
de 4% ao mês
4% ao mês, escrever um algoritmo que
, escrever um algoritmo que
determine o numero de meses
determine o numero de meses
necessários para pagar a dívida.
necessários para pagar a dívida.
ex03
ex04
Exercícios
Exercícios
for
for (comandos_inic; condição_teste; incre/decremento)
(comandos_inic; condição_teste; incre/decremento)
{
{
<comandos_a_repetir>
<comandos_a_repetir>
}
}
<comandos_após_laço_for>;
<comandos_após_laço_for>;
Repetição por contagem
Repetição por contagem
:: Comando
:: Comando for
for
 Permite que um certo trecho de programa
Permite que um certo trecho de programa
seja executado um
seja executado um número determinado
número determinado
de vezes
de vezes.
.
Repetição por contagem
Repetição por contagem
:: Comando
:: Comando for
for
 Funcionamento:
Funcionamento:
1.
1.Executar os comandos de inicialização.
Executar os comandos de inicialização.
2.
2.Testar a condição.
Testar a condição.
3.
3.Se a condição for
Se a condição for falsa
falsa então sair do laço
então sair do laço for
for.
.
4.
4.Se a condição for
Se a condição for verdadeira
verdadeira então executar
então executar
os comandos que estão subordinados ao
os comandos que estão subordinados ao for
for.
.
5.
5.Executar os comandos de
Executar os comandos de
incremento/decremento.
incremento/decremento.
6.
6.Voltar ao
Voltar ao passo 2
passo 2.
.
Repetição por contagem
Repetição por contagem
:: Comando
:: Comando for
for
Repetição por contagem
Repetição por contagem
:: Comando
:: Comando for
for
 Observações:
Observações:
 Os comandos de
Os comandos de inicialização
inicialização são executados
são executados
apenas uma vez
apenas uma vez.
.
 O contador é incrementado/decrementado
O contador é incrementado/decrementado
sempre ao
sempre ao final da execução
final da execução do bloco.
do bloco.
 O teste é feito sempre
O teste é feito sempre antes do início
antes do início da
da
execução do bloco de comandos.
execução do bloco de comandos.
31
Repetição por contagem
Repetição por contagem
:: Comando
:: Comando for
for
 O comando
O comando for
for deve ser usado sempre
deve ser usado sempre
que:
que:
 Soubermos
Soubermos exatamente quantas vezes
exatamente quantas vezes o laço
o laço
deve ser repetido.
deve ser repetido.
 O teste deva ser feito
O teste deva ser feito antes
antes da execução de
da execução de
um bloco de comandos.
um bloco de comandos.
 Houver casos em que o laço
Houver casos em que o laço não deva
não deva ser
ser
repetido nenhuma vez
repetido nenhuma vez.
.
32
for
for ( ; condição_teste; incre/decremento)
( ; condição_teste; incre/decremento)
Repetição por contagem
Repetição por contagem
:: Comando
:: Comando for
for
 Flexibilidade do comando
Flexibilidade do comando for
for
 Se nenhuma inicialização é necessária,
Se nenhuma inicialização é necessária,
comandos_inic
comandos_inic pode ser omitido.
pode ser omitido.
33
for
for (comandos_inic; ; incre/decremento)
(comandos_inic; ; incre/decremento)
Repetição por contagem
Repetição por contagem
:: Comando
:: Comando for
for
 Flexibilidade do comando
Flexibilidade do comando for
for
 Se
Se condição_teste
condição_teste é omitida, o comando
é omitida, o comando for
for
pode ficar em um laço infinito.
pode ficar em um laço infinito.
34
for
for (comandos_inic; condição_teste; )
(comandos_inic; condição_teste; )
Repetição por contagem
Repetição por contagem
:: Comando
:: Comando for
for
 Flexibilidade do comando
Flexibilidade do comando for
for
 Se
Se incre/decremento
incre/decremento é omitido, deve-se,
é omitido, deve-se,
atualizar a variável de laço em um comando
atualizar a variável de laço em um comando
dentro do laço.
dentro do laço.
35
Repetição por contagem
Repetição por contagem
:: Comando
:: Comando for
for
 Flexibilidade do comando
Flexibilidade do comando for
for
 Duas ou mais variáveis (separadas por vírgula)
Duas ou mais variáveis (separadas por vírgula)
podem ser inicializadas e/ou
podem ser inicializadas e/ou
incre/decrementadas
incre/decrementadas ao mesmo tempo
ao mesmo tempo.
.
Repetição por contagem
Repetição por contagem
:: Comando
:: Comando for
for
 Comandos
Comandos for
for aninhados
aninhados
 Um comando
Um comando for
for pode ser utilizado dentro de
pode ser utilizado dentro de
outro comando
outro comando for
for.
.
 Cuidados devem ser tomados para não
Cuidados devem ser tomados para não
aumentar o tempo de execução do algoritmo.
aumentar o tempo de execução do algoritmo.
36a 36b 36c
Repetição por contagem
Repetição por contagem
:: Comando
:: Comando for
for
 Arte ASCII
Arte ASCII
 Como imprimir:
Como imprimir:
**********
********** *****
***** **********
**********
*********
********* ****
**** **** ****
**** ****
********
******** ***
*** *** ***
*** ***
*******
******* **
** ** **
** **
******
****** *
* * *
* *
*****
***** *
* * *
* *
****
**** **
** ** **
** **
***
*** ***
*** *** ***
*** ***
**
** ****
**** **** ****
**** ****
*
* *****
***** **********
**********
Repetição por contagem
Repetição por contagem
:: Comando
:: Comando for
for
 Cálculo de séries
Cálculo de séries
1.
1.Determinar o termo geral.
Determinar o termo geral.
2.
2.Determinar valor inicial do contador.
Determinar valor inicial do contador.
3.
3.Determinar valor final do contador
Determinar valor final do contador.
.
ex06
S =1−
1
33
+
1
53
−
1
73
+⋯, π =
3
√S×32
S=
2
50
+
2
2
48
+
2
3
46
+⋯+
2
25
2
ex05
Repetição por contagem
Repetição por contagem
:: Comando
:: Comando for
for
 Exercícios
Exercícios
1.
1.Calcular o valor de S:
Calcular o valor de S:
1.
1.Calcular o valor de
Calcular o valor de π
π com
com precisão de
0,001:
:
Questões
Questões

Mais conteúdo relacionado

Semelhante a EstrutControleC.pdf

0000364 aula 5 estruturas de decisão
0000364 aula 5   estruturas de decisão0000364 aula 5   estruturas de decisão
0000364 aula 5 estruturas de decisãoEvelyneBorges
 
2 controle fluxo
2 controle fluxo2 controle fluxo
2 controle fluxoprofwtelles
 
Aula 10 - Comando de Decisão Múltipla e Comandos de Repetição
Aula 10 - Comando de Decisão Múltipla e Comandos de RepetiçãoAula 10 - Comando de Decisão Múltipla e Comandos de Repetição
Aula 10 - Comando de Decisão Múltipla e Comandos de RepetiçãoAndré Constantino da Silva
 
Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Os Fantasmas !
 
PHP 5.3 - Estruturas de Controle
PHP 5.3 - Estruturas de ControlePHP 5.3 - Estruturas de Controle
PHP 5.3 - Estruturas de ControleGeorge Mendonça
 
PHP - estruturas controlo.pptx
 PHP - estruturas controlo.pptx PHP - estruturas controlo.pptx
PHP - estruturas controlo.pptxTeresa Oliveira
 
Conceitos base de programação - parte 2
Conceitos base de programação - parte 2Conceitos base de programação - parte 2
Conceitos base de programação - parte 2João Piedade
 
Java básico - Módulo 05 - Estruturas de Repetição
Java  básico - Módulo 05 - Estruturas de RepetiçãoJava  básico - Módulo 05 - Estruturas de Repetição
Java básico - Módulo 05 - Estruturas de RepetiçãoProfessor Samuel Ribeiro
 
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_javaMirlem Pereira
 
Algoritmo e programação repeticao
Algoritmo e programação repeticaoAlgoritmo e programação repeticao
Algoritmo e programação repeticaoPriscila Costa Simon
 
Alg aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Alg   aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)Alg   aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Alg aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)Thalles Anderson
 
Aula 04 estruturas de repetição
Aula 04   estruturas de repetiçãoAula 04   estruturas de repetição
Aula 04 estruturas de repetiçãoTácito Graça
 
Aula02 condicionais
Aula02   condicionaisAula02   condicionais
Aula02 condicionaisYuri Passos
 
Capítulo 06 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 06 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 06 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 06 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Os Fantasmas !
 

Semelhante a EstrutControleC.pdf (20)

0000364 aula 5 estruturas de decisão
0000364 aula 5   estruturas de decisão0000364 aula 5   estruturas de decisão
0000364 aula 5 estruturas de decisão
 
2 controle fluxo
2 controle fluxo2 controle fluxo
2 controle fluxo
 
02 controle de fluxo
02   controle de fluxo02   controle de fluxo
02 controle de fluxo
 
Aula 10 - Comando de Decisão Múltipla e Comandos de Repetição
Aula 10 - Comando de Decisão Múltipla e Comandos de RepetiçãoAula 10 - Comando de Decisão Múltipla e Comandos de Repetição
Aula 10 - Comando de Decisão Múltipla e Comandos de Repetição
 
Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
 
PHP 5.3 - Estruturas de Controle
PHP 5.3 - Estruturas de ControlePHP 5.3 - Estruturas de Controle
PHP 5.3 - Estruturas de Controle
 
PHP - estruturas controlo.pptx
 PHP - estruturas controlo.pptx PHP - estruturas controlo.pptx
PHP - estruturas controlo.pptx
 
Conceitos base de programação - parte 2
Conceitos base de programação - parte 2Conceitos base de programação - parte 2
Conceitos base de programação - parte 2
 
Aula3
Aula3Aula3
Aula3
 
Java básico - Módulo 05 - Estruturas de Repetição
Java  básico - Módulo 05 - Estruturas de RepetiçãoJava  básico - Módulo 05 - Estruturas de Repetição
Java básico - Módulo 05 - Estruturas de Repetição
 
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
 
Algoritmo e programação repeticao
Algoritmo e programação repeticaoAlgoritmo e programação repeticao
Algoritmo e programação repeticao
 
Algoritmos - Aula 07 A - Lacos
Algoritmos - Aula 07 A - LacosAlgoritmos - Aula 07 A - Lacos
Algoritmos - Aula 07 A - Lacos
 
C# switch case
C#  switch caseC#  switch case
C# switch case
 
Aula de C e C++
Aula de C e C++Aula de C e C++
Aula de C e C++
 
Aula03 - JavaScript
Aula03 - JavaScriptAula03 - JavaScript
Aula03 - JavaScript
 
Alg aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Alg   aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)Alg   aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Alg aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
 
Aula 04 estruturas de repetição
Aula 04   estruturas de repetiçãoAula 04   estruturas de repetição
Aula 04 estruturas de repetição
 
Aula02 condicionais
Aula02   condicionaisAula02   condicionais
Aula02 condicionais
 
Capítulo 06 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 06 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 06 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 06 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
 

Último

Noções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdfNoções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdflucassilva721057
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memorialgrecchi
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaronaldojacademico
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptMaiteFerreira4
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelGilber Rubim Rangel
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManuais Formação
 
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdfPortfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdfjanainadfsilva
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFtimaMoreira35
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfMarianaMoraesMathias
 
Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfMárcio Azevedo
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....LuizHenriquedeAlmeid6
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxBeatrizLittig1
 

Último (20)

Noções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdfNoções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdf
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memoria
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riqueza
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.ppt
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim Rangel
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envio
 
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdfPortfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdf
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
 
Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdf
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docx
 

EstrutControleC.pdf

  • 1. Algoritmos e Estruturas de Dados Prof. M.Sc. Carlos Bezerra algoritmos@carlosbezerra.com Linguagem C Linguagem C - Estruturas de Controle - - Estruturas de Controle -
  • 2.  Estruturas Condicionais ou de Seleção Estruturas Condicionais ou de Seleção  Simples Simples  Composta Composta  Múltipla escolha Múltipla escolha  Estruturas de Repetição Estruturas de Repetição  Por condição no início Por condição no início  Por condição no fim Por condição no fim  Por contagem Por contagem Estruturas de Controle Estruturas de Controle
  • 3.  Realizam a execução de um conjunto de Realizam a execução de um conjunto de comandos de acordo com o comandos de acordo com o valor de uma valor de uma expressão expressão. .  Servem para Servem para alterar o fluxo alterar o fluxo de execução de um de execução de um programa baseado no valor, verdadeiro ou falso, programa baseado no valor, verdadeiro ou falso, de uma expressão lógica. de uma expressão lógica. Estrutura Condicional ou de Seleção Estrutura Condicional ou de Seleção
  • 4. if if (<expressão>) (<expressão>) { { <comandos> <comandos> } } 20 Estrutura Condicional Simples Estrutura Condicional Simples :: Comando :: Comando if if  Na linguagem C, a estrutura Na linguagem C, a estrutura condicional condicional simples simples possui a seguinte sintaxe: possui a seguinte sintaxe:
  • 5. if if (<expressão>) (<expressão>) { { <comandos> <comandos> } } else else { { <comandos> <comandos> } } 21 Estrutura Condicional Composta Estrutura Condicional Composta :: Comando :: Comando if-else if-else  Na linguagem C, a estrutura Na linguagem C, a estrutura condicional condicional composta composta possui a seguinte sintaxe: possui a seguinte sintaxe:
  • 6. if (<expressão>) { if (<expressão>) { <comandos1> } else { <comandos2> } } else { if (<expressão>) { <comandos3> } else { <comandos4> } } 23 22 Estrutura Condicional Composta Estrutura Condicional Composta :: Comando :: Comando if-else if-else  Quando temos estruturas condicionais presentes Quando temos estruturas condicionais presentes em blocos de comandos de outras estruturas em blocos de comandos de outras estruturas condicionais, chamamos de estruturas condicionais, chamamos de estruturas aninhadas aninhadas ou ou encadeadas encadeadas: :
  • 7. x = 2; if (x < 2) if (x >= -3) printf("n x está entre [-3;1]"); else printf("x é maior que 1"); 24 x = 2; if (x < 2) { if (x >= -3) printf("n x está entre [-3;1]"); } else printf("x é maior que 1"); Estrutura Condicional Composta Estrutura Condicional Composta :: Comando :: Comando if-else if-else  Ambigüidade: Ambigüidade: na falta de chaves, a linguagem C na falta de chaves, a linguagem C associa o associa o else else sempre ao último sempre ao último if if. .  Portanto, para que a construção funcione como Portanto, para que a construção funcione como desejado, pode-se resolver o problema usando desejado, pode-se resolver o problema usando bloco. bloco.
  • 8.  O operador ternário O operador ternário ? ? possui a seguinte sintaxe: possui a seguinte sintaxe:  Exp1 Exp1 é avaliada: é avaliada:  Se for Se for verdadeira verdadeira, , Exp2 Exp2 é avaliada se torna o seu valor é avaliada se torna o seu valor da instrução. da instrução.  Se for Se for falsa falsa, , Exp3 Exp3 é avaliada se torna o seu valor da é avaliada se torna o seu valor da instrução. instrução. Exp1 Exp1 ? ? Exp2 Exp2 : : Exp3; Exp3; 25 Operador Condicional: Operador Condicional: ? ?
  • 9. Operador Condicional: Operador Condicional: ? ?  Equivale ao seguinte código Equivale ao seguinte código if-else if-else: : 26 if if (Exp1) (Exp1) Exp2; Exp2; else else Exp3; Exp3; Exp1 Exp1 ? ? Exp2 Exp2 : : Exp3; Exp3;
  • 10. ex01  Considere um par de valores Considere um par de valores (x, y) (x, y)  Eles representam as coordenadas de um Eles representam as coordenadas de um ponto no plano ponto no plano  Determinar: Determinar:  o quadrante ao qual pertence o ponto, ou o quadrante ao qual pertence o ponto, ou  se está sobre um dos eixos cartesianos se está sobre um dos eixos cartesianos Exercício Exercício
  • 11. switch switch (<expressão_ou_valor>) (<expressão_ou_valor>) { { case case Constante1: Constante1: <comandos1> <comandos1> break break; ; case case Constante2: Constante2: <comandos2> <comandos2> break break; ; ... ... default default: : <comandosN> <comandosN> } } Estrutura Condicional de Múltipla Escolha Estrutura Condicional de Múltipla Escolha :: Comando :: Comando switch-case switch-case  Instrução de seleção de múltipla escolha Instrução de seleção de múltipla escolha CASE CASE na linguagem C: na linguagem C:
  • 12. 27.1 27 Estrutura Condicional de Múltipla Escolha Estrutura Condicional de Múltipla Escolha :: Comando :: Comando switch-case switch-case  Funcionamento do comando Funcionamento do comando switch switch: :  Analisa a Analisa a expressão expressão ou ou valor valor. .  Caso seja igual a Caso seja igual a Constante1 Constante1, então executa , então executa “ “comandos1 comandos1” e vai para o final do ” e vai para o final do switch switch. .  Caso seja Caso seja Constante2 Constante2, então executa , então executa “ “comandos2 comandos2” e vai para o final do ” e vai para o final do switch switch. .  Assim sucessivamente... Assim sucessivamente...  Caso não seja nenhuma das alternativas, vai Caso não seja nenhuma das alternativas, vai para o para o default default, , executa “ executa “comandosN comandosN” e ” e encerra o encerra o switch switch. .
  • 13. 28 Estrutura Condicional de Múltipla Escolha Estrutura Condicional de Múltipla Escolha :: Comando :: Comando switch-case switch-case  O parâmetro do O parâmetro do switch switch deve ser deve ser int int ou ou char char. .  O valor após o O valor após o case case dever ser uma dever ser uma constante constante (não pode ser uma variável). (não pode ser uma variável).  Instrução Instrução break break: :  Faz com que aconteça a Faz com que aconteça a saída imediata saída imediata daquela daquela estrutura (no caso, o comando estrutura (no caso, o comando switch switch). ).  A execução do programa continua com a primeira A execução do programa continua com a primeira instrução depois da estrutura. instrução depois da estrutura.  Sua ausência faz o controle passar ao próximo Sua ausência faz o controle passar ao próximo case case, o , o que não é desejado que não é desejado. .
  • 14. ex02 Exercício Exercício  Os funcionários de uma empresa Os funcionários de uma empresa receberam um aumento de salário: receberam um aumento de salário:  Técnicos: 50% Técnicos: 50%  Gerentes: 30% Gerentes: 30%  Demais: 20% Demais: 20%  Escrever um programa que receba como Escrever um programa que receba como entrada o salário atual e o cargo do entrada o salário atual e o cargo do funcionário, e apresente o novo salário funcionário, e apresente o novo salário após o aumento. após o aumento.
  • 15. while while (<condição>) (<condição>) { { <comandos_a_repetir> <comandos_a_repetir> } } <comandos_após_laço_while> <comandos_após_laço_while> Repetição por condição no início Repetição por condição no início :: Comando :: Comando while while  Permite que um certo trecho de programa Permite que um certo trecho de programa seja executado seja executado ENQUANTO ENQUANTO uma certa uma certa condição for verdadeira. condição for verdadeira.
  • 16.  Funcionamento: Funcionamento: 1. 1.Testar a condição. Testar a condição. 2. 2.Se a condição for Se a condição for falsa falsa, então sair do laço. , então sair do laço. 3. 3.Se a condição for Se a condição for verdadeira verdadeira, então executar , então executar cada um dos comandos do interior do laço. cada um dos comandos do interior do laço. 4. 4.Após executar o último comando do laço Após executar o último comando do laço while while, voltar ao passo , voltar ao passo 1 1. . Repetição por condição no início Repetição por condição no início :: Comando :: Comando while while
  • 17.  O O while while deve ser usado sempre que: deve ser usado sempre que:  Não soubermos exatamente quantas vezes o Não soubermos exatamente quantas vezes o laço deve ser repetido laço deve ser repetido  O teste deva ser feito antes de iniciar a O teste deva ser feito antes de iniciar a execução de um bloco de comandos execução de um bloco de comandos  Houver casos em que o laço não deva ser Houver casos em que o laço não deva ser repetido nenhuma vez antes do teste da repetido nenhuma vez antes do teste da condição condição  Atenção: Atenção:  As variáveis usadas no teste devem ser As variáveis usadas no teste devem ser inicializadas inicializadas antes do teste. antes do teste. 29 Repetição por condição no início Repetição por condição no início :: Comando :: Comando while while
  • 18. do do { { <comandos_a_repetir> <comandos_a_repetir> } } while while (<condição>); (<condição>); <comandos_após_laço_do-while> <comandos_após_laço_do-while> Repetição por condição no fim Repetição por condição no fim :: Comando :: Comando do-while do-while  Permite que um certo trecho de programa Permite que um certo trecho de programa seja executado seja executado ATÉ QUE ATÉ QUE uma certa uma certa condição deixe de ser verdadeira: condição deixe de ser verdadeira:
  • 19. Repetição por condição no fim Repetição por condição no fim :: Comando :: Comando do-while do-while  Funcionamento: Funcionamento: 1. 1.Executar os comando dentro do bloco Executar os comando dentro do bloco do- do- while while. . 2. 2.Testar a condição. Testar a condição. 3. 3.Se a condição for Se a condição for falsa falsa, então sair do laço. , então sair do laço. 4. 4.Se a condição for Se a condição for verdadeira verdadeira, então retornar , então retornar para o para o passo 1 passo 1. .
  • 20.  O comando O comando do-while do-while deve ser usado deve ser usado sempre que: sempre que:  Não soubermos exatamente Não soubermos exatamente quantas vezes o quantas vezes o laço deve ser repetido laço deve ser repetido  O teste deva ser feito O teste deva ser feito depois da execução depois da execução de de um bloco de comandos um bloco de comandos  O bloco de comandos deve se O bloco de comandos deve se executado pelo executado pelo menos uma vez menos uma vez 30 Repetição por condição no fim Repetição por condição no fim :: Comando :: Comando do-while do-while
  • 21.  Ler um número e verificar se este é ou Ler um número e verificar se este é ou não um número primo. não um número primo.  Dada uma Dada uma dívida de 10 mil reais dívida de 10 mil reais que que cresce a juros de cresce a juros de 2,5% ao mês 2,5% ao mês e uma e uma aplicação de 1.500 reais aplicação de 1.500 reais com rendimento com rendimento de de 4% ao mês 4% ao mês, escrever um algoritmo que , escrever um algoritmo que determine o numero de meses determine o numero de meses necessários para pagar a dívida. necessários para pagar a dívida. ex03 ex04 Exercícios Exercícios
  • 22. for for (comandos_inic; condição_teste; incre/decremento) (comandos_inic; condição_teste; incre/decremento) { { <comandos_a_repetir> <comandos_a_repetir> } } <comandos_após_laço_for>; <comandos_após_laço_for>; Repetição por contagem Repetição por contagem :: Comando :: Comando for for  Permite que um certo trecho de programa Permite que um certo trecho de programa seja executado um seja executado um número determinado número determinado de vezes de vezes. .
  • 23. Repetição por contagem Repetição por contagem :: Comando :: Comando for for
  • 24.  Funcionamento: Funcionamento: 1. 1.Executar os comandos de inicialização. Executar os comandos de inicialização. 2. 2.Testar a condição. Testar a condição. 3. 3.Se a condição for Se a condição for falsa falsa então sair do laço então sair do laço for for. . 4. 4.Se a condição for Se a condição for verdadeira verdadeira então executar então executar os comandos que estão subordinados ao os comandos que estão subordinados ao for for. . 5. 5.Executar os comandos de Executar os comandos de incremento/decremento. incremento/decremento. 6. 6.Voltar ao Voltar ao passo 2 passo 2. . Repetição por contagem Repetição por contagem :: Comando :: Comando for for
  • 25. Repetição por contagem Repetição por contagem :: Comando :: Comando for for  Observações: Observações:  Os comandos de Os comandos de inicialização inicialização são executados são executados apenas uma vez apenas uma vez. .  O contador é incrementado/decrementado O contador é incrementado/decrementado sempre ao sempre ao final da execução final da execução do bloco. do bloco.  O teste é feito sempre O teste é feito sempre antes do início antes do início da da execução do bloco de comandos. execução do bloco de comandos.
  • 26. 31 Repetição por contagem Repetição por contagem :: Comando :: Comando for for  O comando O comando for for deve ser usado sempre deve ser usado sempre que: que:  Soubermos Soubermos exatamente quantas vezes exatamente quantas vezes o laço o laço deve ser repetido. deve ser repetido.  O teste deva ser feito O teste deva ser feito antes antes da execução de da execução de um bloco de comandos. um bloco de comandos.  Houver casos em que o laço Houver casos em que o laço não deva não deva ser ser repetido nenhuma vez repetido nenhuma vez. .
  • 27. 32 for for ( ; condição_teste; incre/decremento) ( ; condição_teste; incre/decremento) Repetição por contagem Repetição por contagem :: Comando :: Comando for for  Flexibilidade do comando Flexibilidade do comando for for  Se nenhuma inicialização é necessária, Se nenhuma inicialização é necessária, comandos_inic comandos_inic pode ser omitido. pode ser omitido.
  • 28. 33 for for (comandos_inic; ; incre/decremento) (comandos_inic; ; incre/decremento) Repetição por contagem Repetição por contagem :: Comando :: Comando for for  Flexibilidade do comando Flexibilidade do comando for for  Se Se condição_teste condição_teste é omitida, o comando é omitida, o comando for for pode ficar em um laço infinito. pode ficar em um laço infinito.
  • 29. 34 for for (comandos_inic; condição_teste; ) (comandos_inic; condição_teste; ) Repetição por contagem Repetição por contagem :: Comando :: Comando for for  Flexibilidade do comando Flexibilidade do comando for for  Se Se incre/decremento incre/decremento é omitido, deve-se, é omitido, deve-se, atualizar a variável de laço em um comando atualizar a variável de laço em um comando dentro do laço. dentro do laço.
  • 30. 35 Repetição por contagem Repetição por contagem :: Comando :: Comando for for  Flexibilidade do comando Flexibilidade do comando for for  Duas ou mais variáveis (separadas por vírgula) Duas ou mais variáveis (separadas por vírgula) podem ser inicializadas e/ou podem ser inicializadas e/ou incre/decrementadas incre/decrementadas ao mesmo tempo ao mesmo tempo. .
  • 31. Repetição por contagem Repetição por contagem :: Comando :: Comando for for  Comandos Comandos for for aninhados aninhados  Um comando Um comando for for pode ser utilizado dentro de pode ser utilizado dentro de outro comando outro comando for for. .  Cuidados devem ser tomados para não Cuidados devem ser tomados para não aumentar o tempo de execução do algoritmo. aumentar o tempo de execução do algoritmo.
  • 32. 36a 36b 36c Repetição por contagem Repetição por contagem :: Comando :: Comando for for  Arte ASCII Arte ASCII  Como imprimir: Como imprimir: ********** ********** ***** ***** ********** ********** ********* ********* **** **** **** **** **** **** ******** ******** *** *** *** *** *** *** ******* ******* ** ** ** ** ** ** ****** ****** * * * * * * ***** ***** * * * * * * **** **** ** ** ** ** ** ** *** *** *** *** *** *** *** *** ** ** **** **** **** **** **** **** * * ***** ***** ********** **********
  • 33. Repetição por contagem Repetição por contagem :: Comando :: Comando for for  Cálculo de séries Cálculo de séries 1. 1.Determinar o termo geral. Determinar o termo geral. 2. 2.Determinar valor inicial do contador. Determinar valor inicial do contador. 3. 3.Determinar valor final do contador Determinar valor final do contador. .
  • 34. ex06 S =1− 1 33 + 1 53 − 1 73 +⋯, π = 3 √S×32 S= 2 50 + 2 2 48 + 2 3 46 +⋯+ 2 25 2 ex05 Repetição por contagem Repetição por contagem :: Comando :: Comando for for  Exercícios Exercícios 1. 1.Calcular o valor de S: Calcular o valor de S: 1. 1.Calcular o valor de Calcular o valor de π π com com precisão de 0,001: :