7/25/2019 Logica Programacao Web 1 Sem2
1/14e-Tec Brasil
Aula 2 Conceitos bsicos para aconstruo de algoritmospara computadores
Objetivos
Entender a necessidade de se utilizar uma linguagem formal para
construir algoritmos a serem interpretados por computadores.
Compreender os conceitos de variveis, constantes e tipos de dados.
Conhecer os conceitos de comandos de atribuio, entrada e sada
de dados.
Conhecer os operadores aritmticos e a ordem de precedncia.
Construir nossos primeiros algoritmos em Portugol.
2.1 Formalizando a escrita de algoritmosPara que os computadores sejam capazes de interpretar os algoritmos que
desenvolvemos, precisamos transformar a sequncia de passos que escreve-
mos em linguagem natural para uma linguagem que possa ser entendidapelo computador. Essas linguagens so chamadas de linguagens de pro-
gramao. Existem diversas linguagens de programao em uso atualmen-
te. Em nosso curso, a partir da aula 5, utilizaremos a linguagem C.
Nesta aula, a fim de facilitar o aprendizado dos principais conceitos de pro-
gramao, utilizaremos o Portugol. O Portugol uma linguagem que une o
formalismo das linguagens de programao facilidade de compreenso da
linguagem natural.
Para entender a construo de algoritmos nessas linguagens, vamos iniciar
estudando alguns conceitos bsicos como variveis e constantes.
2.2 VariveisO primeiro passo para que um programa seja executado em um computador
o carregamento desse programa para a memria. A memria utilizada
MemriaMeio fsico para armazenardados temporariamente ou per-manentemente (TANENBAUM,1997, p.212).
e-Tec BrasilAula 2 Conceitos bsicos para a construo de algoritmos para computadores 23
7/25/2019 Logica Programacao Web 1 Sem2
2/14
para armazenar tanto as instrues dos programas quanto os dados utiliza-
dos pelos mesmos. Qualquer programa, para ser executado, tem de estar na
memria (FARRER, 1999).
Ao desenvolvermos nossos algoritmos, frequentemente precisamos armaze-
nar dados referentes ao problema, como um nome, um nmero ou mesmoo resultado de uma operao. Mas, para armazenar esses dados, precisamos
solicitar ao computador que ele reserve uma rea da memria para nosso
uso. A forma de solicitar ao computador que reserve memria chamada de
declarao de variveis.
A seguir exibe-se como declarar variveis em Portugol:
Sintaxe:
var
nome_da_variavel : tipo_da_variavel
var
A palavra var utilizada para indicar o incio do bloco de declarao de vari-
veis de um algoritmo. Essa palavra escrita apenas uma vez, independente
do nmero de variveis a serem declaradas. Mas, no se preocupe com isso
agora. Nesse momento o importante entender os conceitos de varivel ede tipo de varivel.
nome_da_variavel
Quando solicitamos que o computador reserve espao de memria, temos
de informar como vamos nos referir a essa rea de memria reservada, ou
seja, qual nomedaremos a esse espao de memria. Assim, toda varivel
tem um nome atravs do qual referenciada. A seguir (item 2.2.1) apresen-
taremos um conjunto de regras que devem ser seguidas para dar nomes s
variveis. Caso queiramos declarar mais de uma varivel de um mesmo tipo,basta escrever os nomes desejados para as variveis separados por vrgula.
tipo_da_variavel
Precisamos informar o tipo de dadosque armazenaremos na varivel para
que o computador saiba o tamanho do espao de memria que reservar.
A seguir (item 2.2.2) sero apresentados os tipos que podem ser utilizados.
Lgica de Programaoe-Tec Brasil 24
7/25/2019 Logica Programacao Web 1 Sem2
3/14
2.2.1 Por que declarar variveis e como nome-las?Sempre que criamos uma varivel, ns o fazemos com o objetivo de arma-
zenar algum tipo de valor especfico. Por exemplo, se estivermos desenvol-
vendo um algoritmo que calcule o imposto de renda a ser pago por um
assalariado, precisamos de variveis para armazenar o valor do salrio e para
os resultados dos clculos. Assim, o nome dado varivel deve deixar claroo objetivo da mesma; devemos utilizar nomes sugestivos. Apesar de esta ser
a principal diretriz quanto atribuio de nomes a variveis, algumas outras
regras so apresentadas no Quadro 2.1.
Quadro 2.1: Regras para nomear variveis
REGRA EXEMPLO
Inicie sempre por um caractere alfabtico, nunca por um
nmero.Nome (correto) - 1nome (errado)
No util ize caracteres especiais como , ( ) / * ; + . Nome(M); N*BNo coloque espaos em branco ou hfen entre nomes. salario-bruto
Utilize, se necessrio,underline. salario_bruto
Crie suas variveis com nomes sugestivos.Se vai guardar salrio de funcionrios, d varivel o
nome salario.
2.2.2 O que so tipos de variveis?Quando declaramos uma varivel, devemos ter em mente quais valores se-
ro armazenados naquele espao de memria. essa observao que de-
finir o tipo da varivel a ser declarado. Uma varivel pode ser de um dosseguintes tipos:
Tipo inteiro:Declararemos variveis do tipo numrico inteiroquando pre-
cisarmos armazenar valores inteiros, positivos ou negativos (0, 1, 5, 7, -10,
-5...). Por exemplo, se precisarmos de uma varivel para armazenar o nme-
ro de filhos de um funcionrio, o tipo ideal para essa varivel seria inteiro.
Tipo real: Declararemos variveis do tipo numrico real para armazenar
valores reais; em outras palavras, valores com ponto decimal (5.7, 3.2, -8.5).Esse seria o tipo ideal para armazenar, por exemplo, o salrio de funcionrios.
Tipo caractere: Declararemos variveis do tipo literal caracterepara
armazenar um nico caractere, que pode ser uma letra ou um smbolo.
Por exemplo, para identificar o sexo do indivduo, armazenaremos apenas
o caractere F ou M.
e-Tec BrasilAula 2 Conceitos bsicos para a construo de algoritmos para computadores 25
7/25/2019 Logica Programacao Web 1 Sem2
4/14
Tipo cadeia: Declararemos variveis do tipo literal cadeia para
armazenar uma sequncia de caracteres, ou seja, uma palavra, uma
mensagem, um nome. Assim, se precisarmos de uma varivel para
armazenar o nome de uma pessoa, esse seria o tipo ideal.
Tipo lgico:Declararemos variveis do tipo lgico para armazenar valoreslgicos. O valor de variveis desse tipo ser sempre VERDADEIRO ou FALSO.
Lembrando a sintaxe:
Assim, suponha que precisemos declarar uma varivel para armazenar a ida-de de uma pessoa, uma para o peso e uma terceira para o nome. Para o
peso e a idade utilizaremos variveis do tipo inteiro e para o nome o tipo ser
cadeia. Logo, essas declaraes ficariam assim:
Atividade 2.1. Aprendemos algumas regras que devem ser seguidas para
dar nomes a variveis. Assinale os nomes de variveis que obedecem a essas
regras:
a) ( ) nome
b) ( ) telefone-celular
c) ( ) nome+sobrenome
d) ( ) 2taxa
e) ( ) telefone_celular
f) ( ) conta1
Varivel uma posio nomeada dememria, que usada paraguardar um valor que pode
ser modificado pelo programa
(LAUREANO, 2005, p. 12
Lgica de Programaoe-Tec Brasil 26
7/25/2019 Logica Programacao Web 1 Sem2
5/14
Atividade 2.2. Para cada valor dado abaixo foi definido um tipo de varivel.
Marque os pares valor e tipo definidos corretamente:
a) ( ) valor = 2.5 tipo= real
b) ( )valor = F tipo= inteiro
c) ( ) valor = -2 tipo= inteiro
d) ( ) valor = M tipo= caractere
e) ( ) valor = 5 tipo= cadeia
f) ( ) valor = -10.35 tipo= real
g) ( ) valor = 38 tipo= real
h) ( )valor = Jose tipo= cadeia
i) ( ) valor = 135 tipo= inteiro
j) ( )valor = 7.5 tipo= inteiro
2.3. Voc est fazendo um algoritmo para calcular a mdia dos alunos a par-tir das notas de duas provas. Assim, precisar de trs variveis: uma para
a nota da primeira prova, uma para a nota da segunda prova e uma para
a mdia. Segundo as normas da instituio, as notas das provas devem
ser nmeros inteiros de 0 a 10. J para a mdia podem ser atribudos
valores com casas decimais. Utilizando a sintaxe de declarao de vari-
veis em Portugol e as regras para definio de tipos e de nomes, indique
como voc declararia essas 3 variveis. Dica: lembre-se de escolher
nomes sugestivos para as variveis.
2.3 ConstantesComo aprendemos, o valor de uma varivel pode ser alterado ao longo de
seu algoritmo. Mas, s vezes, precisamos armazenar valores que no se
alteram. Para isso existem as constantes.
As constantes so criadas obedecendo s mesmas regras de
nomenclatura j vistas em variveis. Diferem apenas no fato de
e-Tec BrasilAula 2 Conceitos bsicos para a construo de algoritmos para computadores 27
7/25/2019 Logica Programacao Web 1 Sem2
6/14
armazenar um valor constante, ou seja, que no se modifica durante a
execuo de um programa.
A sintaxe para a declarao de constantes em Portugol dada abaixo:
Sintaxe:
const
nome_da_constantevalor
const
A palavra const utilizada para indicar o incio do bloco de declarao de
constantes de um algoritmo. A exemplo da palavra var, const tambm
escrita apenas uma vez, independente do nmero de constantes a seremdeclaradas.
nome_da_constante
o nome pelo qual vamos nos referir constante. Deve obedecer s mesmas
regras que os nomes de variveis. Apenas para ficar fcil a diferenciao
entre variveis e constantes em seus programas, aconselha-se que todas as
letras dos nomes das constantes sejam maisculas.
Como exemplo, considere um algoritmo que calcule o valor da contribuiode FGTS: 8% sobre o salrio, independentemente do valor do salrio. Assim,
a taxa de 8% ser constante durante a execuo do programa. Logo, pode-
ria declarar minha constanteda seguinte forma:
2.4 Comandos de atribuio, entrada e sa-
da de dados
2.4.1 Comando de atribuioNa construo de algoritmos, depois que declaramos nossas variveis
e constantes, geralmente precisamos indicar que elas armazenaro um
determinado valor durante a execuo do programa. Para isso, utilizamos o
comando de atribuio que, em Portugol, representado por uma seta (),
conforme sintaxe abaixo:
Constante uma varivel com valor
pr-definido que no pode sermodificado por nenhuma funo
de um programa (LAUREANO,2005, p.16)
Lgica de Programaoe-Tec Brasil 28
7/25/2019 Logica Programacao Web 1 Sem2
7/14
Sintaxe:
identificadorexpresso
identificador
Nome da varivel ou constante a ser utilizada.
expresso
Valor ou expresso a ser armazenado (veremos ainda neste captulo que
podemos ter expresses aritmticas e expresses lgicas).
Exemplos:
Os sinais /* e */ indicam o incio e o fim de um comentrio, que pode ocupar
mais de uma linha. Os sinais // indicam um comentrio que vai at o fim da linha.
Em programao utilizamos comentrios para explicar a lgica utilizada em
nossos algoritmos.
2.4.2 Comando de entrada de dadosFrequentemente, na construo de algoritmos, precisamos solicitar que
usurios informem, por meio do teclado, alguns valores a serem utilizados
durante a execuo. Por exemplo: se fizermos um algoritmo para calcular a
mdia das notas de um aluno, precisaremos solicitar quais foram as notas,
para depois calcularmos a mdia. Esses valores informados devem ser
armazenados em variveis para que sejam utilizados quando necessrio.
O comando de entrada de dados ser responsvel pela leitura e
armazenamento desses dados na varivel que indicarmos. A sintaxe docomando de entrada de dados em Portugol exibida abaixo:
Sintaxe: leia(variavel)
leia( )
Funo responsvel por ler o que o usurio digitou e armazenar o valor na
varivel indicada.
e-Tec BrasilAula 2 Conceitos bsicos para a construo de algoritmos para computadores 29
7/25/2019 Logica Programacao Web 1 Sem2
8/14
variavel
Nome da varivel utilizada para armazenar o valor digitado.
Exemplo:
2.4.3 Comando de sada de dadosPor meio da utilizao do comando de sada de dados, conseguimos exibir
mensagens ou valores para o usurio de nossos programas. atravs desse
comando que nosso algoritmo consegue se comunicar com o usurio para
solicitar a entrada de dados ou para fornecer sadas de dados.
O comando de sada de dados exibe no monitor valores de constantes,variveis ou expresses. A sintaxe do comando de sada de dados em
Portugol exibida abaixo:
Sintaxe: escreva(expressao)
escreva( )
Funo responsvel por escrever no monitor uma mensagem para o usurio.
expressaoIndica o que ser escrito no monitor. normalmente composta por um texto
fixo seguido por uma vrgula e um nome de varivel.
Para exemplificar a utilizao dos comandos de entrada e de sada de dados,
vamos criar nosso primeiro algoritmo completo em Portugol. Mas, antes dis-
so, vamos ver a estrutura geral de um algoritmo em Portugol:
Estrutura Geral de um algoritmo em Portugol:
algoritmo nome_do_algoritmo
const
/*Aqui devem ser declaradas todas as constantes do nosso algoritmo se-
guindo as regras de sintaxe j estudadas. Caso nosso algoritmo no ne-
cessite de constantes, esta seo no deve existir.*/
Lgica de Programaoe-Tec Brasil 30
7/25/2019 Logica Programacao Web 1 Sem2
9/14
var
/*Aqui devem ser declaradas todas as variveis do nosso algoritmo se-
guindo as regras de sintaxe j estudadas. Caso nosso algoritmo no ne-
cessite de variveis, esta seo no deve existir.*/
inicio
/*Aqui ficar o corpo do algoritmo, ou seja, o conjunto de comandos que
formar o algoritmo em si.*/
fim
A seguir, nosso primeiro exemplo de algoritmo completo em Portugol. Neste
exemplo solicitamos que o usurio digite seu nome e depois imprimimos na
tela uma saudao ao mesmo. Note que, como no utilizamos constantes
neste algoritmo, ele no faz uso do bloco const.
Exemplo:
Assim, caso o usurio tenha digitado o nome Maria, ser exibida no monitor
a seguinte mensagem: Bom dia Maria.
Atividade 2.4. Assinale os comandos de atribuio realizados corretamente:
a) ( ) var cadeia SEXOF
b) ( ) var inteiro ALTURA1.80
c) ( ) var real SALRIO 3000.00
e-Tec BrasilAula 2 Conceitos bsicos para a construo de algoritmos para computadores 31
7/25/2019 Logica Programacao Web 1 Sem2
10/14
d) ( ) var cadeiaNOME
Atividade 2.5. No programa abaixo, dois valores inteiros so lidos e soma-
dos e o resultado dessa soma mostrado no final da execuo. Analise as
linhas do programa e assinale as afirmaes corretas:
a) ( ) linha 6O primeiro valor digitado no teclado est sendo lido e arma-
zenado em num1,
b) ( ) linha 7 O segundo valor digitado no teclado est sendo lido e ar-
mazenado em num2,
c) ( ) linha 9 O resultado da soma dos valores digitados est sendo atri-
budo varivel soma,
d) ( ) linha 10 No monitor sero exibidas a mensagem que est entre
aspas e a soma dos nmeros digitados.
Atividade 2.6. Faa um algoritmo que solicite que o usurio digite seu
nome e a seguir solicite que seja digitada sua idade. Depois que o usurio
digitar o nome e a idade, o programa deve exibir na tela duas mensagens:uma com o nome e outra com a idade do usurio. Suponha que o usurio
seja o Pedro e tenha 32 anos. Assim, aps a digitao dos dados, seu pro-
grama deve exibir as seguintes mensagens: Seu nome Pedro eVoc
tem 32 anos.
Lgica de Programaoe-Tec Brasil 32
7/25/2019 Logica Programacao Web 1 Sem2
11/14
2.5 Operadores aritmticos e expressesaritmticasOs operadores aritmticos so smbolos que representam operaes aritm-
ticas, ou seja, as operaes matemticas bsicas. O Quadro 2.2 apresenta os
operadores aritmticos que utilizaremos neste curso.
Quadro 2.2: Operadores aritmticos
Operador Operao matemtica
+ Adio
- Subtrao
* Multiplicao
/ Diviso
% Resto da Diviso Inteira
Os operadores aritmticos so utilizados para formar expresses aritmticas.
As expresses aritmticas so formadas por operadores aritmticos queagem sobre operandos. Os operandos podem ser variveis ou constantes
do tipo numrico, ou seja, inteiros ou reais. Abaixo temos dois exemplos de
expresses aritmticas:
nota/2
x*2+y/2
Para resolver expresses aritmticas formadas por mais de um operador,deve-se utilizar uma ordem de precedncia entre os mesmos. O Quadro 2.3
exibe essa ordem de precedncia.
Quadro 2.3: Ordem de precedncia entre operadores aritmticos
Prioridade Operador Operao
1 * / %multiplicao, diviso, resto da
diviso
2 + - adio, subtrao
Alm da ordem de prioridades definida acima, podemos utilizar parnteses.
Assim, resolvemos primeiro as expresses contidas nos parnteses mais
internos, seguindo a ordem de precedncia entre operadores, passando
depois para os parnteses mais externos. Por exemplo, na expresso:
nota1 + (nota2 + nota3) / 2
Primeiro somamos nota2 a nota3. O resultado divido por 2 e s depois
e-Tec BrasilAula 2 Conceitos bsicos para a construo de algoritmos para computadores 33
7/25/2019 Logica Programacao Web 1 Sem2
12/14
somamos com nota 1.
Um fato interessante que o resultado da execuo de expresses
aritmticas sempre um valor numrico (inteiro ou real) que pode ento
ser atribudo a uma varivel numrica por meio do uso do comando de
atribuio estudado anteriormente.
Resumindo:
expresses aritmticas: uma conta a ser feita;
operadores aritmticos: os sinais + - * / %;
operandos aritmticos: constantes ou variveis (inteiras ou reais), ou ou-
tra expresso aritmtica;
precedncia na ordem dos clculos: a mesma da matemtica, podendo
haver vrios nveis de parnteses; no h colchetes [ ] ou chaves { }.
Como exemplo, vamos criar um algoritmo para ler e multiplicar dois nmeros
inteiros e exibir o resultado.
importante observar cada linha desta sequncia:
Vamos entender todas as linhas do nosso algoritmo:
linha 1 ... Nome do programa.
Lgica de Programaoe-Tec Brasil 34
7/25/2019 Logica Programacao Web 1 Sem2
13/14
linha 2 ... Indica o incio do bloco de declarao de variveis.
linha 3 ... Declarao das trs variveis do tipo inteiro necessrias ao programa.
linha 4 ... Indica o incio do bloco de instrues do algoritmo.
linha 5 ... O comando escrevaexibir na tela do computador uma mensa-
gem que solicita a digitao do primeiro nmero.
linha 6 ... O primeiro nmero digitado ser lido e armazenado na varivel num1.
linha 7 ... O comando escrevaexibir na tela do computador uma mensagem
que solicita a digitao do segundo nmero.
linha 8 ... O segundo nmero digitado ser lido e armazenado na varivel num2.
linha 9 ... A varivel mult receber o resultado da multiplicao do primeiro
nmero pelo segundo nmero.
linha 10 ... O comando escreva exibir na tela do computador uma
mensagem com o resultado da multiplicao.
linha 11 ... Indica o fim do algoritmo.
ResumoNesta aula voc viu alguns conceitos bsicos de programao, variveis,
constantes e tipos de dados e conheceu uma linguagem formal para escre-
ver algoritmos: o Portugol.
Voc implementou seus primeiros algoritmos em Portugol, utilizando co-
mandos de atribuio, entrada e sada de dados e operadores aritmticos.
Atividades de aprendizagemGuarde esses algoritmos, voc os utilizar mais tarde. Alis, isto um trabalho
de engenharia: voc sempre deve aproveitar o que desenvolveu antes e no
ficar reinventando a roda.
1. Resolva as seguintes expresses aritmticas considerando A=2, B=5 e C=10:
a) A+B*C/A
e-Tec BrasilAula 2 Conceitos bsicos para a construo de algoritmos para computadores 35
7/25/2019 Logica Programacao Web 1 Sem2
14/14
b) B+C%A*(B-A/2)
c) (B+C)%2+A*(B+(C*4))
2. O algoritmo abaixo dever ler duas notas, calcular a mdia e mostrar o resultado.
Para que o algoritmo seja executado corretamente, complete-o com os comandos
que faltam:
3. Faa o mesmo no algoritmo abaixo, cuja finalidade calcular 8% de au-
mento sobre um salrio:
4. Faa um algoritmo que leia um nmero inteiro e imprima seu antecessore seu sucessor.
5. Faa um algoritmo que leia dois nmeros reais e imprima a soma e a
mdia aritmtica desses nmeros.
6. Faa um algoritmo que receba como entrada as medidas dos dois catetos
de um tringulo retngulo e calcule e exiba a medida da hipotenusa e a
rea do tringulo.