Anda di halaman 1dari 7

4 - Desenvolvendo algoritmos

4.1 Pseudocdigo
Os algoritmos so descritos em uma linguagem chamada pseudocdigo (pode ser
chamado tambm de Portugus Estruturado ou Portugol). Este nome uma aluso posterior
implementao em uma linguagem de programao, ou seja, quando formos programar em
uma linguagem, por exemplo Visual Basic, estaremos gerando cdigo em Visual Basic. Por isso
os algoritmos so independentes das linguagens de programao. Ao contrrio de uma
linguagem de programao no existe um formalismo rgido de como deve ser escrito o
algoritmo.
O algoritmo deve ser fcil de se interpretar e fcil de codificar. Ou seja, ele deve ser o
intermedirio entre a linguagem falada e a linguagem de programao.
4.2 Regras para construo do Algoritmo
Para escrever um algoritmo precisamos descrever a seqncia de instrues, de
maneira simples e objetiva. Para isso utilizaremos algumas tcnicas:
Usar somente um verbo por frase
Imaginar que voc est desenvolvendo um algoritmo para pessoas que no trabalham com
informtica
Usar frases curtas e simples
Ser objetivo
Procurar usar palavras que no tenham sentido dbio
4.3 Fases
Vimos que ALGORITMO uma seqncia lgica de instrues que podem ser
executadas. importante ressaltar que qualquer tarefa que siga determinado padro pode ser
descrita por um algoritmo, como por exemplo:
CALCULAR O SALDO FINANCEIRO DE UM ESTOQUE

Entretanto ao montar um algoritmo, precisamos primeiro dividir o problema apresentado


em trs fases fundamentais.

Onde temos:
ENTRADA: So os dados de entrada do algoritmo
PROCESSAMENTO: So os procedimentos utilizados para chegar ao resultado final
SADA: So os dados j processados

Analogia com o homem

Exemplo de Algoritmo
Imagine o seguinte problema: Calcular a mdia final dos alunos da 3 Srie. Os alunos
realizaro quatro provas: P1, P2, P3 e P4.
Onde:
Mdia Final =
Para montar o algoritmo proposto, faremos trs perguntas:
a) Quais so os dados de entrada?
R: Os dados de entrada so P1, P2, P3 e P4
b) Qual ser o processamento a ser utilizado?
R: O procedimento ser somar todos os dados de entrada e dividi-los por 4 (quatro)

c) Quais sero os dados de sada?


R: O dado de sada ser a mdia final
Algoritmo
Receba a nota da prova1
Receba a nota de prova2
Receba a nota de prova3
Receba a nota da prova4
Some todas as notas e divida o resultado por 4
Mostre o resultado da diviso
Teste de Mesa
Aps desenvolver um algoritmo ele dever sempre ser testado. Este teste chamado de
TESTE DE MESA, que significa, seguir as instrues do algoritmo de maneira precisa para
verificar se o procedimento utilizado est correto ou no.
Veja o exemplo:
Nota da Prova 1
Nota da Prova 2
9

Nota da Prova 3
Nota da Prova 4
Utilize a tabela abaixo:

5 - Tipos de Dados, Constantes e Variveis


5.1 - Dados e Tipos de dados
Objetivo principal de um computador: a manipulao de informaes ou dados em
uma forma codificada.
Os dados podem ser:
- vendas mensais de uma loja
- nomes e endereos de uma listagem para correio
- notas atribudas em um curso
- medidas de uma experincia cientifica
- votos de uma eleio
- etc...
Basicamente os dados podem ser numricos e no numricos. Esta classificao
devido ao armazenamento na memria do computador.
- Numricos: so dados que representam informaes numricas (inteiros e reais)
- No numricos: so dados que representam informaes no numricas (alfanumricos)
Classificao de tipos de dados
DADOS

NUMRICO

REAL

CADEIA DE
CARACTERES
ou STRING ou
LITERAL

LGICO

INTEIRO

Dados Numricos
Inteiros: correspondem aos nmeros inteiros da aritmtica, no tem componentes decimais
ou fracionrios. Podem ser positivos ou negativos.
Exemplos: 13, 7, -6, 208, 7830, -28
Reais: correspondem aos nmeros reais da aritmtica e utilizam o ponto decimal para
serem representados. As fraes devem ser armazenadas na forma decimal, pois no existe
mecanismo para armazenar o numerador e o denominador. Podem ser positivos ou
negativos.
Exemplos: 23,8 3738,72 -56,321 -8,910 -7,00
10

