Você está na página 1de 93

Introduo Lgica de

Programao
Aula 1

Licenciatura em Computao - IFPB


MS. Cleyton Caetano de Souza
Algoritmos
Algoritmo um conceito simples, utilizado por ns, diariamente.
Um algoritmo pode ser compreendido como um plano, traado e seguido
por ns, para realizar uma atividade do dia a dia:
Fazer compras;
Preparar um bolo;
Trocar um lmpada;
Atravessar a rua;

Para todas essas atividades, h um algoritmo


que define como vamos realiz-las
com sucesso.
Algoritmos
Segundo Manzano, um dos autores mais famosos sobre o assunto de
algoritmos:

Algoritmos so conjuntos de passos finitos e organizados que quando


executados, resolvem um determinado problema. (Manzano, 2010)

Basicamente, podemos comparar um algoritmo a um roteiro, uma receita


ou um plano, que mostra, passo a passo, o que deve ser feito para a
resoluo de uma tarefa.
Algoritmos
O conceito de um algoritmo vai muito alm dos computadores.
Embora no percebamos, em atividades corriqueiras de nossas vidas, realizamos
tarefas que se encaixam no conceito de algoritmo. Para a realizao das atividades
abaixo, por exemplo, executamos os seguintes passos:
Trocar uma Lmpada Atravessar a Rua
Incio Incio
1. pegamos uma escada; 1. olhamos para direita;
2. posicionamos a escada debaixo da 2. olhamos para esquerda;
lmpada; 3. se estiver vindo carro:
3. buscamos uma lmpada nova; 4. no atravessamos;
4. acionamos o interruptor; 5. seno:
5. se a lmpada no acender, ento: 6. atravessamos;
6. subimos na escada; Fim
7. retiramos a lmpada queimada;
8. colocamos a lmpada nova;
Fim
Algoritmos
Observando, podemos ver que essas descries sobre como trocar a
lmpada e como atravessar a rua so algoritmos, pois so passos
organizados que realizam uma tarefa com sucesso.
Quando a descrio no conseguir realizar a tarefa com sucesso (ou seja, no resolvendo
o problema), ela no considerada como um algoritmo.
Trocar uma Lmpada
Incio
1. colocamos a lmpada nova;
2. retiramos a lmpada queimada;
3. buscamos uma lmpada nova;
4. acionamos o Note que essainterruptor;
sequncia de
5. se a lmpada no passos no est mais
acender, na
ento:
6. subimos ordemna
correta. escada;
7. pegamos uma escada;
8. posicionamos a escada debaixo da lmpada;
Fim
Aprenda Mais
Peixe Babel: O que um algoritmo?
<https://www.youtube.com/watch?v=enQJN34Mh28>
PlayCode: Curso de programao para iniciantes: #3 Afinal, o que um
algoritmo? <https://www.youtube.com/watch?v=yTKiRkCi0Bg>
Curso em Vdeo: Introduo a Algoritmos - Curso de Algoritmos #01 -
Gustavo Guanabara <https://www.youtube.com/watch?v=8mei6uVttho>
Me Salva! ASP01 - Introduo, Definio de Problemas e Anlise
<https://www.youtube.com/watch?v=ntBxoTSnfkA>
Hora do Cdigo <https://hourofcode.com/pt>
Exerccios
1. O que so algoritmos e explique como eles esto envolvidos em tarefas
que realizamos no nosso dia a dia.
2. Quais elementos a descrio precisa ter para ser considerada um
algoritmo?
3. A rotina abaixo considerada um algoritmo ou no?
Enviar uma carta
Incio
1. colocar o selo
2. pegar a carta;
3. colocar em um envelope;
4. entregar no correio;
Fim

4. Crie um algoritmo que representa a preparao de um bolo de chocolate.


5. Crie um algoritmo que representa a ida ao supermercado.
Algoritmos Computacionais
Basicamente, um Algoritmo
Computacional uma sequncia
de passos que executada por um
computador, geralmente com o
auxlio de um usurio, e efetua um
processamento para realizar
alguma uma determinada tarefa.
Nem todo algoritmo computacional...
Qual a diferena entre um algoritmo computacional e um algoritmo que seguimos
para realizar alguma atividade do dia a dia?
Enquanto traamos um plano para realizar alguma atividade, podemos usar qualquer
expresso para ilustrar que atividades devemos executar.
Os algoritmos computacionais so escritos respeitando um conjunto pr-estabelecido de
palavras que podem ser utilizadas (isso o que chamamos de sintaxe da linguagem).

Dessa forma, a maioria dos algoritmos no computacionais


so sequncias de passos que, a princpio, no podem ser
executadas por um computador.
Como os Algoritmos Computacionais so Criados?
Todo algoritmo computacional comea com o desenvolvimento da lgica
de programao, que simplesmente so ideias que temos para
resolvermos determinado problema.
A partir dessa lgica, preciso escrev-la em alguma linguagem de
programao, como Java, C#, PHP e etc.
E essa linguagem de programao vai ser utilizada para criar um sistema
completo, que a aplicao que seu usurio vai utilizar.
Como os Algoritmos Computacionais so criados?
Ento, todo sistema computacional nasce assim:

Uma lgica de programao desenvolvida na cabea de um


