Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Centro de Informtica
Introduo Programao
Roteiro
Estrutura sequencial
Estruturas de deciso
Deciso Simples
Deciso Composta
Exerccios
Estruturas bsicas
Estrutura sequencial
Em um algoritmo, os comandos devero
ser executados numa sequncia linear,
seguindo a direo de cima para baixo e
da esquerda para a direita.
Linguagem Algortmica
incio
comando-1
comando-2
...
comando-n
fim
algoritmo ADICAO
A,B,SOMA : real;
incio
leia(A,B);
SOMA <- A + B;
escreva(SOMA);
fim
Bruno Jefferson (2014)
Estruturas de deciso
Deciso simples
Quando se deseja executar um comando ou uma
sequncia de comandos caso uma determinada
condio seja verdadeira.
Linguagem Algortmica
Fluxograma
se condio ento
comando-1
comando-2
. . .
comando-n
fim-se
Estrutura sequencial
Exerccios
1. Determine os valore finais de A, B e C aps a execuo do
trecho do algoritmo abaixo:
Estrutura de deciso
Deciso simples
Exemplo
algoritmo CALCULA_MEDIA_NOTAS
media, n1, n2, n3: real;
situacao: string;
incio
leia(n1, n2, n3);
media (n1 + n2 + n3) / 3;
se (media 7) ento
situacao "Aprovado;
escreva(situacao);
fim-se
fim
Bruno Jefferson (2014)
Estrutura de deciso
Deciso composta
Utilizada quando se deseja executar um entre
dois ou mais blocos de comandos, conforme
o resultado da avaliao de uma condio.
Estrutura de deciso
Deciso composta
Linguagem Algortmica
Fluxograma
se (condio) ento
comando-A1;
comando-A2;
...
comando-Na;
seno
comando-B1;
comando-B2;
...
comando-Bn;
fim-se
Estrutura de deciso
Exemplo
algoritmo analisa_peso
peso : real;
incio
leia(peso);
se (peso >= 80) ento
escreva("Voc est obeso);
escreva("Faa atividades fsicas);
seno
se (peso > 70 e peso < 80) ento
escreva(Voc est quase no peso ideal);
seno
escreva("Voc est no peso certo);
escreva("Procure manter sua forma);
fim-se
fim-se
escreva(" Final de Avaliao);
fim
Bruno Jefferson (2014)
10
Estrutura de deciso
Exerccios
1.Verificar se um nmero menor, igual ou maior que
zero.
2. Escreva um algoritmo que leia dois nmeros e exiba-os
em ordem crescente.
3. Escreva um algoritmo que determine o grau de
obesidade de uma pessoa, sendo fornecido o peso e a
altura da pessoa. O grau de obesidade determinado pelo
ndice da massa corprea (IMC = Peso /Altura ) atravs da
tabela abaixo:
11
Estruturas de Deciso em C
Comando if-else
se (condio) ento
instruo 1;
instruo 2;
(...)
seno
instruo 3;
instruo 4;
(...)
fim-se
if (condio) {
instruo 1;
instruo 2;
(...)
} else {
instruo 3;
instruo 4;
(...)
}
12
Expresses Lgicas
Expresses lgicas em C
Expresso 1
Operador
Expresso 2 Resultado
&&
&&
&&
||
||
||
13
Acompanhamento da execuo do
programas
Exemplo
Considere o seguinte algoritmo onde i1, i2, i3, i4 e i5
representam instrues:
a) Instrues executadas quando b1 = V, b2 = V e
b3 = F?
b) Instrues executadas quando b1 = F, b2 = V e
b3 = F?
Respostas
a) I1 e i5
b) i3, i4 e i5
14
Acompanhamento da execuo do
programas
Exemplo
#include <stdio.h>
int main() {
int x = 1, y = -10, z; // I1
if (x > 0)
if (y > 0)
z = x +
else
z = x
else
if (y < 5)
z = x *
else
z = x /
y; // I2
y;
// I3
y; // I4
Instruo
I1
-10
I2
I3
-10
11
I4
I5
y; // I5
return 0;
}
15
Comando if-else
Exerccio Resolvido 1
Escreva um programa que leia a mdia de um
aluno e escreva na tela a sua situao de
acordo com quadro abaixo:
Mdia
Situao
>= 7.0
Aprovado
Final
< 4.0
Reprovado
16
Comando if-else
Processamento
Estruturas de Controle
if-else
Sada de dados
Situao: Aprovado, Final ou Reprovado.
17
Comando if-else
18
Estruturas de Deciso em C
Comando switch-case
escolha (varivel) {
caso VALOR1:
instruao1;
instruo2;
break;
caso VALOR2:
instruao3;
instruo4;
break;
padro:
instruao5;
instruo6;
break;
}
<varivel >deve
ser do tipo int
ou char.
switch (varivel) {
case VALOR1:
instruao1;
instruo2;
break;
case VALOR2:
instruao3;
instruo4;
break;
default:
instruao5;
instruo6;
break;
}
Bruno Jefferson (2014)
19
Comando switch-case
Exerccios Resolvido II
Elabore um programa que leia o nmero de
campeonatos brasileiros de 1 (um) a 4
(quatro) que seu time de futebol ganhou e
depois exiba sua classificao correspondente
(1= campeo, 2=bicampeo, ...,
4=tetracampeo). Caso um valor fora do
intervalo de 1 a 4 seja digitado, deve ser
exibida uma mensagem informando que o
valor invlido.
Bruno Jefferson (2014)
20
Comando switch-case
Processamento
Estruturas de Controle
switch (inteiro) case
Sada de dados
Classificao do time
21
#include <stdio.h>
int main() {
int quant; // quantidade de titulos
printf("Digite um numero de 1 a 4: ");
scanf("%d", &quant);
S
O
L
U
switch (quant) {
case 1:
printf(Campeao");
break;
case 2:
printf(Bicampeao");
break;
case 3:
printf(Tricampeao");
break;
case 4:
printf(Tetracampeao");
break;
default:
printf("Numero fora do intervalo permitido.");
break;
}
return 0;
}
Bruno Jefferson (2014)
22
Exerccio 1
Considere o seguinte algoritmo onde i1, i2, i3, i4 e i5
representam instrues:
leia(b1, b2, b3);
se b1 ento i1;
fim-se
seno
se b2 ento
se b3 ento
i2;
seno
i3;
i4;
fim-se
fim-se
i5;
23
Exerccio II
Escreva um algoritmo que leia um nmero
inteiro e imprima se esse nmero par ou
mpar.
24
Exerccio III
Escreva um programa em C que troque o
valor de duas variveis inteiras.
Sugesto: Pense na soluo que voc usaria
para trocar um lquido de um copo para
outro.
25
Exerccio IV
Escreva um algoritmo que receba o valor do
salrio bruto, calcule e apresente o valor de
desconto do INSS e o valor do salrio lquido
(o salrio bruto descontado do INSS),
considerando que:
Para um salrio de at R$ 420, o desconto de
INSS de 8%;
Para um salrio de at R$ 420 at R$ 1350, o
desconto de INSS de 9%;
Para um salrio acima de R$ 1350,00, o desconto
de INSS de 10%;
Bruno Jefferson (2014)
26
Exerccio V
Escreva um programa em C que receba as 3 notas obtidas
por um aluno, calcule a mdia aritmtica de
aproveitamento e apresente o conceito e a situao do
aluno (APROVADO ou REPROVADO). O aluno
considerado APROVADO se tiver conceito A, B ou C e
REPROVADO, caso obtenha conceitos D e E. A atribuio
de conceitos obedece tabela abaixo:
Mdia de
Conceito
Aproveitamento
A partir de 9,0
A
De 7,5 at 9,0
B
De 6,0 at 7,5
C
De 4,0 at 6,0
D
Abaixo de 4,0
E
Bruno Jefferson (2014)
27
Exerccio VI
Elabore um programa em C que leia um
nmero de 1 (um) a 12 (doze) e depois
exiba o ms correspondente (1= janeiro,
2=fevereiro, ..., 12=dezembro). Caso um
valor fora do intervalo de 1 a 12 seja
digitado, deve ser exibida uma mensagem
informando que o valor invlido. Obs.:
Utilize o comando switch.
28
Referncias
ASCENCIO, A. F. G., CAMPOS, E. A.V.;
Fundamentos da Programao de
Computadores, 3. Ed., So Paulo: Pearson,
2012.
Schildt, H; C Completo e Total. Makron
Books. 1997.
Oliveira, U.; Programando em C Fundamentos.Volume I. Editora Cincia
Moderna. 2008.
29