Anda di halaman 1dari 23

Linguagens de Programao Mdulo 1

Pag. 2
ndice


Conceitos essenciais de Programao .............................................................. 3
Linguagens de Programao ............................................................................. 3
Organizao dos dados ..................................................................................... 6
Noes Bsicas de Programao e Algoritmia .................................................. 8
Principais Fases da Actividade de Programao ............................................... 8
Problemas, Algoritmos e Programas.................................................................. 8
Tipos de Dados ................................................................................................ 10
Operadores e Operaes elementares ............................................................ 12
Variveis e Expresses.................................................................................... 14
Linguagens de Programao Mdulo 1

Pag. 3
Podem ser:
-Interpretadores
-Compiladores
Conceitos essenciais de Programao

Linguagens de Programao

As Linguagens de Programao permitem a escrita de programas utilizados
pelo computador.

Programa conjunto de instrues estruturadas, que obedecem a regras
especficas da linguagem utilizada, que permitem ao computador executar
tarefas pedidas.

Programa-Fonte o texto, contendo instrues, escrito numa linguagem de
programao.

Programa-Objecto o programa que se obtm depois de traduzido o
programa-fonte.


FASES DE ELABORAO DE UM PROGRAMA

1. Apresentao e Anlise do problema
2. Formulao e representao de um algoritmo
3. Codificao do algoritmo numa linguagem
4. Compilao ou interpretao do programa-fonte
5. Teste de verificao de erros de lgica.

INTERPRETADORES/COMPILADORES

Os programas so escritos em linguagens de programao.
Para que o computador possa entender esses programas necessrio
traduzi-los para linguagem mquina (uma sequncia de 0s e 1s).
A traduo do programa-fonte para linguagem
mquina feita pelos programas tradutores.



Linguagens de Programao Mdulo 1

Pag. 4
Os interpretadores e compiladores so programas que operam sobre o
cdigo-fonte.
O interpretador l o cdigo-fonte linha a linha e executa as instrues
contidas nessa linha.
O compilador l o programa inteiro e converte-o em cdigo-objecto, que
consiste numa traduo do cdigo-fonte numa forma que pode ser
directamente executada pelo computador.
Programas compilados so processados com maior rapidez do que os
interpretados.

Ciclo de desenvolvimento de um programa compilado














O programa-fonte traduzido integralmente para cdigo-objecto.


Aps o que feita uma ligao com as rotinas nas bibliotecas
incorporadas na linguagem por forma a gerar o programa executvel.

O programa executvel est apto a ser utilizado em qualquer altura sem
que seja preciso traduzir de novo o programa-fonte.



