Você está na página 1de 49

LGICA DE PROGRAMAO

Criao de Algoritmos

Lgica de Programao

SUMRIO
INTRODUO..................................................................................................................18
O objetivo principal da Lgica de Programao demonstrar tcnicas para resoluo
de problemas e consequentemente automatizao de tarefas........................................18
Aprender a Lgica essencial para formao de um bom programador, servindo
como base para o aprender todas as linguagens de programao.................................18
De um modo geral esses conhecimentos sero de supra importncia pois ajudaro no
cotidiano, desenvolvendo um raciocnio rpido..............................................................18
ALGORITMO....................................................................................................................19
Um Algoritmo uma seqncia de instrues ordenadas de forma lgica para a
resoluo de uma determinada tarefa ou problema.......................................................19
ALGORITMO NO COMPUTACIONAL....................................................................19
Abaixo apresentado um Algoritmo no computacional cujo objetivo usar um
telefone pblico...................................................................................................................19
Incio....................................................................................................................................19
1.Tirar o fone do gancho;..................................................................................................19
2.Ouvir o sinal de linha;.....................................................................................................19
3.Introduzir o carto;.........................................................................................................19
4.Teclar o nmero desejado;.............................................................................................19
5.Se der o sinal de chamar.................................................................................................19
DESVIO.........................................................................................................................................................19

5.1 Conversar;....................................................................................................................19
5.2 Desligar;........................................................................................................................19
5.3 Retirar o carto;...........................................................................................................19
6. Seno................................................................................................................................19
6.1 Repetir;.........................................................................................................................19
Fim.......................................................................................................................................19
PROGRAMA......................................................................................................................19
Um programa um Algoritmo escrito em uma linguagem computacional..................19
LINGUAGENS DE PROGRAMAO..........................................................................20
2

Lgica de Programao

So Softwares que permitem o desenvolvimento de programas. Possuem um poder de


criao ilimitado, desde jogos, editores de texto, sistemas empresariais at sistemas
operacionais........................................................................................................................20
Existem vrias linguagens de programao, cada uma com suas caractersticas
prprias...............................................................................................................................20
Exemplos:...........................................................................................................................20
Pascal...................................................................................................................................20
Clipper.................................................................................................................................20
C...........................................................................................................................................20
Visual Basic.........................................................................................................................20
Delphi e etc. ........................................................................................................................20
OPERADORES ARITMTICOS....................................................................................20
+ Adio...............................................................................................................................20
- Subtrao..........................................................................................................................20
* Multiplicao...................................................................................................................20
/ Diviso...............................................................................................................................20
OPERADORES RELACIONAIS.....................................................................................20
> Maior que.........................................................................................................................20
< Menor que........................................................................................................................20
>= Maior ou Igual..............................................................................................................20
<= Menor ou Igual..............................................................................................................20
= Igual..................................................................................................................................20
Diferente..............................................................................................................................20
LINEARIZAO DE EXPRESSES.............................................................................21
Para a construo de Algoritmos todas as expresses aritmticas devem ser
linearizadas, ou seja, colocadas em linhas.......................................................................21
importante tambm ressalvar o uso dos operadores correspondentes da aritmtica
tradicional para a computacional.....................................................................................21
Exemplo:.............................................................................................................................21

Lgica de Programao

TRADICIONAL....................................................................................................................................................21
COMPUTACIONAL...............................................................................................................................................21

MODULARIZAO DE EXPRESSES.......................................................................21
A modularizao a diviso da expresso em partes, proporcionando maior
compreenso e definindo prioridades para resoluo da mesma..................................21
Como pode ser observado no exemplo anterior, em expresses computacionais
usamos somente parnteses ( ) para modularizao...................................................21
Na informtica podemos ter parnteses dentro de parnteses.......................................21
Exemplos de prioridades:..................................................................................................21
(2+2)/2=2.............................................................................................................................21
2+2/2=3...............................................................................................................................21
OPERADORES ESPECIAIS (MOD e DIV)...................................................................22
MOD Retorna o resto da diviso entre 2 nmeros inteiros......................................22
DIV Retorna o valor inteiro que resulta da diviso entre 2 nmeros inteiros........22
Exemplo:.............................................................................................................................22
FUNES...........................................................................................................................22
Uma funo um instrumento (Subalgoritmo) que tem como objetivo retornar um
valor ou uma informao...................................................................................................23
A chamada de uma funo feita atravs da citao do seu nome seguido
opcionalmente de seu argumento inicial entre parnteses.............................................23
As funes podem ser predefinidas pela linguagem ou criadas pelo programador de
acordo com o seu interesse................................................................................................23
Exemplos:............................................................................................................................23
BIBLIOTECAS DE FUNES........................................................................................23
Armazenam um conjunto de funes que podem ser usadas pelos programas...........23
FUNES PR-DEFINIDAS..........................................................................................23
ABS( )..................................................................................................................................24
VALOR ABSOLUTO........................................................................................................24
SQRT( )...............................................................................................................................24
RAIZ QUADRADA...........................................................................................................24
4

Lgica de Programao

