Sunteți pe pagina 1din 29

__Algoritmos__

Estrutura Condicional

Maio/2012

Roteiro
Estrutura Condicional
- simples
- composta

Comentar a Tarefa Mnima 1


Visualg

ICC

Problema 1
Considere a necessidade de construir um programa, que efetue a
leitura de trs notas de um determinado aluno na disciplina de
ICC.
O programa em questo dever calcular a mdia aritmtica,
apresent-la, alm de informar se o aluno foi reprovado segundo
a verificao de sua mdia. A mdia deve ser maior ou igual a
sete.
Para solucionar o problema proposto ser necessrio trabalhar
uma nova instruo:

se... ento... fim_se (Estrutura de Controle)


ICC

Estrutura Condicional Simples (1)


A instruo se... ento... fim_se tem por finalidade tomar uma
deciso.
Sendo a condio Verdadeira , sero executadas todas as
instrues que estejam entre a instruo se ento e a instruo
fim_se.
Sendo a condio Falsa, sero executadas as instrues que
estejam aps o comando fim_se

ICC

Estrutura Condicional Simples (2)


Somente se a condio for V

V ou F

se

condio

ento

executa instruo

fim_se

Neste caso, a condio sendo F, o programa no executar


nada.
ICC

Fluxograma
N

S
Condio

Instrues executadas quando a


condio e verdadeira

Instrues executadas quando condio for falsa ou


aps ser verdadeira

ICC

Pseudocdigo
se <condio> ento
Instrues para seqncia verdadeira
fim_se

ICC

Free Pascal
Duas situaes podero ocorrer:
1) Apenas uma instruo:
if <condio> then Instruo verdadeira
2) Mais de uma instruo (bloco de instruo):
if <condio> then
begin
Instrues para seqncia verdadeira
end;
ICC

Operadores Relacionais

ICC

Problema 1 - Algoritmo
1)
2)
3)
4)

Ler a nota da primeira avaliao.


Ler a nota da segunda avaliao.
Ler a nota da terceira avaliao.
Calcular a mdia aritmtica entre as notas lidas nos itens 1),
2) e 3).
5) Escrever uma mensagem no caso de o item 4) apresentar um
resultado menor que sete.
6) Escrever o valor da mdia aritmtica calculada.

ICC

10

Problema 1 - Fluxograma
Inicio

//Entrada de dados

N1, N2, N3

//Proc. de dados

Media(N1+N2+N3)/3

//Caixa de deciso

Aluno
Reprovado

//Sada de dados

Media < 7

//Sada de dados

Media

Fim

ICC

11

Problema 1 - Pseudocdigo
Programa Media
Var
N1, N2, N3, Media : real
inicio
leia N1
leia N2
leia N3
Media(N1+N2+N3)/3
se Media < 7 ento
escreva Aluno Reprovado
fim_se
escreva Media
Fim
ICC

12

Problema 1 Free Pascal


program Calculo_da_Media;
uses crt;
var
N1,N2,N3,Media : real;
begin
clrscr;
write('1 Avaliao: ');readln(N1);
write('2 Avaliao: ');readln(N2);
write('3 Avaliao: ');readln(N3);
Media:=(N1+N2+N3)/3;
Writeln('Resultado Final ',Media:7:2);
if Media<7 then
writeln('Aluno Reprovado');
readkey;
ICC
end.

13