Dados No Numricos
So itens que podem ser armazenados e manipulados por um computador e que so
conhecidos como cadeias de caracteres ou Literal ou strings. Estas cadeias podem conter
caracteres alfabticos (A, B, C, ..., X, Y, Z, a, b, c, ..., x, y, z), os dgitos numricos (0, 1, 2, ..., 8,
9), e smbolos especiais ($, %, =, (, >, <, etc). As cadeias de caracteres normalmente so
colocadas entre aspas ou apstrofes.
Exemplos:
So Paulo
A + B = C - D
Processamento de Dados
Dados Lgicos
So dados que podem expressar dois valores apenas:
- verdadeiro ou 1 (um)
- falso ou 0 (zero)
Exemplos:
CONDIO = FALSO
se CONDIO FALSO ento
para o processamento.
5.2 Constantes
Constante um determinado valor fixo que no se modifica ao longo do tempo, durante a
execuo de um programa. Conforme o seu tipo, a constante classificada como sendo
numrica, lgica e literal.
Exemplo de constantes:

5.3 - Variveis
Em um programa de computador, uma varivel uma entidade que possui um valor.
Este valor pode ser alterado ao longo do tempo da execuo do programa.
Como na matemtica, em programas de computador, o uso de variveis permite a
especificao de uma frmula geral de clculo. As variveis tm nomes para sua identificao e
tambm recebem valores. Na verdade, as variveis so apelidos que atribumos a certos
endereos da memria RAM.
Uma varivel pode receber muitos valores diferentes, mas em um dado instante, ela
pode ter somente um valor.
5.3.1 - Operao de Atribuio

11

Uma operao de atribuio a forma para especificar que a uma varivel ser dado
um valor.
A operao de atribuio pode ser indicada pelo smbolo de igual ( = ) ou uma seta para
esquerda (
).
Por exemplo, o comando
A
3
Indica que varivel de nome A atribudo o valor 3.
Em termos de componentes de um computador pode-se definir como: A representa
uma palavra do computador, e aps a execuo deste comando, a posio de memria de
nome A conter um valor igual a 3. Uma vez que uma palavra na memria pode conter
somente um valor por vez, o nmero 3 substitui qualquer outro valor armazenado anteriormente
nesta varivel. Assim esta operao uma operao destrutiva.
Ento se a sequncia de operaes:
A = 16
A = -27
A=1
fosse executada, o valor da varivel A aps as trs operaes ser 1. Os valores 16 e 27
foram destrudos.
5.3.2 - Operaes primitivas
A adio e a subtrao so representadas na forma usual da matemtica, e
internamente no computador so realizadas usando aritmtica binria.
A multiplicao representada pelo smbolo asterisco ( * ) para evitar confuso com a
letra x.
Exemplos:
36,8 * 2,59
A*B
X*Y
3*4
A diviso tem problema notacional, pois normalmente indicada na forma de um frao.
Como todo comando dado a um computador tem que ser representado em uma s linha, ento
utiliza-se a barra ( / ) para indicar a operao de diviso.
Exemplos:
8/2
A/B
4,56 / 1,12
A exponenciao a quinta operao numrica disponvel na maioria das linguagens de
programao. O problema notacional resolvido utilizando o smbolo de uma seta apontada
para cima ( ) ou um acento circunflexo ( ^ ) para representar esta operao.
Exemplos:
2 4
X 2
Y ^2
8 ^2

12

Prioridade dos operadores Aritmticos


PRIORIDADE
1
2
3
3
4
4

OPERADOR
^
*
/
+
-

SIGNIFICADO
Exponenciao
Negao de um valor
Multiplicao
Diviso
Adio
Subtrao

EXEMPLO
A^3 = A3
-A
A*B
8/2
4+1
L-6

As prioridades so as mesmas usuais na matemtica comum, devendo ser lembrado


que os parnteses ( ) podem ser aplicados para quebrar as prioridades dos operadores, haja
visto que expresses entre parnteses so realizadas em primeiro lugar.
5.3.3 - Operadores Especiais (MOD e DIV)
MOD Retorna o resto da diviso entre 2 nmeros inteiros.
DIV Retorna o valor inteiro que resulta da diviso entre 2 nmeros inteiros.

5.3.4 - Operadores Relacionais


Os operadores relacionais so normalmente usados nas comparaes de valores
(variveis), realizadas nos testes.
OPERADOR
=
<>
<
>
<=
>=

SIGNIFICADO
Igualdade
Diferena
Menor que
Maior que
Menor ou igual
Maior ou igual

EXEMPLO
SE A = 3
SE B <> 0
SE R < 1
SE D > A
SE F <= 10
SE D >= 5

ENTO...
ENTO...
ENTO...
ENTO...
ENTO...
ENTO...

5.3.5 - Operadores Lgicos


Estes operadores, que fazem parte da lgebra Booleana, tambm podem ser usados
em testes de variveis e expresses matemticas.
PRIORIDADE
1
2
3

OPERADOR
NO (NOT)
E (AND)
OU (OR)

EXEMPLO
SE NO A < B
ENTAO...
SE A > 3 E A < 5
ENTAO...
SE A > B OU A <> 0 ENTO...

13

5.3.6 - FUNES
Uma funo um instrumento (Subalgoritmo) que tem como objetivo retornar um valor
ou uma informao.
A chamada de uma funo feita atravs da citao do seu nome seguido
opcionalmente de seu argumento inicial entre parnteses.
As funes podem ser predefinidas pela linguagem ou criadas pelo programador de
acordo com o seu interesse.
BIBLIOTECAS DE FUNES
Armazenam um conjunto de funes que podem ser usadas pelos programas.
FUNES PR-DEFINIDAS
ABS( )
SQRT( )
SQR( )
TRUNC( )
ROUND( )

VALOR ABSOLUTO
RAIZ QUADRADA
ELEVA AO QUADRADO
VALOR TRUNCADO
VALOR ARREDONDADO

X ABS(-8)
X SQRT(25)
X SQR(3)
X TRUNC(2,45)
X ROUND(3,6)

resultado: X=8
resultado: X=5
resultado: X=9
resultado: X=2
resultado: X=4

As funes acima so as mais comuns e importantes para nosso desenvolvimento


lgico, entretanto, cada linguagem possui suas funes prprias. As funes podem ser
aritmticas, temporais, de texto e etc.

14

Anda mungkin juga menyukai