programador, analista ou uma equipe de desenvolvimento, essa lgica
estruturada em uma linguagem de programao para que no final resulte
em um sistema (programa de computador).
Lgica de Programao
No dia a dia, quando nos deparamos com problemas, geralmente, antes
de efetivamente resolv-los, precisamos pensar em como resolv-los.
Essa reflexo essencial para resolver o problema corretamente.
A lgica de programao a tcnica de encadear pensamentos, que
permite definir uma sequncia de passos para atingir determinado
objetivo, ou seja, resolver um problema.
Lgica de Programao
Para se representar a lgica de programao, podemos usar vrias
ferramentas, dentre as mais famosas esto:
Fluxograma
O fluxograma representa graficamente a lgica, atravs de um fluxo de
aes, que vai de um ponto (incio) a outro (fim). As aes so
representadas por desenhos geomtricos, os quais indicam a entrada, o
processamento e a sada de dados.
Ao lado, podemos ver a representao de um
algoritmo de clculo de mdia, onde as entradas
so as notas, depois elas so processadas e o
valor igual a mdia, por fim a sada dessa
mdia impressa na tela.
Diagrama de Chapin
No diagrama de Nassi Shneiderman ou diagrama de Chapin, a lgica
representada em quadros.
Atravs dos quadros, o Diagrama de
Chapin fornece algumas caractersticas
que facilita sua transcrio em
pseudocdigo (Portugol) ou
mesmo uma linguagem de
programao de fato.
Pseudocdigo ou Portugol
No dia a dia, o que mais utilizamos o Pseudocdigo, que a lgica do programa
representada em forma de texto, escrito na linguagem nativa; como nossa lngua a
Portuguesa, ficou batizado de Portugol ou Portugus Estruturado.
O Portugol uma linguagem para
ajudar iniciantes a aprender
programao. Assim como outras
linguagens, ela possui uma sintaxe
(conjunto de regras e de palavras-chave)
que tornaro seu cdigo vlido ou no.
Alguns programadores costumam
codificar sua lgica primeiro em
portugol e depois traduzir para alguma
outra linguagem.
De agora em diante, vamos adotar o
Portugol para aprender os fundamentos
da programao estruturada.
Aprenda Mais...
Entenda Programao [1]: Algoritmos: aposto que voc j os conhece!
<http://www.entendaprogramacao.com.br/algoritmos/>
Entenda Programao [2]: As trs fases dos algoritmos
<http://www.entendaprogramacao.com.br/as-tres-fases-dos-algoritmos/>
Vincius Melo - Aula 1 - Introduo a Algoritmos; Descrio Narrativa,
Fluxograma e Portugol (Pseudocdigo) - <https://youtu.be/XT4dEsxpguQ>
RBTech [1]: Lgica de programao - Aula 01 - Introduo
<https://www.youtube.com/watch?v=Ds1n6aHchRU>
RBTech [2]: Lgica de programao - 02 - Tipos de algoritmo
<https://www.youtube.com/watch?v=JLlTo3SwxJE>
Exerccios
1. O que lgica de programao?
2. Por qu a lgica de programao importante para a criao de um
sistema?
3. Cite algumas maneiras de como podemos representar nossa lgica de
programao.
4. Pesquise e responda, por que importante representar nossa lgica
antes de pass-la para uma linguagem de programao?
Usando o Portugol
Para representar a nossa Lgica de Programao em texto, ou melhor,
em Portugol podemos usar um simples lpis e papel ou podemos usar
uma IDE.
IDE a sigla em ingls para Ambiente de Desenvolvimento Integrado; um programa de
computador que serve de apoio ao desenvolvimento de software com o objetivo de
agilizar este processo.
Entre as facilidades oferecidas pela IDE est a possibilidade de executar seu programa!

Para o Portugol, as IDE mais conhecidas so:


VisuAlg;
Portugol Studio;
VisuAlg
O VisuAlg uma excelente ferramenta que auxilia no ensino da
programao, ela tem uma interface fcil de trabalhar e possui recursos
que nos ajudam a desenvolver melhor o aprendizado.
O VisuAlg pode ser baixado no seguinte
link:
<http://www.apoioinformatica.inf.br/
produtos/visualg>
Nesse mesmo link, h diversos
tutoriais que ensinam tanto a instalar
quanto a usar seus recursos.
Infelizmente, o VisuAlg s possui
verses para o Windows.
Portugol Studio
Assim como o VisuAlg, o Portugol Studio uma tima ferramenta de
aprendizado e uma alternativa para quem no usa o sistema operacional
Windows.
O Portugol Studio pode ser baixado
no seguinte link:
<http://lite.acad.univali.br/portugol/>
Nesse mesmo link, h diversos
tutoriais que ensinam a utilizar os
recursos do Portugol Studio.
Existem verses do Portugol Studio
para Windows, Linux e Mac.
Portugol Studio ou VisuAlg?
Existem pequenas diferenas entre escrever um algoritmo no VisuAlg e no Portugol
Studio, no que se refere a algumas partes da sintaxe considerada para a linguagem
Portugol.
Na maioria dos exemplos que sero apresentados, ser utilizado principalmente o
VisuAlg;

O Portugol Studio ser a alternativa para quem usa Linux ou Mac.

