Você está na página 1de 10

PROGRAMAO

BSI
CA

NATANAELANTONI
OLI

F
BRI
CADE
NOOBS

L
GI
CADE
PROGRAMAO

Programao Bsica Lgica de Programao


Por: Fbrica de Noobs
ndice
1) Prefcio
2) Introduo Lgica de Programao
a. Lgica
b. Operaes lgicas
c. Algoritmo
3) Construo de Algoritmos
a. Pseudocdigo
b. Regras para construo
c. Fluxograma/Diagrama de blocos
d. Entrada, processamento e sada
e. Teste de mesa
4) Variveis e Constantes
a. Numricas
b. Caracteres
c. Alfanumricas
d. Lgicas
5) Operadores
a. Aritmticos
b. Relacionais
c. Lgicos
6) Tomadas de Deciso
a. If
b. Else
c. Then
7) Comandos de Repetio
a. Do While
b. Do Until
c. Loop
8) Concluso

1) Prefcio
Por um tempo, questionei se um curso s sobre lgica de programao seria
realmente necessrio. Afinal, um assunto relativamente simples, que muitos j o
conhecem e dominam sem t-lo estudado.
Porm, um tema essencial para poder estudar qualquer linguagem
realmente de programao. Sem uma noo de lgica, a compreenso de um script
(ou rotina) torna-se impossvel.
Sendo assim, decidi escrever esse curso. Talvez voc j tenha algum ou
todo o conhecimento necessrio para entender lgica de programao. Nesse
caso, sinta-se livre para pular quantos captulos achar necessrio, ou at o curso
todo. Mas se voc nunca trabalhou, ou ao menos se interessou por compreender um
script, melhor estudar essa apostila.
2) Introduo Lgica de Programao
A lgica de programao pode ser definida pelo estudo e compreenso de
como linguagens de programao funcionam. Parece meio estpido, e talvez
realmente seja, j que alguns pelo menos comigo foi assim sequer precisam
estudar tal tema, uma vez que j o dominam por experincia prpria.
Em nosso dia-a-dia, mesmo sem perceber, a maioria de nossas aes
envolve uma srie de procedimentos. Por exemplo, para ligar um computador, devese: pressionar o boto, aguardar, inserir a senha de login etc.
Na computao tambm assim. Todo programa funciona por meio de uma
rotina, de uma sequncia de instrues, que indicam para o computador o que ele
deve executar.
Essa rotina tambm pode envolver uma tomada de decises, onde o
computador dever analisar uma informao e tomar uma escolha entre outras
conforme sua anlise.
Basicamente, a lgica se resume a transformar uma ideia em uma srie de
procedimentos lgicos.
Esse conjunto de procedimentos, ao ser colocado em sequncia, chamado
de algoritmo. Podemos criar um algoritmo para diversas coisas, por exemplo, a
sequncia para se somar dois nmeros seria:

Receber valor A
Receber valor B
Realizar A + B
Retornar resultado

3) Construo de Algoritmos
Quando estamos trabalhando em alguma linguagem de programao,
devemos utilizar uma sintaxe prpria para escrever nossa rotina. Veja abaixo a
mesma rotina em Batch e em Phyton, respectivamente:

Ambos os cdigos realizam o mesmo procedimento que o algoritmo que


escrevemos no captulo anterior. Porm, so compilados (escritos) em sintaxes
diferentes. Isso varia conforme a linguagem de programao escolhida, mas o
princpio lgico sempre o mesmo.
Dentro da lgica de programao, no temos uma linguagem especfica para
se escrever os algoritmos. Sendo assim, os escrevemos no chamado pseudocdigo.
Pseudocdigo uma definio ampla, referente ao processo anterior a
implementao do cdigo em si. Portanto, no existem tantas regras e sintaxes
como em uma linguagem de programao. Logo, as nicas regras que deve-se
seguir para escrever um algoritmo so:

Imaginar que o cdigo escrito para algum que no necessariamente


entende de informtica.

Usar frases curtas, simples e objetivas.

Apenas um verbo por frase.

No usar palavras com sentido dbio.

Pode-se escrever um algoritmo atravs de fluxogramas, tambm chamados


diagramas de blocos. Nele, representamos as operaes lgicas de forma grfica.
Veja o mesmo algoritmo escrito em texto e em fluxograma:

Trocar uma lmpada

Existe uma lmpada de reserva?


o Sim
Pegar a lmpada e prosseguir.
o No
Comprar uma e prosseguir.
Pegar uma escada.
Subir na escada com a lmpada reserva.
Retirar a lmpada antiga.
Colocar a lmpada nova.
Descer da escada.
Descartar a lmpada antiga.
Guardar a escada.
Fim.

Algoritmos em fluxograma so mais teis quando envolvem tomadas de


deciso, como a situao de verificar se havia uma lmpada reserva, uma vez que
permite melhor visualizao. Porm, ao escrever um cdigo, devemos usar a
linguagem escrita.

Todo algoritmo pode ser dividido em 3 partes: entrada, processamento e


sada. A entrada corresponde a coleta de informaes. O processamento, ao
processo em si. E a sada, ao resultado final.
Aps criar um algoritmo, principalmente os que envolvem operaes
matemticas, recomendvel segui-lo e test-lo com diferentes valores, para
verificar se ele realmente funciona ou apresenta falhas. Isso chamado de teste de
mesa.
4) Variveis e Constantes
Ao criar um cdigo para uma ao do dia-a-dia, nosso crebro
automaticamente armazena informaes e as utiliza depois. No caso da
programao, preciso informa-las durante a execuo do cdigo.
Uma constante um valor fixo, que no se altera durante a execuo do
cdigo.
J uma varivel, corresponde a um espao na memria do computador
destinado a armazenar determinado valor, que pode mudar durante o processo.
Veja o exemplo abaixo:
=