SQR( )..................................................................................................................................24
ELEVA AO QUADRADO ...............................................................................................24
TRUNC( )............................................................................................................................24
VALOR TRUNCADO.......................................................................................................24
ROUND( )...........................................................................................................................24
VALOR ARREDONDADO..............................................................................................24
LOG( ).................................................................................................................................24
LOGARITMO....................................................................................................................24
SIN( )...................................................................................................................................24
SENO...................................................................................................................................24
COS( )..................................................................................................................................24
COSENO.............................................................................................................................24
TAN( )..................................................................................................................................25
TANGENTE.......................................................................................................................25
As funes acima so as mais comuns e importantes para nosso desenvolvimento
lgico, entretanto, cada linguagem possui suas funes prpias. As funes podem ser
aritmticas, temporais, de texto e etc...............................................................................26
OPERADORES LGICOS..............................................................................................26
Atuam sobre expresses retornando sempre valores lgicos como Falso ou
Verdadeiro..........................................................................................................................26
E...........................................................................................................................................27
RETORNA VERDADEIRO SE AMBAS AS PARTES FOREM VERDADEIRAS.. .27
OU........................................................................................................................................27
BASTA QUE UMA PARTE SEJA VERDADEIRA PARA RETORNAR
VERDADEIRO..................................................................................................................27
NO.....................................................................................................................................28
INVERTE O ESTADO, DE VERDADEIRO PASSA PARA FALSO E VICE-VERSA.
..............................................................................................................................................28
TABELA VERDADE.........................................................................................................29

Lgica de Programao

A...........................................................................................................................................30
B...........................................................................................................................................30
A E B....................................................................................................................................30
A OU B................................................................................................................................30
NO (A)..............................................................................................................................30
V...........................................................................................................................................30
V...........................................................................................................................................30
V...........................................................................................................................................30
V...........................................................................................................................................30
F...........................................................................................................................................30
V...........................................................................................................................................30
F...........................................................................................................................................30
F...........................................................................................................................................30
V...........................................................................................................................................30
F...........................................................................................................................................30
F...........................................................................................................................................30
V...........................................................................................................................................30
F...........................................................................................................................................30
V...........................................................................................................................................30
V...........................................................................................................................................30
F...........................................................................................................................................31
F...........................................................................................................................................31
F...........................................................................................................................................31
F...........................................................................................................................................31
V...........................................................................................................................................31
EXPRESSES LGICAS................................................................................................32
As expresses compostas de relaes sempre retornam um valor lgico......................32
6

Lgica de Programao

Exemplos:............................................................................................................................32
2+5>4 Verdadeiro.........................................................................................................33
3<>3 Falso......................................................................................................................33
De acordo com a necessidade, as expresses podem ser unidas pelos operadores
lgicos..................................................................................................................................34
Exemplos:............................................................................................................................34
2+5>4 E 3<>3 Falso.......................................................................................................34
2+5>4 OU 3<>3 Verdadeiro.........................................................................................34
NO(3<>3) Verdadeiro.................................................................................................34
VARIVEIS.......................................................................................................................34
Variveis so endereos de memria destinados a armazenar informaes
temporariamente................................................................................................................34
* Todo Algoritmo ou programa deve possuir varivel!..................................................34
VARIVEIS DE ENTRADA E SADA...........................................................................34
Variveis de Entrada armazenam informaes fornecidas por um meio externo,
normalmente usurios ou discos.......................................................................................34
Variveis de Sada armazenam dados processados como resultados............................34
Exemplo:.............................................................................................................................34
De acordo com a figura acima A e B so Variveis de Entrada e C uma Varivel de
Sada....................................................................................................................................35
CONSTANTES...................................................................................................................35
Constantes so endereos de memria destinados a armazenar informaes fixas,
inalterveis durante a execuo do programa.................................................................35
Exemplo:.............................................................................................................................35
PI = 3.1416...........................................................................................................................35
IDENTIFICADORES........................................................................................................35
So os nomes dados a variveis, constantes e programas...............................................35
Regras Para construo de Identificadores:....................................................................35
No podem ter nomes de palavras reservadas (comandos da linguagem);..................35
7

Lgica de Programao

Devem possuir como 1 caractere uma letra ou Underscore ( _ );.................................35


Ter como demais caracteres letras, nmeros ou Underscore;.......................................35
Ter no mximo 127 caracteres;.........................................................................................35
No possuir espaos em branco;.......................................................................................35
A escolha de letras maisculas ou minsculas indiferente..........................................35
Exemplos:............................................................................................................................35
NOME.................................................................................................................................36
TELEFONE........................................................................................................................36
IDADE_FILHO..................................................................................................................36
NOTA1................................................................................................................................36
SALARIO............................................................................................................................36
PI..........................................................................................................................................36
UMNOMEMUITOCOMPRIDOEDIFICILDELER......................................................36
UM_NOME_MUITO_COMPRIDO_E_FACIL_DE_LER...........................................36
TIPOS DE DADOS............................................................................................................36
INTEIRO............................................................................................................................36
ADMITE SOMENTE NMEROS INTEIROS. GERALMENTE UTILIZADO
PARA REPRESENTAR UMA CONTAGEM (QUANTIDADE).................................36
REAL...................................................................................................................................36
ADMITE NMEROS REAIS (COM OU SEM CASAS DECIMAIS).
GERALMENTE UTILIZADO PARA REPRESENTAR UMA MEDIO...........36
CARACTERE....................................................................................................................36
ADMITE CARACTERES ALFANUMRICOS. OS NMEROS QUANDO
DECLARADOS COMO CARACTERES TORNAM SE REPRESENTATIVOS E
PERDEM A ATRIBUIO DE VALOR........................................................................36
LGICO.............................................................................................................................36
ADMITE SOMENTE VALORES LGICOS(VERDADEIRO/FALSO)....................36
COMANDOS DE I/O (INPUT/OUTPUT)- Entrada e Sada.........................................36
LER Comando de entrada que permite a leitura de Variveis de Entrada............36
8

Lgica de Programao

