Vous êtes sur la page 1sur 21

PARA INICIAR NOSSOS ESTUDOS

B milhaies ue anos cientistas ilosofos e estuuiosos vm estuuanuo


a lgica, termo que surgiu com Aristteles no sculo IV a.C.. Este
impoitante ilosofo elaboiou leis paia um iaciocinio coiieto a sei
desenvolvido mediante silogismos e, desde ento, muito se estudou
sobre lgica e vrias outras teorias surgiram.
Nesta primeira unidade estudaremos como a lgica que conhecemos
no nosso dia a dia pode ser transferida para programas de computador.
Vamos compreender tambm como o funcionamento de um programa
e quais etapas devem ser seguidas para a construo de um software ou
sistema computacional.
SEO 1 Lgica e programas de computador
M
uito antes de pensarmos em computador ou at mesmo luz
eltrica j se pensava e se discutia sobre lgica.
Essas peiguntas nos fazem ieletii que a logica est piesente em tuuo o
que fazemos. Observe a Imagem 1: essas atividades no exigem lgica?
Andar de bicicleta, escovar os dentes, jogar bola, fazer um bolo, trocar
uma lmpada, tudo isso exige lgica.
CONCEITOS BSICOS DE ALGORITMOS E LGICA DE PROGRAMAO 11
C
O
N
C
E
I
T
O
S

B

S
I
C
O
S

D
E

A
L
G
O
R
I
T
M
O
S

E

L

G
I
C
A

D
E

P
R
O
G
R
A
M
A

O
O que voc acha: existe lgica no dia a dia?
Voc costuma pensar em coisas lgicas? Como
voc executa atividades bsicas do dia a dia?
Fonte: o autor.
Imagem 1 - Lgica no dia a dia

Segundo o dicionrio, lgica aparece como a cincia do raciocnio,
maneira como organizamos nossos pensamentos.
Entenuenuo o signiicauo ue logica fcil entenuei poi que existe logica
nas iguias apiesentauas anteiioimente
Pensando nisso, descrevemos a atividade de trocar uma lmpada, da
seguinte maneira:
1 Pegar uma escada;
2 Posicionar a escada embaixo da lmpada;
3 Buscar uma lmpada nova;
4 Subir na escada;
5 Retirar a lmpada velha;
6 Colocar a lmpada nova.
Essas etapas compreendem um processo lgico para uma simples troca
ue lmpaua Com ceiteza voc seiia capaz ue iuentiicai viios outios
passos para esse processo e, at mesmo, vrios outros casos lgicos no
seu dia a dia.
INTR0B00 A PR0uRANA0 I 12
I
N
T
R
0
B
0

0

A

P
R
0
u
R
A
N
A

0

I
Ento, o que compreendemos por lgica?
Relita um pouco sobre como organizamos
nosso pensamento para executar as atividades
da Imagem 1. Seria possvel descrevermos em
etapas lgicas como voc executaria cada uma
das atividades.
Na rea de computao a lgica tambm muito
utilizada e est presente em todos os programas
que iremos desenvolver, mas onde ela est
presente? Como ela pode nos ajudar a desenvolver
solues computacionais que resolvam problemas
rotineiros de nossas vidas?
Antes de entendermos onde a lgica aplicada na computao,
precisamos revisar rapidamente alguns conceitos:
Processamento de dados: consiste, basicamente, em receber
dados de entrada, efetuar um clculo ou processamento sobre os
mesmos e gerar um resultado de sada;
Programas de computador: para Salvetti e Barbosa (1998, p.
3) O processamento de dados feito pela execuo de um programa.
0m piogiama uma sequncia ue instiues couiicauas em
uma linguagem de programao e para ser executado precisa ser
armazenado na memria do computador.;
Sistema de software: segundo Sommervile (2003, p. 5)
Um sistema de software, usualmente consiste em uma srie de
piogiamas sepaiauos aiquivos ue coniguiaes que so utilizauos
paia coniguiai esses piogiamas uocumentao uo sistema que
descreve a estrutura desse sistema e a documentao do usurio,
que explica como utilizar o sistema [...].
Como observamos, a computao cria seus programas por meio da
execuo de uma sequncia de atividades de processamento de dados e
nessas atividades que a lgica aplicada.
Lgica na computao
De acordo com Forbellone e Eberspcher (2000) lgica de programao
o uso correto das leis do pensamento, da ordem da razo e de
processos de raciocnio e simbolizao formais na programao de
computadores, objetivando racionalidade e o desenvolvimento de
tcnicas que cooperem com a produo de solues logicamente vlidas
e coerentes, as quais resolvam com qualidade os problemas que se
deseja programar.
Podemos compreender melhor a lgica de programao quando a
comparamos com a criao de um texto, pois este deve seguir regras
formais de uma linguagem (portugus, ingls, ou qualquer outro
idioma). E alm de seguir as regras do idioma dever respeitar uma
CONCEITOS BSICOS DE ALGORITMOS E LGICA DE PROGRAMAO 13
C
O
N
C
E
I
T
O
S

