Vous êtes sur la page 1sur 10

Autor: Ernani Cludio Borges.

1


Instituto Federal do Tringulo Mineiro Curso de Licenciatura em Computao EaD
Disciplina de Algoritmos Prof. Ernani Cludio Borges
Estudos das atividade da SEGUNDA semana PARTE 1

Observaes importantes:
a) Esta atividade ir fazer a introduo aos conceitos de:
Algoritmos;
Tipos de Dados;
Inteiro;
Real
Caracter ou literais
lgicos
Tipos de Operadores:
Aritmticos;
Relacionais
Lgicos
Funes Matemticas
b) Em caso de dvidas, entre em contato com seu TUTOR A DISTNCIA.

Tranquilidade, firmeza, objetividade e BONS ESTUDOS!


Nome do aluno(a): __________________________________________________________________ Data: ____/_____/_____
Matrcula (RA): __________________________ ___________________________________________
Nome do POLO: ____________________________________________________________________





1 CONCEITOS DE ALGORITMOS

Analisando os exemplos apresentados anteriormente voc pode verificar que
para resolver um problema sempre efetuamos a sua anlise e posteriormente
descrevemos uma sequncia finita de passos necessrios para que possamos obter a
soluo desejada. Isto , sempre acabamos definindo um algoritmo para solucionar o
problema. Bem, como voc j deve ter percebido, executamos algoritmos ao longo de
toda a nossa vida e, muitas das vezes, nem nos damos conta disso. Certo? Vejamos
agora como alguns autores da rea de informtica definem o que algoritmo.
Para Forbellone (1993, p. 2), um algoritmo uma sequencia de passos que
visam atingir um objetivo bem definido.. J outros autores preferem definir a noo de
algoritmo da seguinte forma:
Algoritmo um processo de clculo matemtico ou de resoluo de um
grupo de problemas semelhantes, em que se estipulam, com generalidade
e sem restries, regras formais para obteno de um resultado ou da
soluo de um problema, englobando frmulas de expresses aritmticas.
(MANZANO, 1996, p.07).

Ao um acontecimento que, a partir de um estado inicial, aps um
perodo de tempo finito, produz um estado final previsvel e bem
definido. (FARRER, 1999, p.14).

Processo de clculo; encadeamento das aes necessrias para o
cumprimento de uma tarefa; processo efetivo, que produz uma soluo
para um problema num nmero finito de etapas" (HOUAISS, 2007, p.155).
Autor: Ernani Cludio Borges. 2


"Algoritmo a descrio de uma sequencia de passos que deve ser
seguida para a realizao de uma tarefa." (ASCENCIO, 2007 apud 1999).

Se voc analisar cuidadosamente cada uma das definies dadas anteriormente,
perceber que todas elas definem, de uma forma geral, um algoritmo como sendo uma
sequncia de passos ou aes para se resolver um problema ou tarefa. Entretanto,
Guimares e Lages tambm nos lembram muito bem que:
"Algoritmos devem ser feitos para serem lidos por seres humanos. Tenha
em mente que seus algoritmos devero ser lidos e entendidos por outras
pessoas (e por voc mesmo) de tal forma que possam ser corrigidos,
receber manuteno e ser modificados." (GUIMARES/ LAGES, 1994,
p.39).

A questo que todos os problemas, ou tarefas, possuem informaes a serem
analisadas e processadas. Como o nosso objetivo escrever algoritmos que sero
executados em um computador, ento devemos avaliar mais cuidadosamente quais so
os tipos de informaes que o computador consegue manipular. Ser que ele consegue
utilizar os mesmos tipos de informaes que nos humanos conseguimos?

Fique de olho!
1. Podem existir vrios algoritmos para solucionar o mesmo problema. Entretanto,
importante construirmos um algoritmo da maneira mais otimizada possvel.
2. Alm disso, o algoritmo deve ser fcil de se interpretar e codificar. Ou seja, ele deve
ser o intermedirio entre a linguagem falada e a linguagem a ser utilizada para se
programar o computador, a qual denominamos de linguagem de programao.


1.1 Tipos de Informao

Segundo Manzano (1996), o computador uma mquina capaz de solucionar
problemas que permitem manipular informaes, podendo estas informaes ser de dois
tipos bsicos: dados e instrues.


Autor: Ernani Cludio Borges. 3

1.2 Tipos de Dados
Os tipos de dados que so reconhecidos pelo computador so nmeros inteiros,
nmeros reais, dados caracteres (tambm chamados de literais) e dados lgicos.
Analisemos cada um deles.


