Escolar Documentos
Profissional Documentos
Cultura Documentos
ETAPA 2
CONCEITOS FUNDAMENTAIS PARA
CONSTRUÇÃO DE ALGORITMOS
CENTRO UNIVERSITÁRIO
LEONARDO DA VINCI
Rodovia BR 470, Km 71, nº 1.040, Bairro Benedito
89130-000 - INDAIAL/SC
www.uniasselvi.com.br
Organização
Greisse Moser Badalotti
Autor
Marcio Poffo
Reitor da UNIASSELVI
Prof. Hermínio Kloch
Diagramação e Capa
Renan Willian Pacheco
Revisão
Harry Wiese
Caro acadêmico! Parabéns por ter chegado a esta etapa. Agora você vai aprender
conceitos mais próximos de linguagens de programação, não as vinculando somente
a uma, mas de maneira geral a todas. Neste sentido, serão introduzidos os principais
tipos de dados, variáveis, constantes, comandos de atribuição, operadores; enfim, vários
conceitos que são muito importantes para você conseguir programar em uma linguagem
de programação real.
Para isso, não esqueça, faça todos os exercícios propostos, analise e refaça os
exemplos demonstrados que você vai conseguir entendê-los. Este é o caminho para o
bom aprendizado de programação. Portanto, bons estudos!
2 ALGORITMO
1. T IPOS DE DADOS
Agora vamos partir para os tipos de dados aceitos em algoritmos, como números
inteiros (Z), os quais possuem as mesmas características, então são classificados como
tipo “INTEIRO”. Por exemplo, a sequência {1, 2, 3, 4, -1, -2, -3, -4} possuem o mesmo
tipo: “inteiro”. O tipo de dados INTEIRO aceita tanto números inteiros positivos quanto
negativos. Os números inteiros são utilizados para definir valores que não tenham
decimais, como ano, mês, idade, quantidades etc. Analisemos o pseudocódigo de um
algoritmo desenvolvido na tabela a seguir.
Para o caso do algoritmo acima, a variável “soma” é do tipo inteiro, assim como
as outras duas variáveis, então ela receberá um valor inteiro. Este cálculo é perfeitamente
funcional.
Tabela 1.4 – Algoritmo que realiza cálculo com tipo de dados real
Algoritmo leSalario
Declara
valorEnergia,
valorAgua,
valorGasolina,
soma: Real
Inicio
Escreva(“Escreva o custo da energia elétrica”)
Leia(valorEnergia)
Escreva(“Escreva o custo da água”)
Leia(valorAgua)
Escreva(“Escreva o custo da gasolina”)
Leia(valorGasolina)
soma ← (valorEnergia + valorAgua + valorGasolina)
Escreva(“O total de gastos é”, soma)
Fim
Fonte: O autor
Note que todas as variáveis, do algoritmo da Tabela 1.4, foram declaradas com o
tipo de dados real. Isso porque se sabe que todos os valores aceitos podem ser decimais.
Desta forma evitam-se erros de execução em um programa. O mesmo para a variável
“soma”, que recebe o cálculo das outras três variáveis.
Vamos conhecer agora outro tipo de dado muito utilizado: LITERAL ou também
chamado de CARACTERE. Este tipo de dado suporta qualquer caractere alfanumérico,
isto é, textos, números, símbolos, espaços, enfim qualquer forma de texto que se deseja
armazenar. Vejamos um exemplo escrito em pseudocódigo, na Tabela 1.5, para um
algoritmo que utilize o tipo de dados caractere.
Note que no algoritmo escrito na Tabela 1.5, a variável “nome” foi declarada com
o tipo de dado caractere. Isso possibilita a variável receber qualquer valor, desde uma
letra do alfabeto, um número ou até mesmo um símbolo.
Até aqui aprendemos os tipos de dados inteiro, real e caractere. Mas temos
um outro tipo de dado muito importante para lhe apresentar: o lógico ou booleano.
Estes valores são provenientes da lógica matemática, ou também lógica de Boole (foi o
matemático considerado um dos fundadores da matemática) (MEDINA; FERTIG, 2006).
Este tipo de dado possui apenas dois valores 0 ou 1, ou, ainda, Verdadeiro (True), ou
Falso (False). Neste sentido, um valor lógico pode ser adquirido do resultado de uma
afirmação ou proposição lógica.
Os tipos de dados não primitivos são os tipos de dados construídos a partir dos
tipos de dados primitivos (JUNIOR et al., 2014).
O vetor ou array é um tipo de variável que pode ser descrito como uma lista de
valores do mesmo tipo de dados. Um array pode ser definido também por uma lista.
Para acessar algum valor de um array, utiliza-se a sua posição na lista, chamado de
índice. Veja um exemplo na Tabela 1.7.
Note que a Tabela 1.7 possui uma lista de compras. Cada produto está em uma
posição da lista. Por exemplo: a carne está na posição 3 da lista. Então para acessá-la,
precisamos ir na posição 3, obviamente. Agora vejamos o pseudocódigo do próximo
algoritmo, Tabela 1.8, que exemplifica a utilização de uma variável do tipo array ou vetor.
Note que a declaração de nosso vetor é de até 4 posições, o que significa que
nossa lista limita a armazenar até 4 valores. Note também que para inserirmos valores
no vetor do nosso algoritmo “escreveLista”, na Tabela 1.8, iniciamos do índice 0 (zero).
Isso porque nas linguagens de programação, a primeira posição de um vetor é sempre
o zero. Observe a última linha de nosso vetor, que imprime na tela o valor “Carne”,
pois está pegando a posição 2 do vetor, isto é, N -1.
Para concluir esta seção, vamos falar um pouco de matriz. Uma matriz também
é uma lista de valores, porém esta pode ser chamada de n-dimensional, pois possui
duas ou mais “colunas” para armazenar valores. Neste caso, utilizamos o número n de
índices para acessar algum dado armazenado. Vamos exemplificar que fica mais fácil
de entender. Observe a Tabela 1.9.
Fonte: O autor
2. VARIÁVEIS E CONSTANTES
2.1. VARIÁVEIS
Uma variável pode ser entendida como um endereço de memória para armazenar
algum dado ou informação temporariamente (contêiner de armazenamento) (TEIXEIRA,
2011). No decorrer da execução do programa, o conteúdo da variável pode ser alterado.
Devido a isso chama-se variável. Como já foi mencionado na Seção 1 desta unidade, toda
variável possui um tipo de dado, que define qual é o tipo que pode ser armazenado nela.
Neste sentido, imagine uma variável, ou até mesmo uma constante que será
mencionada a seguir, possa ser exemplificada com uma caixinha com um rótulo que a
identifica. Veja a figura a seguir que ilustra isso (LIMA, 2015).
2.2. CONSTANTES
Uma constante também é uma área de memória para armazenar dados. Porém
uma constante não pode ter seu conteúdo alterado em tempo de execução de um
programa, isto é, ela possui seu valor predefinido do início da execução do programa
até o seu final. Normalmente são utilizados para identificar conceitos matemáticos que
possuam valor definido, como por exemplo o “pi”, que possui seu valor fixo 3.1416.
Mas assim como toda variável possui um tipo de dado, uma constante também possui.
Para criar uma constante para armazenar o valor de “pi”, por exemplo, precisamos que
a constante seja do tipo real, por se tratar de um número decimal.
Fonte: O autor
Observe a Tabela 2.3 que a constante foi utilizada normalmente como se fosse
uma variável, para fins de cálculo. A única diferença é que a constante não pode receber
outro valor durante a execução do programa, isto é, seu valor permanece inalterado.
3. COMANDOS DE ATRIBUIÇÃO
Algoritmo comandoLeia
Declara
quantidade: Inteiro
Inicio
Escreva(“Escreva a quantidade”)
Leia(quantidade)
Fim
Fonte: O autor
Analise a terceira coluna “.não. A” da Figura 5.2. Está sendo realizada uma
negação para os valores atribuídos para “A”. Neste caso, basta inverter os valores, isto
é, onde for verdadeiro é transformado em falso e vice-versa. O mesmo ocorre na quarta
coluna, mas neste caso, para o “B”. A quinta coluna aplica a conjunção, que retorna
verdadeiro quando os dois valores tiverem valor verdadeiro, ou retorna falso nos
demais casos. A última coluna da tabela verdade ilustrada na Figura 5.2, está aplicando
a disjunção, e neste caso, retorna verdadeiro sempre que um dos dois valores tiver valor
verdadeiro. Este é um simples e prático exemplo de como funciona uma tabela verdade,
muito importante para o aprendizado de lógica de programação.
A Tabela 6.3 apresenta uma tabela verdade. Note que as duas primeiras colunas
definem o valor para as expressões A e B. As demais colunas aplicam os operadores
lógicos. Note que na tabela verdade ilustrada na Figura 5.2 descrevemos os valores
completos, e nesta, da Tabela 6.3, utilizamos “F” para designar valor falso e “V” para
verdadeiro.
2. Potenciação;
4. Adição e subtração.
Fonte: O autor
Observe o algoritmo da Tabela 6.5, o qual possui no cálculo uma soma da variável
“quantidade”, cujo resultado é multiplicado pelo conteúdo da variável “valor”. Observe
que, neste caso, a prioridade ocorre na soma, isto é, primeiro é realizada a soma da
expressão “quantidade + quantidade”, e depois ocorre a multiplicação, devido a soma
estar entre parênteses. De acordo com nossa Tabela 6.4, tudo o que está dentro de
parênteses é calculado em separado.
ALMEIDA, M. Curso essencial de lógica de programação. São Paulo: Digerati Books, 2008.
LEITE, M. Técnicas de programação: uma abordagem moderna. Rio de Janeiro: Brasport, 2006.