B

S
I
C
O
S

D
E

A
L
G
O
R
I
T
M
O
S

E

L

G
I
C
A

D
E

P
R
O
G
R
A
M
A

O
A lgica na computao aplicada na resoluo
e traduo de problemas tradicionais para uma
linguagem de smbolos conhecida tambm como
lgica de programao.
Paia Foibellone e Ebeispchei um algoiitmo poue sei ueiniuo
como uma sequncia de passos que visam atingir um objetivo bem
ueiniuo
Se observarmos nosso dia a dia, vamos perceber que um algoritmo est
presente em vrias atividades, como quando seguimos uma receita de
bolo onde so apresentados os ingredientes e uma sequncia exata de
passos a seguii senuo que a oiuem uas etapas inluencia no iesultauo
inal uo piouuto 0u seja a sequncia ue passos ue uma ieceita ue bolo
o algoritmo para fazer o mesmo, que deve ser seguida de maneira rgida
e formal para obter o resultado desejado.
lgica e organizao de pensamento para que o mesmo faa sentido para
quem o l. Na programao, desenvolveremos um texto seguindo um
raciocnio lgico e uma linguagem que o computador compreenda. Para
que exista padronizao na escrita desses textos, surge a necessidade de
utilizarmos um algoritmo para representar melhor o nosso raciocnio.
SEO 2 Algoritmos e Fluxogramas
O
algoritmo surgiu da necessidade de padronizao na organizao
do pensamento de quem est construindo um programa de
computador.
INTR0B00 A PR0uRANA0 I 14
I
N
T
R
0
B
0

0

A

P
R
0
u
R
A
N
A

0

I
Mas o que um
algoritmo?
Existem vrios sites com exerccios para o
raciocnio lgico, que ajudam a reforar nosso
pensamento lgico e podem ser utilizados com os
alunos nas escolas: <http://rachacuca.com.br>,
<http://www.njogos.pt/inteligencia/>, <http://
www.somatematica.com.br>.
Salvetti e Barbosa (1998) conceituam algoritmo como uma sequncia
inita ue instiues ou opeiaes bsicas ueiniuas sem ambiguiuaue e
executveis em um tempo inito cuja execuo em tempo inito iesolve
um problema computacional em qualquer instncia.
Podemos observar que os autores citados vo alm do conceito simples
de organizao de etapas, pois eles se preocupam em deixar claro que
cada etapa deve ser diferente da outra e que deve existir um tempo
inito ue execuo ou seja um objetivo claio e um ponto exato ue
parada.
E de acordo com Forbellone e Eberspcher (2000, p. 3)
isto signiica que o algoiitmo ixa um pauio ue compoitamento a sei
seguido, uma norma de execuo a ser trilhada, com vistas a alcanar, como
iesultauo inal a soluo ue um pioblema gaiantinuo que sempie que
executado, sob as mesmas condies, produza o mesmo resultado.
Podemos pensar em algoritmo como uma ferramenta que transforma
entradas em sadas. Como podemos observar no Esquema 1, o algoritmo
ir receber alguns valores de entrada, executar um processamento e
produzir um resultado de sada.
Agora que sabemos o que lgica e algoritmo, podemos analisar
como icaiia um exemplo utilizanuo os uois conceitos paia uescievei
as atividades envolvidas na troca do pneu dianteiro do lado direito
de um carro. A ideia apresentar de maneira formal todas as etapas
para a troca do mesmo e para isso estaremos utilizando um portugus
coloquial:
Pegar a chave de roda e o macaco;
Pegar o pneu reserva;
CONCEITOS BSICOS DE ALGORITMOS E LGICA DE PROGRAMAO 15
C
O
N
C
E
I
T
O
S

B

S
I
C
O
S

D
E

A
L
G
O
R
I
T
M
O
S

E

L

G
I
C
A

D
E

