Você está na página 1de 6

Manual Lgica de Programao Desenvolvido por Rogerio de Moraes - www.linkinhost.com.

br

Fundamentos de Logica de Programao (I) - Descomplicada


A Lgica nada mais do que a concretizao das ideias, reunidas atravs de sua abstrao da realidade e da necessidade. (MORAES, Rogerio) Princpios Elementares de um Algoritmo A construo de um algoritmo nada mais que reunir 3 (trs) elementos bsicos para que seja realizada uma determinada funo, ou seja, Entrada (Atravs de variveis e/ou dispositivos), Processamento (Realizao de funes Matemticas/Processos) e Sada (Representao na tela ou em arquivos, tanto de resultados, assim como textos informativos). Importante! Sempre para haver um processamento, precisamos ter entrada de algum valor, a regra bsica E + P = S, entretanto, a Entrada pode ser um valor padro (inicializao de varivel, tanto com um valor pr-determinado, como em uma estrutura de looping [Para], onde a regra exige que seja inicializada dentro da prpria estrutura, onde haver sobre a mesma um auto incremento, atravs do qual haver preenchimento de valores sequenciais). Pode uma estrutura apresentar mltiplas Entradas e Processamentos antes da sada. Ex. E + E + P = S assim como E + P + E = S e tambm sada antes S + E + E + P = S. Elementos bsicos para Construo do Diagrama de Blocos A Logica (Algoritmo) Possui muitas representaes, entre elas o Clssico, o Diagrama de Blocos e o Portugus estruturado. Atravs dos quais construmos uma aplicao. Elementos bsicos para Construo do Diagrama de Blocos Inicio Entrada Processamento Conectores Sada Fim

Setas de Fluxos Primeiro Exemplo de um Aplicativo (1)

A estrutura bsica que utilizaremos em nosso aplicativo soma ser construda em formato de algoritmo (Diagrama de Blocos e Portugus Estruturado). Inicio

Nm, Nm2

M Nm+Nm2

1) Iniciamos nosso programa com o cabealho. 2) Entramos com valores via teclado, [Nm e Nm2]. 3) Processamos A Soma de [Num e Nm2] e implicamos (armazenamos) seu valor em [M]. 4) Apresentamos o resultado que esta em [M] na tela. 5) Finalizamos o programa

Fim

Manual Lgica de Programao Desenvolvido por Rogerio de Moraes - www.linkinhost.com.br

Portugus Estruturado Linguagem estrutural (semelhante) utilizada para passar das ideias do diagrama de blocos, para algo mais slido, prximo a linguagem final (linguagem de programao), o portugus estruturado tambm conhecido com o termo Portugol, que utilizado para trazer um melhor entendimento de seu funcionamento.
Extrutruda do Primeiro Exemplo de um Aplicativo (1) em portugus estruturado.

Programa Soma; var nm,num2,m:Inteiro; Inicio: leia nm; leia nm2; m nm + nm2; Escreva m; Fim
Principais formatos (Iniciais)

