programaÇÃo c- estrutura de controle if
TRANSCRIPT
-
Professor: caro Lins Leito da Cunha
1 08-Sep-14
Estrutura de Controle IF
-
Estruturas de Controle
Todos os programas escritos em termos de 3 estruturas
de controle
Estruturas Sequenciais
Por default, programas executados seqencialmente (como
ocorre em C)
Estruturas de Seleo
H trs tipos em C: if, if/else e switch
Estruturas de Repetio
H trs tipos em C: while, do/while e for
08-Sep-14 2
-
Estruturas de Controle
Diagrama de Fluxo (Flowchart)
Representao grfica de um algoritmo
Uso de smbolos especiais conectados por setas denominadas
linhas de fluxo (flowlines)
Retngulo (ao)
Indicao de algum tipo de ao
Oval
Indicao do incio ou trmino de um programa ou uma
seo de cdigo
08-Sep-14 3
Executar operao
Incio
-
Estruturas de Controle If
Estrutura de Seleo
Uso na escolha entre cursos de ao alternativos
Exemplos em pseudocdigo
1. Se a mdia final do aluno for maior ou igual a 7
Imprima Voc passou por mdia
2. Se o raio for menor do que 3 e maior ou igual a 6
Faa raio igual a 5
3. Se o nome for diferente de JOAO
Encerre o programa
08-Sep-14 4
-
Estruturas de Controle If
Anlise do Exemplo 1
Condio Verdadeira
Execuo da declarao imprima Voc passou por mdia e
prosseguimento do programa a partir da prxima declarao
Condio Falsa
Declarao imprima Voc passou por mdia ignorada e
prosseguimento do programa a partir da prxima declarao
Identao facilita a leitura de programas
C ignora espaos em branco
08-Sep-14 5
-
Estruturas de Controle If
Declarao do Exemplo 1 em C
Cdigo em C apresenta uma representao prxima ao
pseudocdigo.
Losango (deciso)
Indicao de que uma deciso deve ser tomada.
Continncia de uma expresso que pode
ser Verdadeira ou Falsa.
Teste da condio.
Seleo do caminho apropriado.
08-Sep-14 6
if(media_final >= 7)
printf(Voc passou por mdia\n");
7
V
F
-
Estruturas de Controle If
Condio de Controle
Em todas as estruturas, existe pelo menos uma expresso que
faz o controle de qual bloco de instrues ser executado ou
quantas vezes ele ser executado: o que chamamos de
condio de controle.
A condio ser considerada Falsa se seu valor for igual a zero,
e Verdadeira se seu valor for diferente de zero.
Exemplo: Considere as variveis int i = 0, j = 3;
08-Sep-14 7
condio valor numrico significado lgico
( == 0) 1 verdadeiro
( > ) 0 falso
() 0 falso
() 3 verdadeiro
-
Estruturas de Controle If
A estrutura de seleo if uma estrutura do tipo nica
entrada/ nica sada
08-Sep-14 8
7
V
F
Executar operao
-
Estruturas de Controle If/else
S executa uma ao se a condio testada for Verdadeira
/
Especifica um par de aes a serem executadas, uma ao para
caso a condio testada seja Verdadeira, outra para caso esta
seja Falsa.
08-Sep-14 9
-
Estruturas de Controle If/else
Exemplo em pseudocdigo
08-Sep-14 10
Se a mdia final do aluno for maior ou igual a 7,0
Imprima Voc passou por mdia.
Caso contrrio
Imprima Voc vai para a final ou foi
reprovado por mdia.
-
Estruturas de Controle If/else
Exemplo em c
08-Sep-14 11
if(media_final >= 7)
printf(Voc passou por mdia\n");
else
printf("Voc vai para a final ou foi reprovado por
mdia\n");
-
Estruturas de Controle If/else
Operador condicional ternrio ? :
Uso de trs argumentos
Condio ? valor1 se verdadeira : valor2 se falsa
Cdigo em C com ? :
08-Sep-14 12
(media_final >= 7) ? printf(Voc passou por mdia\n) :
printf(Voc vai para a final ou foi reprovado por mdia \n);
-
Estruturas de Controle If/else
Diagrama de fluxo da estrutura de controle if /else
08-Sep-14 13
7
V
F
Imprimir Aprovado
Imprimir Reprovado
-
Estruturas de Controle If/else
Estruturas If/Else aninhadas Teste para casos mltiplos Insero de estruturas de seleo
If/Else em uma estrutura de seleo If/Else.
Pseudocdigo para umaestrutura de controle if /else
08-Sep-14 14
Se nota for maior ou igual a 9,0
Imprima Conceito A
Caso contrrio
Se nota for maior ou igual a 8,0 e menor do que 9,0
Imprima Conceito B
Caso contrrio
Se nota for maior ou igual a 7,0 e menor do que 8,0
Imprima Conceito C
Caso contrrio
Se nota for maior ou igual a 6,0 e menor do que 7,0
Imprima Conceito D
Caso contrrio
Imprima Conceito E
-
Estruturas de Controle If/else
Atribuio Composta Srie de atribuies inseridas dentro de um bloco ({ })
Exemplo
08-Sep-14 15
if ( media_final >= 7 )
printf( Voc passou por mdia\n" );
else
{
printf( Se sua soma de notas for maior do que 12,5, voc
vai para a final\n" );
printf(Caso contrrio, voc foi reprovado\n");
}
-
Estruturas de Controle If/else
Anlise do exemplo Sem as chaves, a declarao
seria executada automaticamente
Com as chaves, a referida declarao s ser executada se o if
for falso
08-Sep-14 16
printf(Caso contrrio, voc foi reprovado\n");
-
Estruturas de Controle If/else
Anlise do exemplo Sem as chaves, a declarao
seria executada automaticamente
Com as chaves, a referida declarao s ser executada se o if
for falso
08-Sep-14 17
printf(Caso contrrio, voc foi reprovado\n");