P
R
O
G
R
A
M
A

O
Fonte: o autor.
Esquema 1 Etapas de um algoritmo

Notas de um aluno
10, 6, 8, 9
Entrada
Encontrar a mdia
(10 + 6 + 8 + 9)/4 = 8,25
Processamento
Resultado
Aprovado
Sada
Afrouxar os parafusos da roda;
Encaixar o macaco no carro;
Levantar o carro com o macaco;
Terminar de afrouxar os parafusos da roda;
Tirar os parafusos da roda;
Tirar o pneu furado;
Colocar o pneu reserva;
Apertar os parafusos do pneu;
Baixar macaco;
Reforar o aperto nos parafusos;
Guardar a chave de roda e o macaco;
Levar para arrumar o pneu furado.
Nesses algoritmos, so descritas sequencialmente as atividades lgicas
envolvidas na troca de um pneu, levando em considerao que j
sabamos qual pneu deveria ser trocado.
Se a quantidade de pneu testado for menor que quatro, utilize a
sequncia apresentada anteriormente.
Ento, sabemos que, no mximo, precisamos avaliar quatro pneus
para saber se algum deles est furado. Para isso devemos utilizar uma
instruo de repetio que indica quantas vezes a ao ser executada,
evitando a perda de tempo e diminuindo o esforo, pois precisamos ter
certeza de que o pneu est furado antes de ir buscar o reserva e comear
INTR0B00 A PR0uRANA0 I 16
I
N
T
R
0
B
0

0

A

P
R
0
u
R
A
N
A

0

I
Mas se no soubssemos qual era o pneu
furado como icaria esse algoritmo Quais
etapas deveriam ser includas?
O carro no possui somente 4 pneus
em uso?
a troca. Assim utilizamos uma pergunta como estrutura de deciso e, se
a iesposta foi aiimativa continuamos a tioca uo pneu seno passamos
para o prximo pneu at examinarmos todos.
No algoritmo anterior, utilizamos a lngua portuguesa para descrever a
soluo, mas infelizmente a nossa lngua no a melhor maneira para
representarmos um algoritmo. Ela possui em sua estrutura muitos
vcios de linguagem, palavras com duplo sentido e muitas regras
gramaticais que os computadores no conseguem entender, vamos
exempliicai
EXEMPLO
Para resolver esse problema que surgem as tcnicas de representao
de algoritmo que podem ser divididas em: portugus estruturado ou
pseuuocouigo e luxogiama
AS TCNICAS DE REPRESENTAO servem para guiar a maneira com
que escrevemos os algoritmos, j que proporcionam um entendimento
nico entre as vrias pessoas que as leem. Todas as tcnicas possuem
um vocabulrio ou smbolos que no deixam dvidas em sua
interpretao, portanto devem ser seguidos formalmente.
PORTUGUS ESTRUTURADO
Tambm conhecido como pseudocdigo entre as tcnicas existentes a
mais utilizada, por se aproximar muito das tradicionais linguagens de
piogiamao No existe um pauio uocumentauo e oicial ue iegias
por isso cada autor estabelece um conjunto de regras e vocabulrio, mas
todos seguem um metamodelo que sugere uma nomenclatura padro.
No Quadro 1 podemos observar um exemplo de um algoritmo escrito em
poitugus estiutuiauo paia avaliai o iesultauo inal ue um aluno
CONCEITOS BSICOS DE ALGORITMOS E LGICA DE PROGRAMAO 17
C
O
N
C
E
I
T
O
S

B

S
I
C
O
S

D
E

A
L
G
O
R
I
T
M
O
S

E

L

G
I
C
A

D
E

P
R
O
G
R
A
M
A

