Este documento apresenta um resumo sobre algoritmos computacionais. Ele define algoritmos como uma sequência de passos que transformam uma entrada em uma saída. Também discute estruturas de dados como variáveis, constantes e identificadores, que são usados para organizar e manipular informações em algoritmos.
1. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Algoritmos e Estruturas de Dados
Introdu¸c˜ao
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br>
V´ıdeoaulas, exemplos e exerc´ıcios em linguagem C, acesse
www.mathgraph.com.br
26 de fevereiro de 2016
2. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Sum´ario
1 Introdu¸c˜ao
2 Estrutura Sequencial
3 Estrutura Condicional
se... ent˜ao
se ... sen˜ao ...
4 Estruturas de Repeti¸c˜ao
enquanto... fa¸ca
para... at´e... fa¸ca
repita... at´e...
5 Estruturas Homogˆeneas de Dados
Vetor
Matriz
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
2/37
3. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Algoritmos computacionais
Defini¸c˜ao
Segundo Cormem (2001) um algoritmo computacional pode ser
entendido como“... qualquer procedimento computacional bem
definido que toma algum valor ou conjunto de valores como
entrada e produz algum valor ou conjunto de valores como sa´ıda.
Portanto, um algoritmo ´e uma sequˆencia de passos computacionais
que transformam a entrada na sa´ıda”.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
3/37
4. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Algoritmos computacionais
Outras defini¸c˜oes
• ”Algoritmo ´e uma sequˆencia de passos que visa atingir um
objetivo bem definido”(FORBELLONE, 1999)
• “Algoritmo ´e a descri¸c˜ao de uma seq¨uˆencia de passos que
dever ser seguida para a realiza¸c˜ao de uma tarefa”
(ASCENCIO, 2007)
• “Algoritmo ´e uma sequˆencia finita de instru¸c˜oes ou opera¸c˜oes
cuja execu¸c˜ao, em tempo finito, resolve um problema
computacional, qualquer que seja sua instˆancia”(SALVETTI,
1999)
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
4/37
5. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Algoritmos computacionais
Outras defini¸c˜oes
• “Algoritmo s˜ao regras formais para a obten¸c˜ao de um
resultado ou da solu¸c˜ao de um problema, englobando
f´ormulas de express˜oes aritm´eticas”(MANZANO, 1997)
• “A¸c˜ao ´e um acontecimento que, a partir de um estado inicial,
ap´os um per´ıodo de tempo finito, produz um estado final
previs´ıvel e bem-definido. Portanto, um algoritmo ´e a
descri¸c˜ao de um conjunto de comandos que, obedecidos,
resultam numa sucess˜ao finita de a¸c˜oes”(FARRER, 1999)
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
5/37
6. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Algoritmos computacionais
Continua¸c˜ao
Um algoritmo ´e como uma“receita de bolo”para o computador,
onde est˜ao definidos todos os comandos que ele deve executar p
ara se chegar a um resultado. Da´ı, temos que, o algoritmo ´e uma
sequˆencia de instru¸c˜oes, onde cada instru¸c˜ao representa uma
A¸C˜AO que deve ser entendida e realizada. Em algoritmos
computacionais, o computador possui um conjunto limitado de
instru¸c˜oes e o algoritmo deve ser expresso nos termos destas
instru¸c˜oes. O computador utiliza dois conceitos b´asicos para
construir e interpretar algoritmos, s˜ao eles:
• Estruturas de Dados → para manipula¸c˜ao das informa¸c˜oes
• Estruturas de Controle → para manipula¸c˜ao das a¸c˜oes
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
6/37
7. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Tipos de Algoritmos
Descri¸c˜ao Narrativa
A descri¸c˜ao narrativa consiste em analisar o enunciado do
problema e escrever, utilizando um linguagem natural (por
exemplo, a l´ıngua portuguesa), os passos a serem seguidos para
resolu¸c˜ao do problema (semelhante a escrever uma receita).
• Vantagem: N˜ao ´e necess´ario aprender nenhum conceito novo,
pois uma l´ıngua natural j´a ´e bem conhecida.
• Desvantagem: A linguagem natural (n˜ao padronizada e
informal) abre espa¸co para v´arias interpreta¸c˜oes. Ser´a mais
dif´ıcil estrutur´a-la e transcrever este algoritmo para uma
linguagem de programa¸c˜ao.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
7/37
8. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Tipos de Algoritmos
Fluxograma
Analisar o enunciado do problema e escrever, utilizando s´ımbolos
gr´aficos pr´e-definidos, os passos a serem seguidos para a resolu¸c˜ao
do problema.
• Vantagem: Vis˜ao geral do fluxo de processamento.
• Desvantagem: ´E necess´ario aprender a simbologia dos
fluxogramas e, al´em disso o algoritmo resultante n˜ao
apresenta muitos detalhes, dificultando sua transcri¸c˜ao para
uma linguagem de programa¸c˜ao.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
8/37
9. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Tipos de Algoritmos
Fluxograma
Os s´ımbolos utilizados para representar o uso em fluxograma
podem variar dependendo do autor. A seguir ´e apresentada a lista
de s´ımbolos a ser utilizada nas aulas deste curso.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
9/37
10. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Tipos de Algoritmos
Pseudoc´odigo
Consiste em analisar o enunciado do problema e escrever, por meio
de regras predefinidas, os passos a serem seguidos para a resolu¸c˜ao
do problema.
• Vantagem: A passagem (transcri¸c˜ao) do algoritmo para uma
linguagem de programa¸c˜ao ´e quase imediata, bastando
conhecer as regras e palavras reservadas da linguagem que
ser´a utilizada.
• Desvantagem: ´E necess´ario aprender as regras para se
escrever um algoritmo corretamente.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
10/37
11. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Estruturas de Dados
Defini¸c˜ao
Uma estrutura de dados ´e um meio para armazenar e organizar
dados com o objetivo de facilitar o acesso e as modifica¸c˜oes.
Nenhuma estrutura de dados ´unica funciona bem para todos os
prop´ositos, e assim ´e importante conhecer os pontos fortes e as
limita¸c˜oes de v´arias delas (CORMEN, 2001)
As estruturas de dados representam as informa¸c˜oes do problema a
ser resolvido. Tais estruturas est˜ao organizadas em tipos distintos
de informa¸c˜oes. Dentro do escopo das estruturas de dados,
define-se os seguintes termos:
Constante, Vari´avel e Identificador.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
11/37
12. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Estruturas de Dados
Constantes
Representam valores constantes, ou seja, que n˜ao variam no
decorrer do algoritmo.
Exemplo 1:
Seja x = 2, efetuando as seguintes opera¸c˜oes:
y = x → y = 2
A = 3x + 5x → A = 3*(2) + 5 * 2 → A = 16
Exemplo 2:
Seja PI = 3,14, efetuando as seguintes opera¸c˜oes:
A = PI .*1 → A = 3,14
A = PI * 2 → A = 6,28
A = PI * 3 → A = 9,42
Nos exemplos 1 e 2, tanto o valor de x quanto PI n˜ao variam a
medida que as opera¸c˜oes s˜ao executadas.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
12/37
13. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Estruturas de Dados
Vari´aveis
Representam informa¸c˜oes cujos valores s˜ao modificados ao longo
do tempo.
Exemplo 1:
Deseja-se saber o sal´ario de um funcion´ario considerando que ele
recebe R$ 1.000, 00 por mˆes, supondo que teve um aumento de
20% e deve-se descontar 8% de INSS do novo sal´ario, qual ser´a o
sal´ario l´ıquido?
Resposta:
salario = 1.000
reajuste = salario * 0,2
salario = salario + reajuste
imposto = salario * 0,08
salario = salario - imposto
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
13/37
14. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Estruturas de Dados
Vari´aveis
Matematicamente, vari´avel ´e a representa¸c˜ao simb´olica dos
elementos de um certo conjunto. Computacionalmente, pode-se
definir vari´avel como um local reservado na mem´oria do
computador usado para armazenar dados.
Uma vari´avel possui nome (identificador) e tipo, possui apenas um
valor em um determinado instante, mas seu conte´udo pode variar
ao longo do tempo.
O conceito de vari´avel, em computa¸c˜ao, corresponde a posi¸c˜oes de
mem´oria RAM (Random Access Memory) onde s˜ao
armazenados os dados manipulados pelo programa quando este for
executado.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
14/37
15. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Estruturas de Dados
Identificador
Nome de um local onde se pode colocar qualquer valor do
conjunto de valores poss´ıveis de um tipo b´asico associado. Usado
para manipular os dados necess´arios no algoritmo.
O identificador ´e tamb´em usado para rotular valores constantes,
assim como o nome PI, utilizado no exemplo 2, em constantes (o
identificador PI foi utilizado para representar o valor constante
3,14).
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
15/37
16. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Estruturas de Dados
Regras para forma¸c˜ao de identificadores
1 Come¸car sempre o nome com uma letra ou o caractere
sublinhado“ ”;
2 N˜ao usar espa¸cos em branco, pontua¸c˜ao, acentos nem
caracteres especiais (@, #, ?, $, etc);
3 N˜ao usar palavras reservadas, ou seja, palavras que perten¸cam
a linguagem de programa¸c˜ao que estiver sendo usada (ex: if,
for, case, int, etc).
Importante: Um identificador deve representar o melhor poss´ıvel
o papel da vari´avel no algoritmo
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
16/37
17. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Estruturas de Dados
Identificadores v´alidos
1 nota, nota1, nota 1, operador, salario, nome, x, y,
enderecoResidencial,
2 aluno01, preco produto, Area, Tensao A, tensao B, media,
soma, S.
Identificadores inv´alidos
1 1K, nota 1, sal´ario, x@1, y%2, aluno 01, preco produto.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
17/37
18. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Tipos Primitivos de Dados
Num´ericos
1 Inteiros. Ex: ...-100... -2, -1, 0, 1, 2, ..., 100, ...
2 Reais. Ex: ... -100, ..., -50.2, ..., -2, ..., -1.5, ..., 0, ..., 1, ...,
2, ..., 25.12,
Literal
Caractere ou alfanum´ericos. Ex: “ESCOLA”,“livro”,“18”,
“R$ 55,36”, ...
L´ogicos ou booleanos
Assume um estado: verdadeiro (V) ou falso (F)
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
18/37
19. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Tipos Primitivos de Dados
Declara¸c˜ao
´E a cria¸c˜ao (ou defini¸c˜ao) do identificador da vari´avel (ou
constante) que ser´a utilizado no algoritmo. Esta vari´avel ser´a
utilizada para a manipula¸c˜ao de um determinado tipo de dado.
Formato
tipo do dados: identificador;
tipo do dado: identificador1, identificador2, . . . , identificadorn
1 Todas as vari´aveis utilizadas em algoritmos ser˜ao definidas no in´ıcio
do mesmo, por meio de um comando de uma das formas seguintes:
2 Em uma mesma linha podem ser denidas uma ou mais vari´aveis do
mesmo tipo, separando-se os nomes das mesmas por v´ırgulas.
3 Vari´aveis de tipos diferentes devem ser declaradas em linhas
diferentes.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
19/37
20. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Tipos Primitivos de Dados
Exemplos
inteiro: idade;
real: salario;
caracter: nome;
l´ogico: temFilhos;
No exemplo, foram declaradas quatro vari´aveis, sendo elas:
• Vari´avel nome: capaz de armazenar dados literais;
• Vari´avel idade: capaz de armazenar um n´umero inteiro;
• Vari´avel salario: capaz de armazenar um n´umero real;
• Vari´avel temFilhos: capaz de armazenar um valor l´ogico,
verdadeiro (V) ou falso (F).
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
20/37
21. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Comandos b´asico
Tabela: Comandos em pseudoc´odigo
Comando Fun¸c˜ao Exemplo
← atribui um valor a uma vari´avel x ← 2
leia
obter um valor informado externo
e atribuir a uma vari´avel
leia x;
escreva
mostrar algo, que pode ser uma
vari´avel, texto ou ambos
escreva x;
escreva ”mensagem de teste”;
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
21/37
22. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Estrutura Sequencial
Sobre a estrutura
Na estrutura sequencial os comandos s˜ao executados numa
sequˆencia pr´e-estabelecida. Cada comando ´e executado somente
ap´os o t´ermino do comando anterior.
Em pseudoc´odigos, a estrutura sequencial caracteriza-se por um
conjunto de comandos dispostos ordenadamente.
Formato
in´ıcio
tipo: vari´avel1, vari´avel2, . . . ; //declara¸c˜ao das vari´avieis
leia vari´avel1, vari´avel2; //dados de entrada
comandos/a¸c˜oes; //a¸c˜oes a serem executadas
escreva“Mensagem pr´e-determinada”, vari´avel; //dados de sa´ıda
fim.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
22/37
23. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Estruturas Condicional
Finalidade
Utilizada quando o problema apresenta alguma ou algumas
condi¸c˜oes. Em problemas que apresentam classifica¸c˜ao,
compara¸c˜ao, verifica¸c˜ao, restri¸c˜ao, e outras situa¸c˜oes que existam
condi¸c˜oes a serem observadas.
Classifica¸c˜ao:
1 Simples
2 Composta
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
23/37
24. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Condicional Simples
Pseudoc´odigo
se (condi¸c˜ao) ent˜ao
comandos/a¸c˜oes;
fimse;
Caracter´ısticas:
• A a¸c˜ao ser´a executada apenas se a condi¸c˜ao for verdadeira.
• A a¸c˜ao ou a¸c˜oes a serem executadas s˜ao escritas depois da
palavra ent˜ao e antes de fimse.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
24/37
25. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Condicional Composta
Pseudoc´odigo
se (condi¸c˜ao) ent˜ao
comando1;
sen˜ao
comando2;
fimse;
Funcionamento:
Se a condi¸c˜ao for verdadeira, ser´a executado o comando1; caso
contr´ario, se a condi¸c˜ao for falsa, ser´a executado o comando2.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
25/37
26. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Sele¸c˜ao de M´ultipla Escolha
Finalidade
Utilizada para simplificar a escrita de sele¸c˜oes encadeadas
se-sen˜ao-se.
Pseudoc´odigo
escolha X
V1: C1;
V2: C2;
. . .
Vn: Cn;
fimescolha;
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
26/37
27. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Estruturas de Repeti¸c˜ao
Finalidade
Permitem executar mais de uma vez (repetir) um determinado
trecho do algoritmo
• O trecho do algoritmo em repeti¸c˜ao ´e tamb´em chamado de
la¸co (ou“loop”)
• As repeti¸c˜oes devem ser sempre finitas
Quanto a quantidade de repeti¸c˜oes, os la¸cos podem ser
1 Pr´e-determinados: Sabe-se antes a quantidade de execu¸c˜oes
2 Indeterminados: N˜ao se conhece a quantidade de execu¸c˜oes
Quanto ao crit´erio de parada, os la¸cos podem utilizar
1 Vari´avel de controle
2 Teste no in´ıcio
3 Teste no final
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
27/37
28. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Estruturas de Repeti¸c˜ao
enquanto... fa¸ca
• La¸co que verifica antes de cada execu¸c˜ao, se ´e“permitido”
executar o trecho do algoritmo
• O la¸co acontece enquanto uma dada condi¸c˜ao permanecer
verdadeira
Pseudoc´odigo
enquanto(condi¸c˜ao) fa¸ca
comandos/a¸c˜oes;
fimenquanto;
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
28/37
29. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Estruturas de Repeti¸c˜ao
Exemplo: Fa¸ca um algoritmo que leia a nota de cada aluno de uma
turma com 50 alunos, em seguida apresente a m´edia da turma.
in´ıcio
real: mediaTurma, somaNotas, nota;
inteiro: i; //contador
i ← 0; //inicializa¸c˜ao do contador
somaNotas ← 0; //inicializaodoacumulador
enquanto (i < 50) fa¸ca // teste da condi¸c˜ao de parada
leia nota;
//soma em somaNotas os valores lidos em nota
somaNotas ← somaNotas + nota ;
i ← i + 1; //incremento do contador
fimenquanto;
mediaTurma ← somaNotas / 50; // c´alculo da m´edia da turma
escreva“m´edia da turma =“, mediaTurma;
fim.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
29/37
30. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Estruturas de Repeti¸c˜ao
para... at´e... fa¸ca
• Utilizada somente em casos nos quais a quantidade de
repeti¸c˜oes previamente conhecida.
• Incorpora internamente o funcionamento de um contador para
controlar a quantidade de la¸cos
Pseudoc´odigo
para v de vi at´e vf passo p fa¸ca
comandos/a¸c˜oes;
fimpara;
• v: vari´avel de controle
• vi : valor inicial de v
• vf : valor final de v
• p: varia¸c˜ao de v
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
30/37
31. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Estruturas de Repeti¸c˜ao
repita... at´e...
• A verifica¸c˜ao se ´e permitido repetir a a¸c˜ao ocorre no final da
estrutura
• Trata-se de um la¸co que se mant´em repetindo at´e que uma
dada condi¸c˜ao se torne verdadeira
Pseudoc´odigo
repita
comandos/a¸c˜oes;
at´e (condi¸c˜ao);
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
31/37
32. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Estruturas de Repeti¸c˜ao
Compara¸c˜ao
´E importante perceber que existem la¸cos mais adequados ou
convenientes para cada situa¸c˜ao
Tabela: Compara¸c˜ao entre Estruturas de Repeti¸c˜ao
Estrutura Condi¸c˜ao Qtd. de Execu¸c˜oes
Condi¸c˜ao de
Existˆencia
enquanto ... in´ıcio zero ou muitas verdadeira
para ... in´ıcio valor final - valor inicial verdadeira
repita ... final m´ınimo uma falsa
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
32/37
33. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Estrutura Homogˆenea de Dados
Defini¸c˜ao
• Estruturas homogˆeneas de dados possibilitam o
armazenamento de grupos de valores em uma ´unica vari´avel
que ser´a armazenada na mem´oria do computador.
• S˜ao ditas homogˆeneas porque os valores a serem armazenados
devem ser do mesmo tipo.
• Entre outros nomes que estas estruturas recebem, iremos
cham´a-las de vetores e matrizes.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
33/37
34. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Vetor
Vetor - Arranjo Unidimensional
• Um vetores ´e uma vari´avel composta (arranjo) com m´ultiplas
posi¸c˜oes.
• Podem ser vistos como lista de elementos do mesmo tipo.
• S˜ao estruturas lineares e est´aticas, ou seja, s˜ao compostas por
um n´umero finito e pr´e-determinado de valores
Representa¸c˜ao:
Exemplo: Vetor de notas de uma turma com 10 alunos:
Notas = 6,1 3,4 9,2 8,5 4,6 8,3 7,4 6,5 10 9,6
Posi¸c˜ao 1 2 3 4 5 6 7 8 9 10
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
34/37
35. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Vetor
Pseudoc´odigo - Declara¸c˜ao
tipo: identificador[qtd. de elementos];
Exemplo: Fa¸ca um algoritmo que leia as notas de uma turma com
50 alunos e mostre o vetor resultante.
inicio
inteiro: i, notas[50];
para i de 1 at´e 50 passo 1 fa¸ca
escrever ”Entre com um valor: ”;
ler notas[i];
fimpara;
para i de 1 at´e 50 passo 1 fa¸ca
escrever notas[i];
fimpara;
fim.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
35/37
36. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Matriz
Matriz - Array Bidimensional
Uma matriz ´e uma vari´avel composta homogˆenea bidimensional
formada por elementos do mesmo tipo, alocados sequencialmente
na mem´oria, organizada em linhas e colunas.
Representa¸c˜ao:
Aluno
6,1 3,4 9,2 8,5 4,6 8,3 7,4 6,5 10 9,6 1
Turma 5,6 3,1 8 4,5 7 6 7,3 9,8 6,7 8 2
8,6 9 5,5 8,4 3,5 7,3 8,9 8,1 5,7 7 3
1 2 3 4 5 6 7 8 9 10
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
36/37
37. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Matriz
Pseudoc´odigo - Declara¸c˜ao
tipo: identificador[qtd. linha][qtd. coluna];
Exemplo: Fa¸ca um algoritmo que leia as notas de 5 turmas, cada turma com 50
alunos, e mostre a matriz resultante.
inicio
inteiro i, j;
real notas[5][50];
para i de 1 at´e 5 passo 1 fa¸ca
para j de 1 at´e 50 passo 1 fa¸ca
escreva ”Entre com um valor: ”;
leia notas[i][j];
fimpara;
fimpara;
para i de 1 at´e 5 passo 1 fa¸ca
para j de 1 at´e 50 passo 1 fa¸ca
escreva notas[i][j];
fimpara;
fimpara;
fim.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
37/37