Algoritmo PDF

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 22

UNIVERSIDADE FEDERAL DO RECNCAVO DA BAHIA

Lgica de programao
Algoritmo
Jefferson Henrique S. dos S. Bispo
12/02/2010

Nesta apostila vocs vero uma breve introduo Lgica de programao e


desenvolvimento de algoritmos, em que estes so fundamentais para os
programadores, seu principal objetivo apontar diversas tcnicas para
solucionar problemas nas execues das tarefas computacionais. Sendo
assim, a lgica essencial no aprendizado das diversas linguagens de
programao.
Algoritmos e Lgica de Programao

Dedico esta apostila aos colegas do curso


de Bacharelado em Cincias Exatas e
Tecnolgicas e a todos aqueles que
querem aprender algoritmo e lgica de
programao.

UFRB - Bacharelado em Cincias Exatas e Tecnolgicas - CETEC Pgina 2


Algoritmos e Lgica de Programao

1. INTRODUO A LGICA DE PROGRAMAO

Lgica de programao a juno de pensamentos coerentes para resolver


problemas e assim criar determinados programas .

Para executarmos operaes computacionais necessrio que o computador


seja programado por uma linguagem. No comeo era difcil um programador
lhe dar com certas situaes, pois eles utilizavam uma Linguagem de Mquina
em que, esta a nica compreendida pelo computador e especfica do mesmo.

A programao era diretamente em cdigo binrio ou em hexadecimal, logo foi


criada a primeira linguagem de programao, denominada Assembly. E assim
foram surgindo diversas outras linguagens, dentre elas est o FORTRAN que
utilizada principalmente nas reas acadmicas, tcnicas, cientficas e outras
que so teis para o desenvolvimento de programas comerciais,
administrativos etc.

1.1. EXEMPLOS DE LINGUAGENS DE PROGRAMAO

Linguagem de Mquina nica compreendida


pelo computador.
Especfica de cada
computador.

Linguagem de Baixo Utilizam Mnemnicos Ex.: Assembly


Nvel para representar
instrues elementares

Linguagem de Alto Nvel Utilizam instrues EX.: Java, C, Delphi,


prximas da linguagem Pascal, Visual Basic,
humana de forma a Cobol, Clipper,
facilitar o raciocnio FORTRAN.

2. ALGORITMO

UFRB - Bacharelado em Cincias Exatas e Tecnolgicas - CETEC Pgina 3


Algoritmos e Lgica de Programao

Algoritmo a seqncia de etapas resoluo de um determinado problema.


H varias formas para resolvermos um problema por isso cada programador
escolhe aquela de mais fcil compreenso tanto para si quanto para o usurio.

2.1. CARACTERSTICAS DOS ALGORITMOS


Ser finito;
Entrada: informaes inseridas pelo usurio;
Processamento: desenvolvimento para as informaes contidas nos
dados;
Sada: resultados obtidos do processamento ;
No ser ambguo, para que tenha uma nica visualizao, sendo
assim o usurio no encontrara outras interpretaes;
Cada instruo tem que ser clara e objetiva;
Pode ser representado de maneira grfica ou textual;
Deve seguir uma ordem de execuo

2.2. FLUXOGRAMA OU DIAGRAMA DE BLOCO

uma forma de representao padronizada com passos lgicos de um


determinado processamento. Vejamos alguns smbolos utilizados para a sua
representao:

Exemplo 1:

UFRB - Bacharelado em Cincias Exatas e Tecnolgicas - CETEC Pgina 4


Algoritmos e Lgica de Programao

Exemplo 2:

Neste exemplo estamos mostrando a entrada de dados de nmeros para


calcular a mdia aritmtica (processamento) de quatros notas e o resultado
(sada) das mesmas.

Exemplo 3:

Calculando a mdia aritmtica utilizando o fluxograma de deciso.

UFRB - Bacharelado em Cincias Exatas e Tecnolgicas - CETEC Pgina 5


Algoritmos e Lgica de Programao

Incio

nota1, nota2,
m

m nota1+nota2)/2

m >=5 Aprovado

Reprovado
Fim

2.3. DESCRIO NARRATIVA OU TEXTUAL

o processo para descrever o percurso percorrido para desencadear um


algoritmo, lembrando-se que em cada linha deve conter informaes com
frases curtas e simples que contenha pelo menos um verbo.
Exemplo:
Faa um algoritmo para uma criana pegar o nibus para ir ao colgio.
incio