Entretanto, quando houver diferenas na sintaxe das duas IDEs, ser apresentado
como o cdigo fica tanto no VisuAlg como no Portugol Studio.
Interface do VisuAlg
1 - Menu de Opes

2 - Barra de
Ferramentas

3 - Editor de
Cdigo

4 - Representao
da Memria do 5- Representao
Computador do Terminal
Interface do VisuAlg
Ao executar o VisuAlg pela primeira vez, nos deparamos com a janela da imagem
apresentada no slide anterior.
1. O Menu de Opes possui todas as funcionalidades do VisuAlg, como abrir, salvar e
executar nossos algoritmos.
2. A Barra de Ferramentas possui as principais e mais usadas funcionalidades, dispostas
no Menu de Opes.
3. O Editor de Cdigo que onde digitamos o nosso cdigo para que o VisuAlg o execute.
4. A Representao da Memria mostra os identificadores*, valores* e tipos* das
variveis*, durante a execuo do algoritmo.
5. O Terminal utilizado pelo VisuAlg terminal do Windows (prompt de comando), onde as
entradas/sadas do nosso programa so inseridas/visualizadas.

* Veremos o que so todos esses termos futuramente.


Interface do VisuAlg
O editor de cdigo , provavelmente, a parte mais importante, pois nele onde
vamos escrever nosso algoritmo em Portugol para que o VisuAlg execute-o no
Terminal e mostre o resultado da nossa lgica.

O cdigo escrito em Portugol, no VisuAlg, composto por quatro elementos


principais e obrigatrios
algoritmo nome do algoritmo
var
inicio
fimalgoritmo
Interface do VisuAlg
Todas essas palavras no podem estar escritas de outra forma, nem trocadas de
ordem, caso contrrio nosso algoritmo no funcionar;
Na figura, as linhas antecedidas por // (em verde) so comentrios, que sero
ignorados na execuo.
algoritmo nome do algoritmo -
inicio (sem acento) - a palavra corresponde ao elemento que
que marca o incio do algoritmo antecede o nome do seu algoritmo
(nossa lgica de programao
ficar entre o marcador de incio e var - nessa rea sero
o de fim); declaradas as variveis
que o algoritmo utilizar e
fimalgoritmo - onde seus tipos;
nosso algoritmo
encerrado;
Aprenda Mais
Ambiente de desenvolvimento integrado
<https://pt.wikipedia.org/wiki/Ambiente_de_desenvolvimento_integrado>
O que linguagem de programao, IDE e compilador?
<https://pt.stackoverflow.com/questions/101691/o-que-
-linguagem-de-programao-ide-e-compilador>
Tutorial: Saiba como instalar o VisuAlg e conhea a fundo esta ferramenta
<http://apexensino.com.br/tutorial-saiba-como-instalar-o-visualg-e-conheca-fu
ndo-esta-ferramenta/>
Manuel do VisuAlg atualizado
<http://www.inf.ufsc.br/~bosco.sobral/ensino/ine5201/Visualg2_manual.pdf>
Criando Algoritmos Computacionais
Criando nosso primeiro cdigo
Para criar o nosso primeiro algoritmo no VisuAlg, precisamos escrever as
instrues do nosso cdigo entre (as palavras) inicio e fimalgoritmo
Essas palavras denotam, respectivamente, o incio e o final de um algoritmo.
O cdigo ser executado de forma sequencial (linha por linha, de cima para baixo),
como apresentado na imagem abaixo.
Criando nosso primeiro cdigo
Para testarmos se est tudo ok, vamos escrever um exemplo bem simples para
fazer o VisuAlg imprimir um texto na tela.
Para isso, usaremos um comando chamado escreva, que serve para escrever algo
na tela do computador.
Abaixo da palavra inicio, usamos o comando escreva e dentro dos () (parnteses)
colocamos, entre aspas duplas, a mensagem que ser impressa no Terminal

Para executar o cdigo, podemos ir no menu Algoritmo Executar e clicar no


boto ou, simplesmente, apertar a tecla F9 do teclado.
Criando nosso primeiro cdigo
Feito isso, se o cdigo estiver corretamente escrito, deve aparecer uma janela
com a mensagem que passamos no comando escreva.

Para salvar o algoritmo, podemos ir no menu Arquivo Salvar, clicar no boto


ou apertar as teclas Ctrl+S do teclado; escolha um nome para o arquivo e
confirme.
Para abrir um algoritmo salvo, podemos ir no menu Arquivo Abrir, clicar no
boto ou apertar as teclas Ctrl+A do teclado; escolha o diretrio onde
arquivo foi salvo.
Cdigo Completo

VisuAlg Portugol Studio


algoritmo "mensagem" programa
{
var funcao inicio()
{
inicio // escreve uma mensagem no terminal
// escreve uma mensagem no terminal escreva("Mensagem que aparecer na tela.")
escreva("Mensagem que aparecer na tela.") }
fimalgoritmo }
Criando nosso primeiro cdigo
O comando escreva serve para escrever algo em uma linha, caso coloque dois
escreva, um abaixo do outro o comando vai imprimir as mensagens dos dois
escreva, mas na mesma linha.

Para escrever duas mensagens, uma abaixo da outra, no VisuAlg, utilizamos o


comando escreval que serve para que assim que for imprimida a mensagem
pular uma linha
Assim, ao usar novamente o escreva ou escreval, o prximo texto vai ser
impresso em uma nova linha.
Cdigo Completo

