Professional Documents
Culture Documents
Objectivos
Aplicar fluxogramas.
Identificar
dados.
os
diferentes
tipos
de
1.1 LGICA
A lgica de programao necessria para pessoas que desejam trabalhar
com desenvolvimento de sistemas e programas. A lgica permite definir a
sequncia lgica para o desenvolvimento de aplicaes.
O que a lgica?
Lgica de programao a tcnica de encadear pensamentos para atingir
determinado objectivo.
1.2 SEQUNCIA LGICA
Estes pensamentos podem ser descritos como uma sequncia de instrues,
que devem ser seguidas para se cumprir uma determinada tarefa.
Sequncias Lgica so os passos executados at atingir um objectivo ou
soluo de um problema.
1.3. INSTRUES
Na linguagem comum, entende-se por instrues um conjunto de regras
ou normas definidas para a realizao ou utilizao de algo.
Em informtica, porm, instruo a informao que indica a um computador
uma aco elementar a executar.
Convm ressaltar que uma ordem isolada no permite realizar o processo
completo, para isso necessrio um conjunto de instrues colocadas numa
ordem sequencial lgica.
Por exemplo, se quisermos fazer uma omeleta de batatas, precisaremos
colocar em prtica uma srie de instrues: descascar as batatas, bater os ovos,
fritar as batatas, etc...
evidente que essas instrues tm que ser executadas numa ordem
adequada no se pode fritar as batatas e s depois descasc-las.
2/27
Assim sendo, uma instruo isolada no tem muito sentido; para obtermos o
resultado, precisamos de colocar em prtica o conjunto de todas as instrues, na
ordem correcta.
1.4 ALGORITMOS
A palavra algoritmo, primeira vista, parece-nos estranha. Embora possua
uma designao desconhecida, fazemos constantemente uso de algoritmos no
nosso dia-a-dia: a maneira como uma pessoa toma banho um algoritmo. Outros
algoritmos frequentemente utilizados so, por exemplo:
3/27
4/27
Existncia
Existncia
do
do
problema
problema
Busca
Busca
de
de
soluo
soluo
Algoritmo
Algoritmo
Pseudocdigo
Pseudocdigo
Fluxograma
Fluxograma
Programa
Programa
Alteraes
Alteraes
Test
esTest
es
5/27
5. Supe que temos um rob nossa disposio. Esse rob chama-se MANNY e
precisa de ser ensinado a fazer determinadas tarefas. Para ensinar o MANNY,
vamos dar-lhe as instrues necessrias execuo de cada actividade.
Escreve os passos necessrios para o nosso robot:
a) trocar uma lmpada no tecto;
b) trocar o pneu de um carro;
c) calcular a idade de uma pessoa daqui a 20 anos;
d) calcular a mdia de um aluno com 3 notas;
e) somar dois nmeros e multiplicar o resultado pelo primeiro.
6/27
2. Desenvolvimento de Algoritmos
2.1 PSEUDOCDIGO
Para escrever algoritmos podemos utilizar um cdigo de escrita chamado
pseudocdigo. Os algoritmos em pseudocdigo so conjuntos de instrues
descritivas das aces a realizar de modo a resolver problemas. Essas instrues
consistem em frases comeadas por um verbo no imperativo calcule, mostre,
faa, etc ou no infinitivo mostrar, processar, fazer, etc.
A utilizao de pseudocdigo tem a vantagem de podermos utilizar um texto
escrito dessa forma como base de trabalho para a escrita de um programa em
qualquer linguagem de programao.
Outra vantagem da escrita de algoritmos em pseudocdigo que esta forma
de abordagem se aproxima muito verso final do programa.
Paralelamente ao pseudocdigo podero tambm ser desenhados diagramas
elucidativos da sequncia de aces que constituem o algoritmo. Esses
diagramas podem apresentar formas diversas, sendo a mais conhecida a do
diagrama de fluxos (fluxograma).
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.
7/27
8/27
7. Testa cada passo do algoritmo, com todos os seus caminhos para verificar se o
processamento est gerando os resultados esperados (para tal testa o
algoritmo com valores reais).
8. Rev o algoritmo, verificando as boas normas de criao.
Conselho: Tenta conseguir o ptimo, mas s depois de realizares o bom.
2.3 Fluxogramas
2.3.1 Introduo ao fluxograma
Um algoritmo para um programa de computador pode ser apresentado
atravs de fluxogramas ou, como vimos anteriormente, de pseudocdigo.
Os fluxogramas so diagramas representativos do fluxo de aces de um
programa, atravs de smbolos, que representam os diferentes tipos de aces e
o seu encadeamento na sequncia do programa.
9/27
2.3.2 Simbologia
Principais smbolos utilizados nos fluxogramas
Processamento em geral
Leitura/escrita de dados
Incio/Fim de
processamento
Smbolos
Significado
Exemplos
Linha de fluxo
Conector de fluxos
Deciso condicional
x
<
5 V
x x +1
Escreve(x
)
Incio
Qualquer programa opera com dados. Os dados num programa podem ser
utilizados sob a forma de constantes ou de variveis.
Constantes so valores que se mantm inalterados dentro de um programa.
Em programao, as constantes podem ser escritas sob a forma de dados
directos ou ser associadas a identificadores.
Professora: Conceio Santos
10/27
Nota: repara que, com strings, se usam plicas e com valores numricos no.
Quando se utiliza 2000 (sem plicas), tem-se em vista um valor numrico. Se se utilizar
2000, tem-se em vista uma string ou cadeia de caracteres.
A diferena que com o dado 2000 podem ser realizadas operaes aritmticas
(clculos), enquanto que com o dado 2000 no.
11/27
3.2 Variveis
Num programa de computador, uma varivel uma entidade que possui um
valor sendo conhecida no programa por um identificador (nome). de notar que
uma varivel uma entidade que possui diferentes valores em diferentes
instantes de tempo.
O conceito de varivel j familiar na matemtica. Por exemplo, se
identificarmos os lados de um tringulo rectngulo por a, b e c,o teorema de
Pitgoras d-nos a seguinte relao entre as trs variveis:
a2 = b2 + c2
12/27
13/27
Simples
caracter (char)
lgico (boolean)
Cadeias de caracteres
matriz (array)
registo (record)
Estruturados
conjunto (set)
ficheiro (file)
14/27
15/27
Dado
Tipo
Manuel
-542
Verdadeiro
2.12
1.2*10E19
1200
Nmeros
Dado
Tipo
4.333*10E12
0
8800 Tavira
Ana Beatriz
Falso
-7.23
3.9*10E-39
Vlido/Invlido
Identificador
Nome
salrio
AB
preo
6apelido
custo123
X4W
custo total
C?
nome?
nota_final
Ab!
Mdia
Vlido/Invlido
16/27
Operador
+
*
/
DIV
MOD
^
Significado
Soma
Subtraco
Multiplicao
Diviso real
Diviso truncada
Resto da diviso
Exponenciao
Exemplo
Resultado
7+5
7-5
7*5
7/5
7DIV5
7MOD5
7^5
12
2
35
1.4
1
2
16807
17/27
Operador
=
<>
<
<=
>
>=
Significado
Exemplo
Resultado
3=7
3 <> 7
3<7
3 <= 7
3>7
3 >= 7
Falso
Verdadeiro
Verdadeiro
Verdadeiro
Falso
Falso
Igual
Diferente de
Menor que
Menor ou igual
Maior
Maior ou igual
Significado
Negao
Conjuno (E)
Disjuno (OU)
Exemplo
Resultado
NOT (2 > 3)
2 >= 2 AND 2 <5
2 = 0 OU 2 <> 2
Verdadeiro
Verdadeiro
Falso
expresso
condies
forem
V se ambas
verdadeiras;
as
caso
contrrio ser F.
18/27
Prioridade de operadores
1 Parnteses e funes (resolvidos da esquerda para a direita)
2 Multiplicao (*), Diviso ( / e div ) e Resto ( Mod ) (resolvidos da esquerda para a
direita)
3 Soma e subtraco
4 Operadores relacionais: >, <, <=, >=, =, <>
5 Operador Lgico No
6 Operador Lgico E
7 Operador Lgico Ou
A expresso 2*4+1 d como resultado 9.
A expresso 2*(4+1) d como resultado 10.
Nota: A utilizao de parnteses, mesmo que no sejam estritamente
necessrios pode e deve ser aplicada com o intuito de aumentar a clareza
nas expresses tratadas e diminuir a hiptese de erro.
19/27
Em programao
2*a*b
3*(2*a+b)
-2*a/(3+c)
(3^2-3)/2*a
20/27
Resultado
Operao
4<-2
3>-3.5
4.55=2.44
13 DIV 5
2^3
6 DIV 3
3.55 <> 6.33
Resultado
Transforma
Valores possveis
[-5;5.5]
2, 3, 4, 5, 6
Maria, Jos, Joo
Verdadeiro ou falso
a, b, c
as
expresses
seguintes
de
Tipo de dados
modo
serem
usadas
em
programao:
Escrita comum
2a
2-3ac
Em programao
2c b
3a
3ac-2b
Escrita comum
2+3-2b+cd
1 (2b-3cd)
2
Em programao
3b2(2-3)
2-32c
21/27
Designao
Tipo do
Tipo do
argument
Exemplo
resultado
o
Inteiro ou Inteiro
ou ABS(-1.25)
ABS (x)
Valor absoluto de x
ROUND
Valor
(x)
TRUNC(x)
de x
Valor truncado de x
Real
SQR(x)
Quadrado de x
Inteiro
ou Inteiro
SQRT(x)
Raiz quadrada de x
real
Inteiro
real
ou Real
ODD(x)
ORD(x)
real
Avalia se x mpar
Inteiro
Determina o ordinal Ordinal
PRED(x)
SUC(x)
MAXINT
de x
Predecessor de x
Ordinal
Sucessor de x
Ordinal
Indica o mximo -
real
arredondado Real
Resultado
1.25
real
Inteiro
ROUND(1.7
Inteiro
4)
TRUNC(1.7
4)
ou SQR(3)
SQRT(9)
Boolean
Inteiro
ODD(5)
ORD(A)
Verdadeiro
65
Ordinal
Ordinal
Inteiro
PRED(B)
SUC(B)
MAXINT
A
C
32767
inteiro
22/27
Instrues bsicas
Quando comeamos a aprender uma linguagem de programao, das
primeiras coisas que devemos saber como se usam as instrues bsicas, pois
elas so as mais necessrias em qualquer linguagem:
1) Instrues de atribuio;
2) Instrues de escrita ou sada (output);
3) Instrues de leitura ou entrada (input);
1) Instrues de atribuio
As variveis podem receber valores ou sofrer alteraes nos valores que
contm, atravs de instrues de atribuio.
Para atribuirmos um valor ou uma expresso a uma varivel, utilizamos o
comando de atribuio
Assim, a sintaxe do comando :
identificador expresso;
23/27
quando
isto
Exemplo2:
Nota1 14 [ atribudo o valor 14 var. Nota1]
Nota2 16 [ atribudo o valor 16 var. Nota2]
Media (Nota1+Nota2)/2 [calcula a mdia das 2 notas e atribui o resultado
var. Media]
Escrever (Media); [Escreve no ecr o resultado do clculo anterior, ou seja, 15]
Escrever (Nota1, Nota2, Media); [Escreve no ecr as duas notas e a respectiva
mdia, ou seja, 14 16
15]
14
16
24/27
15
25/27
Total 3.2 + 3
X2
Y3
Total x^y-x
X 3.2
Total x^2+2*x
Total 2
X4
Total Total * x
A 2.3
B2
C 3.2
Total 3
Total ((A+3)^B)/Total+C
A4
B A+2
C B^2
Total (A*3)^3+C/2
Total Total *3
A4
B2
C3
Total A^2*B^C
26/27
27/27