Esperar o nibus
Acenar para o nibus parar
Entrar no nibus
Perguntar o valor da passagem
Pagar a passagem
Sentar
Espera o local de chegada
Descer do nibus
Entrar no colgio

fim

2.4. PSEUDOCDIGO
UFRB - Bacharelado em Cincias Exatas e Tecnolgicas - CETEC Pgina 6
Algoritmos e Lgica de Programao

Chamado tambm de pseudolinguagem, portugus estruturado ou portugol.


Aproxima-se de uma linguagem de Alto Nvel. Abaixo veremos como a
estruturao para construirmos algoritmos em portugol.

Algoritmo < nome_do_programa >


< declarao_das_variveis >

Incio

< Instrues >

Fim

Exemplo 1:

Calcular a rea e o permetro de um retngulo, sendo dadas as medidas dos


lados.
Algoritmo Retangulo

Real: lado1 , lado2 , area , perimetro

Incio

Escreva( Digite as medidas dos lados do retangulo: )


Leia( lado1 , lado2 )

area lado1 * lado2

perimetro 2 * (lado1 + lado2)

Escreva( O valor da area : , area )

Escreva( O valor do perimetro : , perimetro )


fim
Exemplo 2:

Faa um algoritmo que exiba na tela do computador o seu nome, curso e a


universidade.

Algoritmo dados

caractere: nome , curso , univer

Incio
Escreva( Qual seu nome? )

Leia( nome )

UFRB - Bacharelado em Cincias Exatas e Tecnolgicas - CETEC Pgina 7


Algoritmos e Lgica de Programao

Escreva( Qual curso voc faz? )

Leia( curso )

Escreva( Qual instituio? )

Leia( univer )
Escreva( Meu nome : ,nome )

Escreva( Fao o curso de : ,curso )

Escreva( A instituio : ,univer )

fim

EXERCCIOS:

1) Desenvolva um fluxograma mostrando o processo da troca do pneu


furado de um carro.
2) Construa um diagrama de blocos para desenvolver o processo de ligar
um computador
3) Crie um fluxograma mostrando todo o processo que voc usa para
tomar banho.
4) Refaa os trs exerccios acima, s que desta vez em forma textual,
como vimos no exemplo acima (2.3).
5) Monte um algoritmo com a seqncia de aes para fazer uma vitamina
com um mamo, uma banana, uma maa, um pouco de leite e acar.
6) Suponha que voc vai ao banco sacar R$ 200,00 num caixa eletrnico,
faa o algoritmo que descreva todos os passos.
7) Suponha que temos um rob a nossa disposio e precisa ser ensinado
a fazer determinadas tarefas. Para ensin-lo, vamos fazer um algoritmo
para passar-lhe as instrues necessrias execuo de cada
atividade. Escreva os passos necessrios para o nosso rob executar.

8) Um homem precisa atravessar um rio com um barco que possui


capacidade para carregar, apenas, ele mesmo, e mais uma de suas trs
cargas, que so: um lobo, um bode e um mao de alfafas. Escreva um
algoritmo, ou seja, indique todas as aes necessrias para que o
homem consiga atravessar o rio sem perder suas cargas.

UFRB - Bacharelado em Cincias Exatas e Tecnolgicas - CETEC Pgina 8


Algoritmos e Lgica de Programao

9) Trs jesutas e trs canibais precisam atravessar um rio; para tal


dispem de um barco com capacidade para duas pessoas. Por medidas
de segurana, no se deve permitir que em alguma margem a
quantidade de jesutas seja inferior de canibais. Elabore um algoritmo
indicando as aes que concretizam a travessia com segurana.

10) Elabore um algoritmo que mova trs discos de uma haste para outra,
utilizando uma terceira como auxiliar. Os discos so de tamanhos
diferentes e os menores so dispostos sobre os maiores (Torre de
Hani). Pode-se mover um disco de cada vez para qualquer haste,
contanto que nunca seja colocado um disco maior sobre um menor.

11) Elabore um algoritmo para calcular a mdia parcial de um aluno de


Algoritmo aps as trs primeiras avaliaes e dizer a sua situao:
aprovado, reprovado ou prova final, e nesse ltimo caso quanto precisa
para ser aprovado.
12) Calcular o valor da funo f(x,y) = 3x2 + 2y2 - xy em um ponto qualquer
do plano cartesiano.

