Está en la página 1de 7

Conceitos Bsicos

Introduo
Um computador possui duas partes diferentes que trabalham juntas: o hardware, composto pelas partes
fsicas (hard = parte palpvel; soft = parte abstrata; ware = do gnero), e o software, composto pelos programas.
Quando queremos criar ou desenvolver um software para realizar determinado tipo de processamento de dados,
devemos escrever um programa ou vrios programas interligados. No entanto, para que o computador compreenda e
execute esse programa, devemos escrev-lo usando uma linguagem que tanto o computador quanto o criador de
software entendam. Essa linguagem chamada de linguagem de programao.
As etapas para o desenvolvimento de um programa so:

Anlise nesta etapa estuda-se o enunciado do problema para definir os dados de entrada, o
processamento e os dados de sada (informao).
Algoritmo ferramentas do tipo descrio narrativa, fluxograma ou portugus estruturado so
utilizadas para descrever o problema com suas solues.
Codificao o algoritmo transformado em cdigos da linguagem de programao escolhida para
que o programa seja executado por um computador. Assim, conclumos que um programa a
codificao de um algoritmo em uma linguagem de programao.

Conceito de Algoritmo
A seguir, alguns conceitos de algoritmos, de acordo com vrias bibliografias conhecidas.
Algoritmo uma seqncia de passos que visa atingir um objetivo bem definido. (FORBELLONE, 1999)
Algoritmo a descrio de uma seqncia de passos que deve ser seguida para a realizao de uma
tarefa. (ASCENCIO, 1999)
Algoritmo uma seqncia finita de instrues ou operaes cuja execuo, em tempo finito, resolve um
problema computacional, qualquer que seja sua instncia. (SALVETTI, 1999)
Algoritmo so regras formais para a obteno de um resultado ou da soluo de um problema, englobando
frmulas de expresses aritmticas. (MANZANO, 1997)
Ao um acontecimento que, a partir de um estado inicial, aps um perodo de tempo finito, produz um
estado final previsvel e bem definido. Portanto, um algoritmo a descrio de um conjunto de comandos que,
obedecidos, resultam numa sucesso finita de aes. (FARRER, 1999)
Analisando essas definies de algoritmo, podemos concluir que diariamente executamos uma srie de
algoritmos, como por exemplo, somar nmeros, ir para a Uni-Anhangera, trocar uma lmpada, sacar dinheiro em
um caixa 24 horas, etc. Veja um algoritmo exemplo:
Algoritmo Trocar uma lmpada
Pegar uma lmpada nova
Pegar uma escada
Posicionar a escada embaixo da lmpada queimada
Subir na escada com a lmpada nova na mo
Retirar a lmpada queimada
Colocar a lmpada nova
Descer da escada
Testar o interruptor
Guardar a escada
Jogar a lmpada queimada no lixo.

Notoriamente, voc poderia executar as aes do algoritmo acima de uma maneira diferente. Esse
pensamento est correto, pois s vezes um problema pode ser resolvido de diversas maneiras, porm, todos
produzindo uma mesma resposta, ou seja, podem existir vrios algoritmos diferentes para a soluo de um
problema, desde que todos atinjam o mesmo objetivo.
Mtodo para a Construo de Algoritmos
Pgina 1 de 7
E-mail professor: profgiocastro@gmail.com Arquivo: AEDI01 Conceitos basicos.doc

Sempre que voc tiver que elaborar um algoritmo, procure seguir os seguintes passos:

Identifique o problema a ser resolvido, destacando os principais pontos e os objetos que o compem.
Defina os dados de entrada, ou seja, quais dados sero fornecidos ao algoritmo e quais objetos fazem
parte desse problema.
Defina o processamento, ou seja, quais clculos sero realizados e quais as restries para esses
clculos.
Defina os dados de sada, ou seja, quais informaes sero geradas pelo processamento.
Elabore o algoritmo usando um dos tipos descritos no prximo tpico (Tipos de Algoritmos).
Teste o algoritmo atravs de simulaes (teste-de-mesa = trace).