1 + 2 + 3
3

Nele, mediafinal, p1, p2 e p3 so variveis, uma vez que elas podem


assumir qualquer valor. As 3 ltimas dependem do valor inserido pelo usurio, e a
final, depende de tais valores.
J o 3 corresponde a uma constante. O valor no ir se alterar durante a
execuo do cdigo, independente de quais outros valores sejam inseridos.
Uma varivel pode ser de 4 tipos:

Numricas: armazenam apenas valores numricos, podendo ser


utilizadas para clculos.

Caracteres: armazenam conjuntos de caracteres. So mais usadas para


exibir mensagens ou construo de menus.

Alfanumricas: podem ser usadas tanto para nmeros quanto para


caracteres. Porm, no caso de nmeros, ela no pode ser usada para
uma operao matemtica.

Lgicas: armazenam apenas 2 valores: sim ou no, ou verdadeiro e


falso.

Um exemplo de uso de variveis pode ser visto no ltimo algoritmo que


analisamos. Existe uma lmpada reserva? uma varivel lgica, que pode ser Sim
ou No.
5) Operadores
Utilizamos os operadores para incrementar, subtrair, comparar ou realizar
qualquer tipo de operao envolvendo as variveis. Eles podem ser divididos em
aritmticos, relacionais e lgicos.
Operadores aritmticos so utilizados para trabalhar com resultados
numricos. Basicamente, se resumem as operaes matemticas fundamentais:

Operadores relacionais servem para comparar duas variveis, que podem ser
de qualquer tipo. O resultado de tal comparao pode ser verdadeiro ou falso. So
eles:

J os operadores lgicos servem para comparar duas expresses (as quais


podem ser feitas utilizando os operadores acima citados), tendo como resultado,
tambm verdadeiro ou falso.. So eles:

Veja um exemplo de aplicao de operadores lgicos:

Aqui, temos 2 expresses, ambas feitas com operadores lgicos e


aritmticos, e comparadas com um operador lgico.
A sintaxe mostrada nas tabelas acima representa os sinais mais comumente
utilizados no pseudocdigo. Dependendo da linguagem de programao, ela pode
ser diferente.
6) Tomadas de deciso
Aps obtermos o resultado atravs de um operador, podemos especificar
rotinas para serem seguidas dependendo do seu resultado. Por exemplo:
Se possuir lmpada = verdadeiro
Trocar lmpada
Se possuir lmpada = falso
Comprar uma
Ou ento:
Se possuir lmpada = verdadeiro
Trocar lmpada
Se no
Comprar uma
Nesse cdigo, se e se no foram os valores usados para orientar a nova
rotina conforme o valor apresentado pela varivel lgica possuir lmpada. Esses
comandos so chamados comandos de deciso, e podem ser escrito em diversas
formas dependendo da linguagem. Em pseudocdigo, so tambm representados
da forma if/else. Para mostrar a continuidade da rotina, usa-se o then. Veja no
exemplo:
If possuir lmpada = true then trocar lmpada
Else then comprar uma
Vejamos agora esse outro exemplo:

Receber nota
Definir varivel a = nota
If a < 0, exibir A nota inserida negativa else continuar
If a > 11, exibir Insira uma nota de 0 a 10 else continuar
If a >= 6, exibir Nota azul else exibir Nota vermelha
Aqui, primeiro recebemos uma nota. Depois, definimos a varivel a pelo valor
de tal nota. Em seguida, fazemos 3 comparaes:

A nota negativa?
A nota maior que 10?
A nota menor ou igual a 6?

Repare que nos 2 primeiros if, mandvamos o script continuar a rotina caso a
comparao fosse falsa. J no ltimo, exibimos diretamente a mensagem de Nota
vermelha. Isso ocorre porque se a nota no se adequa a todos as outras condies,
ento ela s pode ser vermelha. desnecessrio inserir mais um else continuar
para terminarmos a rotina.
7) Comandos de Repetio
Vamos imaginar um algoritmo criado para, partindo de uma varivel definida
pelo usurio, ir somando 1 at a varivel se igualar a 40. Sua forma escrita seria
mais ou menos essa:
Receber varivel a
If a < 40, prosseguir else exibir o Valor apresentado no aceitvel.
Realizar a + 1
If a < 40, prosseguir else terminar
If a < 40, prosseguir else terminar
.....?
If a < 40, prosseguir else terminar
Como pode-se perceber, no h uma forma de fazer tal algoritmo sem repetir
a mesma linha quantas vezes for preciso para igualar nossa varivel a 40. Isso sem
considerar que esse nmero de linhas seria diferente para cada valor de a.
A soluo para o problema o uso de comandos de repetio. Eles dizem ao
programa, por exemplo Realize tal procedimento at que a seja igual a 40. Temos
dois possveis comandos para utilizar nesse caso.

Podemos dizer ao programa Enquanto tal condio for verdadeira, faa isso.
Para tanto, usamos a sintaxe Do While... Loop. Assim, quando a condio se tornar
falsa, o programa ir parar. Por exemplo:
Do a + 1 while a < 40
Loop
Outra opo dizer Faa isso at que tal condio seja verdadeira. Para
tanto, usamos a sintaxe Do Until... Loop. Por exemplo:
Do a + 1 until a < 40
Loop
8) Concluso
Assim terminamos nosso curso de lgica da programao. Entendendo os
conceitos acima mostrados, voc provavelmente no ter dificuldade para escrever
suas primeiras linhas de cdigo.