Você está na página 1de 12

Disciplina: Algoritmos 1

Professor: Arthur Augusto Bastos Buccioli - arthurbuccioli@iftm.edu.br

Pseudocdigo
O pseudocdigo uma forma de se representar algoritmos
de maneira ordenada e semelhante a uma linguagem de
programao, porm de forma mais simplificada. Utiliza
muitas regras da programao, mas seus cdigos so
simples e sempre no idioma local, de maneira a facilitar a
compreenso e exerccio do raciocnio lgico e tcnicas de
programao . Assim, um brasileiro ir usar um
pseudocdigo em portugus, um americano em ingls, e
assim por diante. a seguir veremos algumas regras do
pseudocdigo e como criar cdigos com ele
Tipos primitivos
Toda a informao do mundo real muito variada em seus
tipos. Existem informaes numricas, textuais, etc. Para o
computador poder trabalhar corretamente, reduzimos as
fontes de informaes a alguns tipos bsicos que
enquadram praticamente todo tipo de informao de uma
forma ou de outra:
- Inteiro - usado para informaes numricas inteiras, que
nunca precisaro de fraes decimais. Exemplos disso so
objetos indivisveis, como quantidades de carros, pessoas,
degraus, lampadas, animais, etc. Exemplos de sua
representao: 15 -50 36 90
- Real - usado para representar informaes que necessitem
de casas decimais em sua representao, como medidas de
espao, temperatura,etc. Exemplos
-12.1
45.3
20.0001.
ome
- Caractere - usado para representar informaes que
precisem de apenas 1 caractere, como o sexo(m/f)
respostas de questes (v/f a/b/c/d) etc. Para representar
valores assim usamos aspas simples: 'v' 'f' 'm' 'f'

Disciplina: Algoritmos 1
Professor: Arthur Augusto Bastos Buccioli - arthurbuccioli@iftm.edu.br

- Texto - usado para representar informaes textuais, com


2 caracteres ou mais, como nomes, descries, etc. usamos
aspas duplas para representar valores desse tipo: "Jos de
almeida" "carvo vegetal" "notebook Dell Inspiron"
- Lgico - usado para armazenar valores de testes dentro
dos programas. Podem armazenar os valores V ou F, ou
tambm 1 e 0

Disciplina: Algoritmos 1
Professor: Arthur Augusto Bastos Buccioli - arthurbuccioli@iftm.edu.br

Constantes
So definies de nomes para valores que nunca iro
mudar. Por exemplo, o valor de PI na matemtica uma
constante, pois nunca muda seu valor. Tambm o nmero
de um dia da semana (domingo=1 segunda=2 ...), meses
do ano etc. Para definir uma constante usamos a seguinte
sintaxe:
#constante nome valor
ex:
#constante PI 3.1415
#constante segunda 2
#constante janeiro 1
#constante gravidade 9.8
As constantes nos ajudam a facilitar o entendimento de
algoritmos, pois podemos usar o nome definido e o
programa ir substituir pelo valor associado. Por exemplo,
vamos calcular a rea de um circulo:
area = PI * (raio * raio);
ao ver essa linha, o programa ir substituir o nome PI pelo
seu valor associado:
area = 3.1415 8 (raio * raio);

Disciplina: Algoritmos 1
Professor: Arthur Augusto Bastos Buccioli - arthurbuccioli@iftm.edu.br

Variveis
Ao contrrio das constantes, seus valores podem sofrer
alteraes ao longo dos algoritmos. Usamos variveis para
armazenar valores, resultados de operaes, etc. Para criar
uma varivel usaremos a seguinte sintaxe:
tipo nome;
O tipo um dos tipos primitivos j estudados, e o nome
um identificador que tenha a ver com a funo daquela
varivel, com o que ela ir armazenar. Esse nome (isso
tambm vale para as constantes) no pode conter
acentuao, caracteres especiais (exceto underline _ ) ou
espaos, e no pode ser iniciado por um numeral. veja
alguns exemplos de nomes corretos e incorretos(em
vermelho):
Identificador
nmero
idade
nota do aluno
N de matrcula
nota1
1a-turma

Observao
Errado pois est usando acentuao
Ok
Errado pois est usando espaos
Errado pois usou caracteres especiais e
espaos
Ok
Errado pois usou numeral para comear
e caractere especial de trao para
separar

Voltando ento s variveis, agora podemos definir


algumas delas:
inteiro idade;
real peso;
caractere sexo;
texto nome;

Disciplina: Algoritmos 1
Professor: Arthur Augusto Bastos Buccioli - arthurbuccioli@iftm.edu.br

Variveis de um mesmo tipo tambm podem ser declaradas