Problema 1 Visualg
algoritmo "aluno_reprovado
var N1,N2,N3,media: real
Inicio
escreva ("Digite a primeira nota: )
leia (N1)
escreva ("Digite a segunda nota: ")
leia (N2)
escreva ("Digite a terceira nota: ")
leia (N3)
escreval("-------------------------- ")

se media < 7 entao


escreval ("Aluno reprovado")
escreval("-------------------------- ")

media <- (N1+N2+N3)/3

fimalgoritmo

fimse
escreval(" ")
escreva("A mdia do aluno foi")
escreval (media:5:1)
escreval(" ")

ICC

14

Operadores Lgicos
- So conhecidos como operadores booleanos;

- So utilizados na realizao de testes mltiplos;


- So eles: and, or e not.

ICC

15

Operador Lgico de Conjuno (And)


Tabela-verdade:

Condio 1
F
V
F
V

Condio 2
F
F
V
V

ICC

Resultado Lgico
F
F
F
V

16

Problema 2
Dado um nmero apresentar mensagem informando se ele
est no intervalo entre 20 e 90. Caso contrario, tambm.

Algoritmo
1) Ler um nmero.
2) Verificar se o nmero est no intervalo entre 20 e 90.
3) Escrever uma mensagem informando o resultado da
verificao realizada no item 2).
ICC

17

Problema 2 - Diagrama de Bloco


Inicio

N
N >= 20 E N <= 90

'O valor est entre 20


e 90'

'O valor no est entre


20 e 90'

Fim
ICC

18

Problema 2 - Pseudocdigo
Programa Intervalo
var N : real
inicio
leia N
se N >= 20 e N <=90 ento
escreva 'O valor est entre 20 e 90'

seno
escreva 'O valor no est entre 20 e 90'
fim_se
fim

ICC

19

Problema 2 - Free Pascal


program intervalo;
uses crt;
var n: real;
begin
clrscr;
write('Entre o valor: ');readln(n);
if (n>=20) and (n<=90) then
writeln('No intervalo')
else
writeln('Fora do intervalo');
readkey;
end.
ICC

20

Operador Lgico de Disjuno (Or)


Tabela-verdade:

Condio 1
F
V
F
V

Condio 2
F
F
V
V

ICC

Resultado Lgico
F
V
V
V

21

Operador Lgico de Disjuno (XOr)


Tabela-verdade:

Condio 1
F
V
F
V

Condio 2
F
F
V
V

ICC

Resultado Lgico
F
V
V
F

22

Operador Lgico de Disjuno (Not)


Tabela-verdade:

Condio
V
F

Resultado Lgico
No V, ou seja, F
No V, ou seja, V

ICC

23

Estrutura de Controle (Mltipla Escolha)


case varivel of
opo1 : instruo1
opo2 : instruo2

case varivel of
opo1 :begin
instruo1
instruo2
..............
instruoN
end;
......................................
opoN : begin
instruo1
instruo2
..............
instruoN
end;
else
instruo
end;

opoN : instruoN
else
instruo
end;

ICC

24

Exemplo
Dado a informao de um nmero inteiro entre 1 e 7, associ-lo aos dia da
semana. Por exemplo 1 com Domingo, 2 com Segunda feira at 7 com o
Sbado.

ICC

25

Diagrama de Bloco
Inicio

N
S

N=1
N

Domingo

N=2

Segunda Feira

Fim

ICC

26

Free Pascal
program Dia_Semana;
uses crt;
var n : integer;
begin
clrscr;
write('Dia da semana: ');readln(n);
case n of
1: writeln('Domingo');
2: writeln('Segunda-Feira');
3: writeln('Tera-Feira');
4: writeln('Quarta-Feira');
5: writeln('Quinta-Feira');
6: writeln('Sexta-Feira');
7: writeln('Sbado');
else
writeln('Valor errado');
end;
readkey;
end.
ICC

27

Tarefa Mnima 2 Entregar em 08/02/2013


2a. Avaliao de ICC: 08/02/2013
b. Efetuar a leitura de trs valores (variveis
A, B e C) e efetuar o clculo das razes da
equao do segundo grau. Apresentar as
duas razes, caso os valores informados
permita calcul-las.
Forma Geral da Equao de Segundo Grau:
ax2+ bx + c = 0
ICC

28

Comentar a 1a. T.M.

Ler dois valores numricos reais e


apresentar a diferena do maior pelo
menor.

ICC

29

S-ar putea să vă placă și