13) Leia uma temperatura em graus centgrados e imprima a equivalente


em graus farheneit ( F = 9C/5 + 32).

14) Uma quantidade de chuva dada em polegadas e imprima a equivalente


em milmetros (1 polegada = 25,4 milmetros ).

3. CONSTANTES, VARIVEIS E TIPOS DE DADOS

3.2. CONSTANTE

Constate um determinado valor que no muda no decorrer da execuo do


algoritmo. Ex.: nmeros, palavras, etc.

3.3. VARIVEIS

A varivel pode ser mudada ao longo do tempo na execuo de um programa,


ou seja, so expresses que podem conter ou armazenar valores e cada
varivel corresponde a uma posio de memria. Elas no podem conter

UFRB - Bacharelado em Cincias Exatas e Tecnolgicas - CETEC Pgina 9


Algoritmos e Lgica de Programao

caracteres especiais (/?@^&#%]) e nem palavras reservadas da ling uagem


utilizada. Ex.: idade, peso, preo, etc.

3.4. TIPOS DE DADOS


Inteiros: so nmeros inteiros, ou seja, sem casas decimais. Ex.: 4, 8, 23
Real: quaisquer nmeros inclusive os que contm casas decimais. Ex.:
2.3, 4.5, 3.14
Caractere: define variveis do tipo String, ou seja, conjunto de
caracteres. Ex.: nome, estudante, programador
Lgico: Armazena somente dados lgicos que podem ser Falso ou
Verdadeiro.

4. OPERADORES

Existem trs tipos de operadores: Aritmticos, Relacionais e Lgicos. Estes so


representados por smbolos.

4.1. OPERADORES ARITMTICOS

OPERAO SMBOLO
Multiplicao X
Diviso /
Adio +
Subtrao -
Exponenciao **
Inteiro da diviso Div
Resto da diviso Mod

Prioridade para os operadores matemticos:

1 Parnteses

2 Exponenciao

3 Multiplicao ou diviso (o que aparecer primeiro)

4 Adio ou subtrao (o que aparecer primeiro)

5 inteiro da diviso

6 resto da diviso

UFRB - Bacharelado em Cincias Exatas e Tecnolgicas - CETEC Pgina 10


Algoritmos e Lgica de Programao

Exemplo:

Encontre o valor da operao abaixo

1+2*2**(3-1)/2 =

Resoluo

1+2*2**2/2 =

1+2*4/2 =

1+8/2 =

1+4 = 5

4.2. OPERADORES RELACIONAIS

Utilizados para comparar caracteres ou nmeros, e os resultados obtidos


sempre retornam valores lgicos (Falso ou verdadeiro).

OPERADOR SMBOLO
Igual a =
Diferente de <>
Maior que >
Menor que <
Maior ou igual a =>
Menor ou igual a <=

Exemplos:

SMBOLOS RESULTADOS

9>5 Verdadeiro

-1<-9 Falso

120 <=119 Falso

7 >= 3 Verdadeiro

8<>0 Verdadeiro

UFRB - Bacharelado em Cincias Exatas e Tecnolgicas - CETEC Pgina 11


Algoritmos e Lgica de Programao

4.3. OPERADORES LGICOS

Utiliza a lgica booleana (falsa ou verdadeira), para combinar os resultados de


expresses. Os operadores lgicos so:

And/E: verdadeira, se somente se, todas as condies forem


verdadeiras;
Or/ou: basta que uma parte seja verdadeira para retorna verdadeira;
Not/no: esta inverte o valor da condio ou expresso. Ou seja, se o
resultado for verdadeiro ela inverte para falso e vice-versa.

TABELA VERDADE

A B A E B A OU B NO (A)

V V V V F

V F F V F

F V F V V

F F F F V

Exemplo:
Suponha que atribumos determinados valores as variveis A=4; B=12; C=0

A > B and C > A Falso

A < B or B < C Verdadeiro

A < B not B > C Falso

C > B and C>=B Falso

A <= B or C < B Verdadeiro

EXERCCIOS:

1) Faa a operao matemtica das equaes, e escreva qual o tipo de


dado (inteiro ou real).
a) 198-12*(12-11)/2+12 =
b) 13*13**13/13*(15-3) =

UFRB - Bacharelado em Cincias Exatas e Tecnolgicas - CETEC Pgina 12


