Anda di halaman 1dari 24

LGICA DE PROGRAMAO

Criao de Algoritmos












Lgica de Programao
2
SUMRIO
INTRODUO ................................................................................................................................... 3
ALGORITMO ...................................................................................................................................... 4
ALGORITMO NO COMPUTACIONAL ........................................................................................... 4
PROGRAMA ...................................................................................................................................... 4
LINGUAGENS DE PROGRAMAO ............................................................................................... 5
OPERADORES ARITMTICOS ........................................................................................................ 5
OPERADORES RELACIONAIS ........................................................................................................ 5
LINEARIZAO DE EXPRESSES ................................................................................................ 6
MODULARIZAO DE EXPRESSES ........................................................................................... 6
OPERADORES ESPECIAIS (MOD e DIV) ........................................................................................ 7
FUNES .......................................................................................................................................... 7
BIBLIOTECAS DE FUNES .......................................................................................................... 8
OPERADORES LGICOS ................................................................................................................ 8
TABELA VERDADE .......................................................................................................................... 9
EXPRESSES LGICAS ................................................................................................................. 9
VARIVEIS DE ENTRADA E SADA .............................................................................................. 10
CONSTANTES ................................................................................................................................. 10
IDENTIFICADORES ........................................................................................................................ 10
TIPOS DE DADOS ........................................................................................................................... 11
SINAL DE ATRIBUIO ................................................................................................................. 12
SINAL DE IGUALDADE .................................................................................................................. 12
CORPO GERAL DE UM PROGRAMA ........................................................................................... 13
ESTRUTURAS SEQNCIAIS ....................................................................................................... 13
; PONTO E VRGULA ; .................................................................................................................... 13
{LINHAS DE COMENTRIO} .......................................................................................................... 15
ASPAS SIMPLES .......................................................................................................................... 15
Lgica de Programao
3
ESTRUTURAS DE DECISO ......................................................................................................... 15
ESTRUTURA DE REPETIO INDETERMINADA COM VALIDAO INICIAL .......................... 20
ESTRUTURA DE REPETIO INDETERMINADA COM VALIDAO FINAL ............................ 21
EXERCCIOS



INTRODUO


O objetivo principal da Lgica de Programao demonstrar
tcnicas para resoluo de problemas e consequentemente
automatizao de tarefas.

Aprender a Lgica essencial para formao de um bom
programador, servindo como base para o aprender todas as
linguagens de programao.

De um modo geral esses conhecimentos sero de supra
importncia pois ajudaro no cotidiano, desenvolvendo um
raciocnio rpido.

Lgica de Programao
4
ALGORITMO
Um Algoritmo uma seqncia de instrues ordenadas de forma
lgica para a 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;
4. Teclar o nmero desejado;
5. Se der o sinal de chamar
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.



S
E
Q
U

N
C
I
A
L

DESVIO
Lgica de Programao
5
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
- C
- 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



Lgica de Programao
6
LINEARIZAO DE EXPRESSES
Para a construo de Algoritmos todas as expresses
aritmticas devem ser linearizadas, ou seja, colocadas em
linhas.
importante tambm ressalvar o uso dos operadores
correspondentes da aritmtica tradicional para a
computacional.
Exemplo:





MODULARIZAO DE EXPRESSES
A modularizao a 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