O
Joo passou a noite inteira cantando no Karaok e Pedro passou a noite
inteira cantando uma garota. A palavra cantando foi empregada de duas
maneiras diferentes na mesma frase: o nosso crebro consegue processar
a fiase pois ele possui infoimao necessiia paia iaciocinai o signiicauo
das palavras, j o computador no possui raciocnio e muito menos
infoimao suiciente paia compieenuei o sentiuo uas palavias quanuo
inseridas em um contexto.
Tcnicas de representao de algoritmos
Como observamos no Quadro 1 as palavras que esto em negrito fazem
parte do vocabulrio do portugus estruturado. Nas prximas sees,
estudaremos detalhadamente cada uma dessas palavras da linguagem.
O que podemos j compreender que todo algoritmo inicia pela palavra
Algoritmo onde o mesmo nomeado (no exemplo apresentado
no Quadro 1, mdia_aluno). Logo aps temos a palavra inicio que
iepiesenta o comeo uo piocessamento uo algoiitmo e poi im temos
a palavra im que representa o trmino do algoritmo. No Quadro
2 apresentamos a estrutura bsica de um algoritmo em portugus
estruturado:
FLUXOGRAMA
E uma tcnica que se utiliza ue simbolos giicos paia iepiesentai o seu
vocabulrio. de fcil visualizao e entendimento, devido ao uso de
simbologia padro.
Essa tcnica utiliza uma representao esquemtica para representar
um processo ou algoritmo. Seus smbolos so utilizados por vrios
seguimentos, pois so muito teis para descrever um processo se
cair nas armadilhas de duplo entendimento da lngua portuguesa. Na
sequncia visualizaiemos o exemplo ue um luxogiama que uescieve o
processo informando se um aluno est ou no aprovado.
INTR0B00 A PR0uRANA0 I 18
I
N
T
R
0
B
0

0

A

P
R
0
u
R
A
N
A

0

I
Fonte: o autor.
Quadro 1 Algoritmo em portugus estruturado para clculo do resultado e mdia de aluno
Algoritmo media_aluno;
inicio
real nota1, nota2, nota3, nota4, media 0;
ler(nota1, nota2, nota3, nota4);
media (nota1 + nota2 + nota3 + nota4)/4;
se media >= 7 entao
escrever('Aluno Aprovado')
senao
escrever('Aluno Reprovado');
im
Fonte: o autor.
Quadro 2 Representao bsica portugus estruturado
Algoritmo NOME_ALGORITMO;
inicio
//Desenvolvimento do algoritmo.
im
Fonte: o autor.
Fluxograma 1 Fluxograma para calcular mdia e resultado de aluno
No Fluxograma 1, podemos observar os smbolos bsicos utilizados
paia constiuo ue um luxogiama Estes simbolos so fiequentemente
utilizados para representar processos no somente no desenvolvimento
de algoritmos, por isso, torna-se uma ferramenta importante para
comunicar o funcionamento de um algoritmo. No Quadro 3 veremos o
signiicauo uos piincipais simbolos
Fonte: o autor.
Quauio Simbolos utilizauos em luxogiamas
Smbolo Descrio
Inuica o inicio ou im uo algoiitmo
Utilizado para descrever o processamento do
algoritmo.
Entrada normal de dados.
Estiutuia ue ueciso que uesvia o luxo paia o
lado verdadeiro ou falso.
Representa a sada ou exibio dos dados.
CONCEITOS BSICOS DE ALGORITMOS E LGICA DE PROGRAMAO 19
C
O
N
C
E
I
T
O
S

B

S
I
C
O
S

D
E

A
L
G
O
R
I
T
M
O
S

E

L

G
I
C
A

D
E

P
R
O
G
R
A
M
A

O
INTR0B00 A PR0uRANA0 I 20
I
N
T
R
0
B
0

0

A

P
R
0
u
R
A
N
A

0

