Você está na página 1de 55

LGICA DE PROGRAMAO

Prof. Rafael Souza

CONTATOS:

E-mail: rafael.faetec@gmail.com
Facebook: Rafael Souza
Twitter: RafaelMatrix
Skype: rafael.net2.0

EXPERINCIA ACADMICA
Formado em Tecnologia em Sistemas de
Informao pela Unicarioca em 2011
Formado
em
Robtica/Mecatrnica
pelo
UFF/Cederj em 2013
Concluindo o curso de Engenharia de Softwares
pela ESAB

O QUE LGICA?

A Lgica o estudo filosfico do raciocnio vlido .


Utilizada em atividades mais intelectuais, a lgica usada
principalmente
nas
disciplinas
de
filosofia, matemtica, semntica e cincia da computao.
Ela examina de forma genrica as formas que
a argumentao pode tomar, quais dessas formas so
vlidas e quais so falaciosas (Mentirosas). Em filosofia, o
estudo da lgica aplica-se na maioria dos seus principais
ramos: metafsica, ontologia, epistemologia e tica. Na
matemtica, estuda-se as formas vlidas de inferncia de
uma linguagem formal. Por fim, a lgica tambm
estudada na teoria da argumentao.

CICLO DE VIDA DO SISTEMA:


1) Estudo da Viabilidade (Estudos Iniciais)
2) Anlise detalhada do sistema (Projeto Lgico)
3) Projeto preliminar do sistema (Projeto Fsico)
4) Projeto detalhado do sistema (Algoritmos)
5) Implementao ou Codificao do sistema (na
Linguagem de Programao escolhida)
6) Testes do sistema
7) Instalao e Manuteno do sistema

ALGORITMO

Um algoritmo pode ser definido como um


conjunto de regras (instrues), bem definidas,
para soluo de um determinado problema.
Segundo o dicionrio Michaelis, o conceito de
algoritmo a "utilizao de regras para definir ou
executar uma tarefa especfica ou para resolver
um problema especfico."

FORMAS DE REPRESENTAO DE
ALGORITMOS
a) Atravs de uma lngua (portugus, ingls, etc.):
forma utilizada nos manuais de instrues, nas
receitas culinrias, bulas de medicamentos, etc.
b) Atravs de uma linguagem de programao
(Pascal, C, Delphi, etc.): esta forma utilizada
por alguns programadores experientes, que
"pulam" a etapa do projeto do programa
(algoritmo) e passam direto para a programao
em si.
c) Atravs de representaes grficas: so
bastante recomendveis, j que um "desenho"
(diagrama, fluxograma, etc.) muitas vezes
substitui, com vantagem, vrias palavras.

REGRAS PARA CONSTRUO DO ALGORITMO NA


LINGUAGEM NATURAL

Para escrever um algoritmo precisamos descrever


a sequncia de instrues, de maneira simples e
objetiva. Para isso utilizaremos algumas tcnicas:
*Usar preferencialmente 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

EXEMPLO 1: CALCULAR A MASSA CORPREA DE


UMA PESSOA

Informe o peso da pessoa


Informe a altura da pessoa
A massa corprea o peso dividido pelo dobro da
altura
Mostre a massa corprea

EXEMPLO: CLCULO DA MDIA DE 4


NOTAS

Informe a nota da prova1


Informe a nota da prova2
Informe a nota da prova3
Informe a nota da prova4
A mdia final a soma de todas as notas dividida
por 4
Mostre a mdia final.

CONCEITOS IMPORTANTES
Constante
Varivel
Atribuio

CONSTANTES
So

chamadas
de
constantes,
as
informaes (dados) que no variam com o
tempo, ou seja, permanecem sempre com o
mesmo contedo, um valor fixo
(invarivel). Como exemplos de constantes
pode-se citar: nmeros, letras, palavras
etc.

VARIVEIS

Uma varivel, um espao da memria do


computador que "reservamos" para guardar
informaes (dados). Como o prprio nome
sugere, as variveis, podem conter valores
diferentes a cada instante de tempo, ou seja, seu
contedo pode variar de acordo com as instrues
do algoritmo.