ESCREVER Comando de sada que exibe uma informao na tela do monitor.. .36
IMPRIMIR Comando de sada que envia uma informao para a impressora.....36
SINAL DE ATRIBUIO................................................................................................36
Uma Varivel nunca eternamente igual a um valor, seu contedo pode ser alterado
a qualquer momento. Portanto para atribuir valores a variveis devemos usar o sinal
de :=.................................................................................................................................37
Exemplos:............................................................................................................................37
A := 2;..................................................................................................................................37
B := 3;..................................................................................................................................37
C := A + B;..........................................................................................................................37
SINAL DE IGUALDADE..................................................................................................37
As constantes so eternamente iguais a determinados valores, portanto usamos o sinal
de =...................................................................................................................................37
Exemplos:............................................................................................................................37
PI = 3.1416;.........................................................................................................................37
Empresa = Colgio de Informtica L.T.D.A.................................................................37
V = Verdadeiro...................................................................................................................37
CORPO GERAL DE UM PROGRAMA.........................................................................38
PROGRAMA <<identificador>>;....................................................................................38
CONST................................................................................................................................38
<<identificador>> = <<dado>>........................................................................................38
VAR.....................................................................................................................................38
<<identificador>> : <<tipo>>;........................................................................................38
NICIO................................................................................................................................38
{ ..........................................................................................................................................38
COMANDOS DE ENTRADA,PROCESSAMENTO E SADA ...................................38
<<comando1>>;..................................................................................................................38
<<comandoN>>..................................................................................................................38

Lgica de Programao

}............................................................................................................................................38
FIM......................................................................................................................................38
ESTRUTURAS SEQNCIAIS......................................................................................38
Como pode ser analisado no tpico anterior, todo programa possui uma estrutura
seqencial determinada por um NICIO e FIM..............................................................38
; PONTO E VRGULA ;...................................................................................................38
O sinal de ponto e vrgula ; indica a existncia de um prximo comando (passa
para o prximo)..................................................................................................................38
Na estrutura NICIO e no comando que antecede a estrutura FIM no se usa ;....38
ALGORITMOs..................................................................................................................39
PRIMEIRO ALGORITMO..............................................................................................39
Segue um Algoritmo que l o nome e as 4 notas bimestrais de um aluno. Em seguida o
Algoritmo calcula e escreve a mdia obtida.....................................................................39
PROGRAMA MEDIA_FINAL;.......................................................................................39
VAR.....................................................................................................................................39
NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: INTEIRO;.............................................39
NOME : CARACTERE [35].............................................................................................39
INICIO................................................................................................................................39
LER (NOME);...................................................................................................................39
LER (NOTA1, NOTA2, NOTA3, NOTA4);....................................................................39
MEDIA := (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4;.............................................39
ESCREVER (NOME, MEDIA).......................................................................................39
FIM......................................................................................................................................39
SEGUNDO ALGORITMO...............................................................................................39
Segue um Algoritmo que l o raio de uma circunferncia e calcula sua rea..............39
PROGRAMA AREA_CIRCUNFERENCIA;.................................................................39
CONST PI = 3.1416;..........................................................................................................39
VAR RAIO, AREA : REAL;.............................................................................................39

10

Lgica de Programao

INICIO................................................................................................................................39
LER (RAIO); {PROCESSAMENTO}.............................................................................39
AREA := PI * SQR(RAIO); {ENTRADA} ....................................................................39
ESCREVER (AREA =, AREA) {SADA}....................................................................39
FIM......................................................................................................................................39
{LINHAS DE COMENTRIO}.......................................................................................40
Podemos inserir em um Algoritmo comentrios para aumentar a compreenso do
mesmo, para isso basta que o texto fique entre Chaves {}..........................................40
Exemplo:.............................................................................................................................40
LER (RAIO); {ENTRADA}..............................................................................................40
ASPAS SIMPLES............................................................................................................40
Quando queremos exibir uma mensagem para a tela ou impressora ela deve estar
contida entre aspas simples, caso contrrio, o computador ir identificar a mensagem
como Varivel Indefinida..................................................................................................40
Exemplo:.............................................................................................................................40
ESCREVER (AREA OBTIDA =, AREA) {COMANDO DE SADA}......................40
AREA OBTIDA = X.XX {RESULTADO GERADO NA TELA}.................................40
ESTRUTURAS DE DECISO.........................................................................................40
Executa uma seqncia de comandos de acordo com o resultado de um teste............40
A estrutura de deciso pode ser Simples ou Composta, baseada em um resultado
lgico....................................................................................................................................40
Simples:...............................................................................................................................41
SE <<CONDIO>>.........................................................................................................41
ENTO <<COMANDO1>>.............................................................................................41
Composta 1:........................................................................................................................41
SE <<CONDIO>>.........................................................................................................41
ENTO <<COMANDO1>>.............................................................................................41
SENO <<COMANDO1>>.............................................................................................41
Composta 2:........................................................................................................................41
11

Lgica de Programao

SE <<CONDIO>>.........................................................................................................41
ENTO INICIO................................................................................................................41
<<COMANDO1>>;............................................................................................................41
<<COMANDON>>............................................................................................................41
FIM;..................................................................................................................................41
SENO INICIO................................................................................................................41
<<COMANDO1>>; <<COMANDON>>.........................................................................41
FIM;..................................................................................................................................41
ALGORITMO TRS.........................................................................................................41
Segue um Algoritmo que l 2 nmeros e escreve o maior..............................................41
PROGRAMA ACHA_MAIOR;.......................................................................................41
VAR A, B : INTEIRO;.......................................................................................................41
INICIO................................................................................................................................41
LER (A, B);........................................................................................................................41
SE A>B...............................................................................................................................41
ENTO ESCREVER (A)................................................................................................41
SENO ESCREVER (B).................................................................................................41
FIM......................................................................................................................................41
ALGORITMO QUATRO.................................................................................................41
Segue um Algoritmo que l o nome e as 4 notas bimestrais de um aluno. Em seguida o
Algoritmo calcula e escreve a mdia obtida pelo aluno escrevendo tambm se o aluno
foi aprovado ou reprovado................................................................................................42
Mdia para aprovao = 6.................................................................................................42
PROGRAMA MEDIA_FINAL;.......................................................................................42
VAR.....................................................................................................................................42
NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: REAL;...................................................42
NOME : CARACTERE [35].............................................................................................42
INICIO................................................................................................................................42
12

Lgica de Programao

LER (NOME);...................................................................................................................42
LER (NOTA1, NOTA2, NOTA3, NOTA4);....................................................................42
MEDIA := (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4;.............................................42
SE MEDIA>=6...................................................................................................................42
ENTO ESCREVER (APROVADO)...........................................................................42
SENO ESCREVER (REPROVADO).........................................................................42
ESCREVER (NOME, MEDIA)........................................................................................42
FIM......................................................................................................................................42
ALGORITMO CINCO......................................................................................................42
Segue um Algoritmo que l 3 nmeros e escreve o maior..............................................42
PROGRAMA ACHA_MAIOR;.......................................................................................42
VAR A, B, C : INTEIRO;..................................................................................................42
INICIO................................................................................................................................42
LER (A, B, C);...................................................................................................................42
SE (A>B) E (A>C).............................................................................................................42
ENTO ESCREVER (A)................................................................................................42
SENO SE (B>A) E (B>C).............................................................................................42
ENTO ESCREVER (B)..................................................................................................42
SENO ESCREVER (C)...................................................................................................42
FIM......................................................................................................................................42
ESTRUTURAS DE CONDIO (CASE).......................................................................42
A estrutura de condio eqivale a um ninho de SES...................................................43
Forma Geral:......................................................................................................................43
FACA CASO.......................................................................................................................43
CASO <<CONDIO1>>...............................................................................................43
<<COMANDO1>>;..........................................................................................................43
CASO <<CONDION>>..............................................................................................43
13

Lgica de Programao

<<COMANDO1>>;..........................................................................................................43
OUTROS CASOS..............................................................................................................43
<<COMANDO1>>;..........................................................................................................43
FIM DE CASO...................................................................................................................43
ALGORITMO SEIS..........................................................................................................43
Segue um Algoritmo que l 3 nmeros e escreve o maior..............................................43
PROGRAMA ACHA_MAIOR;.......................................................................................43
VAR A, B, C : INTEIRO;..................................................................................................43
INICIO................................................................................................................................43
LER (A, B, C);...................................................................................................................43
FACA CASO......................................................................................................................43
CASO (A>B) E (A>C)........................................................................................................43
ESCREVER (A);.............................................................................................................43
CASO (B>A) E (B>C)......................................................................................................43
ESCREVER (B);................................................................................................................43
OUTROS CASOS...............................................................................................................43
ESCREVER (C);................................................................................................................43
FIM DE CASO..................................................................................................................43
FIM......................................................................................................................................43
ESTRUTURA DE REPETIO DETERMINADA......................................................43
Quando uma seqncia de comandos deve ser executada repetidas vezes, tem-se uma
estrutura de repetio........................................................................................................43
A estrutura de repetio, assim como a de deciso, envolve sempre a avaliao de
uma condio......................................................................................................................43
Na repetio determinada o algoritmo apresenta previamente a quantidade de
repeties.............................................................................................................................44
Forma Geral 1:...................................................................................................................44
PARA <<VARIAVEL DE TIPO INTEIRO>>:=<<VALOR INICIAL>> ATE
<<VALOR FINAL>> FAA.............................................................................................44
14

Lgica de Programao

<<COMANDO1>>;...........................................................................................................44
Forma Geral 2:...................................................................................................................44
PARA <<VARIAVEL DE TIPO INTEIRO>>:=<<VALOR INICIAL>> ATE
<<VALOR FINAL>> FAA.............................................................................................44
NICIO...............................................................................................................................44
<<COMANDO1>>;............................................................................................................44
<<COMANDON>>............................................................................................................44
FIM;....................................................................................................................................44
A repetio por padro determina o passo do valor inicial at o valor final como
sendo 1. Determinadas linguagens possuem passo 1 ou permitem que o programador
defina o passo......................................................................................................................44
ALGORITMO SETE.........................................................................................................44
Segue um algoritmo que escreve 10 vezes a frase VASCO DA GAMA....................44
PROGRAMA REPETICAO;............................................................................................44
VAR I:INTEIRO................................................................................................................44
INICIO................................................................................................................................44
PARA I :=1 ATE 10 FACA..............................................................................................44
ESCREVER (VASCO DA GAMA).............................................................................44
FIM......................................................................................................................................44
ALGORITMO OITO.........................................................................................................44
Segue um algoritmo que escreve os 100 primeiros nmeros pares...............................45
PROGRAMA PARES;......................................................................................................45
VAR I,PAR: INTEGER;...................................................................................................45
INICIO................................................................................................................................45
PAR:=0;..............................................................................................................................45
PARA I:=1 ATE 100 FACA..............................................................................................45
INICIO..............................................................................................................................45
ESCREVER (PAR);........................................................................................................45

15

Lgica de Programao

PAR := PAR+2................................................................................................................45
FIM....................................................................................................................................45
FIM.....................................................................................................................................45
ESTRUTURA DE REPETIO INDETERMINADA COM VALIDAO INICIAL
..............................................................................................................................................45
usada para repetir N vezes uma ou mais instrues. Tendo como vantagem o fato
de no ser necessrio o conhecimento prvio do nmero de repeties........................45
Forma Geral 1:...................................................................................................................45
ENQUANTO <<CONDIO>> FACA..........................................................................45
<<COMANDO1>>;...........................................................................................................45
Forma Geral 2:...................................................................................................................45
ENQUANTO <<CONDIO>> FACA..........................................................................45
NICIO...............................................................................................................................45
<<COMANDO1>>;..........................................................................................................45
<<COMANDON>>..........................................................................................................45
FIM;....................................................................................................................................45
ALGORITMO NOVE.......................................................................................................46
Segue um algoritmo que calcule a soma dos salrios dos funcionrios de uma
empresa. O programa termina quando o usurio digitar um salrio menor que 0.....46
PROGRAMA SOMA_SALARIOS;.................................................................................46
VAR SOMA, SALARIO : REAL;....................................................................................46
INICIO................................................................................................................................46
SOMA:=O;.........................................................................................................................46
SALARIO:=1;....................................................................................................................46
ENQUANTO SALARIO>=0............................................................................................46
INICIO..............................................................................................................................46
LER (SALARIO);...........................................................................................................46
SOMA:=SOMA+SALARIO...........................................................................................46

16

Lgica de Programao

FIM;...................................................................................................................................46
ESCREVER (SOMA).......................................................................................................46
FIM......................................................................................................................................46
ESTRUTURA DE REPETIO INDETERMINADA COM VALIDAO FINAL 46
Assim como a estrutura ENQUANTO usada para repetir N vezes uma ou mais
instrues. ..........................................................................................................................46
Sua validao final fazendo com que a repetio seja executada pelo menos uma
vez........................................................................................................................................46
Forma Geral;......................................................................................................................46
REPITA...............................................................................................................................46
<<COMANDO1>>;...........................................................................................................47
<<COMANDON>>...........................................................................................................47
ATE <<CONDIO>>.....................................................................................................47
ALGORITMO DEZ...........................................................................................................47
Segue um algoritmo que calcule a soma dos salrios dos funcionrios de uma
empresa. O programa termina quando o usurio digitar um salrio menor que 0.....47
PROGRAMA SOMA_SALARIOS;.................................................................................47
VAR.....................................................................................................................................47
SOMA, SALARIO : REAL;..............................................................................................47
INICIO................................................................................................................................47
SOMA:=O;.........................................................................................................................47
REPITA..............................................................................................................................47
LER (SALARIO);............................................................................................................47
SOMA:=SOMA+SALARIO............................................................................................47
ATE SALARIO<0;............................................................................................................47
ESCREVER (SOMA).......................................................................................................47
FIM......................................................................................................................................47
EXERCCIOS....................................................................................................................48

17

Lgica de Programao

1)O QUE UM ALGORITMO?......................................................................................48


2)O QUE UM PROGRAMA?.......................................................................................48
3)CRIE UM ALGORITMO NO COMPUTACIONAL, QUE TROQUE UM PNEU
DE CARRO.........................................................................................................................48
4)O QUE UMA LINGUAGEM DE PROGRAMAO?..........................................48
5)LINEARIZE AS EXPRESSES ABAIXO:.................................................................48
A................................................................................................................................................................48
B................................................................................................................................................................48
A ou B........................................................................................................................................................48