VisuAlg Portugol Studio


algoritmo "escreve duas mensagens" programa
{
var funcao inicio()
{
inicio // escreve uma mensagem no terminal
// escreve uma mensagem no terminal escreva("Imprimindo algo e quebrando uma linha\n")
escreval("Imprimindo algo e quebrando uma linha") escreva("Imprimindo algo em outra linha")
escreva("Imprimindo algo em outra linha") }
fimalgoritmo }
Exemplos
1. Imprimindo nmeros na tela:

2. Imprimindo o resultado de operaes matemticas na tela:

3. Imprimindo palavras e nmeros na tela:


Exerccio
1. Crie um cdigo que imprime a mensagem Ol Mundo na tela;
2. Crie um cdigo que imprime a soma de trs nmeros;
3. Crie um cdigo que imprime a mensagem Quanto 2 + 2? e na linha
seguinte imprima o resultado dessa operao matemtica.
Aprenda Mais...
GuiTech: VisuAlg - Download e Instalao
<https://www.youtube.com/watch?v=dPV7fUuXEoA>
Portugol Studio: Portugol Studio Vdeo 01 - Introduo
<https://www.youtube.com/watch?v=K02TnB3IGnQ>
adrianoh2: Iniciando com Visualg
<https://www.youtube.com/watch?v=sU17rbKEPUA>
Tuto Studio: Visualg Aula 1 - Introduo
<https://www.youtube.com/watch?v=6-_leAMCi8M>
Variveis
Variveis
Varivel um dos conceitos essenciais de programao!
Variveis so espaos situados na memria do computador onde
podemos guardar valores ou expresses.
Ou seja, se quisermos que o computador memorize um
nmero para que possamos us-lo posteriormente em
alguma operao, guardamos esse nmero na
memria utilizando uma varivel.
Toda varivel vai precisar ter a seguinte estrutura:
Possuir um identificador (ou seja, um nome);
Possuir um tipo de dado;
Possuir um valor;
Variveis
Para compreender melhor o que so variveis, vamos fazer uma analogia com
objetos do nosso cotidiano:
Vamos supor que temos um armrio, no qual podemos guardar diversos objetos.
E o nosso objetivo guardar uma bola nesse armrio.
Variveis
S que somos muito organizados em relao ao que guardamos no nosso armrio
Assim, antes de colocarmos um objeto no nosso armrio, colamos uma
etiqueta na porta dizendo o identificador (o nome) desse objeto que est
guardado naquela gaveta e de que tipo ele .
No caso da bola, colocaremos o identificador
BOLA e dizemos que a bola do tipo Brinquedo.

BOLA : Brinquedo
Variveis
Caso quisssemos colocar um sapato no armrio, poderamos colar uma etiqueta
como:

SAPATO :
Calado
Variveis
E se quisssemos guardar o nmero 2:

NUMERO: Inteiro
Variveis
Nessa analogia, pode-se entender o armrio como a memria do computador,
onde podemos guardar valores para serem usados
posteriormente, mas esses valores necessitam SAPATO:
ser identificados por um nome e por um tipo. Calado

As variveis so os espaos no armrio.


As etiquetas so o identificador (ou nome) que BOLA :
usamos para nos referir a cada espao vazio (i.e., Brinquedo

cada varivel)
O tipo corresponde a que objetos (valores) podem
ser colocados naquele espao.
NUMERO:
O valor corresponde ao que est guardado Inteiro

naquele espao do armrio.


Aprenda mais
O que varivel e constante?
<http://www.dicasdeprogramacao.com.br/o-que-e-variavel-e-constante/>
Curso Introduo a Programao: O que varivel
<https://www.youtube.com/watch?v=8tKI_yppKmc>
Khan Academy em Portugus: O que uma varivel?
<https://www.youtube.com/watch?v=-ZMCNZXmzZk>
Hora do Cdigo <http://silentteacher.toxicode.fr/hourofcode>
Identificadores
Os Identificadores so nomes que damos as variveis. Eles servem, como o prprio nome diz,
para identificar uma varivel. Isto importante pois as variveis so algo que manipulamos
frequentemente no nosso cdigo e precisamos do identificador delas para isso.

No VisuAlg, para nomearmos uma varivel, ou melhor, para escolhermos o identificador para
uma varivel, devemos respeitar algumas regras:
1. O nome deve comear com uma letra;
2. Os prximos caracteres do nome podem ser letras ou nmeros;
3. No pode usar smbolos, exceto _ (underline ou sublinhado)*;
4. No pode ter espaos em branco;
5. No pode ter letras acentuadas;
6. No pode ser uma palavra reservada**;

* Geralmente o _ nos identificadores so usados para representar um espao em branco, caso o


identificador da varivel tenham mais de uma palavra Ex: nota_do_aluno.
** Veremos logo adiante o que so palavras reservadas.
Palavras reservadas
As linguagens de programao especificam algumas palavras reservadas, tais palavras
so definidas na linguagem para que o programador possa us-las no futuro.
Geralmente elas so comandos que executam determinada ao como: se; seno; para;
enquanto.*
Consequentemente, elas podem tambm definir uma estrutura de cdigo com vimos na
estrutura do editor de cdigo do VisuAlg. As palavras algoritmo, var, inicio e fimalgoritmo
so palavras reservadas do VisuAlg.
As vezes fcil identificar as palavras reservadas pois ALGUMAS delas tm cores
diferentes.