{ cabealho do programa { onde iniciaremos (criaremos) as variveis e determinamos seu formato { determina o inicio do programa { entrada de valores via teclado { entrada de valores via teclado { Processamento, onde implica valor na varivel. Recebe o resultado { Imprimimos o valor da varivel na tela { finalizamos o programa

Inteiros = nmeros sem casas decimais. (... 1 .. 0... 1...) Real = Para nmeros com casas decimais. (...-75,58 ... 1 .. 0... 1... 1,2...) Caractere = Para caracteres (Texto). (a,b,c,2001)
Operadores Matemticos Essenciais + Adio Subtrao Exponencial / Diviso * Multiplicao + Adio

Operadores Relacionais = Igual <> Diferente > Maior < Menor ou >= Maior ou igual ou <= Menor Ou Igual

Operadores Lgicos .e.


Condio 1 Falsa Verdadeira Falsa Verdadeira Condio 2 Falsa Falsa Verdadeira Verdadeira Resultado Falsa Falsa Falsa Verdadeira Condio 1 Falsa Verdadeira Falsa Verdadeira

.ou.
Condio 2 Falsa Falsa Verdadeira Verdadeira Resultado Falsa Verdadeira Verdadeira Verdadeira

.No.
Condio Verdadeira Falsa Resultado Falsa Verdadeira

Estruturas Condicionais So estruturas usadas para toda de decises em logica de programao, onde controlamos determinada execuo de processos e/ou sada de dados na tela por exemplo. Elementos bsicos para Construo do Diagrama Condicional e Looping SE Enquanto Repita

Para

Receber

Caso

Manual Lgica de Programao Desenvolvido por Rogerio de Moraes - www.linkinhost.com.br

Estrutura SE Atravs dela conseguimos determina Se hoje for segunda-feira, qual seria a matria estudada e assim exibir a matria correspondente ao dia. Se a condio for favorvel exibir o valor, seno ela exibira outra mensagem e/ou executara outra condio at que seja favorvel. Exemplo 1 1) Efetuar uma entrada de dados referente ao dia da semana, e logo em seguida exibir a matria correspondente ao mesmo. Diagrama de Blocos Inicio Portugus Estruturado Programa Dia_Semana; var dia:caractere[10]; Inicio: Leia dia; Se (dia = Segunda) Ento Escreva Logica; Seno Escreva No Cadastrada Matria Nesse Dia.; Fim_Se Fim

Dia

Se (Dia = Segunda)

No Cadastrada Matria Nesse Dia

Logica

Fim No nosso exemplo a estrutura SE ir validar se foi dada uma entrada igual a palavra Segunda, caso tenha sido dada, ele informara a primeira parte da condio, onde apresentara a sada Logica, seno ela exibira a segunda, que realizada quando a primeira no satisfatria. Exemplo 2 N No caso do SE composto, informaremos o segundo SE logo aps o seno. Conforme no exemplo ao lado. Com seu fechamento da forma correta. Ou seja, da ultima condio a ser processada para a primeira, em ordem decrescente.

Condio 1

Condio 1

Processo

Processo

Manual Lgica de Programao Desenvolvido por Rogerio de Moraes - www.linkinhost.com.br

Estrutura Caso Utilizada geralmente para simplificar uma tomada de deciso, ou seja, sendo entrada igual a um numero na maior parte das vezes, ela apresenta o item ou passa para o seguinte, at que a mesma seja satisfatria a condio de acordo com o valor da entrada.

Diagrama de Blocos Inicio

Nota

Recebe Nota

S
Nota = 7

Sada

N S
Nota = 8

Sada

N S
Nota = 9

Sada

Portugus Estruturado Programa notas Var nota: inteiro; Inicio: leia nota; Recebe(nota) caso 7: escreva Regular; parar caso 8: escreva Muito bem; parar caso 9: escreva Parabns; parar caso 10: escreva Excelente; parar Padro: escreva Favor Melhorar Fim_Caso Fim O Selecionar, no caso Switch server para carregar a varivel na condio, onde caso o valor seja igual ao atual ele executa e sai da funo, ou ele segue at o padro default onde por si s ele finaliza.

N S
Nota = 9

Sada

N
Melhorar

Fim

Estruturas de Loopings So estruturas que so utilizadas geralmente para executar determinada funo, ate que sua condio (gerada por contador) seja satisfatria, a mesma utilizada para fazer clculos e apresentar valor de variveis (Tabelas / Matrizes). Estrutura Enquanto e Repita Estruturas de looping, usadas para fazer o mesmo processo ate que seu contador atinja o limite pr-determinado.

Manual Lgica de Programao Desenvolvido por Rogerio de Moraes - www.linkinhost.com.br

Estrutura Enquanto Inicio

X0 N

X <5

S Num

Portugus Estruturado Programa Looping_1; var x,num:inteiro; Inicio: x 0; Enquanto (X < 5) Faa leia num; R num + 3; escreva R;x x=x+1; Fim_enquanto; Fim

R Num+3

xx+1

Fim Estrutura Repita


Inicio

No Enquanto executado por uma condio onde apenas aps o seu valor ser igual ao da varivel de controle, termina o looping e passa para o prximo procedimento (funo). Essa varivel devera ser de auto incremento, ou seja, ela recebera seu prprio valor + 1 (R num + 3). Portugus Estruturado Programa Looping_2; var x,num:inteiro; Inicio: x 0; Repita leia num; R num + 3; escreva R; x=x+1; At que (x<5) Fim Semelhante ao enquanto, mas a condio apenas vem no final de sua estrutura. Ambas so estruturas utilizadas tambm em menus para repetir um procedimento.

X0

Num

R Num+3
R

xx+1

N
X <5

S Fim

Manual Lgica de Programao Desenvolvido por Rogerio de Moraes - www.linkinhost.com.br

Estrutura Para A estrutura para uma das mais utilizadas, pois j possui um contador prprio. Desde ordenar textos (classificar / ordem alfabtica) a controle de manipulao de matriz a mais indicada. Estrutura Para
Inicio

Portugus Estruturado Programa Contagem_Regressiva; var i,n:inteiro; Inicio: n 0; Para i de 1 at 20 passos 1 faa n n + 1; escreva n; Fim_Para Fim No para conseguimos fazer um looping de forma mais simples, onde usamos para manipular dados contnuos. A varivel i recebe auto incremento de +1 a cada vez que passa por ela, ate que chegue ao valor desejado.

n0 N

i 1; i 20; i++ S nn+1

Fim

Você também pode gostar