I
Relita um pouco sobie qual uas uuas voc acha mais til 0 poitugus
estruturado ou pseudocdigo leva a vantagem de se aproximar bastante
uas linguagens ue piogiamao em compensao o luxogiama mostia
de uma maneira mais visual e clara as intenes do algoritmo. Quando
tiatamos ue algoiitmos muito gianues o luxogiama se toina bastante
tiabalhoso e uiiculta um pouco o entenuimento poi causa ue seu
tamanho.
Nas prximas sees e unidades estaremos aprofundando os estudos
em cada uma das tcnicas e compreendendo como os algoritmos so
construdos para que o computador possa process-los e produzir o
resultado esperado.
As duas tcnicas apresentadas
possuem vantagens e desvantagens.
O que voc achou das tcnicas?
Linguagem de programao um mtodo padronizado para
comunicar instrues aos computadores. um conjunto
de regras sintticas e semnticas usadas para deinir
um programa de computador. Voc pode encontrar um
histrico sobre as linguagens de programao em: <http://
pt.wikipedia.org/wiki/Linguagem_de_programao>.
Existem tambm vrias ferramentas para desenho de
luxograma porm estamos utilizando a Lucidchart for
Education que pode ser instalada no navegador Chrome na
opo Chrome Web Store. Ela muito intuitiva, o que facilita
bastante a sua utilizao
SEO 3 Variveis, constantes, tipos de dados e operadores aritmticos
P
ara que possamos compreender o funcionamento de um algoritmo
computacional imprescindvel que compreendamos os conceitos
de variveis, tipos de dados e operadores aritmticos. Com eles
podemos realizar operaes matemticas e processamento de dados na
memria do computador.
Com ceiteza touos pouem iesponuei essa peigunta sem uiiculuaue
0m valoi vaiivel signiica alguma coisa que poue sei muuaua que oia
possui um valor e ora outro. Um exemplo pode ser a cotao do dlar,
o peso ou a idade de uma pessoa. Pois bem, uma varivel no contexto
computacional possui o mesmo signiicauo ou seja ela capaz ue
armazenar um valor que pode ser trocado a qualquer momento.
Na construo de um algoritmo utilizamos inmeras variveis para
armazenar os valores que sero utilizados na hora de efetuar um clculo.
A maioria de vocs j trabalha com alguma planilha eletrnica para
realizar algum clculo. Como vocs fazem esta frmula?
Vocs no utilizam os valores digitados, mas sim a posio que
os valores so encontrados, por exemplo: =A1+A2; estes nomes
representam uma posio da planilha que possui o valor que vocs
pretendem somar. Nos algoritmos a mesma ideia: iremos criar
variveis que representaro os nossos valores na memria do
computador. Na Imagem 2 vocs podem observar essa analogia da
planilha com as variveis do algoritmo.
CONCEITOS BSICOS DE ALGORITMOS E LGICA DE PROGRAMAO 21
C
O
N
C
E
I
T
O
S

B

S
I
C
O
S

D
E

A
L
G
O
R
I
T
M
O
S

E

L

G
I
C
A

D
E

P
R
O
G
R
A
M
A

O
Variveis
No pensem em computao agora,
tentem responder a pergunta: o que
um valor varivel?
Portanto, uma varivel um espao da memria
do computador que reservamos para guardar
informaes. (CARVALHO, 2007).
Imagem 2 Comparao da planilha e algoritmo na utilizao de variveis
Fonte: o autor.
Algoritmo Soma
inicio
inteiro b1, b2, b3;
b3 = b1 + b2;
im.
Observamos na Imagem 2 que no precisamos conhecer os valores que
sero digitados pelo usurio, mas sim, as variveis ou posies em que
os valores se encontram. Isso torna vivel a construo de algoritmos,
pois seno seria necessrio ter um algoritmo para cada combinao de
valor que desejssemos.
O que uma constante?
0m bom exemplo o valoi ue pi pois esse valoi no muua
independentemente da execuo do programa.
As constantes tambm so armazenadas na memria do computador,
mas como j explicado no mudam de valor durante a execuo.
INTR0B00 A PR0uRANA0 I 22
I
N
T
R
0
B
0

0

A

P
R
0
u
R
A
N
A

0

I
Para Forbellone e Eberspcher (2000) uma constante um dado que
no sofre nenhuma variao no decorrer do tempo, ou seja, seu valor
constante uesue o inicio at o im ua execuo uo algoiitmo assim como
constante para execues diferentes no tempo.
EXEMPLO
Constantes
REGRAS DE FORMAO PARA IDENTIFICADORES DE VARIVEIS E
CONSTANTES
Caua vaiivel iuentiicaua em um algoiitmo poi um nome nico que
chamamos ue iuentiicauoi e paia que exista um pauio uevemos
seguir algumas regras:
1 possuir somente caracteres alfanumricos;
2 no pode conter espaos em branco;
3 no pode possuir caracteres especiais;
4 no pode ter acento;
5 deve ter um nome que ajude a compreender o algoritmo.
EXEMPLO
Nomes vlidos:
X, nome, codigo, idade, X23, 32B, y, codigo_pessoa
Nomes invlidos:
$X, #b, A:B, (A), codigo pessoa, nota/2, correo
QUANDO PENSAMOS NO VALOR de uma varivel sempre estamos
pensando em um tipo de dado: se pensarmos na idade de uma pessoa,
com certeza voc ir lembrar de um nmero que representa essa
idade; se pensar no nome dela, voc ir imaginar um texto ou um
conjunto de caracteres referentes ao nome da pessoa. Esta maneira
com que pensamos sobre os dados chamamos de tipo de dados e,
paia a computao classiicamos eles em quatio tipos como explica
Forbellone e Eberspcher (2000):
1 Inteiro: toda e qualquer informao numrica que pertena
ao conjunto dos nmeros inteiros e relativos (negativa, nula ou
positiva);
EXEMPLO
a) Ele tem 10 anos (idade uma varivel inteira).
b) A escada possui 8 degraus (quantidade_degraus uma varivel
inteira).
c) Em minha casa h 3 quartos (quantidade_quarto uma varivel
inteira).
CONCEITOS BSICOS DE ALGORITMOS E LGICA DE PROGRAMAO 23
C
O
N
C
E
I
T
O
S