* Estudaremos cada um desses comandos durante o curso..


Palavras reservadas
Abaixo segue uma tabela com todas as palavras reservadas do VisuAlg:
aleatorio caracter e fimalgoritmo grauprad maiusc passo randi

abs caso eco fimenquanto inicio mensagem pausa repita

algoritmo compr enquanto fimescolha int minusc pi se

arccos copia entao fimfuncao interrompa nao pos sen

arcsen cos escolha fimpara leia numerico procedimento senao

arctan cotan escreva fimprocedimento literal numpcarac quad timer

arquivo cronometro exp fimrepita log ou radpgrau tan

asc debug faca fimse logico outrocaso raizq verdadeiro

ate declare falso funo logn para rand xou


Exemplos de Identificadores
Abaixo segue uma tabela com exemplos de identificadores vlidos e
invlidos para nomear-se uma varivel.

numeral vlido 1numero invlido

numero1 vlido 1numero invlido

primeiro_nmero vlido primeiro nmero invlido

numero_2 vlido algoritmo invalido

soma vlido varivel invlido


Exerccio
1. Marque com (V) os identificadores vlidos ou (I) os identificadores
invlidos:

( ) Ano ( ) salrio ( ) 2/1

( ) #media ( ) nota1 ( ) numero_rg

( ) R$ ( ) verdadeiro ( ) telefone_numero1
Tipos de Dados
Toda varivel precisa ter um tipo definido para ela, o qual restringe os
valores que a varivel pode assumir. Se eu digo que a varivel NUMERO
do tipo inteiro, ela no pode assumir, por exemplo, o valor 1,55, pois
esse nmero no inteiro.
O tipo da varivel definido, em Portugol,
no momento de sua declarao.
Tipos de Dados
Para representar tipos de dados simples no VisuAlg e no Portugol Studio ns
temos:
Tipos de Dados Simples

Tipo Definio Valor Inicial*

caractere (ou cadeia no Portugol Usado para representar textos. (caracteres vazios)
Studio)

inteiro Usado para representar nmeros inteiros. 0 (zero)


Tipos
Numricos
real Usado para representar nmeros reais.

logico Usado para representar verdadeiro ou falso. FALSO

* Veremos o que so valores iniciais futuramente.


Cadeia de Caracteres
Como o prprio nome diz, o tipo que define que nossa varivel tem
como valor uma cadeia de caracteres, ou seja um texto. Sempre
definimos o seu valor entre (aspas duplas).
Algumas linguagens de programao chamam esse tipo de dado de string
(que em ingls quer dizer justamente cadeia).
Usamos o tipo caractere geralmente em variveis que representam um
texto ou uma palavra:
nome_pessoal
endereco
mensagem_boas_vindas
Tipos Numricos
Os tipos numricos definem que nossa varivel pode receber valores
numricos que podem ser nmeros inteiros (usando o tipo inteiro) ou
nmeros reais (usando o tipo real).
O tipo inteiro usado geralmente em variveis que recebem apenas
nmeros exatos ou seja no separados por vrgula:
ano
idade
numero_de_itens
O tipo real usado geralmente em variveis que
assumem valores com preciso decimal:
altura
peso_medio
valor_em_reais
Tipos Lgicos
Os tipos lgicos definem que nossas variveis devem receber valores como
Verdadeiro ou Falso, que so muito utilizados na programao para trabalhar
com condies*.
Em outras linguagens os tipos lgicos so chamados de booleanos (ou boolean, em
ingls) que podem ser representados por valores: TRUE ou FALSE; 0 ou 1; (texto
vazio) ou !@# (texto com algo dentro). Mas no
portugol trabalhamos apenas com Verdadeiro e Falso.
O tipo lgico geralmente usado cujo o valor representa
uma pergunta de sim ou no ( verdadeiro ou falso):
ensino_fundamental_completo
tem_diabetes
esta_cadastrado

* Veremos o que so condies futuramente em Estruturas Condicionais


Declarando variveis no VisuAlg
Abaixo mostramos a estrutura necessria para declarao de uma varivel no
VisuAlg, ns as declaramos logo abaixo da palavra var e antes do inicio do
algoritmo colocando o seu identificador seguido de : (dois pontos) e o seu tipo de
dado:

Identificador (nome
da varivel) Tipo de dado
dois pontos
Declarando variveis no VisuAlg
Abaixo, seguem alguns exemplos de declaraes de variveis:

possvel declarar vrias variveis do mesmo tipo em uma nica


linha apenas separando-as por , (vrgula).
Exerccio
1. Associe os tipos de dado s variveis que mais faam sentido, segundo a
nomenclatura de seus identificadores.

a) nome ( ) (A) caractere