INTRODUO

O objetivo principal da Lgica de Programao demonstrar


tcnicas

para

resoluo

de

problemas

consequentemente

automatizao de tarefas.

Aprender

Lgica

essencial

para

formao

de

um

bom

programador, servindo como base para o aprender todas as


linguagens de programao.

De

um

modo

importncia

geral
pois

esses

ajudaro

conhecimentos
no

cotidiano,

sero

de

supra

desenvolvendo

um

raciocnio rpido.

18

Lgica de Programao

ALGORITMO
Um Algoritmo uma seqncia de instrues ordenadas de forma
lgica

para

resoluo

de

uma

determinada

tarefa

ou

problema.

ALGORITMO NO COMPUTACIONAL
Abaixo

apresentado

um

Algoritmo

no

computacional

cujo

objetivo usar um telefone pblico.

Incio
1. Tirar o fone do gancho;
2. Ouvir o sinal de linha;
3. Introduzir o carto;

SEQUNCIAL

4. Teclar o nmero desejado;


5. Se der o sinal de chamar

DESVIO

5.1 Conversar;
5.2 Desligar;
5.3 Retirar o carto;
6. Seno
6.1 Repetir;
Fim.

PROGRAMA
Um

programa

um

Algoritmo

escrito

em

uma

linguagem