B

S
I
C
O
S

D
E

A
L
G
O
R
I
T
M
O
S

E

L

G
I
C
A

D
E

P
R
O
G
R
A
M
A

O
Tipos de dados
2 Real: toda e qualquer informao numrica que pertena ao
conjunto dos nmeros reais (negativa, nula ou positiva);
EXEMPLO
a) Ele tem 1,87 metros de altura (altura uma varivel do tipo real).
b) A cotao do dolar de 1,95. (cotacao_dolar uma varivel do tipo
real).
c) Meu salrio, no momento, de 1.234,50 (salario uma varivel do tipo
real).
3 Caracter: toda e qualquer informao composta por um
conjunto de caracteres alfanumricos: numricos (0..9), alfabticos
AZ az e especiais poi exemplo
EXEMPLO
a) Meu nome Andr Luiz (nome uma varivel do tipo caracter).
b) O endereo do Andr rua principal s/n (endereco uma varivel do
tipo caracter).
c) O nome do vencedor Joo da Silva (nome_vencedor uma varivel
do tipo caracter).
4 Lgico: toda e qualquer informao que pode assumir apenas
duas situaes (biestvel).
EXEMPLO
a) A porta pode estar aberta ou fechada.
b) A lmpada pode estar acesa ou apagada.
DECLARAO DAS VARIVEIS
Como j comentamos as vaiiveis e constantes icam aimazenauas na
memria do computador ocupando uma posio da mesma. Em seu livro,
Forbellone e Eberspcher (2000) fazem uma analogia que nos ajuda a
entender esse funcionamento. Imaginemos a memria do computador
INTR0B00 A PR0uRANA0 I 24
I
N
T
R
0
B
0

0

A

P
R
0
u
R
A
N
A

0

I

inteiro x, a, idade;
real altura, largura, dolar, salario;
caracter nome, endereco, data;
logico ehSolteiro, continua;
CONCEITOS BSICOS DE ALGORITMOS E LGICA DE PROGRAMAO 25
C
O
N
C
E
I
T
O
S

B

S
I
C
O
S

D
E

A
L
G
O
R
I
T
M
O
S

E

L

G
I
C
A

D
E

P
R
O
G
R
A
M
A

O
como um grande armrio repleto de gavetas, no qual as gavetas seriam
os locais isicos iesponsveis poi aimazenai objetos os objetos seiiam
os dados e as gavetas, as variveis.
Visto que na memria (armrio) existem inmeras variveis (gavetas),
precisamos criar um mecanismo para diferenciar uma varivel (gaveta)
da outra. Cada varivel, no entanto, pode guardar apenas um dado
(objeto) de cada vez, sendo sempre do mesmo tipo (material).
Para isso, devemos determinar nomes para cada uma das gavetas e
especiicaimos o tipo ue objeto que poue entiai nessa gaveta em outias
palavias piecisamos ueinii um nome paia as vaiiveis e o tipo uos
uauos que ela aimazenai Este nome ueve sei um iuentiicauoi nico
pois seno o computador no saber em qual gaveta pegar o dado
solicitado.
SINTAXE DA DECLARAO OU DO COMANDO
Para que os comandos sejam sempre entendidos pelo computador, surge
a necessidade de se estabelecer padres de escrita, como j discutido
anteriormente. Como em todo padro, existem regras rgidas a serem
seguidas; a estas chamamos de sintaxe da declarao ou do comando.
como se estivssemos seguindo uma regra de gramtica onde temos
que respeitar a pontuao e a sinttica das frases ou expresses.
Para declararmos variveis seguimos a sintaxe:
tipo identiicador identiicador
Onde <tipo> o tipo de dado a ser utilizado; identiicador o nome
nico da varivel que desejamos declarar; a (,) vrgula utilizada como
o sepaiauoi ue uma vaiivel e outia e no inal ua expiesso temos o
ponto e vrgula indicando que a expresso terminou.
EXEMPLO
No exemplo caua iuentiicai x a altuia nome ehSolteiio sei uma
gaveta do armrio que estar armazenando um objeto, ou seja, cada
iuentiicai iepiesenta uma vaiivel que aimazena um valoi ou uauo
Ao se declarar uma varivel ainda podemos inicializar ela j com um
valor padro.
real totalFolhaPagamento 0.0;
Como isto icaria em um algoritmo escrito em
portugus estruturado e em um luxograma
INTR0B00 A PR0uRANA0 I 26
I
N
T
R
0
B
0