(GLWRU
3URJUDPD
)RQWH
&RPSLODGRU
3URJUDPD
2EMHFWR
/LJDGRU
3URJUDPD
([HFXWiYHO
Erros
Linguagens de Programao Mdulo 1

Pag. 5
TIPOS DE LINGUAGENS DE PROGRAMAO

Pascal C Lisp
Cobol Fortran APL
Basic Assembly
Ada PL/1


CLASSIFICAO DAS LINGUAGENS DE PROGRAMAO

As linguagens de programao podem ser classificadas de acordo com a
aproximao que tm da linguagem humana.

H trs nveis de classificao:
Baixo Nvel
Nvel Mdio
Alto Nvel.


Linguagens de baixo nvel so linguagens escritas numa linguagem de
programao muito parecida com a linguagem mquina.
Ex: Assembly


Linguagens de nvel mdio so linguagens escritas que combinam
elementos de uma linguagem de alto nvel com a funcionalidade do Assembly.
Ex: C


Linguagens de alto nvel so linguagens que utilizam sintaxes estruturadas
tornando o seu cdigo mais legvel.
Ex: Pascal, Cobol, Basic




Linguagens de Programao Mdulo 1

Pag. 6
Organizao dos dados

Informao constituda por dados articulados com significado. Informao
no o mesmo que dados. difundida e trabalhada de diversas formas
(imprensa, televiso, publicidade, meios informticos, etc).

Informao Conjuntos de dados articulados entre si, com determinado
sentido ou significado.

Dados Designaes de entidades (objectos, pessoas, etc), factos, valores
numricos, representaes simblicas, etc.

Dados Exemplos Informao Exemplos
Caracteres;

Palavras;

Nmeros;

Linhas;

Pontos;

Formas.
C;

Ana; Brasil;

9; 5;



Palavras
articuladas em
frases;
Mensagens,
notcias,
conhecimentos;
Valores relativos
a quantidades,
preos, datas;

Imagens,
smbolos,
fotografias.

A Ana vai ao
Brasil;


9 caixas de
disquetes a 5
cada;






D Da ad do os s
P Pr ro oc ce es ss sa am me en nt to o

I In nf fo or rm ma a o o

Linguagens de Programao Mdulo 1

Pag. 7

Caractersticas da Informao (Dados)

Externa/Interna
Permanente/Temporria
Qualitativa/Quantitativa
Elementar/Elaborada
Numrica/Alfabtica/Alfanumrica.



Classificao Dos Dados

Dados quantitativos designam quantidades.
Dados classificativos designam elementos envolvidos.
Dados referenciais Permitem controlar ou referenciar os elementos
tratados.















Linguagens de Programao Mdulo 1

Pag. 8
Noes Bsicas de Programao e Algoritmia

Objectivos:
Problemas, Algoritmos e Programas
Operaes Elementares, Tipos de Dados, Variveis e Expresses
Construo de Algoritmos em Linguagem Informal e Simblica
Linguagens e Ambientes de Programao.


Principais Fases da Actividade de Programao














Problemas, Algoritmos e Programas

Como os computadores s fazem aquilo que ns mandamos, e no
necessariamente aquilo que desejaramos que fizessem, nas instrues de
qualquer programa no deve haver nenhuma ambiguidade, nem a
possibilidade de interpretaes alternativas.

Uma afirmao como calcule a mdia das notas neste teste muito
imprecisa, apesar de parecer especificar aquilo que desejamos. Se
repararmos bem, muitos detalhes foram omitidos; entre eles citamos: onde
esto as notas, quantas so, os ausentes devem ou no ser includos, etc..
Definio do Problema
Planificao da Resoluo
Estratgia de Abordagem
Implementao - Codificao
Teste e Depurao
Documentao
Manuteno
Linguagens de Programao Mdulo 1

Pag. 9
Muitos problemas interessantes parecem ser complexos do ponto de vista da
programao. Em alguns casos, esta complexidade pode ser inerente ao
problema em si. Durante o desenvolvimento de programas, a
complexidade nem sempre ser um problema se pudermos contorn-la
adequadamente.

A programao de computadores pode ser uma rea difcil mas muito
interessante, e a dificuldade inerente a esta rea poder ser contornada com a
utilizao de tcnicas prprias e com o avolumar de experincia em
programao. Por exemplo, um trabalho de programao pode tornar-se
muito mais fcil se o dividirmos sistematicamente em partes menos
complexas (a abordagem do dividir para conquistar).














Em primeiro lugar, importante separarmos a fase da resoluo do problema
da tarefa a que chamamos a fase da implementao.
Na primeira fase, elaboramos um algoritmo para resolver a problema proposto
e s quando esta fase estiver concluda que passaremos fase seguinte, que
a implementao desse algoritmo numa qualquer linguagem de
programao.

Mas afinal o que um Algoritmo?

Apesar de ser um termo novo para ns, o conceito bastante familiar. As
indicaes dadas para se chegar a determinada rua constituem um algoritmo
para se encontrar essa rua. Uma receita de cozinha uma forma muito familiar
de algoritmo. Uma planta de um arquitecto serve o mesmo propsito num
projecto de construo de uma casa.
3UREOHPD
Soluo em
forma de
algoritmo.
Soluo em
forma de
programa.
Fase da
resoluo do
problema.
Fase da
implementao.
Passo difcil.
Linguagens de Programao Mdulo 1

Pag. 10
Algoritmo um conjunto de instrues organizadas de modo a obter
determinado fim. A sua estrutura sequencial, o que significa que cada
instruo executada aps terminada a anterior, enquanto no se encontrar a
instruo de fim.
Na iniciao algoritmia usa-se uma pseudo-linguagem, visto que no
utilizada para programar de facto, mas que se considera facilmente adaptvel
s diversas linguagens desenvolvidas para a programao de computadores.

Com tudo isto necessrio que os algoritmos desenvolvidos possuam
determinadas caractersticas importantes. Em primeiro, as instrues de um
algoritmo devem ser simples, sem ambiguidade e escritas numa ordem
cuidadosamente definida. Alm disto, os algoritmos devem ser efectivos, isto ,
devem sempre resolver o problema utilizando um nmero finito de instrues,
para que os custos de programao inerentes no sejam muito altos.

Tipos de Dados

O objectivo principal de qualquer computador a manipulao de informao
ou dados. Estes dados podem ser vendas semanais de uma loja, nome e
endereos de uma lista de clientes, notas finais de um curso, etc.
Como se pode constatar, existem diferenas bvias na forma de representar
cada um dos dados acima referenciados. Se pensarmos bem, as primeiras so
representadas por valores numricos e as segundas por sequncias de
caracteres.
A representao dos dados s um lado da moeda, necessrio que
possamos efectuar operaes com esses dados. Portanto, o tipo de dados
define tambm o conjunto de operaes permitidas sobre esse dado.

Inteiro (Integer)
Numricos
Real (Real)
Caracter (Char) e Conjunto de
caracteres (String)
Simples
Lgico (Boolean)

Cadeias de Caracteres (String)

Vector e Matriz (Array)
Registo (Record)
Conjunto (Set)
Tipos de
Dados
Estruturados
Ficheiro (File)
Linguagens de Programao Mdulo 1

Pag. 11
Os tipos de dados para os quais se encontra a designao entre parntesis,
em ingls, correspondem a tipos de dados para a linguagem de programao
Pascal.

Seguidamente vem uma breve descrio de cada tipo de dados.

Inteiro
(Integer)
Correspondem aos nmeros inteiros da matemtica. No
tm componentes decimais nem fraccionrios e podem
ser positivos ou negativos. So todos os nmeros
compreendidos entre 32768 e 32767, inclusive.
Exemplos: 23 7 -6 208 7830 -295
Real (Real) Correspondem aos nmeros decimais ou fraccionrios da
matemtica. Tambm podem ser positivos ou negativos.
Esto compreendidos:
Negativos: de -1,7x1038 at 2,9x10-39
Positivos: de 2,9x10-39 at 1,7x1038
Exemplos: 23.8 3.6752 -8.910 -56.321
Caracter
(Char)
Este tipo de dados engloba todos os caracteres do cdigo
ASCII. Um dado deste tipo representado por um
smbolo ou caracter entre apstrofes.
Exemplos: a b * = $
Lgico
(Boollean)
Este tipo de dados apresenta somente valores.
Verdadeiro ou Falso
Cadeias de
Caracteres
(Strings)
Exemplos: Maria Ol 500 4000 Porto










Linguagens de Programao Mdulo 1

Pag. 12
Operadores e Operaes elementares


Podemos dividir os operadores em cinco grupos:

Aritmticos
Booleanos
Operadores Lgicos
Funcionais
Operadores de cadeias de caracteres




Qualquer tipo de dado pode ser sujeito a operaes booleanas, o resultado
destas operaes assume sempre e somente um de dois valores possveis,
Verdadeiro ou Falso.

OPERADORES LGICOS



Negao
Conjuno
Disjuno (OU inclusivo)
NOT
AND
OR
Significado Operador
Linguagens de Programao Mdulo 1

Pag. 13
OPERADORES FUNCIONAIS (FUNES)

Operador Funo
ABS()
SQRT()
INT()
TRUNC()
ROUND()
...
Valor absoluto
Raz quadrada
Parte inteira
Parte inteira
Valor arredondado




OPERADORES de STRINGS

Operador Significado
Concatenao (+) uma forma de juntar cadeias de
caracteres.
Comparao (> < = ...) Idnticos aos relacionais.




PRIORIDADE DOS OPERADORES ARITMTICOS

1 ^ Exponenciao
2 - Sinal negativo
3 * / Multiplicao e Diviso
4 MOD Diviso inteira
5 ABS Mdulo aritmtico
6 + - Adio e Subtrao




Linguagens de Programao Mdulo 1

Pag. 14
a b
c
PRIORIDADE DOS OPERADORES ARITMTICOS, LGICOS E RELACIONAIS

1 ^ Exponenciao
2 - Sinal negativo
3 * / Multiplicao e Diviso
4 MOD Diviso inteira
5 ABS Mdulo aritmtico
6 + - Adio e Subtrao
7 > < = ... Operadores Relacionais
8 NOT Operador Lgico Negao
9 AND Operador Lgico e
10 OR Operador Lgico ou


Variveis e Expresses

J vimos algumas operaes fundamentais com dados numricos. Vimos que
possvel manipular os dados de vrias formas, combinando as operaes de
forma a formar expresses mais elaboradas. Assim sendo, precisamos de um
conceito que rena tudo isto. A esse conceito designamos por Varivel.
Num programa de computador, uma varivel uma entidade que possui um
valor sendo conhecida no programa por um nome. O conceito de Varivel no
nos totalmente estranho, j que o conhecemos da matemtica.

Quem no ouviu falar do Teorema de Pitgoras. Por exemplo se
identificarmos os lados de um tringulo por a, b e c como se pode
ver na figura, temos ento a seguinte relao a^2=b^2+c^2.


Os nomes acima usados foram a, b e c. Em programao conveniente
usarem-se nomes mais significativos, como por exemplo LadoA, LadoB e
Hipotenusa.


Temos de ter em ateno que no podemos dar qualquer nome a uma varivel.
Existem algumas regras que temos de cumprir no momento de atribuio dos
nomes s variveis. Regras essas, que so:

Linguagens de Programao Mdulo 1

Pag. 15
O primeiro caracter deve ser sempre uma letra;
Os restantes caracteres podero ser letras, algarismos e o caracter de
ligao (_);
O nome da varivel no pode ter espaos;
As palavras reservadas das linguagens de programao no podem ser
atribudas a nomes de variveis;
No so permitidos caracteres como por exemplo , , , etc..


Entrando agora no mbito das expresses, temos que as expresses tal como
ns as conhecemos (expresses matemticas) vo ter que sofrer algumas
alteraes j que no podero ser utilizadas, devido ao seu formato, em
computadores.

Atribuio, Entrada e Sada de Dados


A Atribuio em programao consiste simplesmente em atribuir a uma
varivel um valor que pode ser uma constante ou uma expresso. Esta
operao representada em algoritmia pelo smbolo

X 5, significa que a varivel X possui a partir deste momento o valor 5. De
realar que se varivel tivesse sido atribudo anteriormente outro valor, ele
era destrudo aquando desta atribuio.

A Entrada de Dados est associada, como no podia deixar de ser, a um
perifrico de entrada, sendo o mais utilizado o teclado. A partir este perifrico,
por exemplo, atribuem-se valores s variveis que sero processadas pelos
programas. O comando associado entrada de dados e como ser
reconhecido em algoritmia : Ler (...).

Exemplo: Ler (X, Y)

De seguida o computador ficar espera que sejam fornecidos os respectivos
valores, o primeiro valor ser atribuido primeira varivel (X) e o segundo valor
segunda varivel (Y).

Linguagens de Programao Mdulo 1

Pag. 16
Por fim, a Sada de Dados, por sua vez est associada a um perifrico de
sada sendo os mais comuns o monitor e a impressora, podendo-se assim
mostrar os valores que as variveis possuem a cada instante. O comando
associado : Escrever (...).

Exemplo: Escrever (Y)



Passagem de Expresses matemticas para expresses computacionais

Num algoritmo as expresses so escritas com simbologia prpria do
pseudocdigo.

EXEMPLO:
Expresso Matemtica:

Expresso computacional: A ( 4 * ( 5 + 3 ) ) / 7
























( )
7
3 5 4 +
= A
Linguagens de Programao Mdulo 1

Pag. 17
Abordagem top-down

A abordagem top-down, abordagem descendente ou abordagem do topo para
a base, um mtodo de abordagem dos problemas em que se procuram
identificar os pontos essenciais da questo e se parte destes, dos pontos mais
gerais para os mais particulares.
A modificao de componentes mais fcil do que a modificao do todo. A
compreenso de cada subproblema mais fcil do que a compreenso integral
do problema. A verificao do funcionamento do algoritmo mais simples em
blocos do que na sua globalidade.


CONSTRUO DE ALGORITMOS EM LINGUAGEM INFORMAL

EXEMPLO: Como beber um copo de gua?

Uma resposta simples em forma de algoritmo poder ser:
Pegar num copo
Coloc-lo debaixo de uma torneira
Ench-lo
Lev-lo boca
Beber a gua
Pousar o copo


Na realidade a tarefa de encher um copo de gua no to simples como
parece.
Estando a gua a cair da torneira para dentro do copo quando que paramos?
Esta tarefa implica uma srie de raciocnios sucessivos sobre um determinado
estado de um objecto, at ter de se tomar uma deciso.

O copo est cheio ou no?

S quando a resposta afirmativa que me decido a executar duas operaes
sucessivas:

Retirar o copo
Fechar a torneira
Linguagens de Programao Mdulo 1

Pag. 18
Incio
ver se existe um copo
se no existe
fica-se com sede
se existe
estender a mo
segurar o copo
se no estiver debaixo da torneira
colocar o copo debaixo da torneira
se estiver debaixo da torneira
abrir a torneira
se o copo no estiver cheio
manter a torneira aberta
se o copo estiver cheio ento
fechar a torneira
levar o copo boca
beber a gua
pousar o copo
largar o copo
fim


Repare-se que h palavras que foram usadas intencionalmente e que
correspondem a palavras reservadas no domnio da programao:

se if
no not
ento then
seno else
incio begin
fim

end

Basicamente, chega-se concluso de que qualquer processo, ou a resoluo
de qualquer problema, sempre constitudo por decises e execuo de
processos elementares...

Uma outra questo a salientar tem a ver com a indentao, ou seja, os
espaos dados antes de se iniciar a escrita de cada linha.


um mtodo que se usa para facilitar a leitura do algoritmo.

ou em
ingls
Linguagens de Programao Mdulo 1

Pag. 19

EXEMPLO:


Indentao



SIMBOLOGIA: PSEUDOCDIGO E FLUXOGRAMAS

Em algoritmia e programao, para alm das linguagens de programao, so
utilizadas outras linguagens e formas de representao das instrues ou
operaes que indicamos nos algoritmos, nomeadamente:

PSEUDOCDIGO
FLUXOGRAMAS
OUTROS DIAGRAMAS
Uma das tcnicas mais utilizadas para a representao de um algoritmo :



No se deve fazer um algoritmo sem uma boa anlise.

Depois de termos o algoritmo desenhado, testado e representado graficamente
necessrio passar codificao, utilizando a linguagem necessria.

PSEUDOCDIGO

uma das formas de apresentao de algoritmos para linguagem
computacional.

PSEUDOLINGUAGEM PSEUDOCDIGO
ver se existe um copo
se no existe
fica-se com sede
se existe
estender a mo
...
Linguagens de Programao Mdulo 1

Pag. 20
uma representao do algoritmo, escrito numa linguagem convencional com
termos apropriados representativos de aces especficas.

Pseudocdigo Cdigo escrito em que se utilizam termos convencionais
para indicar as instrues do programa.

As instrues mais comuns em pseudocdigo so as que se referem s
operaes elementares de: Input ou Entrada de dados, Atribuio em Clculos
e Output ou Sada de dados.

LER() - input
- operao de atribuio
ESCREVER() - output


As strings so includas entre aspas ( ) ou apstrofes ( ).



EXEMPLO:

LER (Nome) L a varivel Nome
LER(Idade) L a varivel Idade
LER(Nota1, Nota2) L as variveis Nota1 e Nota2
ESCREVER(Ol Mundo!) Escreve Ol Mundo!
ESCREVER(Nome) Escreve o contedo da varivel Nome
ESCREVER(A idade , Idade)

Escreve A idade seguido do contedo
da varivel Idade


EXEMPLO:
Nome Ana Oliveira
Taxa 1.19
Prec (Custo+Lucro)*1.19
T Taxa

Linguagens de Programao Mdulo 1

Pag. 21
Em pseudocdigo, uma instruo de atribuio (de um valor a uma Varivel)
escreve-se indicando:
1 O nome da varivel
2 O sinal de atribuio ( )
3 O valor que se pretende atribuir varivel, podendo ser um valor
numrico directo, uma outra varivel ou uma expresso a calcular.


O pseudocdigo uma linguagem computacional utilizada para escrita de
algoritmos.

O algoritmo escrito em pseudocdigo composto pelo nome do algoritmo, os
nomes das variveis, os passos e as instrues em pseudocdigo.

Nome do algoritmo Nome genrico do algoritmo.
Nome das variveis Variveis utilizadas
Passos Descrio de cada instruo ou conjunto de instrues.
Instrues Instrues em pseudocdigo.


EXEMPLO:
Variveis ida, idd: inteiro
Inicio
LER(ida)
idd ida * 365
ESCREVER(A idade em dias :, Idd)
Fim


A Lista de variveis contm todas as variveis utilizadas no programa, o
significado, o tipo de varivel e a gama de valores que cada uma pode conter.




Linguagens de Programao Mdulo 1

Pag. 22

LISTA DE VARIVEIS do Algoritmo IDADE_DIAS
NOME SIGNIFICADO TIPO GAMA
Ida Idade em anos INTEIRO [0, 100]
Idd Idade em dias INTEIRO [0, 36500]



A Traagem do algoritmo


A traagem do algoritmo a simulao sobre o algoritmo de modo a
verificar se ele efectua a resoluo do problema proposto.

1. Cria-se um mapa com vrias colunas;
2. Colocam-se todas as variveis no cabealho em colunas separadas;
3. Colocam-se todas as condies em colunas separadas;
4. Na ltima coluna colocam-se as sadas.
5. Preenche-se com os valores dados. (DATA)



TRAAGEM do algoritmo IDADE_DIAS
DATA: 18
Passo Ida Idd SADA
1. 18
2. 18 6570
3. 18 6570 A idade em dias : 6570




Linguagens de Programao Mdulo 1

Pag. 23
FLUXOGRAMA

Fluxograma = Diagrama de Fluxo
uma forma de representao de um algoritmo.
o grafismo que descreve de forma simples e fcil a leitura de um
determinado algoritmo.
O fluxograma utiliza formas grficas convencionais atravs das quais se
representam a sequncia de aces dos algoritmos.

Os fluxogramas no so mais do que a representao grfica de um algoritmo,
tirando partido da maior facilidade de compreender atravs de uma ilustrao.
So uma ferramenta extremamente importante para compreender os
algoritmos, desde que o problema em questo no seja muito complexo.
Os fluxogramas, so diagramas que representam os fluxos das aces
contidas num algoritmo. Utilizam smbolos que representam os diversos tipos
de aces e o seu inter-relacionamento na sequncia de um programa.

Smbolos mais utilizados:

Simbolo Significado
Processamento

Entrada ou Sada de dados

Deciso
Condicional
Escolha
Mltipla
Conector
de Fluxos
Incio ou Fim
De algoritmo
Linha de Fluxo

Linguagens de Programao Mdulo 1

Pag. 24
Vantagens

Como so baseados numa representao grfica fcil de visualizar a
sua estrutura.
Os smbolos utilizados so normalizados.
Permitem uma rpida deteco e correco de erros de lgica.


Desvantagens

Pouco prticos para efectuar alteraes.
No representam a estrutura dos dados.
Quando os programas so muito grandes, os fluxogramas, para os
esquematizar, tambm se tornam grandes e complexos.

Anda mungkin juga menyukai