computacional.

19

Lgica de Programao

LINGUAGENS DE PROGRAMAO
So Softwares que permitem o desenvolvimento de programas.
Possuem um poder de criao ilimitado, desde jogos, editores
de texto, sistemas empresariais at sistemas operacionais.
Existem vrias linguagens de programao, cada uma com suas
caractersticas prprias.
Exemplos:

Pascal

Clipper

Visual Basic

Delphi e etc.

OPERADORES ARITMTICOS
+

Adio

Subtrao

Multiplicao

Diviso

OPERADORES RELACIONAIS
>

Maior que

<

Menor que

>=

Maior ou Igual

<=

Menor ou Igual

Igual

Diferente

20

Lgica de Programao

LINEARIZAO DE EXPRESSES
Para

construo

de

Algoritmos

todas

as

expresses

aritmticas devem ser linearizadas, ou seja, colocadas em


linhas.

importante

tambm

ressalvar

da

aritmtica

correspondentes

uso

dos

operadores

tradicional

para

computacional.
Exemplo:
2

3 + ( 5 3) + 1 =

(2/3+(5-3))+1=

Tradicional

Computacional

MODULARIZAO DE EXPRESSES
A

modularizao

diviso

da

expresso

em

partes,

proporcionando maior compreenso e definindo prioridades para


