Beruflich Dokumente
Kultur Dokumente
A lgica de programao necessria para pessoas que desejam trabalhar com desenvolvimento de
sistemas e programas, ela permite definir a sequncia lgica para o desenvolvimento. Ento o que
lgica?
Lgica de programao a tcnica de encadear pensamentos para atingir determinado objetivo.
Seqncia Lgica Estes pensamentos, podem ser descritos como uma seqncia de instrues, que
devem ser seguidas para se cumprir uma determinada tarefa. Seqncia Lgica so passos
executados at atingir um objetivo ou soluo de um problema.
Instrues Na linguagem comum, entende-se por instrues "um conjunto de regras ou normas
definidas para a realizao ou emprego de algo".
2. Algoritmo Um algoritmo formalmente uma seqncia finita de passos que levam a execuo de
uma tarefa. Podemos pensar em algoritmo como uma receita, uma seqncia de instrues que do
cabo de uma meta especfica. Estas tarefas no podem ser redundantes nem subjetivas na sua
definio, devem ser claras e precisas. Como exemplos de algoritmos podemos citar os algoritmos
das operaes bsicas (adio, multiplicao, diviso e subtrao) de nmeros reais decimais.
Outros exemplos seriam os manuais de aparelhos eletrnicos, como um videocassete, que explicam
passo-a-passo como, por exemplo, gravar um evento. At mesmo as coisas mais simples, podem ser
descritas por seqncias lgicas.
Fases de um Algoritmo
Quando temos um problema e vamos utilizar um computador para resolve-lo inevitavelmente temos
que passar pelas seguintes etapas:
a) Definir qual o problema.
b) Realizar um estudo da situao atual e verificar quais a(s) forma(s) de resolver o problema.
c) Terminada a fase de estudo, utilizar uma linguagem de programao para escrever o programa
que dever a princpio, resolver o problema.
d) Analisar junto aos usurios se o problema foi resolvido.
Se a soluo no foi encontrada, dever ser retornado para a fase de estudo para descobrir onde est
a falha.
Estas so de forma bem geral, as etapas que um analista passa, desde a apresentao do problema
at a sua efetiva soluo. Iremos, neste curso, nos ater as etapas de estudo, tambm chamada de
anlise, e a etapa de programao. Mas antes vamos definir o seguinte conceito: Programar um
computador consiste em elaborar um conjunto finito de instrues, reconhecidas pela mquina, de
forma que o computador execute estas instrues.
Estas instrues possuem regras e uma Sintaxe prpria, como uma linguagem tipo portugus, ingls
ou espanhol, sendo isto chamadas de linguagem de computador.
No mundo computacional existe uma grande variedade de linguagens, Pascal, C, C++, Cobol,
Visual Basic, Delphi, etc. Ns iremos trabalhar com o Pascal.
Estruturas de Algoritmos
Antes de utilizarmos uma linguagem de computador, necessrio organizar as aes a serem
tomadas pela mquina de forma organizada e lgica, sem nos atermos as regras rgidas da Sintaxe
de uma linguagem. Para isto utilizaremos uma forma de escrever tais aes, conhecida como
algoritmo, ou pseudo-cdigo.
Conceituando: Algoritmo consiste em um conjunto lgico e finito de aes (instrues) que
resolvem um determinado problema.
Os algoritmos tero a seguinte estrutura:
ALGORITMO <Nome do algoritmo>
<definies>
INCIO
<Comandos>
FIM
Em Pascal ficaria da seguinte forma:
PROGRAM <Nome do programa>;
<definies>
BEGIN
<Comandos>;
END.
a+b+c+1=D
Observe que nesse exemplo a, b, c so variaveis e o valor 1 fixo, ou seja constante.
Pois o valor de D vai depender dos valores que vou atribuir as demais letras + 1 ( constante ).
Formao de Variveis
Uma varivel formado por uma letra ou ento por uma letra seguida de letras ou dgitos, em
qualquer nmero. No permitido o uso de espaos em branco ou de qualquer outro caractere, que
no seja letra ou dgito, na formao de um identificador.
Na formao do nome da varivel de um nome significativo, para que se possa ter idia do seu
contedo sem abri-l. Se utilizar palavras para compor o nome da varivel utilize o "_ " underline
para separar as palavras.
Contedo de uma Varivel
Dados - Elementos conhecidos de um problema
Informao - Um conjunto estruturado de dados, transmitido conhecimento
Para fixarmos uma ideia de variavel, pense em um supermercado, shopping ou um grande
estacionamento.
Cada vaga tem seu determinado nome, ex.: Setor B n 20, ou seja a vaga nmero 20 pertencente
ao setor B do estacionamento.
Agora imagine que alguem estaciona o carro ali, logo essa vaga vai estar ocupada por esse carro.
O que acabamos de mostrar nada mais do que um exemplo simples e pratico de uma variavel.
Observe que a vaga nmero 20 do setor B nossa variavel que poderiamos chamar de B e o carro
que estaciona nela o valor que atribuimos a ela, que poderiamos chamar de 1. Nesse caso B = 1.
Tipos de Variveis
Considere a frmula matemtica simples de uma equao de 1 grau:
2x + 3 = 0
onde se encontram:
1- valores que podem ser classificados como:
a) valores constantes, invariantes em todas as aplicaes da frmula, no caso dos valores x e aos 2 e
3 denomina-se constantes;
b) valores a serem substitudos na frmula, em cada aplicao; a representao destes valores,
usualmente feita atravs de letras, que recebem o nome de variveis e tornam a frmula genrica,
possvel de ser aplicada para resolver uma certa classe de problemas e no apenas um problema
especfico.
2- Operaes a serem feitas sobre determinados operandos (Valores), para a obteno da soluo do
problema.
Tipos de Dados
O Pascal exige que no momento que formos trabalhar com variveis, indiquemos o tipo de
informao que uma varivel pode conter, isto , se uma dada posio de memria armazenar um
nmero ou uma letra etc.
Para isto, a linguagem Pascal possui definido alguns tipos que devero ser usados quando formos
trabalhar com variveis. Alguns tipos so:
Algoritmo Pascal Descrio:
a) Inteiro (INTEGER) : Representa nmeros entre -32768 at +32767. ocupa 2 bytes na memria;
b) Real (REAL): Representa os nmeros entre 2.9 x 10 -39 at 1.7 x 1038 . Ocupa 6 bytes na
memria;
e) Caracter (CHAR) Representa um dos caracteres, da tabela ASCII. Ocupa 1 byte na memria;
d) Cadeia (STRING): Conjunto de caracteres (CHAR). Ocupa de 1 a 255 bytes na memria;
g) Lgica (BOOLEAN): Valor lgico. Assuma somente dois valores: TRUE(Verdade) ou
FALSE(Falso). ocupa 1 byte na memria;
c) WORD: Nmeros de 0 at 65535. Ocupa 2 bytes na memria;
d) BYTE: Nmeros de 0 at 255. Ocupa 1 byte na memria;
h) Shor Int: Representa os nmeros entre -128 at 128 . Ocupa 1 bytes na memria;
i) LongInt: Representa os nmeros entre - 2.147.483.648 at 2.147.483.648 . Ocupa 4 bytes na
memria;
j) Single: Representa os nmeros entre 1.5 x 10 -45 at 3.4 x 1038 . Ocupa 4 bytes na memria;
l) Double: Representa os nmeros entre 5 x 10 -324 at 1.7 x 10308 . Ocupa 8 bytes na memria.
Iremos gradativamente trabalhar com cada um destes tipos e mostrar as suas caractersticas.
Exemplo Prtico
Podemos pensar como exemplo de declarao de valores o mesmo estacionamento do
supermercado, que foi citado no exemplo anterior.
Lembre-se que cada vaga tem sua identificao e tambm o seu determinado tamanho, quando os
engenheiros construram o estacionamento cada vaga foi medida cuidadosamente para caber um
carro, agora imagine se algum tenta-se colocar um caminho ?
Ser que daria certo?
O exemplo acima nada mais do que um exemplo claro de declarao de tamanho de campos, ou
seja, se voc vai trabalhar com um determinado "caminho" voc precisa criar um estacionamento
prprio para caminho.
Em um sistema seria a mesma coisa, se voc vai trabalhar com um campo de 200 caracteres, voc
precisa declarar que aquele determinado campo vai receber at 200 caracteres.
Comando de atribuio
Quando definimos uma varivel natural atribuirmos a ela uma informao. Uma das formas de
colocar um valor dentro de uma varivel, conseqentemente colocado este dado na memria do
computador, atravs da atribuio direta, do valor desejado que a varivel armazena. Para isto
utilizaremos o smbolo ": =" em Pascal, que significa: recebe, ou seja, a posio, de memria que
uma varivel representa, receber uma informao, a qual ser armazenada no interior desta
varivel.
Exemplo ( entre parenteses o formato em Pascal ):
ALGORITMO Teste ( PROGRAM Teste; )
VARIVEIS VAR
Nmero: INTEIRO ( Nmero: INTEGER; )
INICIO ( BEGIN )
Nmero 10 ( Nmero: =10; )
FIM ( END. )
O Exemplo acima nos informa que:
a) Foi definido uma varivel, a qual demos o Nome de "Nmero", e informamos que esta varivel,
ou posio de memria, s poder aceitar dados, que sejam numricos e que estejam entre -32768 a
+32767 ( tipo INTEGER ).
b) Atribumos varivel "Nmero" o valor 10.
A memria se comportaria da seguinte forma, de acordo com os itens acima:
a) Varivel Contedo
Nmero indefinido
b) Varivel Contedo
Nmero 10
1) Para declarar que uma variavel vai receber um nome devemos usar:
a) STRING ( CADEIA )
b) CARACTER ( CHAR )
2) Para declarar a idade a variavel deve ser do tipo:
a) Inteiro (INTEGER)
b) Caracter (CHAR)
3) Ao trabalharmos com uma informao:
a) devemos apenas declarar o valor
b) devemos usar aspas entre o valor
4) Ao declarar um valor numerico usamos:
a) aspas entre o valor
b) chaves entre o valor
Operadores
Os operadores so meios pelo qual incrementamos, decrementamos, comparamos e avaliamos
dados dentro do computador. Temos trs tipos de operadores:
Operadores Aritmticos
Operadores Relacionais
Operadores Lgicos
Operadores Matemticos
Exemplo:
ALGORITMO Concatena
VARIVEIS
Letra1, Letra2 : CARACTER
Nome1, Nome2, Nome : CADEIA
INICIO
Letra1 'D'
Letra2 'a'
Nome1 'Joao'
Nome2 'Silva'
Nome Nome1 + Letra1 + Letra2 + Nome2
FIM
As instrues acima resultaro no armazenamento do Nome 'Joo Da Silva" na varivel rotulada de
"Nome".
Operadores Logicos
Os operadores logicos so utilizados para comparar String de caracteres e nmeros.
Os valores a serem comparados podem ser caracteres ou variveis.
TOTAL = PRECO * QUANTIDADE
1 + 7 * 2 ** 2 -1 = 28
3 * (1 - 2) + 4 * 2 = 5
Estes operadores sempre retornam valores lgicos (verdadeiro ou falso/ True ou False)
Para estabelecer prioridades no que diz respeito a qual operao executar primeiro, utilize os
parnteses.
Os operadores relacionais so:
Descrio Smbolo Igual a =
Diferente de <> ou # Maior que >
Menor que < Maior ou igual a >=
Menor ou igual a <=
Exemplo:
Tendo duas variveis A = 5 e B = 3 Os resultados das expresses seriam:
Expresso Resultado
A = B Falso
A <> B Verdadeiro
A > B Verdadeiro
A < B Falso
A >= B Verdadeiro
A <= B Falso
Obs.: Em Pascal, quando usamos os comandos READ e WRITE, o cursor continuar posicionado
na mesma linha. Para evitar tal situao, devemos pular para nova linha. Isto obtido acrescentando
as letras LN ( de LINE NEW, ou seja, linha nova ) no final dos comandos READ e WRITE. Desta
forma os comandos tero a seguinte grafia: READLN e WRITELN.