Vous êtes sur la page 1sur 63

ALGORITMO

Definio
Representa a lgica de soluo de
um problema passo-a-passo.
Um algoritmo pode ser
Na forma textual:
Uma descrio tal como uma receita de
bolo;
Um manual de montagem;
Um relato de como fazer uma tarefa;
O pseudo cdigo de um programa;
Na forma de grficos
Um fluxograma
Um mapa indicando o caminho
Caractersticas
Possui um nmero limitado de
passos;
As regras de codificao do algoritmo
so previamente conhecidas e
dependem da mquina que ir
resolver o problema
Qualidades de um algoritmo
Integridade: refere-se preciso das informaes
manipuladas pelo programa;
Clareza: refere-se facilidade de leitura do
programa;
Simplicidade: a clareza e preciso de um programa
so normalmente melhoradas tornando seu
entendimento o mais simples possvel, consistente
com os objetivos do programa;
Eficincia: refere-se velocidade de processamento
e a correta utilizao da memria;
Modularidade: consiste no particionamento do
programa em mdulos menores bem identificveis e
com funes especficas; e
Generalidade: interessante que um programa seja
to genrico quanto possvel de forma a permitir a
reutilizao de seus componentes em outros projetos.
Pseudo cdigo
uma forma de algoritmo que
simula a soluo do problema por
uma linguagem computacional;
No existem regras rgidas para a
codificao dos algoritmos, porem,
de uma forma geral seguem a um
padro.
Programao Estruturada
Possui 3 figuras bsicas
Seqncia simples;
Deciso;
Repetio
Comandos
Inicio representa o inicio do
algoritmo;
Fim representa o fim do
algoritmo;
Leia A significa ler um valor de
uma unidade de entrada e
armazenar em A. Caso exista um
valor em A este destrudo e
substitudo pelo novo valor lido.
Comandos
Escreva A significa exibir o contedo de
A. No destri o valor exibido. Pode-se
exibir uma mensagem colocando entre
aspas. Escrever resposta
A C+B significa A recebe a soma do
contedo de C com B;
Ateno o smbolo tem significado
diferente da matemtica pois primeiro
realiza a operao depois atribui o
resultado para a varivel A
Observe que
A A+B significa some o contedo
de A com B e atribua a A.
Diga qual o valor que ser exibido
Inicio
X 2
Y 3
X x+y
Escreva x
Fim
Exemplo
Elabore um Algoritmo para ler dois
valores e exibir sua soma
Inicio
Ler A,B
C A+B
Escrever C
Fim
Operadores matemticos
+ soma
- subtrao
* multiplicao
/ diviso
Mod resto inteiro da diviso
Div diviso inteira
( )

Exemplo
A 10 mod 3
B 10 div 3
Auto avaliao:
Proponha um mtodo para saber se
um nmero par ou impar com o
que foi mostrado at agora.
Exerccio
Elabore um algoritmo para ler 3
valores e determinar sua mdia
Soluo
Inicio
Ler A,B,C
D ( A+B+C) / 3
Escrever D
Fim

Alem dos operadores existem as
funes
Inmeras funes so disponveis.
Por exemplo:
Sqrt raiz quadrada
Sqr quadrado
Sin seno
Cos cosseno
Rnd nmero aleatrio
Etc.

Estrutura de deciso
Pode ser:
Alternativa simples quando existe
apenas uma ao a ser executada se a
condio for verdadeira;
Alternativa dupla quando existem
duas aes a serem executadas se a
condio for verdadeira e se for falsa;
Alternativas mltiplas quando existem
mais de duas alternativas.
Estrutura de deciso
Se (condio)
Ento
Conjunto de comandos se a condio for
verdadeira
Se no
Conjunto de comandos se a condio for
falsa
Fim se
Operadores relacionais
> maior que
< menor que
= igual
>= maior ou igual
<= menor ou igual
<> diferente
E
Ou

Exemplo
Elabore um algoritmo para ler dois
valores e exibir o maior deles. Os
valores so, por definio, diferentes
entre si.
Inicio
Ler A,B
Se A>B ento
Escreva A
Se no
Escreva B
Fim se
Fim

