Você está na página 1de 25

Algoritmos (TIS_02_PRO)

Conteúdo

Introdução .............................................................................................................................. 1
Computador e Programação .................................................................................................. 2
O papel do computador ..................................................................................................... 2
Noção de Variável ............................................................................................................... 3
Os nomes das variáveis ...................................................................................................... 3
Tipo de uma variável .......................................................................................................... 4
Declaração do tipo .............................................................................................................. 4
Instruções de atribuição ..................................................................................................... 5
Expressões numéricas ........................................................................................................ 7
Comunicar com o programa: Instruções de leitura e escrita. ............................................ 9
Instrução de escrita ............................................................................................................ 9
Instrução de leitura .......................................................................................................... 10
Clareza na entrada de dados ............................................................................................ 13
A selecção: Primeira estrutura fundamental ....................................................................... 13
A condição da escolha ...................................................................................................... 15
As condições simples ........................................................................................................ 15
Condições complexas ....................................................................................................... 16
Selecções no interior de outras ........................................................................................ 16
Estrutura de Repetição ......................................................................................................... 17
Exemplo introdutório ....................................................................................................... 17
Contar ............................................................................................................................... 18
Ciclos com contador ......................................................................................................... 19
Acumular........................................................................................................................... 19
Tabelas de uma Dimensão.................................................................................................... 20
Como utilizar uma tabela num programa ........................................................................ 21
Fluxogramas.......................................................................................................................... 23

Introdução

A programação consiste, antes de mais, em determinar o método que permite obter,


recorrendo a um computador, a solução de um dado problema. É a isto que se chama
geralmente “a análise” ou ainda “a procura do algoritmo”. A tradução desta análise numa
dada linguagem de programação constitui apenas o seu resultado, e a sua codificação
segundo regras bem definidas.

Formador: Carlos Rafael (carlosrafaelvicente@gmail.com) Página 1


Algoritmos (TIS_02_PRO)

Computador e Programação

O computador, mais do que nunca, faz parte do nosso ambiente. Ouvimos muitas vezes à
nossa volta expressões como “processado por computador”, “o erro na fatura deveu-se ao
computador” e ainda por vezes, “o computador enganou-se”…

Estas frases mostram que se o público em geral tem normalmente uma ideia do que se
pode fazer com um computador, não ignora igualmente o papel fundamental que nele
desempenha a programação.

O papel do computador

Se nos interessamos pelas aplicações do computador, apercebemo-nos de que são


numerosas. Eis alguns exemplos:

- Gestão de stocks
- Consulta de bases de dados
- Construção de folhas de salários e faturas
- Tratamento de texto
- Cálculo da trajetória de um satélite
- Etc…

Como é possível que um mesmo computador possa efetuar tarefas tão diferentes e
variadas? Ouvimos dizer que basta programá-lo para o efeito. Com efeito o computador é
capaz de guardar em memória um programa, que depois é encarregado de executar.
Mais precisamente, o computador possui um reportório limitado de operações
elementares que sabe executar rapidamente e sem erros. Um programa é constituído por
um conjunto de instruções, que especificam:

- As operações elementares a executar


- A forma como estas se encadeia entre si.

Em resumo, a velocidade de execução do computador é a forma de medir a sua potência;


o programa dá-lhe flexibilidade. Veremos em particular que certas instruções permitem:

- Repetir várias vezes um conjunto de instruções.


- Escolher entre vários conjuntos de instruções.

Formador: Carlos Rafael (carlosrafaelvicente@gmail.com) Página 2


Algoritmos (TIS_02_PRO)

Noção de Variável

Apesar de uma diversidade aparente, a maior parte das linguagens baseia-se na mesma
técnica fundamental, a saber, a “manipulação de valores contidos nas variáveis”. Vamos
precisar o que são estas variáveis e apresentar a noção do tipo de dados a elas ligados.
Quanto às instruções que permitem manipular os valores das variáveis, serão alvo da
nossa atenção posteriormente.

Em programação uma variável é um nome que serve para referenciar uma determinada
posição na memória RAM. Esta noção simples na aparência, contribui consideravelmente
para facilitar a realização de programas. Permite-nos manipular valores sem nos
preocuparmos com a posição que estes virão a ocupar efetivamente em memória. Para tal
basta-nos definir um nome para eles. Vejamos um esquema que ilustra a situação que
acabamos de descrever, a saber, dois modos de compreender a memória:

Memória RAM

01010 <- A
01011 <- Montante

11101 <- Palavra


11110 <- Raíz

Lado computador Lado programador

O programa só conhece os nomes A, Montante, Palavra, Raiz. Não se preocupa com os


endereços que lhe são atribuídos na memória (01010, 01011, etc.).

Os nomes das variáveis

A legibilidade dos programas depende estreitamente da nossa capacidade para escolher


nomes representativos das informações que representam; assim Montante é um nome
melhor do que X quando se pretende designar uma quantia.

Formador: Carlos Rafael (carlosrafaelvicente@gmail.com) Página 3


Algoritmos (TIS_02_PRO)

As limitações que nos serão impostas na escolha dos nomes de variáveis dependerão da
linguagem escolhida. De uma forma geral em todas as linguagens, um nome de variável é
formado de uma ou várias letras; os algarismos são igualmente utilizados, desde que não
ocorram no início do nome.
O número máximo de caracteres autorizados varia com as linguagens.
Assim:

Valor Resultado X8 X414

São nomes corretos.

Tipo de uma variável

Como em geral é necessário poder conservar informações de natureza diferente (por


exemplo números e letras), compreende-se que seja necessário empregar códigos
diferentes.

Esta distinção corresponde à noção de tipo. Assim diremos que uma variável destinada a
receber valores como 134 ou 12,45 será do tipo numérico; uma variável destinada a
conter letras será do tipo texto.

Em resumo

O tipo de uma variável define:

- A natureza das informações que serão representadas na variável.


- As limitações relativamente aos valores que podem ser representados.
- As operações realizáveis com as variáveis correspondentes.

Declaração do tipo

Todos os tradutores de linguagens (compiladores ou interpretadores) têm em conta esta


noção de tipo. Por outras palavras, basta-nos especificar o tipo de uma varável para que
estes tradutores definam o código apropriado e nos permitam exprimir os nossos valores
de uma forma habitual (números no sistema decimal, letras). Para tal utilizamos
instruções particulares designadas declarações de tipo.

Variáveis total, x : numéricas

O que significará que as variáveis designadas total e x serão do tipo numérico, e

Formador: Carlos Rafael (carlosrafaelvicente@gmail.com) Página 4


Algoritmos (TIS_02_PRO)

Variáveis C1, letra, z : texto

O que indicará que as variáveis designadas C1, letra e z serão do tipo texto.

Instruções de atribuição

Vamos agora analisar uma das instruções que permitem manipular valores, a saber, a
instrução de atribuição.

O seu papel consiste simplesmente em colocar um valor numa dada variável. Assim uma
instrução permitirá dizer:

Atribuir a A o valor 5

Ou seja guardar em A o valor 5.

O valor a colocar numa variável poderá igualmente provir de uma outra.

Atribuir a A o valor de B

Em geral poderemos querer colocar numa variável o resultado de um cálculo ( o que terá
sentido para variáveis numéricas):

Atribuir a A o valor de B+4

Escrever atribuir a A o valor 5 é um pouco aborrecido. Muitas linguagens escrevem esta


mesma instrução sob a forma:

A 5

O papel da instrução de atribuição

Instruções como

A 1
B A
B (A+3)

São formadas por duas partes:

- À esquerda do símbolo ( ) encontra-se o nome da variável destinada a receber um


Formador: Carlos Rafael (carlosrafaelvicente@gmail.com) Página 5
Algoritmos (TIS_02_PRO)

valor.
- À direita do símbolo ( ) encontra-se “qualquer coisa” que define o valor em questão.
Diremos que se trata de uma “expressão”.

Podemos portanto dizer que uma instrução de atribuição tem um duplo papel:

- Determina o valor da expressão situada á direita de .


- “Arruma” o resultado na variável situada à esquerda.

Entenda-se que quando determinamos o valor de uma expressão isto não modifica o valor
das variáveis que ocorrem nesta expressão.

Assim:

B (A+3)

Determina o valor de A+3 sem modificar o de A.

Por outro lado, se a variável recetora (aqui B) já engloba um valor, este é puramente
substituído pelo novo valor.
Expliquemos melhor, usando um exemplo. Para cada variável, indicamos qual é o seu
valor antes da execução das instruções mencionadas:

A B
(1) A 1 1 -
(2) B A+3 1 4
(3) A 3 3 4

Depois da execução de (1), a variável A contém o valor 1; colocámos um traço na coluna B


para mostrar que esta variável ainda não recebeu qualquer valor.
A instrução (2) efetua o resultado da expressão A+3, o que dá o valor 4; este último é
atribuído a B. O valor 1 mantém-se inalterável.
Finalmente, a instrução (3) coloca em A o valor 3. O seu antigo valor, 1, é assim destruído.

Exercícios:

Procedendo do modo indicado, mostre quais serão os valores das variáveis A, B e C depois
de cada uma das instruções:

a)

Formador: Carlos Rafael (carlosrafaelvicente@gmail.com) Página 6


Algoritmos (TIS_02_PRO)

A 5
B 3
C A+B
A 2
C B-A

b)

A 5
B A+4
A A+1
B A-4

c)

A 3
B 10
C A+B
B A+B
A C

d)

A 5
B 7
A B
B A

Expressões numéricas

Até agora considerámos que as instruções de atribuição, incluem apenas expressões


numéricas simples. De facto, por um lado, é possível realizar cálculos quase tão complexos
quanto se deseje; por outro, a atribuição permite manipular caracteres.

De um modo geral estas expressões podem conter:

- Constantes: trata-se simplesmente de números como 1, 4, -5. Resolvemos escrever aqui


os números decimais usando um ponto e não uma vírgula, dado que é esta a notação
que se emprega em todas as linguagens.

Exemplos:

Formador: Carlos Rafael (carlosrafaelvicente@gmail.com) Página 7


Algoritmos (TIS_02_PRO)

1.35 -5.37

- Variáveis
- Símbolos operatórios
Já encontramos: + para a soma
- para a subtração

Utilizaremos * para a multiplicação


/ para a divisão

- Parêntesis

Em caso de prioridade idêntica, as operações são efectuadas da esquerda para a direita.


Aqui as regras de avaliação das expressões aproximam-se das da álgebra.

Vejamos alguns exemplo:

A B C X
A 1 1 - - -
B 2 1 2 - -
C 3 1 2 3 -
X A+B*C 1 2 3 7
X A*B+C 1 2 3 5
X A+B/C 1 2 3 2.5
X C/A+B 1 2 3 5

Os parêntesis são empregues para modificar a prioridade dos operadores. Analisemos o


exemplo:

X
A 1 -
B 2 -
C 3 -
X A+B*C 7
X (A+B)*C 9
X A+C/B 2.5
X (A+C)/B 2

Formador: Carlos Rafael (carlosrafaelvicente@gmail.com) Página 8


Algoritmos (TIS_02_PRO)

Comunicar com o programa: Instruções de leitura e escrita.

Vimos já como a atribuição pode afetar as variáveis. Em geral, para que um programa
apresente um interesse prático, deve poder comunicar-nos um certo número de
informações (resultados) através de um periférico. Será esse o papel da instrução de
escrita.

Do mesmo modo, poderemos em certos casos ser levados a transmitir informações


(dados) ao nosso programa sempre através de um periférico. Isto será realizado pela
instrução de leitura.

Instrução de escrita

Esta instrução tem por objectivo fornecer-nos resultados sob uma forma directamemente
compreensível. Mais precisamente ela escreve num periférico os valores de uma ou mais
variáveis.

Notemos que tal instrução não se contenta em transmitir a um periférico o simples


conteúdo binário das variáveis consideradas (teríamos certamente alguma dificuldade em
interpretá-lo).

Na maior parte das linguagens, é possível escolher o periférico em que se deseja escrever.
Aqui por uma questão de simplificação, suporemos que só se pode utilizar um periférico.
Consideremos que a instrução

Escrever(A)

Significa: escrever o valor de A no periférico.

Do mesmo modo

Escrever(x,y)

Significará: escrever os valores de x e de y, por esta ordem

Consideremos este pequeno programa:

Variáveis x,y : numéricas

Formador: Carlos Rafael (carlosrafaelvicente@gmail.com) Página 9


Algoritmos (TIS_02_PRO)

x 1
y 5
Escrever (x,y)