em uma linha s, separadas por vrgulas:
inteiro idade, pontos, qtde_pessoas;
texto nome,descricao,observacoes;
Operao de atribuio
Variveis s so teis se puderem receber valores simples
ou resultados de operaes mais complexas. Para isso
usamos o operador de atribuio, representado por um
sinal de igual (=), usando a seguinte sintaxe:
variavel = valor;
ex:
idade = 25;
nome = "josefina";

Podemos fazer uma atribuio a uma varivel j no


momento de sua declarao:
inteiro idade = 25;
texto nome = "josefina";

Disciplina: Algoritmos 1
Professor: Arthur Augusto Bastos Buccioli - arthurbuccioli@iftm.edu.br

Operaes e expresses aritmticas


Para criar programas realmente teis, precisamos dispor de
operaes que atuem sobre os valores recebidos,
permitindo assim realizar clculos e resolver problemas
diversos. Para valores numricos usaremos os seguintes
operadores aritmticos:
Operad
or
+
*
/
%
()

Operao

Exemplo

Soma
2+2 ------------- 4
Subtrao
5-3 ------------- 2
Multiplicao
4*4-------------16
Diviso
6/2--------------3
Resto da diviso
10%6------------4
Parnteses,
(2+5%3)*5
resolvidos
(2+2)*5
primeiro, usados
4*5
para priorizar um
20
conjunto de
operaes
importante ressaltar que a operao de diviso respeita
os tipos dos valores que ela recebe para realizar a
operao. Assim, se uma diviso ocorrer entre 2 valores
inteiros, a casa decimal ser descartada:
5/2 --------- 2
5.0/2------- 2.5
O operador de resto da diviso funciona como seu nome
diz, ou seja, faz uma diviso do primeiro valor pelo segundo
e devolve o resto. Se o primeiro nmero for menor que o
divisor, ele prprio ser o resto, pois a diviso daria 0 (zero)
com o valor como resto:
10%5 ----------- 0 diviso exata no sobra nada de resto
10%4------------2

Disciplina: Algoritmos 1
Professor: Arthur Augusto Bastos Buccioli - arthurbuccioli@iftm.edu.br

4%10 ----------- 4 nmero menor que o divisor o proprio


resto
6%8------------- 6 nmero menor que o divisor o proprio
resto

*Obs:O operador de resto s trabalha com nmeros inteiros


Um outro ponto que em uma expresso aritmtica
contendo vrias operaes juntas, existe uma ordem de
resoluo, ou seja, primeiro resolvemos algumas operaes
de maior prioridade at chegar as de menor prioridade,
conforme a tabela a seguir:
Prioridad Operad
e
or
1
()

Obs:

Os parnteses servem para priorizar a


resoluo de um trecho da expresso.
Sempre que houver um parnteses, as
operaes dentro dele sero
resolvidas primeiro at elimin-lo para
s depois ir para o restante da
expresso. Se um parnteses tiver
outro dentro dele, resolvemos o
parnteses mais interno primeiro, at
elimin-lo.
2
%
Depois dos parnteses resolvemos
todas as operaes de resto da diviso
3
*e/
Multiplicao e diviso tem a mesma
prioridade, resolvemos sempre a que
estiver mais esquerda na expresso
primeiro
4
+eSoma e subtrao tem a mesma
prioridade, resolvemos sempre a que
estiver mais esquerda na expresso
primeiro
A seguir um exemplo de resoluo de uma expresso
aritmtica:
7

Disciplina: Algoritmos 1
Professor: Arthur Augusto Bastos Buccioli - arthurbuccioli@iftm.edu.br

((2+5%2)*7/3+9-5*4)%10+3/2
((2+3)*7/3+9-5*4)%10+3/2
(5*7/3+9-5*4)%10+3/2
(35/3+9-5*4)%10+3/2
(11+9-5*4)%10+3/2
(11+9-20)%10+3/2
(20-20)%10+3/2
0%10+3/2
0+3/2
0+1
1
Operadores Relacionais
So muito usados para testar hipteses. Aplicam um teste
entre 2 valores e podem dar como resultado V(1) ou F(0).
So muito teis e usados na maioria dos programas mais
levemente sofisticados:
Operado
r
>
<
>=

<=
==
!=

Operao

Exemplo

Maior que
Menor
que
Maior ou
igual a

5>4 ----- V
2<3 ----- V

3>5 ----- F
6<2 ----- F

5>=5 --- V
F

6>=4 --- V

7>=6 ---

Menor ou
igual a
Igual
diferente

3<=2 --- V
F
2==2 --- V
3!=2 --- V

1<=1 --- V

8<=9 ---

2==3 --- F
2!=2 --- F