resoluo da mesma.
Como pode ser observado no exemplo anterior, em expresses
computacionais

usamos

somente

parnteses

para

modularizao.
Na informtica podemos ter parnteses dentro de parnteses.
Exemplos de prioridades:
(2+2)/2=2
2+2/2=3

21

Lgica de Programao

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.
Exemplo:

13 2
1

MOD

13 DIV 2 = 6

6
DIV

13 MOD 2 = 1

FUNES

22

Lgica de Programao

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.
Exemplos:

X=9

Valor Inicial X

x
x
Processamento

BIBLIOTECAS DE FUNES
Armazenam um conjunto de funes que podem ser usadas pelos
programas.
Valor Final Y

FUNES PR-DEFINIDAS

Y=3

23

Lgica de Programao

ABS( )

VALOR ABSOLUTO

SQRT( )

RAIZ QUADRADA

SQR( )

ELEVA AO QUADRADO

TRUNC( )

VALOR TRUNCADO

ROUND( )

VALOR ARREDONDADO

LOG( )

LOGARITMO

SIN( )

SENO

COS( )

COSENO

24

Lgica de Programao

TAN( )

TANGENTE

25

Lgica de Programao

As funes acima so as mais comuns e importantes para nosso


desenvolvimento
suas

funes

lgico,

prpias.

entretanto,
As

funes

cada
podem

linguagem
ser

possui

aritmticas,

temporais, de texto e etc.

OPERADORES LGICOS
Atuam sobre expresses retornando sempre valores lgicos
como Falso ou Verdadeiro.

26

Lgica de Programao

RETORNA VERDADEIRO SE AMBAS AS PARTES FOREM VERDADEIRAS.

OU

BASTA QUE UMA PARTE SEJA VERDADEIRA PARA RETORNAR VERDADEIRO.

27

Lgica de Programao

NO

INVERTE O ESTADO, DE VERDADEIRO PASSA PARA FALSO E VICE-VERSA.

28

Lgica de Programao

TABELA VERDADE

29

Lgica de Programao

A E B

A OU B

NO (A)

30

Lgica de Programao

31

Lgica de Programao

EXPRESSES LGICAS
As expresses compostas de relaes sempre retornam um valor
lgico.
Exemplos:

32

Lgica de Programao

2+5>4 Verdadeiro

3<>3 Falso

33

Lgica de Programao

De acordo com a necessidade, as expresses podem ser


unidas pelos operadores lgicos.
Exemplos:
2+5>4 E 3<>3 Falso
V

F
E

F
2+5>4 OU 3<>3 Verdadeiro
V

V
NO(3<>3) Verdadeiro

NO

VARIVEIS
V
Variveis so endereos de memria destinados a armazenar
informaes temporariamente.
* Todo Algoritmo ou programa deve possuir varivel!

VARIVEIS DE ENTRADA E SADA


Variveis de Entrada armazenam informaes fornecidas por um
meio externo, normalmente usurios ou discos.
Variveis

de

Sada

armazenam

dados

processados

como

resultados.
Exemplo:
A

C=A+B

34

Lgica de Programao

De acordo com a figura acima A e B so Variveis de


Entrada e C uma Varivel de Sada.

CONSTANTES
Constantes so endereos de memria destinados a armazenar
informaes

fixas,

inalterveis

durante

execuo

do

programa.
Exemplo:
PI = 3.1416

IDENTIFICADORES
So os nomes dados a variveis, constantes e programas.
Regras Para construo de Identificadores:
No

podem

ter

nomes

de

palavras

reservadas

(comandos da linguagem);
Devem possuir como 1 caractere uma letra ou
Underscore ( _ );
Ter como demais caracteres letras, nmeros ou
Underscore;
Ter no mximo 127 caracteres;
No possuir espaos em branco;
A escolha de letras maisculas ou minsculas
indiferente.
Exemplos:

35

Lgica de Programao

NOME

TELEFONE

IDADE_FILHO

NOTA1

SALARIO

PI

UMNOMEMUITOCOMPRIDOEDIFICILDELER
UM_NOME_MUITO_COMPRIDO_E_FACIL_DE_LER

TIPOS DE DADOS
INTEIRO

ADMITE SOMENTE NMEROS INTEIROS. GERALMENTE UTILIZADO PARA


REPRESENTAR UMA CONTAGEM (QUANTIDADE).

REAL

ADMITE NMEROS REAIS (COM OU SEM CASAS DECIMAIS). GERALMENTE


UTILIZADO PARA REPRESENTAR UMA MEDIO.

CARACTERE

ADMITE CARACTERES ALFANUMRICOS. OS NMEROS QUANDO DECLARADOS


COMO

CARACTERES

TORNAM

SE

REPRESENTATIVOS

PERDEM

ATRIBUIO DE VALOR.
LGICO

ADMITE SOMENTE VALORES LGICOS(VERDADEIRO/FALSO).

COMANDOS DE I/O (INPUT/OUTPUT)- Entrada e Sada


LER Comando de entrada que permite a leitura de Variveis
de Entrada.
ESCREVER Comando de sada que exibe uma informao na tela
do monitor.
IMPRIMIR Comando de sada que envia uma informao para a
impressora.

SINAL DE ATRIBUIO

36

Lgica de Programao

Uma

Varivel

nunca

eternamente

igual

um

valor,

seu

contedo pode ser alterado a qualquer momento. Portanto para


atribuir valores a variveis devemos usar o sinal de :=.
Exemplos:
A := 2;
B := 3;
C := A + B;