A sua execução escreverá qualquer coisa do género:

15

Outro exemplo:

Variáveis x,y,z : numéricas


x 3
y 15
z x+y
Escrever(x,y)
Escrever(z)

Fornecerá os resultados:

35
18

Exercicio:

a)

Que resultados serão produzidos pelo programa:

Variáveis valor,duplo : numéricas


valor 231
y 15
duplo (valor*y)
Escrever(valor)
Escrever(duplo)

b)

Escreva um programa que calcule e escreva o quadrado de 547.

Instrução de leitura

A instrução de escrita permite ao programa comunicar-nos os resultados. Do mesmo


Formador: Carlos Rafael (carlosrafaelvicente@gmail.com) Página 10
Algoritmos (TIS_02_PRO)

modo a instrução de leitura vão permitir-nos fornecer dados ao nosso programa.

Mais precisamente, esta instrução vai procurar um valor num periférico e atribuí-lo a uma
variável. Também aqui não ocorre simplesmente uma transmissão de informação dado
que a instrução deve transformar um ou vários caracteres para o valor binário
correspondente.

Na maior parte das linguagens, é possível escolher o periférico onde desejamos realizar a
leitura. Vamos supor que só é possível utilizar um periférico, e que a instrução:

Ler(A)

Significa: obter um valor num periférico e guardá-lo em A

Do mesmo modo,

Ler(X,Y)

Significará: obter dois valores e guardá-los em x e y.

Qual é então o interesse da instrução de leitura? Consideremos o seguinte programa


simples que calcula o dobro de um número:

Variáveis valor,dobro : numéricas


valor 58
dobro (valor*2)
Escrever(valor,dobro)

Este programa fornece o dobro de 58. Se no entanto quisermos obter o dobro de 549,
teremos de modificar o programa da seguinte maneira:

Valor 58 para valor 549

A instrução de leitura permite-nos evitar estas alterações contínuas no programa:

Variáveis valor,dobro : numéricas


Ler(valor)
dobro (valor*2)
Escrever(valor,dobro)

Exercício:

a)

Formador: Carlos Rafael (carlosrafaelvicente@gmail.com) Página 11


Algoritmos (TIS_02_PRO)

Escreva um programa que leia um número e escreva o seu quadrado. Que obteremos se
se executar este programa fornecendo-lhe o número 5 como dado.

Variáveis numero, quadrado : numéricas


Ler(numero)
quadrado (numero*numero)
Escrever(quadrado)

b)

Cálculo de um preço. Escrever um programa que leia:

- O preço de um artigo.
- O número de artigos.
- O imposto a aplicar.

E escreva o preço final, incluindo o imposto

Variáveis preco,nartigos,imposto,precofinal :numéricas


Ler( preco,nartigos,imposto)
precofinal=(preco*nartigos)*(1+imposto)
Escrever(precofinal)

Clareza na apresentação dos resultados

Quando se executa este programa:

Variáveis numero,quadrado : numéricas


Ler(numero)
quadrado (numero*numero)
Escrever( numero)
Escrever( quadrado)

Fornecendo o valor 5, os resultados apresentam-se do seguinte modo:

5
25

Poderíamos obter algo mais explicito, por exemplo:

Número fornecido:5

Formador: Carlos Rafael (carlosrafaelvicente@gmail.com) Página 12


Algoritmos (TIS_02_PRO)

O seu quadrado:25

Ou ainda o quadrado de 5 é 25

Isto é possível em todas as linguagens. Os textos que acompanham os nossos resultados


serão chamados etiquetas. Para os obter, basta fazer aparecer estas etiquetas na lista de
informações a escrever. Mais precisamente, estas etiquetas deverão ser colocadas entre
aspas a fim de não serem confundidas com nomes de variáveis.

Escrever (“número fornecido”,numero )


Escrever (“o seu quadrado”,quadrado )

Ou na seguinte forma:

Escrever (“o quadrado de”, numero, “é”, quadrado )

Clareza na entrada de dados

Quando se trabalha a partir do teclado somos levados a fornecer os dados à medida que o
programa os exige. Em certas linguagens somos prevenidos que o programa espera uma
entrada nossa. Nestas condições aconselha-se vivamente a preceder qualquer instrução
de leitura da escrita de uma etiqueta definindo ao utilizar o que se espera dele.