b) telefone ( )
(B) inteiro
c) idade ( )
d) possui_deficiencia ( ) (C) real
e) saldo_bacario ( )
f) nacionalidade ( ) (D) logico
g) peso ( )
Aprenda mais...
Node Studio Treinamentos: Lgica de Programao - Aula 03 - Tipos de
dados, Variveis, Constantes e Instrues
<https://www.youtube.com/watch?v=-ny7Kqm0V68>
RBtech: Lgica de programao - Aula 04 - Variveis e constantes
<https://www.youtube.com/watch?v=vp4jgXA_BB0>
Computao Depresso: Curso Lgica de Programao - Aula 05 - O que
so variveis? <https://www.youtube.com/watch?v=JEHv8eF3tiI>
Bson Treinamentos: 04 - Lgica de Programao - Variveis e Tipos de
Dados <https://www.youtube.com/watch?v=lN2XgPTLewg>
Valores
Aps declarar uma varivel (identificar e definir o tipo), precisamos atribuir um
valor para ela (um valor que condiga com o seu tipo).
Por exemplo, ao declararmos a varivel meu_nome do tipo caractere, podemos
atribuir Josevaldo da Silva como o valor dela.
Da mesma forma que, quando declaramos a varivel saldo_bancario do tipo real,
podemos atribuir 2.453 como o valor dela.
Como tambm, quando declaramos possui_cartao_fidelidade do tipo logico,
podemos atribuir VERDADEIRO como valor dela.
O smbolo <- (seta) utilizados para
atribuir um valor a uma varivel. Voc
pode l-lo no cdigo com o sentido
de recebe.
ex: meu_nome recebe o valor
Josevaldo da Silva
Valores Iniciais
Quando declaramos uma varivel sem atribuir qualquer valor para ela, ela assume
seu valor padro ou valor inicial.
Para caractere, o valor inicial de uma cadeia de caracteres vazia. O que
seria o mesmo de declarar a varivel e atribuir o valor (aspas sem nenhum
texto dentro).
Para os valores numricos (inteiro e real), o valor inicial 0 (zero). Qualquer
operao com uma varivel numrica sem atribuirmos um valor para ela,
mesmo que realizar essa operao com o nmero zero.
Para o tipo logico, o valor inicial FALSO. Ou seja qualquer varivel lgica
inicia com valor FALSO at mudarmos esse valor para VERDADEIRO.
Atribuindo valores a uma varivel no VisuAlg
Para atribuirmos um valor a uma varivel em um algoritmo, utilizamos operador
de atribuio. O operador de atribuio do VisuAlg representado por uma seta <-
(menor que seguido de hfen) apontando para a esquerda.
Como todas as operaes do programa, exceto as declaraes de variveis,
sempre atribumos valores s variveis entre o inicio e o fimalgoritmo.

No exemplo, pegamos a varivel nome, usamos o operador de atribuio <- e


demos o valor Leonardo, j que ela do tipo caractere.
Mudando o valor de uma varivel no VisuAlg
Os valores das variveis so mutveis (da o nome varivel), ou seja podemos
mudar seus valores a qualquer momento e quantas vezes quisermos, mesmo
depois que o programa esteja em execuo.
Por exemplo, uma varivel que representa o nmero de gols em jogo de futebol: a
cada gol marcado essa varivel teria que mudar seu valor.

No VisuAlg, o cdigo a seguir ilustra isso:

No exemplo, atribumos o valor 1 para a varivel numero_gols e depois mudamos o


seu valor para 2.
Exemplos
Abaixo, seguem alguns exemplos de declarao de variveis e atribuio
dos seus respectivos valores.
Valores devem corresponder aos tipos
importante salientar que s devemos atribuir s variveis valores
que correspondam ao tipo de dado. Assim, o seguinte comando
ocasionaria um erro em tempo de execuo:

No caso, o erro foi tentarmos atribuir um valor de texto em uma varivel


do tipo real.
VisuAlg no Case-Sensitive
Tantos os comandos como as variveis no VisuAlg no so case-sensitive, ou seja,
tanto faz se voc escrever algum comando, palavra-chave, nome de varivel, nome
de rotina em caixa alta ou caixa baixa. O VisuAlg vai compreender o que voc
escreveu.
Logo, o cdigo a seguir compila sem problemas:
Pode comear com Algoritmo "No Case-Sensitive"
Tambm possvel declarar letra maiscula
uma varivel ou rotina com o VAR
variar entre
identificador variado com Ab: InTeiro
maiscula e
letras minsculas e inicio minscula
maisculas e atribuir ou fazer somente aB <- 1
operaes com esse mesmo minscula escreva(AB)
identificador com caixa alta, fimalgoritmo
caixa baixa ou variando. somente
maiscula
Aprenda Mais...
Lgica com VisuAlg 3.0 - Tipos de Dados, disponvel em:
<https://www.youtube.com/watch?v=mENTOK6lB2s>
Atribuio (computao) - Wikipdia, disponvel em:
<https://pt.wikipedia.org/wiki/Atribui%C3%A7%C3%A3o_(computa%C3%A
7%C3%A3o)>
Lgica de Programao Para Iniciantes (Definir, Imprimir e Ler Variveis) -
VisuALG #01
<https://www.youtube.com/watch?v=rbu7-Uy9_Eo>
Constantes
Conceitualmente, na programao, constantes so variveis cujo seu valor fixo
(no pode ser mudado).
Elas assumem um valor no nicio do programa e no possvel mud-lo. Por
exemplo a velocidade da luz que 300.000 Km/s, esse valor no se altera, ento
poderamos colocar em uma constante.

Existem muitas constantes famosas, como o valor de PI, por exemplo.