REGRAS PARA A FORMAO DE NOMES DE


VARIVEIS
O nome de varivel formado por um ou mais
caracteres;
Os caracteres permitidos so letras de A a Z,
nmeros de 0 a 9, e o caracter especial
underline(_);
O primeiro caracter deve, obrigatoriamente, ser
uma letra e os caracteres seguintes, letras ou
dgitos;
O underline(_), quando permitido, somente pode
aparecer entre caracteres ou dgitos, nunca no
incio ou no final;

tamanho de um nome de varivel varia


de linguagem para linguagem de
programao;
No pode ser uma palavra chave ou
palavra reservada.
No pode haver espaos em branco entre
os caracteres.

VLIDAS E INVLIDAS:

Variveis vlidas: NOME, FONE,


IDADE_FILHO, IdadeFilho, NOTA1, Est_Civil
Variveis invlidas: 3Endereco, Estado Civil,
PARA, algoritmo, numero/complemento, Mdia

TIPOS DE DADOS DAS VARIVEIS

As variveis podem armazenar basicamente de trs tipos


bsicos de dados: Numricas, Alfanumricas(Literais ou
caracter) ou lgicas.
Numricas Especficas para armazenamento de nmeros,
que posteriormente podero ser utilizados para clculos.
Podem ser ainda classificadas como Inteiros ou Reais.
Inteiro: admite somente nmeros inteiros. Geralmente
usado para representar contagem (quantidade). Ex: idade,
nmero de sapato, nmero de casa, apto, etc
Real : admite nmeros com ou sem casas decimais, onde a
vrgula substituda por ponto. Geralmente usado
para representar medio, valores monetrios, etc.

Alfanumricas Especficas para dados que


contenham letras, nmeros ou caracteres de
pontuao. Pode em determinados momentos
conter somente dados numricos ou somente
literais. Se usado somente para armazenamento
de nmeros, no poder ser utilizada para
operaes matemticas.. Ex: endereo, data, etc
Lgicas Armazenam somente dados lgicos que
podem ser Verdadeiro ou Falso.

ATRIBUIO

A atribuio uma notao utilizada para


atribuir um valor a uma varivel, ou seja, para
armazenar um determinado contedo em uma
varivel. A operao de atribuio, normalmente,
representada por uma seta apontando para a
esquerda, mas existem outros smbolos para
representar a atribuio, depende da forma de
representao do algoritmo.

EXEMPLOS

OPERADOR DE ATRIBUIO
Uma varivel nunca eternamente igual a um valor, seu
contedo pode ser alterado a qualquer momento. Portanto
para colocar valores em variveis devemos usar o sinal
de uma seta( ) apontando para esquerda.

Exemplo 1 (correto)
Peso 78.7 // Este comando atribui varivel Peso o
valor 78.7.
Nome Joo da Silva // Este comando atribui
varivel Nome o valor Joo da Silva.
Exemplo 2 (incorreto)
importante lembrar que s se pode atribuir s
variveis, valores do mesmo tipo da varivel. Assim, o
seguinte comando seria invlido:
Salario Insuficiente

A varivel Salrio do tipo real no pode armazenar


contedo literal
Exemplo 3 (incorreto)
Deve estar claro, tambm, que sempre esquerda
do comando de atribuio deve haver um (e somente
um) identificador de varivel. Assim, so incorretos
os seguintes comandos:
2060 NumeroConta
NumeroAgencia+digitoControle 2345 + 0

OPERADORES ARITMTICOS
Muitas

vezes,
ao
desenvolvermos
algoritmos,

comum
utilizarmos
expresses matemticas para a resoluo
de clculos. Neste etpa so apresentados
os operadores aritmticos necessrios
para determinadas expresses.

EXEMPLOS
OPERAO
Adio
Subtrao
Multiplicao
Diviso
Exponenciao
Raiz Quadrada

Parte inteira de n
Arredondamento de n

SMBOLO
+
*
/

^
SQRT
TRUNC
ROUND

SINTAXE
CA+B
CA-B
CA*B

CA/B
CA^B
CSQRT(A)