1.2.1 Tipos inteiros

So dados numricos positivos, negativos e o zero. S como observao, em
linguagens de programao, esse tipo de dado tem limite de memria, podendo variar de
-32678 at +32677.
Exemplos de tipos inteiros:
78 -5 0

1.2.2 Tipos reais

So dados numricos positivos, negativos, nmeros fracionrios e o zero. Seu
limite de memria em linguagens de programao varia de 2.9 * 10-39 + 1.7 * 1038.
Exemplos de tipos reais:
78 -5,8 0 521 -27,6

1.2.3 Tipos caracteres ou literais

uma sequencia com letras e smbolos numricos sempre apresentados entre
aspas (" ") como por exemplo:
"ol!"
"Bom dia, hoje dia 06 de janeiro de 2013"
"5"

importante no confundir nmeros com literais numricos (nmeros entre
aspas), ou seja, o nmero 5 diferente do literal "5". Veja o exemplo a seguir:

a soma dos nmeros 5 + 5 resulta em 10
a soma dos literais "5" + "5" resulta em "55"

Em outras palavras, a soma de caracteres (literais) nada mais que a unio
desses caracteres.
Autor: Ernani Cludio Borges. 4



Fique de olho!
Em programao, muitos autores denominam a unio de caracteres como
concatenao.

1.2.4 Tipos lgicos

So dados que representam valores verdadeiro (V) ou falso (F), tambm
conhecidos como tipos boleanos.

1.3 Tipos de operaes e operadores

As instrues representam um conjunto de operaes, que permitem transformar
os dados, ou um conjunto de comandos para se executar algum tipo de ao. Iniciaremos
analisando primeiramente algumas operaes e seus respectivos operadores.

1.3.1 Operadores aritmticos

Como vamos trabalhar com clculos matemticos importante conhecer as
principais operaes aritmticas e seus smbolos, as quais so aplicadas apenas aos
tipos de dados numricos (inteiros e reais):

Nome smbolo
Exponenciao ^
Diviso /
Multiplicao *
Adio +
Subtrao -

Utilizando os operadores aritmticos podemos construir expresses aritmticas
da mesma maneira que na matemtica:
2 + 5
8 7
6 * 4 / 2
2,0 * 3,1415 * 1,25 ^ 2,0
Autor: Ernani Cludio Borges. 5

Estas expresses, ao serem avaliadas, resultaro em um valor numrico.
Lembre-se, assim como na matemtica, as expresses aritmticas so avaliadas
da esquerda para a direita, respeitando-se a precedncia dos operadores. Portanto, de
acordo com a precedncia, a exponenciao deve ser executada antes da multiplicao,
diviso, adio e subtrao; e a multiplicao e diviso devem ser executadas antes da
adio e subtrao. Se desejarmos quebrar a precedncia dos operadores, ento
devemos envolver a operao entre parnteses. Por exemplo, a avaliao da expresso 8
4 / 2 resulta em 6, enquanto que a avaliao da expresso (8 4) / 2 resulta em 2.

1.3.2 Operadores relacionais

Da mesma forma que os operadores aritmticos, os operadores relacionais so
fundamentais, pois nos permitem efetuar comparaes entre expresses numricas ou
expresses literais. Estes operadores encontram-se descritos pela tabela abaixo:
Nome smbolo
igual =
diferente <>
maior >
menor <
maior ou igual >=
menor ou igual <=

Utilizando os operadores relacionais podemos construir expresses relacionais
que ao serem avaliadas resultaro em valores lgicos verdadeiro ou falso. Por exemplo,
a avaliao da expresso relacional 5 > 4 resulta em verdadeiro, enquanto que a
avaliao da expresso 5 > 4 resulta em falso.

1.3.3 Operadores lgicos

Os operadores lgicos nos permitem construir expresses lgicas que ao serem
avaliadas resultaro em verdadeiro ou falso. Os operadores lgicos so: E (conjuno),
OU (disjuno) e NO (negao).
Para entender melhor estes operadores, considere as seguintes afirmaes, que
representaremos por A e B:
A: a loja vende camisas; e
B: a loja vende bons.

Autor: Ernani Cludio Borges. 6

Estas afirmaes podem ser verdadeiras ou falsas. Por exemplo, se entrarmos em
uma loja qualquer e ela vender camisas, ento a afirmao A (a loja vende camisas)
verdadeira. Entretanto, se ela no vender camisas, ento a afirmao A falsa. O mesmo
raciocnio se aplica a afirmao B.

Operador E:

Suponha que voc deseje comprar uma camisa e um bon em uma nica
loja (comprar um sem o outro no lhe serve). Ento, a compra s ser
realizada se a loja vende camisas E a loja vende bons. Isto , a compra
ser realizada somente se a expresso lgica A E B for verdadeira, ou seja,
somente se ambos, A e B, so verdadeiros. Podemos ilustrar melhor este
raciocnio atravs de uma tabela denominada de TABELA VERDADE.

E

A
(tem camisa)
B
(tem bon)
Resultado
(compra?)
Linha 1) V V V
Linha 2) V F F
Linha 3) F V F
Linha 4) F F F

Acompanhe a anlise:

Na linha 1) A loja tem a camisa e tem o bon, assim o
resultado verdadeiro (V), ou seja, a compra
pode ser realizada;
Na linha 2) A loja tem a camisa e no tem o bon, assim o
resultado falso (F), ou seja, a compra no
poder ser realizada;
Na linha 3) A loja no tem a camisa e tem o bon, assim o
resultado falso (F), ou seja, a compra no
poder ser realizada;
Na linha 4) A loja no tem a camisa e no tem o bon, assim
o resultado falso (F), ou seja, a compra no
poder ser realizada.




Operador OU:

Autor: Ernani Cludio Borges. 7

Suponha agora que voc deseje comprar uma camisa ou um bon em uma
loja (neste caso, tanto faz comprar uma camisa, um bon ou ambos). Ento,
a compra ser realizada se a loja vende camisas OU se a loja vende bons.
Isto , a compra ser realizada somente se a expresso lgica A OU B for
verdadeira. Neste caso, a nica situao em que a compra no ser
executada se, ambos, A e B, forem falsos (a loja no vende camisas e no
vende bons). Podemos ilustrar melhor este raciocnio atravs da TABELA
VERDADE a seguir.







Acompanhe a anlise:

Na linha 1) A loja tem a camisa e tem o bon, assim o
resultado verdadeiro (V), ou seja, a compra
pode ser realizada;
Na linha 2) A loja tem a camisa e no tem o bon, assim o
resultado verdadeiro (V), ou seja, a compra
pode ser realizada;
Na linha 3) A loja no tem a camisa e tem o bon, assim o
resultado verdadeiro (V), ou seja, a compra
pode ser realizada;
Na linha 4) A loja no tem a camisa e no tem o bon, assim
o resultado falso (F); ou seja, a compra no
pode ser realizada.



Operador NO:

J o operador NO tem a funo de inverter o resultado da avaliao de
uma expresso lgica. Tente interpretar a tabela abaixo antes de verificar a
anlise.

A
(tem camisa)
NO A
(no tem camisa)
Linha 1) V F
Linha 2) F V

OU

A
(tem camisa)
B
(tem bon)
Resultado
(compra?)
Linha 1) V V V
Linha 2) V F V
Linha 3) F V V
Linha 4) F F F
Autor: Ernani Cludio Borges. 8

Acompanhe a anlise:

Na linha 1) Na segunda coluna, observamos que a loja tem a
camisa, assim o resultado da afirmao
verdadeiro (V). A terceira coluna nega esta
afirmao, ou seja, ela afirma que a loja no tem a
camisa, o que falso;
Na linha 2) Na segunda coluna, observamos que a loja no
tem a camisa, assim o resultado da afirmao
falso (F). A terceira coluna nega esta afirmao,
ou seja, ela afirma que a loja no tem a camisa, o
que verdadeiro;

1.3.4 Funes matemticas

So operaes que no possuiro smbolos de operadores para represent-las.
Por exemplo, para representar o smbolo da raiz quadrada de 16 ( 16 ) iremos usar a
funo chamada RAIZ (16). Assim como na matemtica, uma funo retorna sempre um
resultado. Portanto, a utilizarmos a funo RAIZ (16) ela nos retornar como resultado o
valor 4. A Tabela abaixo apresenta as principais funes a serem utilizadas.

Quadrado ( ) = retorna o quadrado de um nmero
Raiz ( ) = retorna a raiz quadrada de um nmero
Resto = retorna o resto da diviso inteira entre dois nmeros
inteiros
Quociente = retorna o quociente da diviso inteira entre dois nmeros
inteiros
Parte-inteira ( ) = retorna a parte inteira de nmero fracionrio

1.4 Precedncia dos operadores

Na avaliao de uma expresso (seja ela aritmtica, relacional ou lgica)
respeitada a precedncia (ordem de avaliao) dos operadores indicada pela tabela a
seguir.