Algoritmos e Lgica de Programao

c) 1+(18-1)/2**2-1+8div2 =
d) 3**2(18-8)-1*3mod2 =
2) Faa um algoritmo para se obter a resposta da operao matemtica 5
multiplicado por 6 mais 2, dividido por 3 em uma calculadora simples.
3) Determine os operadores abaixo, se TRUE ou FALSE (Verdadeiro ou
Falso).
a) True and True =
b) True and False =
c) False and True =
d) False and False =
e) True or True =
f) True or False =
g) False or True =
h) False or False =
i) Not True =

5. ESTRUTURA DE DECISO / SE

Permite a execuo de aes dependendo de determinadas condies

A estrutura de deciso pode ser Simples (SE ENTO/ IF... THEN) ou


Composta (SE ENTO SENO / IF... THEN... ELSE), baseada em um
resultado lgico.

Simples: Composta 1:
se (<condio>) ento se (<condio>) ento
<comando1> <comando1>
fim_se seno
<comando2>
Fim_se
Na estrutura de deciso simples, haver uma avaliao na condio, se
essa for verdadeira o comando1 executado e assim finaliza o
programa. J a estrutura de deciso composta 1, ela avalia a primeira
condio, caso essa seja falsa o programa executa o comando2 e assim
finaliza o programa.

UFRB - Bacharelado em Cincias Exatas e Tecnolgicas - CETEC Pgina 13


Algoritmos e Lgica de Programao

Composta 2:
se (<condio>)ento
inicio
<comando1>
<comando2>
fim_se;
seno inicio
<comando1>;
<comando2>
fim_se;

Exemplo 1:

Determinar se uma pessoa maior ou menor de idade

Algoritmo idade

Inteiro: idade
Incio

Escreva( Fornea a idade : )

Leia( idade )
se (idade > 0) ento

Se (idade >= 18 ) ento

Escreva (Maior de idade )

seno
Escreva( Menor de idade. )

fim_se

seno

Escreva( Idade errada )


fim_se

fim

6. ESTRUTURA DE CONDIO / CASO

UFRB - Bacharelado em Cincias Exatas e Tecnolgicas - CETEC Pgina 14


Algoritmos e Lgica de Programao

A estrutura de condio CASO, equivale a um conjunto da estrutura de


seleo SE, mas esta estrutura utilizada para testar na condio uma
nica expresso que gera um resultado a partir da opo escolhida.

Escolha (<expresso>)
Caso (<condio1>) faa
<comando1>
Caso (<condio2>) faa
<comando2>
.
.
.
Caso (<condioN>)faa
<comandoN>
Seno
<comando>
fim_escolha

Exemplo:
Algoritmo calculadora
Inteiro: num1, num2, op
Inicio
Escreva(Digite 1: Soma)
Escreva(Digite 2: Subtrao)
Leia (op)
Escreva(Fornea dois nmeros)
Leia (num1,num2)
Escolha (op)
Caso (1) faa
Escreva (num1, +, num2, =, num1+num2)
Caso (2) faa
Escreva (num1, -, num2, =, num1-num2)
seno
Escreva (Digite a opo desejada)
fim_escolha

UFRB - Bacharelado em Cincias Exatas e Tecnolgicas - CETEC Pgina 15


Algoritmos e Lgica de Programao

fim

7. ESTRUTURA DE REPETIO
Tambm conhecida como looping ou lao, utilizada quando queremos repetir
um determinado comando de vezes.

7.1. ESTRUTURA DE REPETIO / PARA...FAA

Esta estrutura repete uma seqncia de comandos em um determinado


nmero de vezes, enquanto o valor de uma varivel de controle
incrementado.

SINTAXE:

PARA <varivel>DE<inicio>ATE<fim>(PASSO<n>)FAA
<comandos>
Fim_para

Exemplo 1:
Algoritmo looping
Inteiro: i
Para i de 1 at 20 faa
Escreva(Este lao executar 20 vezes)
fim_para
fim

Exemplo 2:
Clculo do fatorial de um nmero inteiro no-negativo.

Algoritmo Fatorial

Inteiro: num, k, fat

Incio

Escreva(Digite um nmero: )

Leia(num)

UFRB - Bacharelado em Cincias Exatas e Tecnolgicas - CETEC Pgina 16


Algoritmos e Lgica de Programao

