Documente Academic
Documente Profesional
Documente Cultură
Algoritmos
ANSI C - Controle de fluxo
Copyright IFRN
Agenda
Desvio condicional
O comando Se
Laos
O comando while
O comando do...while
O comando for
Exerccios
2 /18
Desvio condicional
if (Expresso)
Comando
else
Comando
3 /18
Desvio condicional
if (Expresso)
Comando
else
Comando
Valor booleano
Opcional
3 /18
Desvio condicional
int main (int argc, char ** argv){
float nota1,nota2,media;
scanf("%f %f",¬a1,¬a2);
media = (nota1+nota2)/2;
if (media >=7.0)
printf("Aluno aprovado!\n");
else
printf("Aluno em recuperao!\n");
return 0;
}
4 /18
Desvio condicional
Podem ser vrios comandos
Definido pelo agrupamento de comandos
Bloco de comandos
Delimitado por { e }
if (Expresso)
{ Comandos}
else
{ Comando }
5 /18
Operadores relacionais
== IGUAL (a==b)
!= DIFERENTE (a!=b)
> MAIOR (a>b)
< MENOR (a<b)
>= MAIOR IGUAL (a>=b)
<= MENOR IGUAL (a<=b)
6 /18
Operadores lgicos
&& E
(a>3 && b<c)
|| OU
(media<7 || faltas>20)
! NEGAO
(! (a==b))
7 /18
Exemplo
#include <stdio.h>
8 /18
Laos
ANSI C define 3 formas de repetir trecho de
cdigo:
while
do...while
for
O GOTO tambm suportado, mas seu uso
desaconselhado
9 /18
While
while ( teste )
comando ou bloco;
IMPORTANTE
Bloco deve modificar o teste
10/18
While
while ( teste )
comando ou bloco;
IMPORTANTE
Bloco deve modificar o teste
10/18
While
while ( teste )
comando ou bloco;
teste
IMPORTANTE
Bloco deve modificar o teste
10/18
While
while ( teste )
comando ou bloco;
teste
10/18
While
while ( teste )
comando ou bloco;
teste
10/18
While
while ( teste )
comando ou bloco;
teste
F
V
10/18
While
#include <stdio.h>
int main(int argc, char *argv[]) {
int i = 0;
while (i < 10) {
printf("i=%d\n", i);
i++;
}
return 0;
}
11/18
While
#include <stdio.h>
int main(int argc, char *argv[]) {
int i = 0;
while (i < 10) {
Modifica printf("i=%d\n", i);
varivel i++;
usada no }
teste return 0;
}
11/18
While
#include <stdio.h>
int main(int argc, char *argv[]) {
int i = 0;
while (i < 10) {
printf("i=%d\n", i++);
i++;
}
return 0;
}
12/18
do...while
do
comando ou bloco;
while ( teste )
IMPORTANTE
Garante execuo do bloco
pelo menos uma vez
13/18
do...while
do
comando ou bloco;
while ( teste )
IMPORTANTE
Garante execuo do bloco
pelo menos uma vez
13/18
do...while
do
comando ou bloco;
while ( teste )
comando ou bloco
de comandos
IMPORTANTE
Garante execuo do bloco
pelo menos uma vez
13/18
do...while
do
comando ou bloco;
while ( teste )
comando ou bloco
de comandos
teste
IMPORTANTE
Garante execuo do bloco
pelo menos uma vez
13/18
do...while
do
comando ou bloco;
while ( teste )
comando
comando ou
ou bloco
bloco
de
de comandos
comandos
V
teste
IMPORTANTE
Garante execuo do bloco
pelo menos uma vez
13/18
do...while
do
comando ou bloco;
while ( teste )
comando
comando ou
ou bloco
bloco
de
de comandos
comandos
V
teste
IMPORTANTE F
Garante execuo do bloco fim do lao
pelo menos uma vez
13/18
do...while
#include <stdio.h>
int main(int argc, char **argv) {
int i = 0;
while (i < 10) {
printf("i=%d\n", i);
i++;
}
return 0;
}
14/18
do...while
14/18
do...while
14/18
do...while
14/18
do...while
14/18
For
comando ou bloco;
15/18
For
comando ou bloco;
Inicializao
15/18
For
comando ou bloco;
Inicializao teste
15/18
For
comando ou bloco;
Inicializao teste
V
comando ou bloco
de comandos
15/18
For
comando ou bloco;
Inicializao teste
V
comando ou bloco
de comandos
complement
15/18
For
comando ou bloco;
Inicializao teste
V
comando ou bloco
de comandos
complement
15/18
For
comando ou bloco;
Inicializao teste
F
V
comando ou bloco
de comandos
fim do lao
complement
15/18
For
laco01.c
#include <stdio.h>
Inicializao
int main(int argc, char **argv) {
int i;
for (i = 0; i < 5; i = i + 1) teste
printf("i=%d\n", i);
V F
return 0;
} comando ou bloco
de comandos
fim do lao
complement
16/18
For
laco01.c
#include <stdio.h>
Inicializao
int main(int argc, char **argv) {
int i;
for (i = 0; i < 5; i = i + 1) teste
printf("i=%d\n", i);
V F
return 0;
} comando ou bloco
de comandos
fim do lao
Sada do programa
complement
i=0
i=1
i=2
i=3
i=4
16/18
For
#include <stdio.h>
{1 2 4 8 16 32 64 128 }
17/18
For
#include <stdio.h>
Sada do programa
{1 2 4 8 16 32 64 128 }
17/18
Dvidas?
18/18