CTRUNC(A)
CROUND(A)

HORIZONTALIZAO
Para

o desenvolvimento de algoritmos que


possuam
clculos
matemticos,
as
expresses aritmticas devem estar
horizontalizadas, ou seja, linearizadas e
tambm no esquecendo de utilizar os
operadores corretamente.

EXEMPLO

OPERADORES RELACIONAIS
Operaes

relacionais so as comparaes
permitidas entres valores, variveis,
expresses e constantes.

OPERADORES DE COMPARAO

EXEMPLOS

OPERADORES LGICOS
Os

operadores lgicos permitem que mais


de uma condio seja testada em uma
nica expresso, ou seja, pode-se fazer
mais de uma comparao (teste) ao mesmo
tempo.

OPERADORES LGICOS

EXEMPLO

EXEMPLOS DE TESTES UTILIZANDO


OPERADORES LGICOS:

ESTRUTURA DO ALGORITMO
Todo

algoritmo escrito em uma


estrutura chamada TOP-DOWN. Ou seja,
a leitura e a escrita e feita de cima para
baixo.

COMANDOS EM ALGORITMO
Leia
Escreva
Se
Seno
Enquanto
Para

COMANDOS DE I/O (INPUT/OUTPUT):

So os comandos que representam a comunicao entre o


usurio e a mquina.

LEIA o comando de entrada que permite a leitura de


Variveis de Entrada.
Nem todos os dados que um algoritmo manipula so
gerados por ele. Um algoritmo (programa) de caixa
automtico, por exemplo, tem que obter do usurio o
nmero da conta, a senha, a opo de servio desejada, etc.
Assim, deve haver um meio para que sejam digitados (ou
fornecidos de outra maneira) dados para o algoritmo. Mais
uma vez, todas as linguagens de programao permitem
isto, e no nosso Portugus Estruturado usamos o comando
leia. A sintaxe deste comando :
Leia (nome da varivel de entrada)

ESCREVA o comando de sada que exibe uma informao


a qual pode ser o resultado de uma varivel ou mensagem na
tela do monitor.
Em geral, um programa que faz seu processamento e
no tem como mostrar seus resultados intil (imagine,
por exemplo, uma calculadora que realiza uma infinidade
de operaes matemticas, mas no tem um display para
mostrar os resultados!). Portanto, em algum ponto do
algoritmo geralmente deve ocorrer exibio de valores,
e todas as linguagens de programao tm comandos
para este fim. Em Portugus Estruturado usamos o
comando escreva. A sintaxe deste comando :

Escreva (nome da varivel de saida)


Escreva(mensagem, varivel de saida)

ou

CORPO GERAL DE UM PROGRAMA


PROGRAMA nomedoprograma
VAR
Listar as variaveis entre vrgula definir o
tipo de dado
NICIO
COMANDOS DE ENTRADA
PROCESSAMENTO
COMANDOS DE SADA
FIM.

ALGORITMO CALCULA E ESCREVE A MDIA


OBTIDA.
PROGRAMA MEDIA_FINAL
VAR
NOTA1, NOTA2, NOTA3, NOTA4, MEDIA:
INTEIRO
NOME : CARACTERE [35]
INICIO
LEIA (NOME)
LEIA (NOTA1, NOTA2, NOTA3, NOTA4)
MEDIA (NOTA1 + NOTA2 + NOTA3 +
NOTA4) / 4
ESCREVA (NOME, MEDIA)
FIM.

ESTRUTURAS DE DECISO
Em

algumas situaes verificamos que na


maioria das vezes necessitamos tomar
decises no andamento do algoritmo.
Essas decises interferem diretamente no
andamento do programa. Trabalharemos
com dois tipos de estrutura. A estrutura
de Deciso e a estrutura de Repetio

COMANDOS DE DECISO
Os

comandos de deciso ou desvio fazem


parte das tcnicas de programao que
conduzem a estruturas de programas que
no so totalmente seqenciais. Com as
instrues de SALTO ou DESVIO pode-se
fazer com que o programa proceda de uma
ou outra maneira, de acordo com as
decises lgicas tomadas em funo dos
dados ou resultados anteriores. As
principais estruturas de deciso so: Se
Ento, Se ento Seno.