0

A

P
R
0
u
R
A
N
A

0

I
EXEMPLO
No Quadro 4 e no Fluxograma 2 podemos ver como isso descrito nas
duas tcnicas:
Fonte: o autor.
Quadro 4 Declarao de variveis representada no portugus estruturado
Algoritmo exemplo_variaveis;
inicio
real largura, altura, salario, totalFolhaPagamento 0.0;
inteiro idade, totalPessoas 0;
im
Fonte: o autor.
Fluxograma 2 Declarao de variveis
Operador Funo Exemplos
+ Adio B + C; 2 + 3
- Subtrao 4 2; N M
* Multiplicao 10 * 4; X * Y
/ Diviso 10/2; X1/X2
Operador Funo Signiicado Exemplos
pot(x,y) Potenciao X elevado a y pot(2,3)
rad(x) Radiciao Raiz quadrada de x rad(9)
CONCEITOS BSICOS DE ALGORITMOS E LGICA DE PROGRAMAO 27
C
O
N
C
E
I
T
O
S

B

S
I
C
O
S

D
E

A
L
G
O
R
I
T
M
O
S

E

L

G
I
C
A

D
E

P
R
O
G
R
A
M
A

O
No exemplo anterior, as variveis largura, altura, salario e
totalFolhaPagamento so declaradas como real e as variveis
idade e totalPessoas so declaradas como inteiro e podem ser
usadas agora para armazenar valores ou participarem de uma operao
matemtica. Sendo que totalFolhaPagamento e totalPessoas esto sendo
inicializadas com o valor 0 (zero).
Operadores aritmticos
OPERADORES ARITMTICOS so utilizados para representar as
operaes bsicas da matemtica. Por exemplo, quando queremos
somar duas variveis precisamos representar esta soma por meio de
um smbolo, nesse caso o sinal de (+) mais. No Quadro 5 veremos a
simbologia utilizada para as operaes bsicas:
Fonte: o autor.
Quadro 5 Operadores aritmticos bsicos
Para representar as operaes de radiciao e potenciao, usaremos as
palavras-chaves rad e pot, conforme Quadro 6.
Fonte: o autor.
Quadro 6 Operadores aritmticos para radiciao e potenciao
Quando necessitarmos saber o resto de uma diviso ou o quociente
de uma diviso usaremos as palavras reservadas mod e div conforme
Quadro 7.
Como poderamos calcular o volume de uma lata de leo que
possui raio de 6cm e altura de 10cm sabendo que a frmula
para calcular o volume de um cilindro V r b
INTR0B00 A PR0uRANA0 I 28
I
N
T
R
0
B
0

0

A

P
R
0
u
R
A
N
A

0

I
Nesse exemplo declaramos as variveis raio, altura e volume
todas do tipo real, pois pode possuir valores quebrados. Logo aps
calculado o volume da lata com base na frmula apresentada
anteriormente; a varivel volume passar a valer o resultado da
frmula de clculo do volume da lata. Portanto, nesse exemplo deixamos
ixo os valoies ue iaio e altuia so que na pitica essa aboiuagem no
funciona muito bem.
Operador Funo Exemplos
mod Resto da diviso 9 mod 4 resulta em 1
27 mod 5 resulta em 2
div Quociente da diviso 9 div 4 resulta em 2
27 div 5 resulta em 5
Fonte: o autor.
Quadro 7 Operadores aritmticos para resto e quociente de diviso
Conhecendo os operadores aritmticos e as variveis possvel
combinar os dois conceitos para construirmos algoritmos que realizem
operaes matemticas.
Algoritmo exemplo_volume_lata;
inicio
real raio 6, altura 10, volume 0; //Declarao de variveis
volume 3.14 * pot(raio,2) * altura; //Clculo do volume
im
O smbolo representa a atribuio, ou seja, o valor
que est na direita atribudo para a varivel que est
esquerda. A varivel passa a valer o que est a sua direita.
Tudo que estiver aps //(duas barras) considerado
comentrio e no tem valor nenhum de execuo no
algoritmo Pode ser utilizado sempre que precisar explicar o
que o comando faz ou anotar alguma dica
Se quisssemos calcular o volume de uma lata com outras
medidas como faramos Mudaramos toda vez o algoritmo
Como o usurio poderia interagir com o nosso programa?
CONCEITOS BSICOS DE ALGORITMOS E LGICA DE PROGRAMAO 29
C
O
N
C
E
I
T
O
S