Eis um novo exemplo que calcula o quadrado de um número:

Variáveis numero, quadrado : numéricas


Escrever (“indique número”)
Ler (numero)
quadrado=(numero*numero)
Escrever (“o seu quadrado”, quadrado)

A seleção: Primeira estrutura fundamental

Até agora vimos as três instruções de base, que são a atribuição, a leitura e a escrita. Só as
utilizámos para realizar programas cuja execução seja sequencial; por outras palavras, as
instruções são executadas pela ordem que são escritas.
Ora o interesse essencial do computador e a sua potência decorrem de duas coisas:

- a possibilidade de efetuar escolhas do tratamento realizado. Por exemplo, num


programa de faturação, determinar-se-á um desconto em função do montante da
fatura;

Formador: Carlos Rafael (carlosrafaelvicente@gmail.com) Página 13


Algoritmos (TIS_02_PRO)

- a possibilidade de repetir várias vezes as mesmas instruções. Por exemplo, um programa


de faturação repetirá para cada cliente as instruções de construção da fatura.

Entenda-se que estas escolhas podem ser feitas em todas as linguagens.


Em definitivo, podemos dizer que um programa inclui dois tipos de instruções:

- as instruções de base: são as que permitem a manipulação das variáveis: atribuição,


leitura, escrita;
- as instruções de estruturação do programa: servem para definir como se devem
encadear cronologicamente estas instruções de base.

Acabamos de esboçar dois tipos de estruturas: escolha e repetição. Veremos que a


repetição pode assumir vários aspectos: repetir um dado número de vezes até que seja
satisfeita uma determinada condição.

A estrutura de seleção, exemplos iniciais

Suponhamos que temos necessidade, num programa de escrever uma mensagem que
indique se o sinal de um valor de uma dada variável é positivo ou negativo. Por outras
palavras, devemos executar a instrução:

Escrever “valor positivo”

Se o valor é positivo; no caso contrário, devemos executar a instrução

Escrever “valor negativo”

Vamos escrever esta escolha da seguinte forma:

Se (a>0) então
escrever (“valor positivo”)
senão
escrever (“valor negativo ou nulo”)
fim se
Vejamos agora um programa que lê dois números e uma letra. Se esta for “s” calcula e
escreve a soma de dois números. No caso contrário, calcula e escreve o produto.

Variáveis a,b,res: numéricas


Variável operacao : texto
Ler (a,b,operação)
Se (operacao=”s”) então
Res (a+b)

Formador: Carlos Rafael (carlosrafaelvicente@gmail.com) Página 14


Algoritmos (TIS_02_PRO)

Escrever (“soma”,res)
Senão
Res (a*b)
Escrever (“produto”,res)
Fim se
Escrever “fim do programa

A condição da escolha

As condições simples

Nos nossos dois exemplos encontrámos as condições:

a>0
operacao=”s”

É a isto que chamamos condições simples. De um modo geral uma condição simples
consiste na comparação de duas expressões do mesmo tipo. Aqui utilizaremos símbolos
matemáticos habituais. Eis a lista, acompanhada dos respectivos significados:

Símbolo Significado
= Igual a
< Inferior a
> Superior a
<= Inferior ou igual a
>= Superior ou igua a
<> Diferente de

Exercicio

Ler dois números e dizer se se encontram ou não por ordem crescente.

Variáveis a,b : numéricas


Escrever (“indique dois números” )
Ler (a,b)
Se (a<b) então
Escrever (“ordem crescente”)

Formador: Carlos Rafael (carlosrafaelvicente@gmail.com) Página 15


Algoritmos (TIS_02_PRO)

Senão
Escrever (“ordem decrescente”)
Fim se

Condições complexas

A maior parte das linguagens autorizam condições formadas de várias condições simples
ligadas entre si pelas operações lógicas “e” e “ou”.

A<0 e b<0

É verdadeiro se ambas as condições o forem.

Enquanto que:

A<0 ou b<0

É verdadeiro se pelos menos uma das condições for verdadeira.

Exercício:

Escrever um programa que leia um número e que indique se este se encontra ou não
compreendido ente 10 e 20 (incluídos).

Variável número: numérica