SE... ENTO / IF ... THEN


A

instruo se...ento tem por finalidade


tomar uma deciso e efetuar um desvio no
processamento, dependendo, claro, da
condio atribuda ser verdadeira ou falsa.
Sendo a condio verdadeira, ser
executada a instruo que estiver escrita
aps a instruo se..ento. Se a instruo
for falsa, sero executadas as instrues
que
estejam
aps
as
instrues
consideradas verdadeiras.

SINTAXE:

Sintaxe:

se <condio> ento
<instruo para condio verdadeira>;
<instruo para condio falsa ou aps condio ser
verdadeira>;
Vejamos um exemplo de um trecho de programa
com o uso da instruo se..ento:
se (x > 10) ento
escreva(O valor da varivel X maior que 10);

Caso venha a existir mais de uma instruo verdadeira


para uma determinada condio, estas devero estar
inseridas em um bloco. Um bloco o conjunto de instrues
estar entre inicio e fim

Sintaxe:
se <condio> ento
inicio
<instruo para condio verdadeira>
<instruo para condio verdadeira>
<instruo para condio verdadeira>
<instruo para condio verdadeira>
fim;
<instruo para condio falsa ou aps condio ser
verdadeira>

SE... ENTO... SENO / IF ... THEN ...


ELSE
Assim

como a instruo se...ento, a


instruo se...ento...seno tem por
finalidade tomar uma deciso e efetuar
um desvio no
processamento. Se a
condio for verdadeira ser executada a
instruo logo abaixo do se. Sendo a
condio falsa, ser executada a instruo
que estiver posicionada logo aps a
instruo seno. O conceito de blocos de
instrues vale tambm para esta
instruo.

SINTAXE:
se <condio> ento
<instrues para condio verdadeira>
seno
<instrues para condio falsa>;
Caso venha a existir mais de uma instruo verdadeira ou falsa
para uma condio, estas devero estar inseridas em um bloco.
Sintaxe:
se <condio> ento
inicio
<instrues para condio verdadeira>;
<instrues para condio verdadeira>;
fim
seno
inicio
<instrues para condio falsa>;
<instrues para condio falsa>;
fim;

Observe que nos dois casos abordados acima,


qualquer instruo que antecede a instruo seno
est escrita sem o ponto-e-vrgula (;). Isto ocorre pelo
fato de a instruo seno ser uma extenso da
instruo se...ento, e sendo assim, o final da
condio somente ocorre aps o processamento da
instruo seno executado.
Em algoritmo ficaria assim:

SE MDIA >= 5.0 ENTO


Escreva(ALUNO APROVADO)

SENO
Escreva(ALUNO REPROVADO)

ESTRUTURA DE REPETIO:
ENQUANTO-FAA / WHILE - DO
Na

estrutura
Enquanto-Faa
as
instrues a serem repetidas podem no
ser executadas nenhuma vez, pois o teste
fica no incio da repetio, ento a
execuo das instrues (que esto
"dentro" da repetio) depende do teste.
Nesta estrutura, a repetio finalizada
quando o teste Falso (F), ou seja,
enquanto o teste for Verdadeiro as
instrues sero executadas e, quando for
Falso, o lao finalizado.

SINTAXE
Incio
Instrues
Enquanto teste faa
Instrues
Fim_enquanto
Instrues
Fim.

ESTRUTURA DE REPETIO: PARAAT-FAA / FOR-TO-DO


A

estrutura de repetio Para-At-Faa


um pouco diferente das outras duas
(Repita-At e Enquanto-Faa), pois possui
uma varivel de controle, ou seja, com
esta estrutura possvel executar um
conjunto de instrues um nmero
determinado de vezes. Atravs da varivel
de controle, define-se a quantidade de
repeties que o lao far.

SINTAXE
Incio
Instrues
Para VarControle:=1 at N faa
Instrues
Fim_para
Instrues
Fim.

FIM!.... POR ENQUANTO... KKK

Você também pode gostar