Operadores Tipo Precedncia
( ) 1
Funes 2
NO Lgico 3
^ Aritmtico 4
* / Aritmtico 5
Autor: Ernani Cludio Borges. 9

+ - Aritmtico 6
< <= > >= Relacional 7
= <> Relacional 8
E Lgico 9
OU Lgico 10

1.4.1 Exemplos de utilizao dos operadores

Para voc testar seu aprendizado na utilizao de operadores lgicos, relacionais,
operadores de caracteres e tambm a precedncia de execuo dos clculos, vejamos
alguns exemplos. Acompanhe o resultado e as anlises correspondentes avaliao de
cada uma das expresses contidas na primeira coluna da tabela.

Expresso Resultado Anlise
5 = 7 e 7 > 3 Falso
Analisando a precedncia dos operadores,
verificamos que os operadores de igualdade
(=) e maior (>) devem ser analisados antes
do operador lgico E. Procedendo a anlise,
temos que: 5 = 7 falso (F) e 7 > 3
verdadeiro (V). Logo, pela definio do
operador lgico E, falso E verdadeiro
(F e V) resulta em falso. Logo a avaliao
da expresso resulta em falso.
5 <> 7 ou 7 < 3 Verdadeiro
Analisando a precedncia dos operadores,
verificamos que os operadores de
desigualdade (<>) e menor (<) devem ser
analisados antes do operador lgico OU.
Procedendo a anlise, temos que: 5 <> 7
verdadeiro (V) e 7 < 3 falso (F). Logo,
pela definio do operador lgico OU,
verdadeiro OU falso (V ou F) resulta em
verdadeiro. Logo a avaliao da expresso
resulta em verdadeiro.
no (5 > 7) Verdadeiro
Primeiro devemos analisar o que est dentro
dos parnteses. Logo, 5 > 7 falso (F).
Agora, pela definio do operador lgico
NO, NO falso (no F) resulta em
verdadeiro. Logo a avaliao da expresso
resulta em verdadeiro.
(5 < 7) e (7 > 3) Verdadeiro
Primeiro devemos analisar o que est dentro
dos parnteses. Logo, 5 < 7 verdadeiro
(V) e 7 > 3 verdadeiro (V). Logo, pela
definio do operador lgico E, verdadeiro
E verdadeiro (V e V) resulta em verdadeiro.
Logo a avaliao da expresso resulta em
Autor: Ernani Cludio Borges. 10

verdadeiro.
(5 >= 7) ou (7 = 3) Falso
Primeiro devemos analisar o que est dentro
dos parnteses. Logo, 5 >= 7 falso (F) e 7
= 3 tambm falso (F). Logo, pela definio
do operador lgico OU, falso OU falso (F ou
F) resulta em falso. Logo a avaliao da
expresso resulta em falso.
no (5 <= 7) Falso
Analisando, temos que 5 <= 7 verdadeiro
(V). Logo, pela definio do operador lgico
NO, NO verdadeiro (no V) resulta em
falso. Logo a avaliao da expresso
falso.
(5 resto 3) = 2 Verdadeiro
O resto da diviso inteira de 5 por 3
(5 resto 3) resulta em 2. Logo, a avalio de
2 = 2 resulta em verdadeiro.
(5 quociente 3) = 2 Falso
O quociente da diviso inteira de 5 por 3 (5
quociente 3) resulta em 1. Logo, a avaliao
de 1 = 2 resulta em falso.
5 = 3 e 5 < 7 ou 7 > 3 Verdadeiro
Como no h parnteses envolvendo as
expresses, devemos respeitar as
precedncias dos operadores durante a
avaliao. Pela precedncia, os operadores
relacionais devem ser analisados antes dos
operadores lgicos. Resolvendo, temos que:
5 = 3 falso (F), 5 < 7 verdadeiro (V) e
7 > 3 verdadeiro (V). Observando a
precedncia dos operadores lgicos,
verificamos que o operador E deve ser
avaliado antes do operador OU. Ento
devemos resolver primeiramente a
expresso 5 = 3 e 5 < 7, o que nos d falso,
pois falso E verdadeiro (F e V) resulta em
falso (F). Agora podemos avaliar o operador
OU, isto falso OU verdadeiro
(falso ou 7 > 3), assim temos falso ou
verdadeiro (F ou V) o que nos d
verdadeiro.
Parte-inteira (10.8) 10.0
Observe que a funo Parte-inteira retorna
o resultado 10.0 que do tipo "real" e no
um nmero inteiro, como o nome parece
indicar.