Temos várias formas de representar algoritmos, sendo as mais o utilizadas representadas por formas que fazem alusão a tomadas de decisões (fluxograma) e por meio do pseudocódigo, sendo este mais utilizado para o ensino de lógica de programação.
Fluxograma: É definido por uma série de símbolos, em conjunto com desenhos geométricos que representam os passos do algoritmo, tais como: início, entrada e saída de dados, tomada de decisões, estruturas de repetição e final do algoritmo.
Pseudocódigo: O pseudocódigo, também conhecido como Português estruturado, utiliza PDL - Program Design Language (Linguagem de Projeto de Programação). Ou seja, é uma espécie de narração do que o programa deve fazer.
Figura 02 - Pseudocódigo |
O pseudocódigo é a base que todos devem ter para aprender uma linguagem de programação, pois é ele que intermedia a linguagem falada (humana) para a linguagem de programação (computacional).
Para isso, utilizaremos o pseudocódigo em um programa chamado VisuAlg, que abordaremos a seguir.
VisuAlg: Conhecemos os tipos de representações de algoritmos, e, agora, iremos conhecer o programa que executará nossos pseudocódigos.
Os pseudocódigos podem ser escritos facilmente em uma folha de papel ou em um bloco de notas, mas para tornar isso prático vamos adotar o VisuAlg como nosso software para escrever nossos algoritmos na forma de pseudocódigo e ver na hora o seu resultado.
Figura 03 - VisualAlg |
O VisuAlg é um software criado na Universidade de Caxias do Sul no estado do Rio Grande do Sul, com a finalidade de oferecer aos alunos uma forma de exercitar o conhecimento adquirido. Para utilizá-lo é necessário fazer o download do programa. O mesmo pode ser encontrado em: 20_03_01_Visualgv25_exe.
O VisuAlg é um interpretador simples de pseudocódigo utilizado por professores para o ensino de lógica de programação.
Seu objetivo não é criar softwares, mas auxiliar o aluno a entender a execução de seu algoritmo.
Para a criação de um algoritmo, é necessária a utilização de palavras-chave. Abaixo, seguem as principais para o funcionamento:
- algoritmo: comando que irá definir o nome do programa; deve ser feito em aspas duplas;
- var: comando que especifica a área em que as variáveis serão declaradas. É aqui que colocaremos as variáveis que iremos utilizar;
- inicio: comando que informa o início do programa; é nesse bloco que ficarão os comandos e a lógica que utilizaremos para criar nosso algoritmo.
- fimalgoritmo: comando que informa que é o final do algoritmo.
Dentro do nosso algoritmo utilizaremos palavras-chave que irão ler o que for digitado e escrever na tela para informar algo ao usuário.
- escreva: esse comando irá escrever na tela alguma informação ao usuário. Ex.: Escreva ("Digite seu nome").
- leia: esse comando irá ler o que foi digitado pelo usuário. Ex.: Leia(nome). Esse nome entre parênteses é uma das variáveis que deve estar declarada no bloco var que vimos anteriormente.
- Escreval: esse comando é idêntico ao escreva, a não ser pelo fato de que ele pula uma linha. Ex.: Escreval ("Digite seu nome").
Tipos de Dados
Figura 04 - Tipos de dados: Real e Inteiro. |
Agora começaremos a mergulhar na parte computacional, entender como os algoritmos funcionam aplicados em um sistema de computador.
Quando criamos um programa computacional, temos que levar em conta quais os tipos de dados que poderão ser inseridos no sistema. São eles que dirão o que poderá ser digitado ou quais valores nosso algoritmo aceitará.
- Tipo de Dado Inteiro: Aceitam somente números inteiros positivos e negativos. Não aceitam números decimais.
- Tipo de Dado Real: Podem ser valores positivos e negativos. Podem ser números decimais e inteiros. No VisuAlg, o separador decimal é o ponto, não a vírgula.
- Tipo de Dado Literal: Podem ser letras, números ou caracteres especiais, ou seja, podem ser qualquer tipo de valor. Os valores deste tipo devem estar dentro de aspas duplas ("").
- Tipo de Dado Lógico: São respostas para uma pergunta, a qual deverá ter apenas duas possíveis respostas: sim ou não. Porém, sempre resultam como VERDADEIRO ou FALSO.
Variáveis
Figura 05 - Organização de variáveis |
Variável é onde iremos guardar dados essenciais para o funcionamento do nosso algoritmo/programa.
- Uma variável guarda um valor informado em uma posição de memória, seu conteúdo pode sempre ser alterado, como o próprio nome já diz "variável".
- Uma variável só pode ter UM valor dentro dela.
Uma gaveta informando que irá ter meias, dentro dela deverá ter apenas meias. Possivelmente, alguém poderá colocar algo diferente (camiseta), onde deveria ter apenas meias. Nos algoritmos computacionais isso não acontece, uma vez que determinado que uma variável é do tipo inteiro, ela só poderá ter números inteiros.
Variáveis têm três passos principais para serem criadas, são eles:
- Ter um nome: Toda variável criada em um programa deve ter um nome para que possa ser identificada.
- Ter um tipo de dado vinculado: Vimos, na lição anterior, os tipos de dados, e é aqui que iremos utilizá-los. Ou seja, é aqui que diremos qual tipo de dado pode conter em nossa variável.
- Ter um valor atribuído: Não tem por que eu criar uma variável sem ter a intenção de colocar algum dado dentro dela.
Figura 06 - Variável |
Regras para o nome da variável:
- nomes de variáveis não podem ser iguais a palavras reservadas;
- nomes de variáveis devem possuir como primeiro caractere uma letra ou sublinhado '_' (os outros caracteres podem ser letras, números e sublinhado);
- nomes de variáveis devem ter no máximo 127 caracteres;
- nomes de variáveis não podem conter espaços em branco.
- Essas são as regras para nossas variáveis funcionarem no programa.
Palavras Reservadas: Palavras reservadas são comandos que o algoritmo processa como ação e não como valor, por exemplo, não podemos criar uma variável com o nome de algoritmo, var, entre outros, pois estas estão reservadas para uso do algoritmo.
Tipos de dados: Para definir o tipo de dado de uma variável, primeiro declaramos a variável dentro do bloco de variáveis do nosso programa, em seguida colocamos dois pontos (:) e o tipo de dado (inteiro, literal, lógico ou real). Exemplo:
var nomeDaVariavel: TipoDeDado ;
var nomeDaVariavel <- "ARDUINO" ;
Nesse exemplo eu estou dizendo que a variável "nomeDaVariavel" irá receber o valor "ARDUINO" como literal. A variável deve ter sido declarada com o tipo literal para que aceite tal tipo.
Expressões Aritméticas: Com um algoritmo resolvemos problemas humanamente difíceis, custosos ou repetitivos, sendo, em sua maioria, rotinas de cálculos. Portanto a matemática estará inserida em nossas instruções a fim de nos auxiliar a resolver problemas. Por exemplo, um computador consegue fazer a média de 15+18+43+50+2+44+78 muito mais rápido do que um humano.
Então, assim como na matemática, expressões aritméticas em algoritmo são basicamente a mesma coisa, ou seja, são um conjunto de símbolos que representam as operações básicas da matemática, que são: ( + ) Adição; ( - ) Subtração; ( * ) Multiplicação e ( / ) Divisão.
Veremos agora como podemos utilizar essas expressões em nossos algoritmos utilizando as variáveis.
- Primeiramente, declaramos as variáveis que iremos utilizar no nosso algoritmo.
- Em seguida, inicio meu algoritmo e atribuo os valores que eu quero para as minhas variáveis.
- Feito isso, eu posso criar minha expressão aritmética, no exemplo acima estou fazendo a média de três notas, em seguida mostrando na tela.
Então nosso algoritmo ficará da seguinte forma:
algoritmo "aritmetica"
var
n1,n2,n3,media: Real
inicio
n1 <- 10
n2 <- 8
n3 <- 7.5
media <- (n1+n2+n3) /3
escreva (media)
finalgoritmo
Expressões aritméticas são aquelas que, utilizando operadores aritméticos, resultam em um valor inteiro ou real. Ou seja, o resultado sempre será um número, seja ele do tipo real ou do tipo inteiro. Exemplo: Informe qual resultado da expressão aritmética será exibido no algoritmo a seguir:
algoritmo "Média Aritimètica"
var
x,y,resultado: Real
inicio
x <- 2
y <- 5
resultado <- x/y*3+(1-8)*x+30
escreva (resultado)
fimalgoritmo
Figura 07 - Expressão literal |
Figura 08 - Operadores relacionais lógicos |
importância que saibamos o que significa cada um deles. As expressões lógicas servem para compararmos valores e dizer se o resultado é Verdadeiro ou Falso. Essas expressões Sempre resultam em um dado do tipo lógico. Utilizam os operadores relacionais lógicos (maior, menor, igual, diferente etc.).
Além disso, expressões lógicas podem conter expressões aritméticas dentro delas, veremos a seguir.
Operadores relacionais lógicos: Todos esses exemplos nós podemos colocar no VisuAlg e ver se o resultado é realmente o esperado. Veremos na tela a seguir. Abra o VisuAlg e coloque as expressões lógicas dentro dos parênteses e aperte a tecla F9 para executar o algoritmo e exibir o resultado.
Figura 09 - Expressão lógicas |
Agora, para fazer o teste dos operadores lógicos, montaremos um pequeno programa que faz a leitura de dois números fazendo as devidas comparações entre eles.
Expressões lógicas são expressões que recebem dois ou mais valores, além de poder ter outras expressões dentro dela, mas no final elas sempre retornam dados lógicos (Verdadeiro ou Falso).
Operadores de sentença: E. O operador E refere-se à comparação binária de termos, ou seja, 1+1 E 3-1 é verdadeiro ou falso? Verdadeiro, ambos os resultados são 2. Remete à combinação verdadeiro + verdadeiro = verdadeiro.
Operadores de sentença: OU. O operador OU refere-se à comparação binária de termos. Remete à combinação verdadeiro + falso = verdadeiro. Se qualquer um dos termos estiver correto a expressão é verdadeira 1+1=2 OU 3+1=6? Verdadeiro, o fato do primeiro termo ser verdadeiro já torna a expressão verdadeira. Remete à combinação verdadeiro + falso = verdadeiro.
- Se está chovendo = pegar um guarda-chuva.
- Se não está chovendo = não preciso de um guarda-chuva.
Figura 10 - Estrutura de condição "SE... ENTÂO" |
Demonstrada a importância de fazer comparações em seu algoritmo, iremos evoluir para aprender como faremos em linguagem de máquina, pois o que sabemos até agora é em relação aos operadores, estes, por sua vez, nos auxiliam a comparar. Por exemplo: podemos comparar se o 15 é maior do que 16; o nosso algoritmo irá retornar falso. Como escrever uma estrutura condicional em algoritmo?
Figura 11 - Estrutura de condição "SE... ENTÃO ... SENÃO" |
No exemplo anterior, vimos como entrar em uma condição caso ela dê Verdadeira,, e se for necessário tratar se a expressão for falsa? Para isso utilizamos a cláusula Senão. Nas estruturas condicionais, temos a possibilidade de fazer condições sequenciais/consecutivas sempre que necessário. Podemos utilizar qualquer expressão lógica, dessa forma, as estruturas de condições servem para controle de ações, valores e variáveis do sistema.
Figura 12 - Estrutura de Repetição |
- Para ... faça;
- Enquanto ... faça;
- Repita ... até;
Figura 13 - Estrutura de Repetição "para ... faça" |
- Nome da variável que irá controlar a repetição;
- Valor da variável onde iniciará a repetição;
- Valor da variável onde terminará a repetição;
Figura 13 - Estrutura de Repetição "enquanto ... faça" |
se até chegar no número informado. Há outras estruturas que repetem a partir de uma condição (expressão lógica), que é o caso do "enquanto..faça". Os comandos são executados enquanto a expressão lógica for verdadeira.
Figura 14 - Estrutura de Repetição "repita ... até" |
verificação condicional é realizada no final da repetição, deste modo pelo menos uma vez a estrutura é executada. Um algoritmo que calcula a soma de um número digitado e mostre para o usuário até ele sair do programa.
© Direitos de autor. 2020: Gomes; Sinésio Raimundo. Última atualização: 23/03/2021
Nenhum comentário:
Postar um comentário