Documentos de Académico
Documentos de Profesional
Documentos de Cultura
01/2013
Estruturas Condicionais e de
Repetio
(parte 2)
A
B
Quociente de A/B: no de
O que sobra em A
A = 7, B = 2 vezes que B cabe em A.
o resto da diviso.
Algoritmos Estruturados
Pode-se escrever este algoritmo como:
A, B
Sim
q = q + 1 q, r
A = A - B
Fim
Programao Estruturada
Um algoritmo tem sempre um nico bloco incio
e deve conter, pelo menos, um bloco fim. A
execuo segue setas
V V
F F
... V
F
F V
Programao Estruturada
Ateno!
Os retngulos indicam qualquer ao, incluindo
leitura de dados ou exibio de resultados
Construir programas estruturados corresponde
a combinar estas estruturas de duas maneiras:
Regra do empilhamento: o ponto de sada de uma
estrutura pode ser conectado ao ponto de entrada
de outra estrutura.
Regra do aninhamento: um retngulo de uma
estrutura pode ser substitudo por uma outra
estrutura qualquer.
Programao Estruturada
Estas regras podem ser aplicadas quantas
vezes forem necessrias e em qualquer ordem.
Incio
Fim
Programao Estruturada
Suponha que soma (+) e subtrao (-) so as nicas
operaes disponveis em C. Dados dois nmeros
inteiros positivos A e B, determine o quociente e o resto
da diviso de A por B.
Incio
Aninhamento e V V
Simplificao F
F
Fluxograma
Fim
Problema 2
Dados dois nmeros inteiros A e B, determinar
o mximo divisor comum (MDC) destes dois
nmeros.
Problema 2
Como calcular o MDC entre dois nmeros A e
B, representado por mdc(A,B)?
A, B
No
B != 0 m = A
Sim
r = A % B m
A = B
B = r
Fim
Soluo - Fluxograma
O algoritmo para calcular o mximo divisor
comum pode ser representado pelo seguinte
fluxograma:
Incio
A, B
Sim
B == 0 m = A
No
r = A % B m
A = B
B = r
Fim
Soluo - Cdigo
Problema 3
Escrever um programa para ler dois inteiros do
teclado, calcular o MDC entre eles e, caso o
usurio deseje, repetir o processo.
Soluo
Soluo
Continua? (S/N)
25
Sinal sonoro
Problema 4
28
Problema 4
29
Funo system
30
Funo system
31
Comandos if-else interrelacionados
32
Comandos if-else interrelacionados
33
Comandos if-else interrelacionados
34
Comando switch
switch (expresso)
{
case constante-1:
comandos-1;
case constante-2:
comandos-2;
...
default:
comandos-n;
} 35
Comando switch
36
Comando switch
Ateno!
Os comandos associados a este caso e todos os comandos
seguintes sero executados em sequncia at o final do
comando switch.
Para evitar a execuo de todos os comandos seguintes, usa-
se o comando break.
37
Comando switch
Como assim?
Para mes = 2:
dias = 28;
Para mes = 2:
dias = 28;
dias = 30;
dias = 0;
38
Comandos break e continue
39
Comandos break e continue
1 1 1 maior do que A.
s = 1 + + + ... +
2 3 N
Suponha N = 10 e A = 2.
Instante Valor de s
10 termo 1.000000
20 termo 1.500000
30 termo 1.833333
42
Comandos break e continue
Resultado da execuo:
43
Problema 5
44
Representao de strings
Strings so conjuntos de caracteres e cada caractere
codificado como um inteiro de 8 bits (cdigo ASCII).
45
Representao de strings
Uma string armazenada em bytes consecutivos de
memria.
L i n g u a g e m C \0
char texto[100];
47
Representao de strings
L i n g u a g e m C \0
S[0] S[1] S[2] S[3] S[4] S[5] S[6] S[7] S[8] S[9] S[10] S[11] ... S[19]
Exemplo: int a;
short int b[15];
float c[20];
char d[100] = dcc-aeds1;
51
Anlise do programa
52
Comando for