Tipos de Algoritmos
Os trs tipos mais usados so:
Descrio Narrativa consiste em analisar o enunciado do problema e escrever, usando uma linguagem
natural (a lngua portuguesa), os passos a serem seguidos para a sua soluo. Uma vantagem deste tipo de algoritmo
que no exige o aprendizado de nenhuma regra ou conceito, j que a lngua utilizada natural, onde voc descreve
os passos de forma natural, sem regras. Porm, este tipo de algoritmo abre margem para vrias interpretaes,
dificultando a converso do algoritmo para um programa em uma linguagem de programao.
Fluxograma consiste em analisar o problema e escrever, usando smbolos grficos especficos, os passos
a serem seguidos para a soluo do problema. Possui como vantagem a facilidade natural das pessoas em
compreenderem elementos grficos. Porm, exige estudo da simbologia dos fluxogramas, que apesar de no ser
muito difcil, pode apresentar muitos detalhes e algumas regras, o que tambm pode dificultar a converso para um
programa.
Portugol consiste em analisar o problema e escrever, por meio de muitas regras predefinidas, os passos a
serem seguidos para sua soluo. Oferece a grande vantagem de estar muito mais prxima de qualquer linguagem de
programao, fazendo com que a converso seja quase que imediata. Porm, exige estudo detalhado e demorado das
vrias regras de pseudo-cdigo, que sero estudadas neste semestre letivo.

Este documento objetiva apresentar os principais conceitos sobre a elaborao de algoritmos usando o
Portugol. Portanto, para voc compreender melhor cada um dos trs tipos de algoritmos acima descritos, vamos a
um exemplo que ilustre todos os trs, para um mesmo algoritmo.

Exerccio resolvido:
Faa um algoritmo que calcule e mostre o resultado da diviso entre dois nmeros.

1 soluo: usando descrio narrativa


Passo 1 Obter os dois nmeros que sero divididos.
Passo 2 Se o segundo nmero for igual a zero, no fazer a diviso, pois no
existe diviso por zero. Caso contrrio, dividir os nmeros.
Passo 3 Mostrar o resultado.

2 soluo: usando fluxograma

Pgina 2 de 7
E-mail professor: profgiocastro@gmail.com Arquivo: AEDI01 Conceitos basicos.doc

inicio

N1, N2

no
N2 = 0

R = N1 / N2

sim
R

Impossvel
dividir

fim

3 soluo: usando portugol (pseudo-cdigo)


Algoritmo
declare N1, N2, R numrico
escreva "Digite um nmero"
leia N1
escreva "Digite outro nmero"
leia N2
se N2 = 0
ento
escreva "Impossvel dividir"
seno
R
N1 / N2
escreva "Diviso = ", R
fim-se
fim-algoritmo

Como voc pode notar, a primeira soluo (descrio narrativa) formada por passos descritos livremente,
utilizando a lngua portuguesa sem quaisquer regras. No fluxograma, temos algumas regras e na terceira soluo
(Portugol) muito mais regras, algumas bem mais complexas e que exigem maior estudo. medida em que vamos
avanando em nossos estudos, aprenderemos todas as regras da criao de algoritmos usando o Portugol.

Conceito de Varivel
Uma varivel representa uma posio de memria em que podemos guardar um valor de um determinado
tipo. Toda varivel de memria possui um nome e um tipo. O valor de uma varivel pode variar ao longo do tempo,
durante a execuo de um programa. Embora uma varivel possa assumir diferentes valores, ela s pode armazenar
um valor a cada instante.
Fazendo uma comparao com o mundo real, imagine que a sua sala de aula seja toda a memria principal
do computador (memria RAM) e que cada cadeira (carteira) seja uma posio dessa memria. Cada cadeira seria
uma varivel. Deste modo, cada cadeira teria um nome e nela poderamos guardar um valor, por exemplo, um
nmero, uma letra ou uma palavra ou frase. Portanto, o valor armazenado na cadeira deve possuir um tipo de dado,
ou seja, se numrico ou caractere, por exemplo. Como mencionado no final do pargrafo anterior, cada cadeira s
pode guardar um valor por vez, ou seja, se colocarmos o nmero 20 em uma cadeira chamada CADEIRAX, para
colocarmos outro nmero nessa mesma cadeira, o nmero 20 ser substitudo pelo novo nmero.

Pgina 3 de 7
E-mail professor: profgiocastro@gmail.com Arquivo: AEDI01 Conceitos basicos.doc

Tipos de Dados
Os tipos de dados mais usados so:
Numricos os dados numricos so divididos em dois grupos: inteiros e reais. Os nmeros inteiros
podem ser positivos ou negativos e no possuem parte fracionria. J os nmeros reais podem ser positivos ou
negativos e possuem parte fracionria. Os nmeros reais dos exemplos seguintes esto expressos usando vrgula
como separador da parte fracionria. Porm, a notao usada em programas, inclusive em algoritmos, deve ser um
ponto.
Exemplos de inteiros:
-23
65
0
-325
45
2
Exemplos de reais:
25,5
285,9
0,0
-75,0