Se(num >= 0)ento

fat 1

Para k de 2 at num faa

fat fat*k

Fim_para

Escreva(Fatorial de , num, igual a ,fat)

Seno

Escreva(No existe fatorial de nmero negativo)

Fim_se

Fim

7.2. ESTRUTURA DE REPETIO / ENQUANTO...FAA

Esta estrutura analisa o valor lgico, caso esse seja verdadeiro a seqncia
executado. Se de inicio for falsa, o comando no executara os comandos em
seqncia, passando o controle para o fim_enquanto.

SINTAXE:

ENQUANTO < condio for verdadeira> FAA


<comandos>
FIM_ENQUANTO

EXEMPLO:
Faa um algoritmo que imprima o total de nmeros compreendidos entre 1 e
20.
Algoritmo total
Inteiro: soma, numero
inicio
Numero = 2
Soma = 0
Enquanto valor <= 20 faa
Soma soma + valor

UFRB - Bacharelado em Cincias Exatas e Tecnolgicas - CETEC Pgina 17


Algoritmos e Lgica de Programao

Valor = valor +1
Fim_enquanto
Escreva(Total: , soma)
fim

7.3. ESTRUTURA DE REPETIO / REPITA...AT


o contrario do comando enquanto...faa, pois esta estrutura repetia executa
a seqncia at que o valor retornado pela expresso lgica seja verdadeira.

SINTAXE:
REPITA

<comando>

AT(<expresso lgica>)

Exemplo:

Imprimir os divisores de um nmero inteiro positivo dado.

Algoritmo Divisores

Inteiro: num, div

Incio

Repita

Escreva (Digite um numero inteiro positivo: )

Leia (num)

At (num > 0)

Escreva (Divisores do nmero , num)

div 1

Repita

Se ( num / div * div = num) ento

Escreva (div)

Fim_se

UFRB - Bacharelado em Cincias Exatas e Tecnolgicas - CETEC Pgina 18


Algoritmos e Lgica de Programao

div div + 1

At (div > num)

Fim

EXERCCIOS:

1) Calcular a soma dos nmeros pares entre 13 e 125.


2) Calcular a soma dos nmeros mpares compreendidos entre dois
outros nmeros inteiros dados.
3) Imprimir o maior, o menor e a mdia aritmtica de n nmeros
quaisquer dados.
4) Imprimir os n primeiros nmeros da Sequncia de Fibonacci ( 1 1 2
3 5 8 13 21 ).
5) Clculo do mdc entre dois nmeros inteiros positivos.
6) A multa por excesso de velocidade baseada em quanto voc se
excedeu alm do limite mximo permitido. Supe-se que a multa seja
computada da seguinte forma:

VELOCIDADE ACIMA DO LIMITE (km/h) MULTA

1 a 10 R$ 100, 00

11 a 20 R$ 200, 00

21 1 30 R$ 300, 00

31 a 40 R$ 400, 00

41 a 50 R$ 500, 00

Dados o limite de velocidade e a velocidade com que voc vinha, qual o valor
de sua multa?

7) Recebendo quatro mdias bimestrais, calcule a media do ano


(ponderada), sabendo que o 1 bimestre tem peso 1, o 2 bimestre
tem peso 2, o 3 bimestre tem peso 3 e o 4 bimestre tem peso 4.
UFRB - Bacharelado em Cincias Exatas e Tecnolgicas - CETEC Pgina 19
Algoritmos e Lgica de Programao

Sabendo que para aprovao o aluno precisa ter uma mdia anual
maior ou igual a 7, escreva uma mensagem indicando se o aluno foi
aprovado ou reprovado.

UFRB - Bacharelado em Cincias Exatas e Tecnolgicas - CETEC Pgina 20


Algoritmos e Lgica de Programao

REFERNCIAS
Lgica de Programao, SRGIO, Paulo de Moraes

Lgica de Programao A Construo de Algoritmos e Estruturas de


Dados So Paulo: Forbellone, Andr Luiz Villar - MAKRON, 1993

Site: http://www.univasf.edu.br/~marcelo.linder/iaa.html#pt4

UFRB - Bacharelado em Cincias Exatas e Tecnolgicas - CETEC Pgina 21


Algoritmos e Lgica de Programao

UFRB - Bacharelado em Cincias Exatas e Tecnolgicas - CETEC Pgina 22

Você também pode gostar