Exerccio
Elabore um algoritmo para ler a
idade de uma pessoa. Se a idade for
menor que 18 anos exibir: menor
de idade se for maior ou igual exibir
maior de idade.
Auto avaliao
Se vc inverter a pergunta o resultado
ser o mesmo?
Soluo
Inicio
Ler idade
Se idade < 18 ento
Escrever menor de idade
Se no
Escrever maior de idade
Fim se
Fim
Auto avaliao
Elabore um algoritmo para ler 3
valores (diferentes entre si) e
escrever o maior deles.
Soluo
Inicio
Ler A,B,C
Se A>B e A>C ento
Escrever A
Se no
Se B > C ento
Escrever B
Se no
Escrever c
Fim se
Fim se
fim
Elabore um algoritmo que
leia cdigo da mercadoria e preo. Se
for cdigo 00 aplicar um desconto de
10%. Exibir o preo final.

Soluo
Inicio
Ler cdigo, preo
Se cdigo = 00 ento
Preo Preo * 0,9
Fim se
Escreva cdigo, preo
Fim
Elabore um algoritmo que
Leia o sexo M ou F e se for M
acrescente 1 a varivel que contm a
quantidade de homens (CM)
INICIO
CM 0 { no obrigatrio pois todas as
variveis iniciam com 0}
LER SEXO
SE SEXO = M ENTO
CM CM +1
FIM SE
ESCREVA CM
FIM
Simulao (chins)
Para verificar se um algoritmo
atende aos requisitos do enunciado
deve-se simular seu funcionamento
com dados cujos resultados so
previamente conhecidos;
Por exemplo:
Simule o funcionamento do algoritmo
anterior para sexo M
Dicas
Relacione as
variveis na
mesma ordem do
algoritmo. Elabore
uma tabela e v
acompanhando o
valor de cada
varivel
varivel valor
CM 0
Sexo M
CM 1
Elabore um algoritmo que
Leia a nota do aluno se for maior que 5
escrever aprovado caso contrrio
escrever reprovado
Inicio
Ler nota
Se nota >= 5 ento
Escreva aprovado
Se no
Escreva reprovado
Fim se
Fim
Elabore um algoritmo que
Leia dois valores e exiba em ordem
crescente (os valores so diferentes
entre si)
Inicio
Ler A,B
Se A> B ento
Escreva A, B
Se no
Escreva B, A
Fim se
Fim

Altere o algoritmo anterior
Inclua a condio dos valores serem
iguais, neste caso escrever valores
iguais
Quando existem mais de duas
alternativas
Neste caso ser necessrio colocar
vrios ses.
Pode-se usar o operador E, ou ento,
o OU
Por exemplo:
Imposto de renda na fonte
O critrio
para a
reteno de
imposto de
renda na
fonte o
seguinte:

Elabore um
algoritmo
Renda Alquota Parcela a
deduzir
1164 Isento
De
1164,01
a 2326

15% 174,60
Acima
de
2326,00
27,5% 465,35
Inicio
Ler renda
Se renda <= 1164 ento
IR 0
Se no
Se renda <= 2326 ento
IR renda* 0,15 174,60
Se no
IR renda * 0,275 465,35
Fim se
Fim se
Escreva renda IR
Fim

Simulao
Simule o funcionamento do algoritmo
anterior para os valores
260,00
2000,00
5000,00
Elabore um algoritmo que leia a
nota do aluno e escreva sua
situao
O critrio de aprovao da UERJ o
seguinte:
Nota < 4 aluno reprovado
Nota >= 4 e < 7 aluno em prova final
Nota >= 7 aluno aprovado
Inicio
Ler nota
Se nota < 4 ento
Escreva reprovado
Se no
Se nota <= 7 ento
Escreva final
Se no
Escreva aprovado
Fim se
Fim se
Fim