( ) = +
(

+ 1 3 5
3
2

(2/3+(5-3))+1=
Tradicional Computacional
Lgica de Programao
7


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:




FUNES

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:



13 2
6 1
MOD DIV
13 DIV 2 = 6

13 MOD 2 = 1
Valor Final Y
Valor Inicial X
Processamen-
to
X=9
Y=3


x

Lgica de Programao
8

BIBLIOTECAS DE FUNES
Armazenam um conjunto de funes que podem ser usadas pelos
programas.
FUNES PR-DEFINIDAS
ABS( ) VALOR ABSOLUTO
SQRT( ) RAIZ QUADRADA
SQR( ) ELEVA AO QUADRADO
TRUNC( ) VALOR TRUNCADO
ROUND( ) VALOR ARREDONDADO
LOG( ) LOGARITMO
SIN( ) SENO
COS( ) COSENO
TAN( ) TANGENTE

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.
OPERADORES LGICOS
Atuam sobre expresses retornando sempre valores lgicos
como Falso ou Verdadeiro.
E RETORNA VERDADEIRO SE AMBAS AS PARTES FOREM VERDADEIRAS.
OU BASTA QUE UMA PARTE SEJA VERDADEIRA PARA RETORNAR VERDADEIRO.
NO INVERTE O ESTADO, DE VERDADEIRO PASSA PARA FALSO E VICE-VERSA.


x
Lgica de Programao
9
TABELA VERDADE
A B A E B A OU B NO (A)
V V V V F
V F F V F
F V F V V
F F F F V

EXPRESSES LGICAS
As expresses compostas de relaes sempre retornam um valor
lgico.
Exemplos:
2+5>4 Verdadeiro 3<>3 Falso
De acordo com a necessidade, as expresses podem ser
unidas pelos operadores lgicos.
Exemplos:
2+5>4 E 3<>3 Falso



2+5>4 OU 3<>3 Verdadeiro



NO(3<>3) Verdadeiro



V F
F
E
V F
V
OU
F
V
NO
Lgica de Programao
10
VARIVEIS
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:



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 a 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);
A B

C=A+B

7 5 2
Lgica de Programao
11
- 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:
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 E PERDEM A
ATRIBUIO DE VALOR.
LGICO ADMITE SOMENTE VALORES LGICOS(VERDADEIRO/FALSO).





Lgica de Programao
12
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

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 :=.
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
Lgica de Programao
13
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 ;.




Lgica de Programao
14
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.

Lgica de Programao
15
{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 a 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.
Simples:
SE <<CONDIO>>
ENTO <<COMANDO1>>

Composta 1:
SE <<CONDIO>>
ENTO <<COMANDO1>>
SENO <<COMANDO1>>




Lgica de Programao
16
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
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);
Lgica de Programao
17
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)
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

Lgica de Programao
18
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 a de deciso,
envolve sempre a avaliao de uma condio.
Na repetio determinada o 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
Lgica de Programao
19
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;
VAR I:INTEIRO
INICIO
PARA I :=1 ATE 10 FACA
ESCREVER (VASCO DA GAMA)
FIM.
ALGORITMO OITO
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);
VARIVEL INCRIMENTADA DE 1 EM 1
Lgica de Programao
20
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:
ENQUANTO <<CONDIO>> FACA
<<COMANDO1>>;

Forma Geral 2:
ENQUANTO <<CONDIO>> FACA
NICIO
<<COMANDO1>>;
<<COMANDON>>
FIM;
ALGORITMO NOVE
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.
PROGRAMA SOMA_SALARIOS;
VAR SOMA, SALARIO : REAL;
INICIO
SOMA:=O;
SALARIO:=1;
VALIDAO INICIAL
Lgica de Programao
21
ENQUANTO SALARIO>=0
INICIO
LER (SALARIO);
SOMA:=SOMA+SALARIO
FIM;
ESCREVER (SOMA)
FIM.




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
<<COMANDO1>>;
<<COMANDON>>
ATE <<CONDIO>>






TODAS AS VARIVEIS QUE ACUMULAM VALORES DEVEM
RECEBER UM VALOR INICIAL.
Lgica de Programao
22

ALGORITMO DEZ
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.

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

Lgica de Programao
23
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:

6)Complete a tabela abaixo (A e B so variveis lgicas;
V= verdadeiro e F= falso)

A B A ou B A e B no A
V V
V F
F V
F F

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
= + ) 5 8 ( * 7
8
5
)] 4 7 ( 3 * 25 [ +
Lgica de Programao
24
Escaleno Todos os lados diferentes

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)

Anda mungkin juga menyukai