Lgicos os tipos lgicos so chamados tambm de booleanos (lgebra de Boole). Uma varivel do tipo
lgico s pode assumir o valor verdadeiro ou o valor falso. Como exemplo, imagine uma varivel que deva conter
um valor que indique se est ou no chovendo. O nome da varivel seria, por exemplo, CHOVENDO. Se estiver
chovendo no momento, esta varivel deve conter o valor verdadeiro, caso contrrio, deve conter o valor falso. A
utilidade deste tipo de dado ser discutida e apresentada em vrios exemplos ao longo de nossa disciplina e voc
compreender facilmente a sua utilizao prtica na elaborao de programas.
Literais os tipos literais so tambm chamados de caracteres. Correspondem aos dados formados por um
nico caractere ou por uma cadeia de caracteres (por exemplo, uma frase). Esses caracteres podem ser letras
maisculas, minsculas, nmeros e os caracteres especiais (por exemplo, @, $, +, /, ?, etc.). Note que os dados do
tipo literal que possuem nmeros no podem ser utilizados em clculos.
Exemplos de dados literais:
aluno
12345
sandrotc@anhanguera.edu.br
15 + 50
14,98

Formao de Identificadores para Variveis


Identificadores so os nomes das variveis. Podem ser tambm nomes de programas, de sub-rotinas, etc.
Para criarmos uma varivel devemos dar um nome para ela e preciso entender algumas regras para a criao
desses nomes. Portanto, as regras bsicas para a formao dos identificadores, que servem no s para variveis,
mas para todos os identificadores possveis, so:

Usar somente os seguintes caracteres: nmeros, letras maisculas, letras minsculas e o caractere
sublinhado.
O primeiro caractere deve ser sempre uma letra ou o sublinhado.
No so permitidos espaos em branco.
No so permitidos caracteres especiais.
No podemos usar as palavras reservadas nos identificadores, ou seja, palavras que pertenam a
uma linguagem de programao. Palavras reservadas so palavras da linguagem de programao
que permitem-nos implementar os comandos. Voc pode notar na terceira soluo do exerccio
Pgina 4 de 7
E-mail professor: profgiocastro@gmail.com Arquivo: AEDI01 Conceitos basicos.doc

resolvido da pgina 3, que muitas palavras esto sublinhadas. Essas so as palavras reservadas da
linguagem denominada Portugol. Desta forma, no podemos criar uma varivel chamada, por
exemplo, declare, no Portugol.

Estrutura Seqencial
Para criarmos um algoritmo na linguagem Portugol, devemos seguir uma seqencia chamada de Estrutura
Seqencial. Isto significa que a seqencia em que os passos (instrues) de nosso programa sero executados pelo
computador na seqencia em que esto colocados, ou seja, de cima para baixo. Uma terminologia para esta estrutura
chamada de top-down, ou seja, de cima para baixo.
Algoritmo
declare
bloco de comandos de seu programa
fim-algoritmo

Declarao de Variveis
As variveis devem ser declaradas (criadas) sempre aps a palavra reservada declare. Outra regra, as
variveis devem ser declaradas sempre no incio do programa, nunca durante a execuo de um programa, ou seja,
no meio de um programa. Para declarar uma varivel obedea a sintaxe seguinte:
declare nome-da-varivel tipo-de-dado-da-varivel

Exemplos:
declare
declare
declare
declare

nome_cliente literal
idade_cliente inteiro
saldo_cliente real
cliente_adimplente lgico

Comando de Atribuio
O comando de atribuio usado quando queremos colocar um valor em uma varivel. Este comando
representado pelo smbolo
(seta para esquerda). Obviamente, para atribuirmos um valor a uma varivel, esta deve
estar previamente declarada. Veja alguns exemplos relacionados s variveis declaradas no exemplo acima:
nome_cliente
"Sandro Teixeira de Carvalho"
idade_cliente
36
saldo_cliente
150.00
cliente_adimplente
falso

Algumas observaes podem ser feitas sobre os exemplos acima. Note que, para atribuir um s caractere ou
uma frase (cadeia de caracteres) a uma varivel do tipo literal voc deve usar aspas no dado a ser atribudo. J para
atribuir um valor de outro tipo qualquer no usamos aspas. Note a atribuio do terceiro exemplo, em que devemos
usar um ponto para separar as casas decimais. Uma ltima observao referente ao ltimo exemplo, em que
atribumos falso para a varivel cliente_adimplente usando sublinhado. Isto ocorre por que tanto verdadeiro quanto
falso so palavras reservadas na linguagem Portugol.

Comando de Entrada de Dados


O comando de entrada de dados usado para permitir receber dados digitados pelo usurio, geralmente
atravs do teclado do computador. Esses dados digitados pelo usurio sero armazenados na varivel que participar
do comando. Este comando representado, no Portugol, pela palavra reservada leia, sublinhada.
Exemplos:
leia nome_cliente