Exerccio
Complemente o exerccio anterior
incluindo a condio: se o aluno tiver
menos de 75% de freqncia estar
reprovado independente da nota
Inicio
Ler nota,freq
Se freq < 0,75 ento
Escreva reprovado
Se no
Se nota < 4 ento
Escreva reprovado
Se no
Se nota <= 7 ento
Escreva final
Se no
Escreva aprovado
Fim se
Fim se
Fim se
Fim
Elabore o algoritmo para determinar o
recolhimento do INSS:
O INSS para o trabalhador assalariado
calculado de acordo com a seguinte
tabela:
Salrio de contribuio Alquota
(%)
At 752,62 7,65
De 752,63 a 780,00 8,65
De 780,01 a 1254,36 9,00
De 1254,37 a 2508,72 11,00
Dicas
1. Qual informao deve ser lida?
2. A soluo um conjunto de
decises?
3. Comece pelo menor valor e v
estabelecendo os intervalos
4. Quais so as variveis que sero
utilizadas?
Inicio
Ler sal
Se sal <= 752,62 ento
INSS sal * 0,0765
Se no
Se sal <= 780,00 ento
INSS sal * 0,0865
Se no
Se sal <=1254,36 ento
INSS sal * 0,09
Se no
Se sal <= 2508,72 ento
INSS sal * 0,11
Se no
INSS 2508,72 * 0,11
Fim se
Fim se
Fim se
Fim se
Escreva INSS
Fim
{uma soluo pior, mas certa}
Inicio
Ler sal
Se sal <= 752,62 ento
INSS sal * 0,0765
Fim se
Se sal >= 752,63 e sal <= 780,00 e ento
INSS sal * 0,0865
Fim se
Se sal >= 780,01 e sal <=1254,36 ento
INSS sal * 0,09
Fim se
Se sal >= 1254,37 e sal <= 2508,72 ento
INSS sal * 0,11
Fim se
Se sal > 2508,72 ento
INSS 2508,72 * 0,11
Fim se
Escreva INSS
Fim


Seleo mltipla
quando temos vrias alternativas,
como por exemplo no menu de um
terminal bancrio
Deciso mltipla
Caso opo faa
Resposta 1: alternativa 1
Resposta 2: alternativa 2
Outro caso
Alternativa 3
Fim caso
Ler uma opo e escrever qual
letra foi selecionada
Inicio
Ler letra
Caso letra faa
a: escreva vc escolheu a
b : escreva vc escolheu b
Outro caso
Escreva vc escolheu outra letra
Fim


Estrutura de repetio
Repete, de forma controlada, um
conjunto selecionado de instrues.
Podem ser de 3(trs) tipos:
Para-faa
Enquanto-faa
Repita-at
Para-faa
Usa-se da seguinte forma:
Para varivel inicio at fim
Grupo de instrues que ser repetido
Fim para
Funciona da seguinte forma
A varivel inicializada com o valor do inicio;
O grupo de instrues executado;
Ao chegar ao comando fim para a varivel
tem seu valor acrescido de 1(um) e verifica se
o seu valor maior que fim
Se for menor ou igual, repete o conjunto de
instrues
Elabore um algoritmo para escrever os
nmeros inteiros de 1 at 10
Inicio
Para j 1 ate 10 faa
Escreva j
Fim para
Fim
Elabore um algoritmo para determinar a
soma dos 10 primeiros nmeros inteiros
Inicio
Soma 0;
Para j 1 at 10 faa
Soma soma+j
Fim para
Escreva soma
Fim
Elabore um algoritmo que leia 5
valores e determine a sua soma
Inicio
Soma 0
Para j 1 ate 5 faa
Ler x
Soma soma+x
Fim para
Escreva soma
Fim
Altere o algoritmo anterior para ler
n valores
Inicio
Ler n
Soma 0
Para j 1 ate n faa
Ler x
Soma soma +x
Fim para
Escreva soma
Fim
Enquanto-faa
Usa-se da seguinte forma:
Enquanto condio faa
Grupo de instrues que ser repetido
Fim enquanto
Funciona da seguinte forma:
Enquanto a condio for VERDADEIRA o
grupo de instrues repetido

Por exemplo:
soma de 5 valores lidos
Inicio
Soma0
Cont0
Enquanto cont < 5 faa
Ler x
Soma soma+x
Contcont+1
Fim enquanto
Escreva soma
Fim

As condies so construdas
De forma anloga as condies da
estrutura de deciso;
Pode-se usar os operadores >, >=,
<,<=,=,<> e ou no
Pode-se interromper a repetio
Usando um contador, conforme o
exemplo anterior ou;
Usando um flag condio que
indica que a repetio deve ser
interrompida.
Elabore um algoritmo que
Leia uma quantidade indeterminada
de valores positivos. O flag um
valor negativo.
Soluo
Inicio
Soma0
Ler x
Enquanto x > 0 faa
Soma soma +x
Ler x
Fim enquanto
Escreva soma
Fim
Repita-at
Usa-se da seguinte forma:
Repita
Grupo de instrues que ser repetido
At que condio
Funciona da seguinte forma:
Repete o grupo de instrues AT que
a condio seja verdadeira


Elabore um algoritmo que leia 5
valores e determine a sua soma
Inicio
Somao
Cont0
Repita
Ler x
Somasoma+x
Cont cont+1
Ate que cont = 5
Escreva soma
Fim

Vous aimerez peut-être aussi