Se tivermos uma expresso aritmtica em algum dos lados


do operador, precisamos primeiro resolv-la at se tornar
8

Disciplina: Algoritmos 1
Professor: Arthur Augusto Bastos Buccioli - arthurbuccioli@iftm.edu.br

um valor nico, para s depois fazer a comparao e o


resultado:
2+3%1 > 2+3%5
2+0 > 2+3
2>5
F
Operadores lgicos
Existem situaes em que apenas um operador relacional
no satisfaz um problema, pois podem surgir testes mais
complexos envolvendo mltiplos fatores. Ex:
Dona Maria mandou sua filha Aninha ao mercado com a
seguinte instruo: Me compre um pacote de macarro,
mas s se o preo for at 3,50 reais, o tipo espaguete 8 e a
marca Santa Amalia ou Galo.
Nesse problema podemos identificar que existe mais de
uma condio para que a compra seja feita, e se qualquer
uma dessas condies no fos satisfeita no haver a
compra. Para resolver esse problema usamos os operadores
lgicos, que tem a capacidade de unir 2 ou mais expresses
relacionais para chegar a um nico resultado lgico (V/F
1/0). Existem diversos operadores, mas para nosso estudo
iremos considerar apenas os 3 mais importantes:
- Operador e - && - Esse operador une 2 operaes
relacionais, sendo que s dar um resultado V caso as 2
tambm resultem V. Se houver uma sequncia de
operaes && e em umas das operaes relacionais o
resultado de F, j se sabe de antemo que no final o
resultado ser F. um exemplo simples de operao E (&&):
preco<=3.5 && tipo == "espaguete 8"
(vamos assumir que o preo 2.3 e o tipo "linguine"):
2.3<=3.5 && "linguine"== "espaguete 8"
9

Disciplina: Algoritmos 1
Professor: Arthur Augusto Bastos Buccioli - arthurbuccioli@iftm.edu.br

Resolvendo as operaes relacionais


V && F
F
Como um dos lados resultou F, o resultado final do E (&&)
tambm F, pois uma espcie de soma de fatores, ou
seja, se uma das condies no for cumprida, nada feito. A
tabela-verdade a seguir mostra as combinaes possveis
para o operador E (&&) e os resultados:
Tabela-verdade operador lgico E &&
Valor 1
Valor 2
Resultado
F
F
F
F
V
F
V
F
F
V
V
V
- Operador OU - || - Ao contrrio do operador &&, para o
operador ou existe uma tolerncia, ou seja, se qualquer um
dos resultados for positivo (V), o final tambm ser
positivo(V). Por exemplo, quando paga-se um produto no
mercado, existem diversas opes de pagamento: dinheiro
OU carto OU cheque OU vale-refeio. Se tivermos
qualquer um desses meios podemos concluir a compra. O
operador OU (||) funciona exatamente dessa forma:
marca=="Santa Amalia" || marca==" Galo"
Vamos assumir que a marca disponvel no mercado era
"Galo"
"Galo"=="Santa Amalia" || "Galo"==" Galo"
F || V
V
A tabela-verdade a seguir mostra as combinaes possveis
para o operador OU (||) e os resultados:
10

Disciplina: Algoritmos 1
Professor: Arthur Augusto Bastos Buccioli - arthurbuccioli@iftm.edu.br

Tabela-verdade operador lgico OU ||


Valor 1
Valor 2
Resultado
F
F
F
F
V
V
V
F
V
V
V
V
Operador No - ! - Este operador mais simples, ele
simplesmente inverte o valor lgico de uma operao
ou conjunto de operaes, ou seja, se o valor era V
passa a ser F, se era F passa a ser V:
!2>3
!F
V
!(3>2 && 4<=4)
!(V && V)
!V
F
*Usamos os parnteses para delimitar a atuao do
operador Nao (!).
Uma ltima coisa a ressaltar que quando existirem vrios
operadores lgicos em uma expresso, existe uma ordem
de resoluo:
Prioridad Operad
e
or
1
()

Obs:
Os parnteses servem para priorizar a
resoluo de um trecho da expresso.
Sempre que houver um parnteses, as
operaes dentro dele sero
resolvidas primeiro at elimin-lo para
s depois ir para o restante da
expresso. Se um parnteses tiver
outro dentro dele, resolvemos o
11

Disciplina: Algoritmos 1
Professor: Arthur Augusto Bastos Buccioli - arthurbuccioli@iftm.edu.br

&&

||

parnteses mais interno primeiro, at


elimin-lo.
Depois dos parnteses resolvemos
todas as operaes de No
Depois dos parnteses resolvemos
todas as operaes de E
Depois dos parnteses resolvemos
todas as operaes de OU

12