Algumas linguagens de programao definem regras especficas para declarar uma
constante e assim diferenciar bem elas das variveis comuns.
Entretanto, infelizmente, no caso do VisuAlg, no existe sintaxe para declarar uma
constante.
Constantes no Portugol Studio
Diferente do VisuAlg, o Portugol Studio define um padro para se declarar uma
constante.
Isso feito com a palavra reservada const, seguido de seu tipo e identificador.
Alm disso, as constantes necessitam que coloquemos algum valor inicial no
momento em que a declaramos.
Aprenda mais...
Constantes
<http://www.sj.ifsc.edu.br/~mello/livros/portugol/manual-portugol/tipo_d
ados_constantes.html>
Constante (programao)
<https://pt.wikipedia.org/wiki/Constante_(programa%C3%A7%C3%A3o)>
Entrada e Sada (E/S) de Dados
Entrada e Sada de Dados
Geralmente, os programas recebem dados a partir de uma fonte (como o usurio
do programa) para fazer algum processamento e gerar uma sada.

E/S de dados consiste em comandos que o permitem a interao com o usurio,


atravs de dispositivos de dispositivos de
entrada (como o teclado do computador) e sada
(como o monitor de um computador).
Um exemplo um programa para calcular o IMC
(ndice de massa corporal), onde o usurio
informaria como entradas o peso e altura, e o
programa gerar uma sada e exibir o seu ndice de
massa corporal.
Comandos de Sada
No VisuAlg, existem dois comando para sada padro, os quais j vimos
antes. So eles: o escreva e o escreval, como j sabemos tanto o escreva
como o escreval imprimem na tela do computador uma mensagem, alm
disso, esses comandos podem imprimir tambm valores de variveis e
resultados de expresses.
S lembrando que diferente do escreva, o escreval imprime e depois
pula uma linha, ou seja, se tentarmos escrever na tela algo depois de j
ter escrito com um escreval, esta nova mensagem ser impressa em uma
nova linha, abaixo da anterior.
Imprimindo valores de variveis
Agora, vamos usar o comando de sada escreva para imprimir os valores de nossas
variveis e para isso simples, s colocar a varivel dentro dos parnteses:

Isso vai imprimir o valor 12367.13 na tela, ou seja o valor que guardamos na
varivel saldo.
Tambm possvel usar uma , (vgula) para separar textos das variveis e de
expresses dentro do comando.
Cdigo Completo

VisuAlg Portugol Studio


algoritmo "Saldo da Conta Bancria" programa
{
var funcao inicio()
saldo: real {
inicio // atrbui o valor a varivel saldo
// atrbui o valor a varivel saldo real saldo
saldo <- 12367.13 // imprime uma mensagem com o valor da varivel
// imprime uma mensagem com o valor da varivel saldo = 12367.13
escreva("Seu saldo atual : ", saldo) escreva("Seu saldo atual : ", saldo)
fimalgoritmo }
}
Exerccio
1. Crie uma varivel do tipo caractere chamada nome e atribua seu nome
para ela.
2. Crie algumas variveis referentes s caractersticas de um carro. Ex.
marca, cor, tem_quatro_portas, etc. Atribua valores que condizem com os
identificadores dessas variveis.
3. Crie um cdigo onde que tem a varivel boas_vindas atribua o texto Ol
Mundo a essa varivel e depois imprima essa mensagem na tela com o
comando escreva.
Comandos de Entrada
No VisuAlg, existe um nico comando da entrada padro que o leia,
que serve para pedir valores digitados pelo usurio e atribu-los a
variveis.
O comando tem a seguinte sintaxe leia(variavel_que_recebera_o_valor);
Ao chamar o comando leia, o programa vai esperar um valor ser digitado
pelo usurio
Quando em execuo, o programa no executar os prximos comandos at que o
usurio digite algum valor e tecle Enter.
O valor digitado tem que ser correspondente ao tipo da varivel.
Lendo valores e atribuindo-os s variveis
Podemos, tambm, colocar uma mensagem antes do leia para informar
para o usurio o que o programa est pedindo.

Tambm possvel usar o leia para receber vrios valores de uma vez
atribuindo-os s variveis separando-as por , (vrgula) no comando.
Exemplos
1. Lendo caracteres:

2. Lendo tipo lgico:


Exerccio
1. Crie um programa em que pea ao usurio o seu nome usando o
comando leia, depois imprima uma mensagem de boas vindas, tipo: Bem
vindo <Nome do Usurio>.
2. Crie um programa que pea ao usurio seu nome, sua idade e o nome da
cidade onde ele mora, depois imprima a mensagem: Ol meu nome
<Nome do Usurio> tenho <idade> e moro em <cidade>.
Aprenda mais...
Aula 8 - Comandos de Entrada e Sada
<https://pt.slideshare.net/LuizAugustoMacdoMorais/aula-8-comandos-de-
entrada-e-sada-9596065>
Weslei Felix - Aula 04 Entrada e Sada de Dados VisuAlg
<https://www.youtube.com/watch?v=lkFhxuAdxC8>
Bson Treinamentos - 07 - Lgica de Programao - Comandos de
Entrada e Sada de Dados <https://youtu.be/lrSEggh6GQA>
Expresses Aritmticas
Linearizao de Expresses
Para a construo de algoritmos que realizam clculos matemticos, todas as
expresses aritmticas devem ser linearizadas, ou seja, colocadas em linhas,
devendo tambm ser feito o mapeamento dos operadores da aritmtica
tradicional para os do Portugus Estruturado.