B

S
I
C
O
S

D
E

A
L
G
O
R
I
T
M
O
S

E

L

G
I
C
A

D
E

P
R
O
G
R
A
M
A

O
Para isso, surgem os comandos de entrada e sada de dados.
COMANDO DE ENTRADA E SADA DE DADOS
Como j vimos na seo 2 dessa unidade, um algoritmo dividido em
entrada processamento sada. O processamento ocorre por meio
de uma ou mais contas e regras de execuo. Quando precisamos tornar
dinmico o valor das variveis necessrio utilizar um comando que
possibilite ao usurio digitar o valor pretendido para cada varivel,
bem como ao inal uo piogiama mostiai na tela o iesultauo ua conta
realizada e utilizar um comando para sada de dados. Abaixo est
descrita a sintaxe de cada um dos comandos.
Comando de entrada:
leia(nome_varivel);
leia(altura, raio);
Comando de sada:
escreva(nome_varivel);
escreva(volume);
escreva(O volume , volume).

O comando de sada pode escrever na tela o valor de uma varivel
ou ento um texto entre aspas. Tudo que estiver entre aspas ele vai
imprimir na tela como est escrito, se for necessrio imprimir um texto
seguido de um valor de uma varivel, basta separar por vrgula os dois
contedos, lembrando que o nome da varivel no pode estar entre
aspas e deve ser uma varivel vlida j declarada no programa.
O comando de entrada, simplesmente, pega o que o usurio digitou
no teclado e armazena na varivel passada dentro dos parnteses. Aps
o trmino da leitura a varivel passa a valer o que o usurio digitou.
possvel ler muitas variveis ao mesmo tempo, basta separar elas por
vrgula. Agora j podemos escrever o nosso exemplo do volume de uma
lata ue oleo tiocanuo os valoies ixos poi valoies no conheciuos que o
usurio ir digitar.
Solicite ao usurio para digitar o nome de um aluno e quatro notas
de prova que este j realizou, depois calcule a mdia e apresente-a,
juntamente com o nome do aluno.
Algoritmo exemplo_calculo_media;
inicio
//Declarao das variveis
real media, nota1, nota2, nota3, nota4;
caracter nomeAluno;
//Comandos de entrada
escreva(Digite o nome do aluno);
ler(nomeAluno);
escreva(Digite as 4 notas do aluno);
ler(nota1, nota2, nota3, nota4);
//Processamento
media (nota1+nota2+nota3+nota4)/4;
//Sada
escreva(O aluno ,nomeAluno, obteve a mdia: , media);
im
INTR0B00 A PR0uRANA0 I 30
I
N
T
R
0
B
0

0

A

P
R
0
u
R
A
N
A

0

I
No Quadro 8 conseguimos observar com clareza o processo de entrada
processamento sada, sendo que o comando ler est representando
as entradas, o clculo do volume representa o processamento e o
escreva inal iepiesenta a saiua com o iesultauo uo volume
EXEMPLO
Fonte: o autor.
Quadro 8 Entrada processamento sada
Algoritmo exemplo_volume_lata;
inicio
real raio, altura, volume 0;
//Entrada de dados
escreva(Digite o valor para o raio);//Escrita na tela
ler(raio); //Leitura do teclado
escreva(Digite o valor para a altura);//Escrita na tela
ler(altura);//Leitura do teclado
//Processamento
volume 3.14 * pot(raio,2) * altura;
//Sada
escreva(O volume da lata de leo : ",volume);//Escrita na tela
im
CONCEITOS BSICOS DE ALGORITMOS E LGICA DE PROGRAMAO 31
C
O
N
C
E
I
T
O
S

B

S
I
C
O
S

D
E

A
L
G
O
R
I
T
M
O
S

E

L

G
I
C
A

D
E

P
R
O
G
R
A
M
A

O
O mesmo exemplo descrito anteriormente, mas agora em um
luxogiama