Escrever (“indique um número”)
Ler (número)
Se (número>10) e (número<=20) então
Escrever (”na gama”)
Senão
Escrever (“fora da gama” )
Fim se

Seleções no interior de outras

Pode acontecer que uma das partes de uma estrutura de selecção contenha por sua vez
uma estrutura de seleção. Neste caso, diz-se que temos estruturas embebidas umas nas
outras.

Exercício

Formador: Carlos Rafael (carlosrafaelvicente@gmail.com) Página 16


Algoritmos (TIS_02_PRO)

Cálculo de desconto.

A partir de uma quantia, determina-se a quantia líquida aplicando um desconto de :

- 1% se a quantia estiver compreendida entre 2000 e 5000;


- 2% se a quantia for superior a 5000.

Variáveis quantia, taxa, desconto : numéricas


Ler (quantia)
Se (quantia < 2000) então
Taxa 0
Senão
Se quantia<=5000 então
Taxa 1
Senão
Taxa 2
Fim se
Fim se
Desconto (quantia*taxa/100 )
Quantia (quantia-desconto)

Estrutura de Repetição

Exemplo introdutório

A repetição ou ciclo serve para repetir um conjunto de instruções até que uma condição
seja satisfeita.

Consideremos o seguinte programa

Variáveis a, c : numéricas
Repetir
Ler (a)
c (a*a)
Escrever ( c )
Até a=0
Escrever (“fim”)

Formador: Carlos Rafael (carlosrafaelvicente@gmail.com) Página 17


Algoritmos (TIS_02_PRO)

As palavras repetir e até enquadram as instruções:

Ler (a)
c (a*a)
Escrever ( c )

Indicam que as instruções devem ser repetidas tantas vezes quantas as necessidades, até
que a variável “a” assuma o valor zero.

Contar

Na vida corrente sabemos como contar o número de letras ou número de vogais de uma
palavra. No primeiro caso, fazemos uma contagem sistemática, considerando cada letra
da palavra. No segundo caso, fazemos uma contagem seletiva, considerando apenas as
letras que satisfazem uma determinada condição.

Variáveis a, c, n : numéricas
N 0
Repetir
Ler (a)
c (a*a)
Escrever c
n (n+1)
Até (a=0)
Escrever (“indicou”, n, “valores”)
Exercicio

Contar o número de letras “e” de uma dada frase:

Variáveis Ne : numéricas
Variável letra : texto
Ne 0
Repetir
Ler (letra)
Se (letra=”e”) então
Ne (Ne+1)
Fim se
Até (letra=”.” )
Escrever (“a frase engloba”, Ne, “letras e” )

Formador: Carlos Rafael (carlosrafaelvicente@gmail.com) Página 18


Algoritmos (TIS_02_PRO)

Ciclos com contador

Exemplo

Supomos que se deseja repetir 50 vezes as instruções que permitem ler um valor e
escrever o seu quadrado:

Ler (a)
c (a*a)
Escrever c

Vimos no exemplo anterior a forma de contar o número de vezes que um ciclo é repetido.
Basta-nos agora repetir as nossas instruções até que o valor do contador atinja o valor 50.

Variáveis a, c, N : numéricas
N 0
Repetir
N (N+1)
Ler (a)
c (a*a)
Escrever ( c )
Até (N=50)
Escrever (“fim do programa”)

Acumular

Suponhamos que queremos acumular a soma de 50 valores. Este situação é semelhante


ao problema da contagem; a diferença reside no facto de em vez de incrementar de um o
valor do contador, será necessário acrescentar um certo valor(lido) a uma variável.

Exemplo:

Variáveis valor, soma, I: numéricas


soma 0
Repetir para I=1 a 50
Ler (valor)
soma (soma+valor)
Próximo I
Escrever (“soma dos 50 valores=”, soma)

Exercício

Formador: Carlos Rafael (carlosrafaelvicente@gmail.com) Página 19


Algoritmos (TIS_02_PRO)

Calcular e escrever a média de um número qualquer de valores positivos seguidos de um


valor zero:

Variáveis valor, soma, I, media: numéricas


soma 0
I 0
Repetir
Ler (valor)
soma (soma+valor)
I (I+1)
Até (valor=0)
media (soma/I-1)
Escrever (“Média=”, media)

Tabelas de uma Dimensão

Suponhamos que temos necessidade, num programa, de conservar as notas de vinte