Tradicional Computacional

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


Linearizao de Expresses Aritmticas
As tabelas seguintes mostram os operadores aritmticos disponveis no
Portugus Estruturado.
OPERADORES PORTUGUS ESTRUTURADO
ARITMTICOS

Adio +

Subtrao -

Multiplicao *

Diviso /

Diviso Inteira \

Exponenciao ^ ou Exp (<base>,<expoente>)

Mdulo (resto da diviso) %


Ordem de Precedncia
Na programao, operaes com nmeros seguem a mesma ordem de
precedncia das expresses numricas da aritmtica, respeitando a seguinte
ordem:

1 operaes dentro dos parnteses indo das mais internas para as mais externas;
2 operaes de potencia e raiz;
3 depois multiplicao e diviso;
4 adio e subtrao;

Importante ressaltar que: na programao, os nveis de


importncia das operaes so representando apenas
por () (parnteses), ou seja no usamos [] (colchetes) ou
{} (chaves).
Ponto Flutuante
Como vimos antes, os nmeros reais na linguagem de computao so usados
para representar medidas, preos e afins, pois so nmeros que possuem uma
parte inteira e uma parte fracionria, ou tambm podemos chamar de nmeros de
ponto flutuante.
Diferente do que estamos acostumados, em diversas linguagens de computao,
assim como no VisualG e Portugol Studio, separamos a parte inteira da parte
fracionria de um nmero do tipo real com o ponto ao invs de vrgula. Ou seja,
usamos a notao de pases de cultura inglesa para representar esses nmeros.
COMO ESTAMOS HABITUADOS COMO DEVEMOS USAR NA COMPUTAO

2,50 2.50
Operaes com Variveis
Como j sabemos, as variveis podem guardar valores de diversos tipos, ou seja,
possvel tambm fazer operaes usando variveis, como tambm possvel
guardar os valores dessas operaes em outras variveis.

No exemplo, foram criadas trs variveis do tipo inteiro, duas para representar os
nmeros que faro parte da operao e uma para receber o resultado que ser
tambm do tipo inteiro.
Operaes com Variveis
Quando tentamos atribuir o resultado de uma operao a uma varivel, devemos ter cuidado
com o possvel valor resultante dessa operao. Em casos que sabemos que o valor resultante
um nmero decimal devemos atribuir o resultado dessas operaes em uma varivel do tipo
real.

No VisuAlg, as operaes de diviso, potenciao e raiz


resultam em um valor decimal portanto sempre
devemos atribuir o valor resultante dessas operaes
em uma varivel do tipo real.

No caso, em uma diviso (3 dividido por 2) cujo o


valor do resultado 1,5, s podemos guardar
esse valor em uma varivel do tipo real.
Cdigo Completo
VisuAlg Portugol Studio
algoritmo "Operaes com Variveis" programa
{
var funcao inicio()
numero1: inteiro {
numero2: inteiro inteiro numero1
ressultado_soma: inteiro inteiro numero2
inicio inteiro resultado_soma
// atrinu os valores as variveis
numero1 <- 2 // atrinu os valores as variveis
numero2 <- 3 numero1 = 2
// soma os valores e atribui a soma a varivel numero2 = 3
resultado_soma <- numero1 + numero2 // soma os valores e atribui a soma a varivel
// imprime uma mensagem com o valor da varivel resultado_soma = numero1 + numero2
escreva(resultado_soma) // imprime uma mensagem com o valor da varivel
fimalgoritmo escreva(resultado_soma)
}
}
Exemplos
Expresso com vrios operadores e subnveis:

Diviso por zero, resulta em erro:


Exemplos
Para potenciao, pode-se usar o comando Exp(<base>, <expoente>):

Para raiz quadrada, pode-se usar o comando Raizq(<expresso>):


Exerccio
1. Reescreva a seguinte expresso {2 x 5 - [7 - (3 - 1)] 2} de forma linear.
2. Reescreva a seguinte expresso {2 + [(
16 + 2)]} x 3 de forma linear.
3. Escreva um programa para a calcular a potenciao de um nmero e
guarde-o em uma varivel, em seguida imprima a raiz quadrada dessa
varivel.
4. Sabendo que a formula de delta b -4ac, crie um programa que tenha 3
variveis do tipo inteiro: a = 1, b = - 3 e c = -10. O programa deve calcular
o valor de delta e imprimir na tela.
5. Escreva um programa que pea ao usurio para informar o peso e a
altura com o comando leia, depois calcule e imprima na tela o IMC dessa
pessoa sabendo que a frmula do IMC (peso/altura).
Aprenda Mais...
06 - Lgica de Programao - Operadores e Expresses Aritmticas
<https://www.youtube.com/watch?v=eH9Prly92BU>
Aula 2 - Programao em Portugol - Uso de Variveis e Operaes
Matemticas
<https://www.youtube.com/watch?v=ooP_lhkaZwc>
Comando de Entrada e Operadores - Curso de Algoritmos #03 - Gustavo
Guanabara
<https://www.youtube.com/watch?v=RDrfZ-7WE8c>