Pgina 5 de 7
E-mail professor: profgiocastro@gmail.com Arquivo: AEDI01 Conceitos basicos.doc

leia idade_cliente
leia saldo_cliente

Voc pode notar que no temos um comando para ler a varivel cliente_adimplente, que do tipo de dado
lgico. As variveis lgicas no so lidas, mas sim utilizadas com outra finalidade que voc compreender mais
adiante em nossa disciplina.
Uma observao importante diz respeito ao modo como este comando costuma ser utilizado. Assim que o
computador executa um comando leia, ele faz aparecer o cursor na tela do computador e fica aguardando pela
digitao de alguma coisa pelo usurio. Enquanto o usurio no digita algo e tecla enter, o computador fica parado
neste comando leia. Quando o usurio finalmente digita alguma coisa e tecla enter, o dado digitado atribudo
automaticamente para a varivel que faz parte do comando leia.
Agora, imagine a seguinte cena: o computador executa o comando leia e fica parado aguardando pela
digitao. O usurio olha para a tela e v apenas um cursor piscando. O usurio sabe o que deve ser digitado?
Provavelmente, no. Desta forma, sempre que colocamos um comando leia em nosso algoritmo, costumamos
colocar tambm um comando para escrever na tela um texto que informe ao usurio o que ele deve digitar.
Exemplo:
escreva "Digite o seu nome:"
leia nome_cliente

Acabamos de melhorar nosso trecho de programa com o exemplo acima. Agora, assim que esse programa
for executado, o computador escrever a frase Digite o seu nome: antes de aguardar pela entrada do usurio.
Assim, o usurio compreender o que dever ser digitado. importante salientar que essa idia nem sempre
implementada em algoritmos do tipo Portugol, mas sempre quando implementamos um programa em uma
linguagem de programao. De qualquer forma, facilita a lgica do algoritmo, tornando-o um pouco mais entendvel
por parte de quem far a transcrio deste para uma linguagem real.

Comando de Sada de Dados


O comando de sada utilizado para mostrar dados na tela ou na impressora. Esse comando representado
pela palavra reservada escreva, sublinhada. Os dados a serem escritos podem ser contedos de variveis ou textos
quaisquer.
Exemplos:
escreva
escreva
escreva
escreva

"Digite o seu nome:"


"Digite um nmero:"
"O contedo da varivel x igual a ", x
nome_cliente

Como voc pode notar, o terceiro exemplo acima ilustra como mostrar o valor de uma varivel seguido de
uma frase. Sempre que fazemos, por exemplo escreva x, o computador escreve o contedo da varivel x. Agora, se
fizermos, por exemplo, escreva x , o computador escrever a letra x na tela.

Comentrios
importante escrevermos comentrios em nossos algoritmos. Um comentrio consiste de uma frase
qualquer que explique algum trecho de cdigo ou alguma parte de nosso programa, para facilitar o entendimento do
programa no futuro, quando fizermos uma manuteno (correo) em nosso programa.
Uma das formas mais comuns de se incluir comentrios em um programa consiste em explicar para que
serve cada uma das variveis na declarao. Veja o algoritmo exemplo a seguir:
Algoritmo
declare N1 numrico

{ N1 serve para obter o primeiro nmero }

Pgina 6 de 7
E-mail professor: profgiocastro@gmail.com Arquivo: AEDI01 Conceitos basicos.doc

declare N2 numrico { N2 serve para obter o segundo nmero }


declare R numrico
{ R serve para conter o resultado da diviso }
escreva "Digite um nmero"
leia N1
escreva "Digite outro nmero"
leia N2
se N2 = 0
ento
escreva "Impossvel dividir"
seno
R
N1 / N2
escreva "Diviso = ", R
fim-se
fim-algoritmo

O algoritmo acima corresponde ao mesmo da pgina 3 deste documento. Note que as trs variveis usadas
no programa foram declaradas em linhas separadas para permitir a insero dos comentrios em cada uma delas,
explicando para que servem.
Os comentrios so extremamente teis e necessrios em vrias partes de nossos programas, facilitando
possveis manutenes nos mesmos. Cuidado para no inserir comentrios em demasia para no correr o risco de
poluir demais o cdigo do programa. A maioria dos programadores no inserem comentrios, o que torna um
programa de difcil manuteno, principalmente para um programador que venha a modificar um programa feito por
outra pessoa.
Os comentrios devem ser inseridos entre os caracteres { e } (chaves) e podem estar presentes em
qualquer parte do algoritmo.

Pgina 7 de 7
E-mail professor: profgiocastro@gmail.com Arquivo: AEDI01 Conceitos basicos.doc

También podría gustarte