alunos. Até agora não encontrámos nenhum caso em que tal seja necessário; com efeito,
pudemos sempre utilizar uma única variável tomando sucessivamente o valor de
diferentes notas.

Se for necessário dispor simultaneamente destes vinte valores, podemos sempre utilizar
vinte variáveis diferentes, cujos nomes serão por exemplo:

A B C D etc…

Ou ainda:
NotaA NotaB NotaC NotaD etc…

Esta forma de actuar apresenta inconvenientes:

- É necessário encontrar um nome da variável para cada nota. Isto é possível para vinte
valores, mas arrisca-se a sr fastidioso para cem ou mil valores.
- Não existe qualquer relação entre estes diferentes valores. Ora em certos casos somos
levados a aplicar um mesmo tratamento ao conjunto ou a uma parte destes valores.
Imaginemos simplesmente como se poderá calcular a soma de um vasto conjunto de
notas…

Todas as linguagens propõem de facto, uma solução para esta situação. Esta reside na
noção de tabela, que consiste em:

Formador: Carlos Rafael (carlosrafaelvicente@gmail.com) Página 20


Algoritmos (TIS_02_PRO)

- atribuir um único nome ao conjunto dos nossos vinte valores; por exemplo NOTAS;
- Em referenciar cada nota por este nome, seguido de um número entre parêntesis
(variando no nosso caso entre 1 e 20).

Eis um esquema que ilustra o que pretendemos dizer:

NOTAS

NOTAS(1) NOTAS(2) NOTAS(3) …………. NOTAS(20)

Como utilizar uma tabela num programa

Atribuir-lhe espaço e definir o seu tipo

Exemplos:

Tabela notas(20):numéricas

Tabela x(4):numéricas
X(1) 12
X(2) 5
X(3) 8
X(4) 20

Consideremos este programa:

Tabela numero(6) : numérica


Variável I : numérica
numero(1) 0
Repetir para I=2 a 5
numero(I) 1
Próximo I
numero(6) 2
Repetir para I=1 a 6
Escrever (numero(I))
Próximo I

A sua execução preenche assim a tabela número:

Formador: Carlos Rafael (carlosrafaelvicente@gmail.com) Página 21


Algoritmos (TIS_02_PRO)

0 1 1 1 1 2

Exercício

Que resultados fornecerá a execução deste programa:

Tabela numero(5) : numérica


Variável I : numérica
Repetir para I=1 a 5
numero(I) (I*I)
Próximo I
Repetir para I=1 a 5
Escrever (numero(I))
Próximo I

1 4 9 16 25

Formador: Carlos Rafael (carlosrafaelvicente@gmail.com) Página 22


Algoritmos (TIS_02_PRO)

Fluxogramas

Quando se constrói um fluxograma devem usar-se os respetivos símbolos. O tamanho de


cada símbolo pode variar., mas a sua forma deve ser sempre a mesma.

1. As linhas com setas indicam direção. A direção normalizada de fluxo de um programa é


de cima para baixo e da esquerda para a direita.

2. Podem usar-se ligadores para representar uma saída ou uma entrada noutra parte do
fluxograma. Podem ser usados também para ligar linhas de fluxo.

3. As caixas representam qualquer tipo de processamento para o qual não exista um


símbolo específico.

4. Entrada/Saída: Este símbolo representa uma função de entrada/saída. A informação é


posta à disposição do programa (entrada); e a informação criada pelo programa é
gravada ou enviada de algum modo para uma saída.

Formador: Carlos Rafael (carlosrafaelvicente@gmail.com) Página 23


Algoritmos (TIS_02_PRO)

5. Decisão: trata-se de uma forma em losango para indicar uma pergunta. Se a pergunta é
verdadeira, será seguido um trajeto: se for falsa, será seguido outro. Os trajetos
verdadeiro e falso são indicados pelos sinais V ou F.

6. Terminal: trata-se de um símbolo para iniciar ou terminar o fluxo lógico.

Formador: Carlos Rafael (carlosrafaelvicente@gmail.com) Página 24


Algoritmos (TIS_02_PRO)

Exemplo

Criar um fluxograma para somar 20 números.

Formador: Carlos Rafael (carlosrafaelvicente@gmail.com) Página 25

Você também pode gostar