SINAL DE IGUALDADE
As constantes so eternamente iguais a determinados valores,
portanto usamos o sinal de =.
Exemplos:
PI = 3.1416;
Empresa = Colgio de Informtica L.T.D.A.
V = Verdadeiro

37

Lgica de Programao

CORPO GERAL DE UM PROGRAMA


PROGRAMA <<identificador>>;
CONST
<<identificador>> = <<dado>>
VAR
<<identificador>> :

<<tipo>>;

NICIO
{
COMANDOS DE ENTRADA,PROCESSAMENTO E SADA
<<comando1>>;
<<comandoN>>
}
FIM.

ESTRUTURAS SEQNCIAIS
Como

pode

ser

analisado

no

tpico

anterior,

todo

programa possui uma estrutura seqencial determinada por um


NICIO e FIM.

; PONTO E VRGULA ;
O sinal de ponto e vrgula ; indica a existncia de um
prximo comando (passa para o prximo).
Na estrutura NICIO e no comando que antecede a estrutura FIM
no se usa ;.

38

Lgica de Programao

ALGORITMOs
PRIMEIRO ALGORITMO
Segue um Algoritmo que l o nome e as 4 notas bimestrais
de um aluno. Em seguida o Algoritmo calcula e escreve a mdia
obtida.
PROGRAMA MEDIA_FINAL;
VAR
NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: INTEIRO;
NOME : CARACTERE [35]
INICIO
LER (NOME);
LER (NOTA1, NOTA2, NOTA3, NOTA4);
MEDIA := (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4;
ESCREVER (NOME, MEDIA)
FIM.

SEGUNDO ALGORITMO
Segue um Algoritmo que l o raio de uma circunferncia e
calcula sua rea.
PROGRAMA AREA_CIRCUNFERENCIA;
CONST PI = 3.1416;
VAR RAIO, AREA : REAL;
INICIO
LER (RAIO); {PROCESSAMENTO}
AREA := PI * SQR(RAIO); {ENTRADA}
ESCREVER (AREA =, AREA) {SADA}
FIM.

39

Lgica de Programao

{LINHAS DE COMENTRIO}
Podemos inserir em um Algoritmo comentrios para aumentar a
compreenso do mesmo, para isso basta que o texto fique entre
Chaves {}.
Exemplo:
LER (RAIO); {ENTRADA}

ASPAS SIMPLES
Quando queremos exibir uma mensagem para a tela ou impressora
ela deve estar contida entre aspas simples, caso contrrio, o
computador

ir

identificar

mensagem

como

Varivel

Indefinida.
Exemplo:
ESCREVER (AREA OBTIDA

=, AREA) {COMANDO DE SADA}

AREA OBTIDA = X.XX {RESULTADO GERADO NA TELA}

ESTRUTURAS DE DECISO
Executa uma seqncia de comandos de acordo com o resultado
de um teste.
A estrutura de deciso pode ser Simples ou Composta, baseada
em um resultado lgico.

40

Lgica de Programao

Simples:

Composta 1:

SE <<CONDIO>>

SE <<CONDIO>>

ENTO <<COMANDO1>>

ENTO <<COMANDO1>>
SENO <<COMANDO1>>

Composta 2:
SE <<CONDIO>>
ENTO INICIO
<<COMANDO1>>;
<<COMANDON>>
FIM;
SENO INICIO
<<COMANDO1>>; <<COMANDON>>
FIM;

ALGORITMO TRS
Segue um Algoritmo que l 2 nmeros e escreve o maior.
PROGRAMA ACHA_MAIOR;
VAR A, B : INTEIRO;
INICIO
LER (A, B);
SE A>B
ENTO ESCREVER (A)
SENO ESCREVER (B)
FIM.

ALGORITMO QUATRO

41

Lgica de Programao

Segue um Algoritmo que l o nome e as 4 notas bimestrais de


um aluno. Em seguida o Algoritmo calcula e escreve a mdia
obtida pelo aluno escrevendo tambm se o aluno foi aprovado
ou reprovado.
Mdia para aprovao = 6
PROGRAMA MEDIA_FINAL;
VAR
NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: REAL;
NOME : CARACTERE [35]
INICIO
LER (NOME);
LER (NOTA1, NOTA2, NOTA3, NOTA4);
MEDIA := (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4;
SE MEDIA>=6
ENTO ESCREVER (APROVADO)
SENO ESCREVER (REPROVADO)
ESCREVER (NOME, MEDIA)
FIM.

ALGORITMO CINCO
Segue um Algoritmo que l 3 nmeros e escreve o maior.
PROGRAMA ACHA_MAIOR;
VAR A, B, C : INTEIRO;
INICIO
LER (A, B, C);
SE (A>B) E (A>C)
ENTO ESCREVER (A)
SENO SE (B>A) E (B>C)
ENTO ESCREVER (B)
SENO ESCREVER (C)
FIM.

ESTRUTURAS DE CONDIO (CASE)


42

Lgica de Programao

A estrutura de condio eqivale a um ninho de SES.


Forma Geral:
FACA CASO
CASO <<CONDIO1>>
<<COMANDO1>>;
CASO <<CONDION>>
<<COMANDO1>>;
OUTROS CASOS
<<COMANDO1>>;
FIM DE CASO

ALGORITMO SEIS
Segue um Algoritmo que l 3 nmeros e escreve o maior.
PROGRAMA ACHA_MAIOR;
VAR A, B, C : INTEIRO;
INICIO
LER (A, B, C);
FACA CASO
CASO (A>B) E (A>C)
ESCREVER (A);
CASO (B>A) E (B>C)
ESCREVER (B);
OUTROS CASOS
ESCREVER (C);
FIM DE CASO
FIM.

ESTRUTURA DE REPETIO DETERMINADA


Quando uma seqncia de comandos deve ser executada repetidas
vezes, tem-se uma estrutura de repetio.
A

estrutura

de

repetio,

assim

como

de

deciso,

envolve sempre a avaliao de uma condio.


43

Lgica de Programao

Na

repetio

determinada

algoritmo

apresenta

previamente a quantidade de repeties.


Forma Geral 1:
PARA <<VARIAVEL DE TIPO INTEIRO>>:=<<VALOR INICIAL>> ATE
<<VALOR FINAL>> FAA
<<COMANDO1>>;
Forma Geral 2:
PARA <<VARIAVEL DE TIPO INTEIRO>>:=<<VALOR INICIAL>> ATE
<<VALOR FINAL>> FAA
NICIO
<<COMANDO1>>;
<<COMANDON>>
FIM;
A repetio por padro determina o passo do valor inicial at
o valor final como sendo 1. Determinadas linguagens possuem
passo 1 ou permitem que o programador defina o passo.

ALGORITMO SETE
Segue um algoritmo que escreve 10 vezes a frase VASCO DA
GAMA
PROGRAMA REPETICAO;
VARIVEL INCRIMENTADA DE 1 EM 1

VAR I:INTEIRO
INICIO
PARA I :=1 ATE 10 FACA

ESCREVER (VASCO DA GAMA)


FIM.

ALGORITMO OITO

44

Lgica de Programao

Segue

um

algoritmo

que

escreve

os

100

primeiros

nmeros

pares.
PROGRAMA PARES;
VAR I,PAR: INTEGER;
INICIO
PAR:=0;
PARA I:=1 ATE 100 FACA
INICIO
ESCREVER (PAR);
PAR := PAR+2
FIM
FIM.

ESTRUTURA DE REPETIO INDETERMINADA COM VALIDAO


INICIAL
usada para repetir N vezes uma ou mais instrues. Tendo
como vantagem o fato de no ser necessrio o conhecimento
prvio do nmero de repeties.
Forma Geral 1:

VALIDAO INICIAL

ENQUANTO <<CONDIO>> FACA


<<COMANDO1>>;

Forma Geral 2:
ENQUANTO <<CONDIO>> FACA
NICIO
<<COMANDO1>>;
<<COMANDON>>
FIM;

45

Lgica de Programao

ALGORITMO NOVE
Segue

um

algoritmo

que

calcule

soma

dos

salrios

dos

funcionrios de uma empresa. O programa termina quando o


usurio digitar um salrio menor que 0.
PROGRAMA SOMA_SALARIOS;
VAR SOMA, SALARIO : REAL;
INICIO
SOMA:=O;
SALARIO:=1;
ENQUANTO SALARIO>=0
INICIO
LER (SALARIO);
SOMA:=SOMA+SALARIO
FIM;
ESCREVER (SOMA)
FIM.

TODAS AS VARIVEIS QUE ACUMULAM VALORES DEVEM


RECEBER UM VALOR INICIAL.

ESTRUTURA DE REPETIO INDETERMINADA COM VALIDAO


FINAL
Assim como a estrutura ENQUANTO usada para repetir N
vezes uma ou mais instrues.
Sua validao final fazendo com que a repetio seja
executada pelo menos uma vez.
Forma Geral;
REPITA

46

Lgica de Programao

<<COMANDO1>>;
<<COMANDON>>
ATE <<CONDIO>>

ALGORITMO DEZ
Segue

um

algoritmo

que

calcule

soma

dos

salrios

dos

funcionrios de uma empresa. O programa termina quando o


usurio digitar um salrio menor que 0.

PROGRAMA SOMA_SALARIOS;
VAR
SOMA, SALARIO : REAL;
INICIO
SOMA:=O;
REPITA
LER (SALARIO);
SOMA:=SOMA+SALARIO
ATE SALARIO<0;
ESCREVER (SOMA)
FIM.

47

Lgica de Programao

EXERCCIOS
1)O QUE UM ALGORITMO?
2)O QUE UM PROGRAMA?
3)CRIE UM ALGORITMO NO COMPUTACIONAL, QUE TROQUE UM PNEU DE
CARRO.
4)O QUE UMA LINGUAGEM DE PROGRAMAO?
5)LINEARIZE AS EXPRESSES ABAIXO:

5
+ 7 * (8 5) =
8

[ 25 * 3 +(7 4)]

6)Complete a tabela abaixo (A e B so variveis lgicas;


V= verdadeiro e F= falso)
A
V
V
F
F

B
V
F
V
F

A ou B

A e B

no A

7) CRIE ALGORITMOS PARA OS SEGUINTES PROBLEMAS:


A) Dados trs valores X, Y, Z, verifiquem se eles podem
ser os comprimentos dos lados de um tringulo e se forem
escrever

uma

mensagem informando se se um tringulo

equiltero, issceles ou escaleno.


Observaes:
O comprimento de um lado do tringulo sempre menor do
que a soma dos outros dois.
Eqiltero Todos lados iguais
Issceles Dois lados iguais
Escaleno Todos os lados diferentes

48

Lgica de Programao

B) Recebendo quatro mdias bimestrais, calcule a media do


ano (ponderada), sabendo que o 1 bimestre tem peso 1, o 2
bimestre tem peso 2, o 3 bimestre tem peso 3 e o 4 bimestre
tem peso 4. Sabendo que para aprovao o aluno precisa ter
uma mdia anual maior ou igual a 7, escreva uma mensagem
indicando se o aluno foi aprovado ou reprovado.
Observao:
Mdia anual = (1 bimestre * 1+ 2 bimestre * 2 + 3
bimestre * 3 + 4 bimestre * 4) / (1+2+3+4)

49

Você também pode gostar